()
| 111 | } |
| 112 | |
| 113 | func (s *FileShareService) generateUniqueCode() (string, error) { |
| 114 | for i := 0; i < 8; i++ { |
| 115 | code, err := randomShareCode(fileShareCodeDefaultLength) |
| 116 | if err != nil { |
| 117 | return "", err |
| 118 | } |
| 119 | _, err = fileShareRepo.GetFirst(fileShareRepo.WithByCode(code)) |
| 120 | if errors.Is(err, gorm.ErrRecordNotFound) { |
| 121 | return code, nil |
| 122 | } |
| 123 | if err != nil { |
| 124 | return "", err |
| 125 | } |
| 126 | } |
| 127 | return "", errors.New("failed to generate unique file share code") |
| 128 | } |
| 129 | |
| 130 | func (s *FileShareService) Create(req request.FileShareCreate) (*response.FileShareInfo, error) { |
| 131 | path := strings.TrimSpace(req.Path) |
no test coverage detected