feat: refac and add key deletion route

This commit is contained in:
2026-04-29 14:46:24 +02:00
parent 8f6b1efea0
commit 6669fda371
11 changed files with 177 additions and 84 deletions
+30 -17
View File
@@ -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)
}
+10 -1
View File
@@ -50,6 +50,15 @@ func (s *KeyService) Create(name string, expiresAt time.Time) (assets.KeyRespons
return keyResponse, nil
}
func (s *KeyService) DeleteByName(name string) {
func (s *KeyService) DeleteByName(name string) error {
keyRecord, err := database.FindKeyByName(s.db, name)
if err != nil {
return err
}
if err := database.DeleteKeyByID(s.db, keyRecord.ID); err != nil {
return err
}
return nil
}