Skip to content

Commit 0934534

Browse files
authored
feat: Support user-defined description for backup (#8354)
Refs #4735
1 parent d67dfe2 commit 0934534

16 files changed

Lines changed: 89 additions & 62 deletions

File tree

agent/app/api/v2/backup.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,27 @@ func (b *BaseApi) DownloadRecord(c *gin.Context) {
303303
helper.SuccessWithData(c, filePath)
304304
}
305305

306+
// @Tags Backup Account
307+
// @Summary Update backup record description
308+
// @Accept json
309+
// @Param request body dto.UpdateDescription true "request"
310+
// @Success 200
311+
// @Security ApiKeyAuth
312+
// @Security Timestamp
313+
// @Router /backup/record/description/update [post]
314+
func (b *BaseApi) UpdateRecordDescription(c *gin.Context) {
315+
var req dto.UpdateDescription
316+
if err := helper.CheckBindAndValidate(&req, c); err != nil {
317+
return
318+
}
319+
320+
if err := backupRecordService.UpdateDescription(req); err != nil {
321+
helper.InternalServer(c, err)
322+
return
323+
}
324+
helper.SuccessWithOutData(c)
325+
}
326+
306327
// @Tags Backup Account
307328
// @Summary Delete backup record
308329
// @Accept json

agent/app/dto/backup.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ type CommonBackup struct {
6060
Secret string `json:"secret"`
6161
TaskID string `json:"taskID"`
6262
FileName string `json:"fileName"`
63+
64+
Description string `json:"description"`
6365
}
6466
type CommonRecover struct {
6567
DownloadAccountID uint `json:"downloadAccountID" validate:"required"`
@@ -92,6 +94,7 @@ type BackupRecords struct {
9294
DownloadAccountID uint `json:"downloadAccountID"`
9395
FileDir string `json:"fileDir"`
9496
FileName string `json:"fileName"`
97+
Description string `json:"description"`
9598
}
9699

97100
type DownloadRecord struct {

agent/app/model/backup.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,6 @@ type BackupRecord struct {
2626
DetailName string `json:"detailName"`
2727
FileDir string `json:"fileDir"`
2828
FileName string `json:"fileName"`
29+
30+
Description string `json:"description"`
2931
}

agent/app/repo/backup.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ type IBackupRepo interface {
2424
CreateRecord(record *model.BackupRecord) error
2525
DeleteRecord(ctx context.Context, opts ...DBOption) error
2626
UpdateRecord(record *model.BackupRecord) error
27+
UpdateRecordByMap(id uint, upMap map[string]interface{}) error
2728
WithByDetailName(detailName string) DBOption
2829
WithByFileName(fileName string) DBOption
2930
WithByCronID(cronjobID uint) DBOption
@@ -144,6 +145,10 @@ func (u *BackupRepo) UpdateRecord(record *model.BackupRecord) error {
144145
return global.DB.Save(record).Error
145146
}
146147

148+
func (u *BackupRepo) UpdateRecordByMap(id uint, upMap map[string]interface{}) error {
149+
return global.DB.Model(&model.BackupRecord{}).Where("id = ?", id).Updates(upMap).Error
150+
}
151+
147152
func (u *BackupRepo) DeleteRecord(ctx context.Context, opts ...DBOption) error {
148153
return getTx(ctx, opts...).Delete(&model.BackupRecord{}).Error
149154
}

agent/app/service/backup_app.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ func (u *BackupService) AppBackup(req dto.CommonBackup) (*model.BackupRecord, er
5858
DownloadAccountID: 1,
5959
FileDir: itemDir,
6060
FileName: fileName,
61+
Description: req.Description,
6162
}
6263
if err := backupRepo.CreateRecord(record); err != nil {
6364
global.LOG.Errorf("save backup record failed, err: %v", err)

agent/app/service/backup_mysql.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ func (u *BackupService) MysqlBackup(req dto.CommonBackup) error {
4343
DownloadAccountID: 1,
4444
FileDir: itemDir,
4545
FileName: fileName,
46+
Description: req.Description,
4647
}
4748
if err := backupRepo.CreateRecord(record); err != nil {
4849
global.LOG.Errorf("save backup record failed, err: %v", err)

agent/app/service/backup_postgresql.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ func (u *BackupService) PostgresqlBackup(req dto.CommonBackup) error {
4444
DownloadAccountID: 1,
4545
FileDir: itemDir,
4646
FileName: fileName,
47+
Description: req.Description,
4748
}
4849
if err := backupRepo.CreateRecord(record); err != nil {
4950
global.LOG.Errorf("save backup record failed, err: %v", err)

agent/app/service/backup_record.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ type IBackupRecordService interface {
2626

2727
ListFiles(req dto.OperateByID) []string
2828
LoadRecordSize(req dto.SearchForSize) ([]dto.RecordFileSize, error)
29+
UpdateDescription(req dto.UpdateDescription) error
2930
}
3031

3132
func NewIBackupRecordService() IBackupRecordService {
@@ -261,3 +262,7 @@ func (u *BackupRecordService) LoadRecordSize(req dto.SearchForSize) ([]dto.Recor
261262
wg.Wait()
262263
return datas, nil
263264
}
265+
266+
func (u *BackupRecordService) UpdateDescription(req dto.UpdateDescription) error {
267+
return backupRepo.UpdateRecordByMap(req.ID, map[string]interface{}{"description": req.Description})
268+
}

agent/app/service/backup_redis.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ func (u *BackupService) RedisBackup(req dto.CommonBackup) error {
5454
DownloadAccountID: 1,
5555
FileDir: itemDir,
5656
FileName: fileName,
57+
Description: req.Description,
5758
}
5859
if err := backupRepo.CreateRecord(record); err != nil {
5960
global.LOG.Errorf("save backup record failed, err: %v", err)

agent/app/service/backup_website.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ func (u *BackupService) WebsiteBackup(req dto.CommonBackup) error {
5151
DownloadAccountID: 1,
5252
FileDir: itemDir,
5353
FileName: fileName,
54+
Description: req.Description,
5455
}
5556
if err = backupRepo.CreateRecord(record); err != nil {
5657
global.LOG.Errorf("save backup record failed, err: %v", err)

0 commit comments

Comments
 (0)