mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-06 01:50:25 +08:00
43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
|
|
package services
|
||
|
|
|
||
|
|
import (
|
||
|
|
"context"
|
||
|
|
"github.com/TeaOSLab/EdgeAPI/internal/db/models"
|
||
|
|
rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils"
|
||
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
|
||
|
|
)
|
||
|
|
|
||
|
|
// 文件相关服务
|
||
|
|
type FileService struct {
|
||
|
|
}
|
||
|
|
|
||
|
|
// 创建文件
|
||
|
|
func (this *FileService) CreateFile(ctx context.Context, req *pb.CreateFileRequest) (*pb.CreateFileResponse, error) {
|
||
|
|
// 校验请求
|
||
|
|
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
|
||
|
|
if err != nil {
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
|
||
|
|
fileId, err := models.SharedFileDAO.CreateFile("ipLibrary", "", req.Filename, req.Size)
|
||
|
|
if err != nil {
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
return &pb.CreateFileResponse{FileId: fileId}, nil
|
||
|
|
}
|
||
|
|
|
||
|
|
// 将文件置为已完成
|
||
|
|
func (this *FileService) UpdateFileFinished(ctx context.Context, req *pb.UpdateFileFinishedRequest) (*pb.RPCUpdateSuccess, error) {
|
||
|
|
// 校验请求
|
||
|
|
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
|
||
|
|
if err != nil {
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
|
||
|
|
err = models.SharedFileDAO.UpdateFileIsFinished(req.FileId)
|
||
|
|
if err != nil {
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
return rpcutils.RPCUpdateSuccess()
|
||
|
|
}
|