diff --git a/filemgr/filemgr.py b/filemgr/filemgr.py index c3f386d..c3ead16 100644 --- a/filemgr/filemgr.py +++ b/filemgr/filemgr.py @@ -1,4 +1,5 @@ from ahserver.serverenv import get_serverenv +from appPublic.uniqueID import getID from sqlor.dbpools import DBPools from ahserver.auth_api import get_userinfo @@ -17,15 +18,136 @@ class FileMgr: dbname = get_dbname() async with db.sqlorContext(dbname) as sor: ns = { - 'orgid':userorgid, + 'orgid':usrinfo.userorgid, 'biztype':self.biztype } recs = await sor.R('folderinfo', ns) return recs return [] - async def add_biznfo_node(self, request): - - + async def add_bizinfo_node(self, request, ns): + userinfo = await get_session_userinfo(request) + dbname = get_dbname() + db = DBPools() + async with db.sqlorContext(dbname) as sor: + ns['orgid'] = userinfo.userorgid, + ns['biztype'] = self.biztype + ns['id'] = getID() + await sor.C('folderinfo', ns) + return UiMessage(title='folderinfo', 'add record successful') + return UiError(title='folderinfo', 'add record failed') + + async def delete_bizinfo_node(self, request, ns): + userinfo = await get_session_userinfo(request) + dbname = get_dbname() + db = DBPools() + async with db.sqlorContext(dbname) as sor: + ns1['orgid'] = userinfo.userorgid, + ns1['biztype'] = self.biztype + ns1['id'] = ns['id'] + await sor.D('folderinfo', ns1) + return UiMessage(title='folderinfo', 'delete record successful') + return UiError(title='folderinfo', 'delete record failed') + async def update_bizinfo_node(self, request, ns): + userinfo = await get_session_userinfo(request) + dbname = get_dbname() + db = DBPools() + async with db.sqlorContext(dbname) as sor: + ns1['orgid'] = userinfo.userorgid, + ns1['biztype'] = self.biztype + ns1['id'] = ns['id'] + recs = await sor.R('folderinfo', ns1) + if len(recs) > 0: + await sor.U('folderinfo', ns1) + return UiMessage(title='folderinfo', 'delete record successful') + return UiError(title='folderinfo', 'delete record failed') + async def add_folder(self, request, ns): + userinfo = await get_session_userinfo(request) + dbname = get_dbname() + db = DBPools() + async with db.sqlorContext(dbname) as sor: + ns1['orgid'] = userinfo.userorgid, + ns1['biztype'] = self.biztype + ns1['id'] = ns['id'] + await sor.D('folderinfo', ns1) + return UiMessage(title='folderinfo', 'delete record successful') + return UiError(title='folderinfo', 'delete record failed') + + async def get_subfolder(self, request, fid, fiid): + userinfo = await get_session_userinfo(request) + dbname = get_dbname() + db = DBPools() + async with db.sqlorContext(dbname) as sor: + sql = """select a.id as fiid, b.* +from folderinfo a, folder b +where a.id = ${fiid}$ + and b.fiid = a.id + and b.parentid = ${fid}$ + and a.orgid = ${orgid}$ + and a.biztype = ${biztype}$ +order by name""" + ns = { + 'fid':fid, + 'fiid':fiid, + 'orgid':userinfo.userorgid, + 'biztype':self.biztype + } + recs = await sor.sqlExe(sql, ns) + return recs + await sor.D('folderinfo', ns1) + return [] + + async def get_files(self, request, fid, fiid): + userinfo = await get_session_userinfo(request) + dbname = get_dbname() + db = DBPools() + async with db.sqlorContext(dbname) as sor: + sql = """select a.id as fiid, b.* +from folderinfo a, file b +where a.id = ${fiid}$ + and b.folderid = ${fid}$ + and a.orgid = ${orgid} + and b.userid = ${userid}$ + and a.biztype = ${biztype}$ +order by name""" + ns = { + 'fid':fid, + 'fiid':fiid, + 'userid':userinfo.userid, + 'orgid':userinfo.userorgid, + 'biztype':self.biztype + } + recs = await sor.sqlExe(sql, ns) + return recs + return [] + + async def get_folderinfo(self, sor, userinfo, fiid): + sql = """select * from folderinfo +where id = ${fiid}$ + and orgid = ${orgid}$ + and biztype = ${biztype}$""" + ns = { + 'id':fiid, + 'orgid':userinfo.userorgid, + 'biztype':self.biztype + } + recs = await sor.sqlExe(sql, ns) + if len(recs)>0: + return recs + return None + + async def add_folder(self, request, ns): + userinfo = await get_session_userinfo(request) + dbname = get_dbname() + db = DBPools() + async with db.sqlorContext(dbname) as sor: + sql = """select * from folder + ns1['orgid'] = userinfo.userorgid, + ns1['biztype'] = self.biztype + ns1['id'] = ns['id'] + await sor.D('folderinfo', ns1) + return UiMessage(title='folderinfo', 'delete record successful') + return UiError(title='folderinfo', 'delete record failed') +