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  }