user

package
v0.0.0-...-36bb7bb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const UNIQUE_VIOLATION = "23505"

Variables

View Source
var (
	ErrUserAlreadyExists        = errors.New("user with email already exists")
	ErrUserNotFound             = errors.New("user not found")
	ErrorUserSubmissionNotFound = errors.New("user submission not found")
)

Functions

This section is empty.

Types

type DBUserSubmission

type DBUserSubmission struct {
	UserSubmission
	Name string `json:"name" db:"name"`
}

type PgUserRepo

type PgUserRepo struct {
	// contains filtered or unexported fields
}

func NewPgUserRepo

func NewPgUserRepo(db *pgxpool.Pool) *PgUserRepo

func (*PgUserRepo) CreateUpdateUserSubmission

func (repo *PgUserRepo) CreateUpdateUserSubmission(ctx context.Context, us UserSubmission) error

func (*PgUserRepo) CreateUser

func (repo *PgUserRepo) CreateUser(ctx context.Context, u User) (User, error)

func (*PgUserRepo) GetAllUserSubmissionsForSession

func (repo *PgUserRepo) GetAllUserSubmissionsForSession(
	ctx context.Context,
	sessionId uint64,
) ([]DBUserSubmission, error)

func (*PgUserRepo) GetUserByEmail

func (repo *PgUserRepo) GetUserByEmail(ctx context.Context, email string) (User, error)

func (*PgUserRepo) GetUserByID

func (repo *PgUserRepo) GetUserByID(ctx context.Context, id uint64) (User, error)

func (*PgUserRepo) GetUserSubmission

func (repo *PgUserRepo) GetUserSubmission(
	ctx context.Context,
	userId, sessionId uint64,
) (UserSubmission, error)

type User

type User struct {
	ID    uint64 `json:"id"    db:"id"`
	Name  string `json:"name"  db:"name"`
	Email string `json:"email" db:"email"`
}

func NewUser

func NewUser(name, email string) User

func (User) JSON

func (u User) JSON() ([]byte, error)

type UserService

type UserService interface {
	CreateUser(ctx context.Context, u User) (User, error)
	GetUserByID(ctx context.Context, id uint64) (User, error)
	GetUserByEmail(ctx context.Context, email string) (User, error)
	GetUserSubmission(ctx context.Context, userId, sessionId uint64) (UserSubmission, error)
	GetAllUserSubmissionsForSession(
		ctx context.Context,
		sessionId uint64,
	) ([]DBUserSubmission, error)
	CreateUpdateUserSubmission(ctx context.Context, us UserSubmission) error
}

type UserSubmission

type UserSubmission struct {
	ID        uint64   `json:"id"         db:"id"`
	UserId    uint64   `json:"user_id"    db:"user_id"`
	SessionId uint64   `json:"session_id" db:"session_id"`
	Yesterday []string `json:"yesterday"  db:"yesterday"`
	Today     []string `json:"today"      db:"today"`
	Blockers  []string `json:"blockers"   db:"blockers"`
}

func NewUserSubmission

func NewUserSubmission(
	userId, sessionId uint64,
	name string,
	yesterday, today, blockers []string,
) UserSubmission

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL