Add the recovery feature.

This commit is contained in:
lishuang
2020-07-12 21:03:01 +08:00
parent a92e172d26
commit 8a0c66ceff
3 changed files with 111 additions and 1 deletions

View File

@ -271,6 +271,21 @@ func (this *MatterService) SoftDelete(request *http.Request, matter *Matter, use
//no need to recompute size.
}
//recovery delete files.
func (this *MatterService) Recovery(request *http.Request, matter *Matter, user *User) {
if matter == nil {
panic(result.BadRequest("matter cannot be nil"))
}
if !matter.Deleted {
panic(result.BadRequest("matter has not been deleted"))
}
this.matterDao.Recovery(matter)
//no need to recompute size.
}
//atomic delete files
func (this *MatterService) AtomicDelete(request *http.Request, matter *Matter, user *User) {
@ -303,6 +318,24 @@ func (this *MatterService) AtomicSoftDelete(request *http.Request, matter *Matte
this.SoftDelete(request, matter, user)
}
//atomic recovery delete files
func (this *MatterService) AtomicRecovery(request *http.Request, matter *Matter, user *User) {
if matter == nil {
panic(result.BadRequest("matter cannot be nil"))
}
if !matter.Deleted {
panic(result.BadRequest("matter has not been deleted"))
}
//lock
this.userService.MatterLock(matter.UserUuid)
defer this.userService.MatterUnlock(matter.UserUuid)
this.Recovery(request, matter, user)
}
//upload files.
func (this *MatterService) Upload(request *http.Request, file io.Reader, user *User, dirMatter *Matter, filename string, privacy bool) *Matter {