github.com/oinume/lekcije@v0.0.0-20231017100347-5b4c5eb6ab24/backend/infrastructure/mysql/user_api_token.go (about) 1 package mysql 2 3 import ( 4 "context" 5 "database/sql" 6 7 "github.com/volatiletech/sqlboiler/v4/boil" 8 9 "github.com/oinume/lekcije/backend/domain/repository" 10 "github.com/oinume/lekcije/backend/model2" 11 ) 12 13 type userAPITokenRepository struct { 14 db *sql.DB 15 } 16 17 func NewUserAPITokenRepository(db *sql.DB) repository.UserAPIToken { 18 return &userAPITokenRepository{ 19 db: db, 20 } 21 } 22 23 func (r *userAPITokenRepository) Create(ctx context.Context, userAPIToken *model2.UserAPIToken) error { 24 return userAPIToken.Insert(ctx, r.db, boil.Infer()) 25 } 26 27 func (r *userAPITokenRepository) DeleteByUserIDAndToken(ctx context.Context, userID uint, token string) error { 28 userAPIToken := &model2.UserAPIToken{ 29 UserID: userID, 30 Token: token, 31 } 32 _, err := userAPIToken.Delete(ctx, r.db) 33 return err 34 }