package repo import ( "context" "git.logidex.ru/fakz9/logidex-id/internal/api/user/domain" db "git.logidex.ru/fakz9/logidex-id/internal/db/generated" "github.com/google/uuid" ) type userRepo struct { db db.DBTX } func (u userRepo) VerifyUser(ctx context.Context, requestUuid string) (*db.User, error) { //TODO implement me queries := db.New(u.db) uuidParsed, err := uuid.Parse(requestUuid) if err != nil { return nil, err } dbUser, err := queries.UpdateUserVerified(ctx, uuidParsed) if err != nil { return nil, err } return &dbUser, nil } func (u userRepo) GetUserByUuid(ctx context.Context, requestUuid string) (*db.User, error) { queries := db.New(u.db) uuidParsed, err := uuid.Parse(requestUuid) if err != nil { return nil, err } dbUser, err := queries.GetUserByUUID(ctx, uuidParsed) if err != nil { return nil, err } return &dbUser, nil } func (u userRepo) CreateUser(ctx context.Context, phoneNumber string) (*db.User, error) { queries := db.New(u.db) user, err := queries.CreateUser(ctx, phoneNumber) if err != nil { return nil, err } return &user, nil } func (u userRepo) GetUserByPhoneNumber(ctx context.Context, phoneNumber string) (*db.User, error) { queries := db.New(u.db) dbUser, err := queries.GetByPhoneNumber(ctx, phoneNumber) if err != nil { return nil, err } return &dbUser, nil } func NewUserRepo(db db.DBTX) domain.UserRepository { return &userRepo{db: db} }