repository

package
v0.0.0-...-dcbdc3c Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthRepository

type AuthRepository interface {
	// tokenを登録するお
	RegisterRefreshToken(ctx context.Context, user entity.User, token string, expiresAt time.Time) error
	FetchRefreshToken(ctx context.Context, token string) (models.RefreshToken, error)
	DeleteRefreshToken(ctx context.Context, token string) error
}

func NewAuthRepository

func NewAuthRepository(db *sql.DB) AuthRepository

type EventRepository

type EventRepository interface {
	// イベントを作成する
	CreateEvent(ctx context.Context, tx *sql.Tx, event entity.Event) (entity.Event, error)
	// イベントのタイムスロットを作成する
	CreateEventTimeUnits(ctx context.Context, tx *sql.Tx, event []entity.EventTimeUnit) ([]entity.EventTimeUnit, error)
	// イベントを取得する
	FetchEvent(ctx context.Context, tx *sql.Tx, eventId ulid.ULID) (entity.Event, error)
	// イベントのタイムスロットを取得する
	FetchEventTimeUnits(ctx context.Context, tx *sql.Tx, eventId ulid.ULID) ([]entity.EventTimeUnit, error)
	// イベントの全ユーザー回答(Unit付き)を取得する
	FetchEventAnswersWithUnits(ctx context.Context, tx *sql.Tx, eventId ulid.ULID) ([]entity.UserEventAnswer, error)
	// 回答したユーザーの数を取得する
	FetchUserAnswerCount(ctx context.Context, tx *sql.Tx, eventId ulid.ULID) (int, error)
	// イベントの指定ユーザー回答(Unit無し)を取得する
	FetchEventAnswer(ctx context.Context, tx *sql.Tx, eventId ulid.ULID, userId ulid.ULID) (entity.UserEventAnswer, error)

	// イベント参加回答更新
	UpdateEventAnswer(ctx context.Context, tx *sql.Tx, answer entity.UserEventAnswer) (entity.UserEventAnswer, error)
	// イベント参加回答時間単位を登録する
	RegisterAnswerUnits(ctx context.Context, tx *sql.Tx, answer []entity.UserEventAnswerUnit) ([]entity.UserEventAnswerUnit, error)

	// ユーザーと関連するイベント一覧取得
	FetchUserEvents(ctx context.Context, tx *sql.Tx, userId ulid.ULID) ([]entity.Event, error)
}

func NewEventRepository

func NewEventRepository(db *sql.DB) EventRepository

type OauthRepository

type OauthRepository interface {
	RegisterProvider(ctx context.Context, op entity.OauthProvider) (entity.OauthProvider, error)
	FetchProviders(ctx context.Context) ([]entity.OauthProvider, error)
	FetchProviderByName(ctx context.Context, name string) (entity.OauthProvider, error)
	RegisterOauthUserInfo(ctx context.Context, oui entity.OauthUserInfo) (entity.OauthUserInfo, error)
	UpdateOauthUserInfo(ctx context.Context, oui entity.OauthUserInfo) (entity.OauthUserInfo, error)
	FetchOauthUserInfos(ctx context.Context, user entity.User) ([]entity.OauthUserInfo, error)
	FetchOauthUserInfo(ctx context.Context, providerId ulid.ULID, user entity.User) (entity.OauthUserInfo, error)
	FetchUserInfoByUid(ctx context.Context, providerId ulid.ULID, uid string) (*entity.OauthUserInfo, error)
}

func NewOauthRepository

func NewOauthRepository(db *sql.DB) OauthRepository

type UserRepository

type UserRepository interface {
	Create(ctx context.Context, user entity.User) (entity.User, error)
	Find(ctx context.Context, id ulid.ULID) (entity.User, error)
	// FindAll(ctx context.Context) ([]entity.User, error)
	Update(ctx context.Context, user entity.User) error
}

func NewUserRepository

func NewUserRepository(db *sql.DB) UserRepository

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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