feat(API): media library
This commit is contained in:
1 parent
95ae043d3e
commit
0d99544579
65 files changed
+3992
-1530
No files matched your search
@@ -0,0 +1,40 @@
|
||||
package useCases
|
||||
|
||||
import (
|
||||
"RenewCMS/internal/domain/user"
|
||||
"errors"
|
||||
)
|
||||
|
||||
type uploaderNames struct {
|
||||
userRepository user.Repository
|
||||
names map[uint32]string
|
||||
}
|
||||
|
||||
func newUploaderNames(userRepository user.Repository) *uploaderNames {
|
||||
return &uploaderNames{userRepository: userRepository, names: map[uint32]string{}}
|
||||
}
|
||||
|
||||
func (u *uploaderNames) nameOf(userId uint32) (string, error) {
|
||||
if userId == 0 {
|
||||
return "", nil
|
||||
}
|
||||
if name, ok := u.names[userId]; ok {
|
||||
return name, nil
|
||||
}
|
||||
|
||||
uploader, err := u.userRepository.Get(userId)
|
||||
if errors.Is(err, user.ErrUserNotFound) {
|
||||
u.names[userId] = ""
|
||||
return "", nil
|
||||
}
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
name := uploader.DisplayName
|
||||
if name == "" {
|
||||
name = uploader.Username
|
||||
}
|
||||
u.names[userId] = name
|
||||
return name, nil
|
||||
}
|
||||
Reference in new issue
Block a user