node build fixed
This commit is contained in:
49
seanime-2.9.10/internal/user/user.go
Normal file
49
seanime-2.9.10/internal/user/user.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package user
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"seanime/internal/api/anilist"
|
||||
"seanime/internal/database/models"
|
||||
|
||||
"github.com/goccy/go-json"
|
||||
)
|
||||
|
||||
const SimulatedUserToken = "SIMULATED"
|
||||
|
||||
type User struct {
|
||||
Viewer *anilist.GetViewer_Viewer `json:"viewer"`
|
||||
Token string `json:"token"`
|
||||
// IsSimulated indicates whether the user is not a real AniList account.
|
||||
IsSimulated bool `json:"isSimulated"`
|
||||
}
|
||||
|
||||
// NewUser creates a new User entity from a models.User
|
||||
// This is returned to the client
|
||||
func NewUser(model *models.Account) (*User, error) {
|
||||
if model == nil {
|
||||
return nil, errors.New("account is nil")
|
||||
}
|
||||
var acc anilist.GetViewer_Viewer
|
||||
if err := json.Unmarshal(model.Viewer, &acc); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &User{
|
||||
Viewer: &acc,
|
||||
Token: model.Token,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func NewSimulatedUser() *User {
|
||||
acc := anilist.GetViewer_Viewer{
|
||||
Name: "User",
|
||||
Avatar: nil,
|
||||
BannerImage: nil,
|
||||
IsBlocked: nil,
|
||||
Options: nil,
|
||||
}
|
||||
return &User{
|
||||
Viewer: &acc,
|
||||
Token: SimulatedUserToken,
|
||||
IsSimulated: true,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user