package repository import ( "carrotskin/internal/model" ) func CreateToken(token *model.Token) error { return getDB().Create(token).Error } func GetTokensByUserId(userId int64) ([]*model.Token, error) { var tokens []*model.Token err := getDB().Where("user_id = ?", userId).Find(&tokens).Error return tokens, err } func BatchDeleteTokens(tokensToDelete []string) (int64, error) { if len(tokensToDelete) == 0 { return 0, nil } result := getDB().Where("access_token IN ?", tokensToDelete).Delete(&model.Token{}) return result.RowsAffected, result.Error } func FindTokenByID(accessToken string) (*model.Token, error) { var token model.Token err := getDB().Where("access_token = ?", accessToken).First(&token).Error if err != nil { return nil, err } return &token, nil } func GetUUIDByAccessToken(accessToken string) (string, error) { var token model.Token err := getDB().Where("access_token = ?", accessToken).First(&token).Error if err != nil { return "", err } return token.ProfileId, nil } func GetUserIDByAccessToken(accessToken string) (int64, error) { var token model.Token err := getDB().Where("access_token = ?", accessToken).First(&token).Error if err != nil { return 0, err } return token.UserID, nil } func GetTokenByAccessToken(accessToken string) (*model.Token, error) { var token model.Token err := getDB().Where("access_token = ?", accessToken).First(&token).Error if err != nil { return nil, err } return &token, nil } func DeleteTokenByAccessToken(accessToken string) error { return getDB().Where("access_token = ?", accessToken).Delete(&model.Token{}).Error } func DeleteTokenByUserId(userId int64) error { return getDB().Where("user_id = ?", userId).Delete(&model.Token{}).Error }