2025-11-28 23:30:49 +08:00
|
|
|
package repository
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"carrotskin/internal/model"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func CreateToken(token *model.Token) error {
|
2025-12-02 10:33:19 +08:00
|
|
|
return getDB().Create(token).Error
|
2025-11-28 23:30:49 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func GetTokensByUserId(userId int64) ([]*model.Token, error) {
|
2025-12-02 10:33:19 +08:00
|
|
|
var tokens []*model.Token
|
|
|
|
|
err := getDB().Where("user_id = ?", userId).Find(&tokens).Error
|
|
|
|
|
return tokens, err
|
2025-11-28 23:30:49 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func BatchDeleteTokens(tokensToDelete []string) (int64, error) {
|
|
|
|
|
if len(tokensToDelete) == 0 {
|
2025-12-02 10:33:19 +08:00
|
|
|
return 0, nil
|
2025-11-28 23:30:49 +08:00
|
|
|
}
|
2025-12-02 10:33:19 +08:00
|
|
|
result := getDB().Where("access_token IN ?", tokensToDelete).Delete(&model.Token{})
|
2025-11-28 23:30:49 +08:00
|
|
|
return result.RowsAffected, result.Error
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func FindTokenByID(accessToken string) (*model.Token, error) {
|
2025-12-02 10:33:19 +08:00
|
|
|
var token model.Token
|
|
|
|
|
err := getDB().Where("access_token = ?", accessToken).First(&token).Error
|
2025-11-28 23:30:49 +08:00
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
2025-12-02 10:33:19 +08:00
|
|
|
return &token, nil
|
2025-11-28 23:30:49 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func GetUUIDByAccessToken(accessToken string) (string, error) {
|
|
|
|
|
var token model.Token
|
2025-12-02 10:33:19 +08:00
|
|
|
err := getDB().Where("access_token = ?", accessToken).First(&token).Error
|
2025-11-28 23:30:49 +08:00
|
|
|
if err != nil {
|
|
|
|
|
return "", err
|
|
|
|
|
}
|
|
|
|
|
return token.ProfileId, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func GetUserIDByAccessToken(accessToken string) (int64, error) {
|
|
|
|
|
var token model.Token
|
2025-12-02 10:33:19 +08:00
|
|
|
err := getDB().Where("access_token = ?", accessToken).First(&token).Error
|
2025-11-28 23:30:49 +08:00
|
|
|
if err != nil {
|
|
|
|
|
return 0, err
|
|
|
|
|
}
|
|
|
|
|
return token.UserID, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func GetTokenByAccessToken(accessToken string) (*model.Token, error) {
|
|
|
|
|
var token model.Token
|
2025-12-02 10:33:19 +08:00
|
|
|
err := getDB().Where("access_token = ?", accessToken).First(&token).Error
|
2025-11-28 23:30:49 +08:00
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
return &token, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func DeleteTokenByAccessToken(accessToken string) error {
|
2025-12-02 10:33:19 +08:00
|
|
|
return getDB().Where("access_token = ?", accessToken).Delete(&model.Token{}).Error
|
2025-11-28 23:30:49 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func DeleteTokenByUserId(userId int64) error {
|
2025-12-02 10:33:19 +08:00
|
|
|
return getDB().Where("user_id = ?", userId).Delete(&model.Token{}).Error
|
2025-11-28 23:30:49 +08:00
|
|
|
}
|