// Package sys // @Link https://github.com/bufanyun/hotgo // @Copyright Copyright (c) 2026 HotGo // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE package sys import ( "context" "hotgo/api/admin/imfile" "hotgo/internal/model/input/sysin" "hotgo/internal/service" ) var ( ImFile = cImFile{} ) type cImFile struct{} // List 查看IM文件列表 func (c *cImFile) List(ctx context.Context, req *imfile.ListReq) (res *imfile.ListRes, err error) { list, totalCount, err := service.SysImFile().List(ctx, &req.ImFileListInp) if err != nil { return } if list == nil { list = []*sysin.ImFileListModel{} } res = new(imfile.ListRes) res.List = list res.PageRes.Pack(req, totalCount) return } // View 获取IM文件详情 func (c *cImFile) View(ctx context.Context, req *imfile.ViewReq) (res *imfile.ViewRes, err error) { data, err := service.SysImFile().View(ctx, &req.ImFileViewInp) if err != nil { return } res = new(imfile.ViewRes) res.ImFileViewModel = data return } // Quarantine 隔离IM文件 func (c *cImFile) Quarantine(ctx context.Context, req *imfile.QuarantineReq) (res *imfile.QuarantineRes, err error) { err = service.SysImFile().Quarantine(ctx, &req.ImFileActionInp) return } // Delete 删除IM文件 func (c *cImFile) Delete(ctx context.Context, req *imfile.DeleteReq) (res *imfile.DeleteRes, err error) { err = service.SysImFile().Delete(ctx, &req.ImFileActionInp) return } // CleanupOrphan 清理IM孤儿文件 func (c *cImFile) CleanupOrphan(ctx context.Context, req *imfile.CleanupOrphanReq) (res *imfile.CleanupOrphanRes, err error) { data, err := service.SysImFile().CleanupOrphan(ctx, &req.ImFileCleanupOrphanInp) if err != nil { return } res = new(imfile.CleanupOrphanRes) res.ImFileCleanupOrphanModel = data return }