diff --git a/filemgr/filemgr.py b/filemgr/filemgr.py index 1e61346..a44895c 100644 --- a/filemgr/filemgr.py +++ b/filemgr/filemgr.py @@ -75,16 +75,18 @@ where id=${folderid}$""" return True return False - async def get_subfolder(self, request, fid, fiid): + async def get_subs(self, request, params): + id = params.id userinfo = await get_session_userinfo(request) dbname = get_dbname() db = DBPools() async with db.sqlorContext(dbname) as sor: - return await self.sor_get_subfolder(sor, request, fid, fiid) - return await self.sor_get_subfile(sor, request, fid, fiid) + ret = await self.sor_get_subfolder(sor, request, fid) + ret += await self.sor_get_subfile(sor, request, fid) + return ret return [] - async def sor_get_subfolder(self, sor, request, fid, fiid): + async def sor_get_subfolder(self, sor, request, fid): sql = """select x.*, 'folder' as filetype, case when y.id is null then 1 else 0 end as is_left @@ -96,21 +98,19 @@ where b.id is not null or c.id is n ot null; ) as y on x.id = y.id -where x.parentid = ${fid}$ and fiid=${fiid}$ +where x.parentid = ${fid}$ """ ns = { - 'fid':fid, - 'fiid':fiid + 'fid':fid } recs = await sor.sqlExe(sql, ns) return recs - async def sor_get_subfile(self, sor, request, fid, fiid): + async def sor_get_subfile(self, sor, request, fid): userinfo = await get_session_userinfo(request) - sql = """select a.*, 1 as is_leaf from file where folderid=${fid}$ and fiid=${fiid}""" + sql = """select a.*, 1 as is_leaf from file where folderid=${fid}$""" ns = { - 'fid':fid, - 'fiid':fiid + 'fid':fid } recs = await sor.sqlExe(sql, ns) return recs diff --git a/json/folder.json b/json/folder.json index d7cf1ac..364f94d 100644 --- a/json/folder.json +++ b/json/folder.json @@ -11,6 +11,7 @@ "alter":{} }, "edit_exclouded_fields":["id", "fiid" ], + "get_data_url":"{{entire_url('/filemgr/get_folder_subs.dspy", "params":{ "id":"{{params_kw.id or '' }}" }, diff --git a/wwwroot/get_folder_subs.dspy b/wwwroot/get_folder_subs.dspy new file mode 100644 index 0000000..a7c3205 --- /dev/null +++ b/wwwroot/get_folder_subs.dspy @@ -0,0 +1,5 @@ +# +debug(f'{params_kw=}') +filemgr = FileMgr() +f = await filemgr.get_subs(request, params_kw) +return f