feat: refac and add key deletion route
This commit is contained in:
@@ -20,55 +20,68 @@ func NewFileService(db *gorm.DB, env bootstrap.Environment) *FileService {
|
||||
}
|
||||
|
||||
func (s *FileService) ListFiles() ([]assets.FileResponse, error) {
|
||||
files, err := database.ListFiles(s.db)
|
||||
fileRecords, err := database.ListFiles(s.db)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
resp := make([]assets.FileResponse, 0, len(files))
|
||||
resp := make([]assets.FileResponse, 0, len(fileRecords))
|
||||
|
||||
for _, f := range files {
|
||||
for _, f := range fileRecords {
|
||||
resp = append(resp, assets.FileResponse{
|
||||
ID: f.ID,
|
||||
MetaName: f.MetaName,
|
||||
FileName: f.FileName,
|
||||
MediaType: string(f.MediaType),
|
||||
FileName: f.FileName,
|
||||
FilePath: f.FilePath,
|
||||
Checksum: f.Checksum,
|
||||
CreatedAt: f.CreatedAt,
|
||||
ExpiresAt: f.ExpiresAt,
|
||||
UpdatedAt: f.ExpiresAt,
|
||||
})
|
||||
}
|
||||
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (s *FileService) Create(r io.Reader, filename string) (database.File, error) {
|
||||
fileRecord, err := database.BuildFileRecord(r, filename, s.env.ContentDirectory)
|
||||
func (s *FileService) Create(r io.Reader, filename string) (assets.FileResponse, error) {
|
||||
f, err := database.BuildFileRecord(r, filename, s.env.ContentDirectory)
|
||||
if err != nil {
|
||||
return database.File{}, err
|
||||
return assets.FileResponse{}, err
|
||||
}
|
||||
|
||||
if err := database.CreateFile(s.db, &fileRecord); err != nil {
|
||||
return database.File{}, err
|
||||
if err := database.CreateFile(s.db, &f); err != nil {
|
||||
return assets.FileResponse{}, err
|
||||
}
|
||||
|
||||
return fileRecord, nil
|
||||
resp := assets.FileResponse{
|
||||
ID: f.ID,
|
||||
MetaName: f.MetaName,
|
||||
MediaType: string(f.MediaType),
|
||||
FileName: f.FileName,
|
||||
FilePath: f.FilePath,
|
||||
Checksum: f.Checksum,
|
||||
CreatedAt: f.CreatedAt,
|
||||
UpdatedAt: f.UpdatedAt,
|
||||
}
|
||||
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (s *FileService) DeleteByName(filename string) (database.File, error) {
|
||||
func (s *FileService) DeleteByName(filename string) error {
|
||||
fileRecord, err := database.FindFileByName(s.db, filename)
|
||||
if err != nil {
|
||||
return database.File{}, err
|
||||
return err
|
||||
}
|
||||
|
||||
_ = os.Remove(fileRecord.FilePath)
|
||||
|
||||
if err := database.DeleteFileByID(s.db, fileRecord.ID); err != nil {
|
||||
return database.File{}, err
|
||||
return err
|
||||
}
|
||||
|
||||
return fileRecord, nil
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *FileService) DeleteByID(id int) {
|
||||
_ = database.DeleteFileByID(s.db, id)
|
||||
func (s *FileService) DeleteRecordByID(id int) error {
|
||||
return database.DeleteFileByID(s.db, id)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user