postgres

package
v0.0.0-...-08f7c2a Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2024 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

func NewClient

func NewClient(cfg Config) (*Client, error)

func (*Client) BeginTx

func (c *Client) BeginTx(ctx context.Context) (ctxWithTx context.Context, commit, rollback func() error)

func (*Client) MigrateSchemas

func (c *Client) MigrateSchemas(ctx context.Context) error

func (*Client) Name

func (c *Client) Name() string

func (*Client) Ping

func (c *Client) Ping(ctx context.Context) error

func (*Client) Shutdown

func (c *Client) Shutdown(ctx context.Context) error

func (*Client) WithTx

func (c *Client) WithTx(ctx context.Context, fn func(ctxWithTx context.Context) error) error

type CollaborationRepository

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

func NewCollaborationRepository

func NewCollaborationRepository(client *Client) *CollaborationRepository

func (*CollaborationRepository) Create

func (r *CollaborationRepository) Create(ctx context.Context, memoID, userID uuid.UUID) (*ent.Collaboration, error)

func (*CollaborationRepository) Delete

func (r *CollaborationRepository) Delete(ctx context.Context, memoID, userID uuid.UUID) error

func (*CollaborationRepository) DeleteAllByMemoID

func (r *CollaborationRepository) DeleteAllByMemoID(
	ctx context.Context,
	memoID uuid.UUID,
) (count int, err error)

func (*CollaborationRepository) Find

func (r *CollaborationRepository) Find(ctx context.Context, memoID, userID uuid.UUID) (*ent.Collaboration, error)

func (*CollaborationRepository) UpdateApprovedStatus

func (r *CollaborationRepository) UpdateApprovedStatus(
	ctx context.Context, memoID, userID uuid.UUID, approve bool,
) (*ent.Collaboration, error)

type Config

type Config struct {
	Host     string `koanf:"host" validate:"required"`
	Port     int    `koanf:"port" validate:"required"`
	User     string `koanf:"user" validate:"required"`
	Password string `koanf:"password" validate:"required"`
	Database string `koanf:"database" validate:"required"`
	QueryLog bool   `koanf:"query-log"`
}

type MemoRepository

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

func NewMemoRepository

func NewMemoRepository(client *Client) *MemoRepository

func (*MemoRepository) ClearSubscribers

func (r *MemoRepository) ClearSubscribers(ctx context.Context, memoID uuid.UUID) error

func (*MemoRepository) CountByUserIDAndTagNames

func (r *MemoRepository) CountByUserIDAndTagNames(ctx context.Context, userID uuid.UUID, tags []string) (int, error)

func (*MemoRepository) Create

func (r *MemoRepository) Create(
	ctx context.Context,
	memo *ent.Memo,
	userID uuid.UUID,
	tagIDs []int,
) (*ent.Memo, error)

func (*MemoRepository) Delete

func (r *MemoRepository) Delete(ctx context.Context, memoID uuid.UUID) error

func (*MemoRepository) FindAllByUserIDAndTagNamesWithEdges

func (r *MemoRepository) FindAllByUserIDAndTagNamesWithEdges(
	ctx context.Context,
	userID uuid.UUID,
	tags []string,
	sortParams model.MemoSortParams,
	pageParams model.PaginationParams,
) ([]*ent.Memo, error)

func (*MemoRepository) FindAllByUserIDWithEdges

func (r *MemoRepository) FindAllByUserIDWithEdges(
	ctx context.Context,
	userID uuid.UUID,
	sortParams model.MemoSortParams,
	pageParams model.PaginationParams,
) ([]*ent.Memo, error)

func (*MemoRepository) FindByID

func (r *MemoRepository) FindByID(ctx context.Context, memoID uuid.UUID) (*ent.Memo, error)

func (*MemoRepository) FindByIDWithEdges

func (r *MemoRepository) FindByIDWithEdges(ctx context.Context, memoID uuid.UUID) (*ent.Memo, error)

func (*MemoRepository) RegisterSubscriber

func (r *MemoRepository) RegisterSubscriber(ctx context.Context, memoID, userID uuid.UUID) error

func (*MemoRepository) ReplaceTags

func (r *MemoRepository) ReplaceTags(ctx context.Context, memoID uuid.UUID, tagIDs []int, updateTime bool) error

func (*MemoRepository) UnregisterSubscriber

func (r *MemoRepository) UnregisterSubscriber(ctx context.Context, memoID, userID uuid.UUID) error

func (*MemoRepository) Update

func (r *MemoRepository) Update(ctx context.Context, memo *ent.Memo) (*ent.Memo, error)

func (*MemoRepository) UpdateIsPublish

func (r *MemoRepository) UpdateIsPublish(ctx context.Context, memoID uuid.UUID, isPublish bool) (*ent.Memo, error)

type TagRepository

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

func NewTagRepository

func NewTagRepository(client *Client) *TagRepository

func (*TagRepository) CreateIfNotExist

func (r *TagRepository) CreateIfNotExist(ctx context.Context, tagName string) (*ent.Tag, error)

func (*TagRepository) DeleteAllWithoutMemo

func (r *TagRepository) DeleteAllWithoutMemo(ctx context.Context, excludes []string) (count int, err error)

func (*TagRepository) FindAllByMemoID

func (r *TagRepository) FindAllByMemoID(ctx context.Context, memoID uuid.UUID) ([]*ent.Tag, error)

func (*TagRepository) FindAllByUserIDAndNameContains

func (r *TagRepository) FindAllByUserIDAndNameContains(
	ctx context.Context,
	userID uuid.UUID,
	name string,
) ([]*ent.Tag, error)

type UserRepository

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

func NewUserRepository

func NewUserRepository(client *Client) *UserRepository

func (*UserRepository) FindAllByCollaboratingMemoIDWithEdges

func (r *UserRepository) FindAllByCollaboratingMemoIDWithEdges(
	ctx context.Context,
	memoID uuid.UUID,
) ([]*ent.User, error)

func (*UserRepository) FindAllBySubscribingMemoID

func (r *UserRepository) FindAllBySubscribingMemoID(ctx context.Context, memoID uuid.UUID) ([]*ent.User, error)

func (*UserRepository) FindByEmail

func (r *UserRepository) FindByEmail(ctx context.Context, email string) (*ent.User, error)

func (*UserRepository) FindByID

func (r *UserRepository) FindByID(ctx context.Context, id uuid.UUID) (*ent.User, error)

func (*UserRepository) Upsert

func (r *UserRepository) Upsert(ctx context.Context, usr *ent.User) (*ent.User, error)

Jump to

Keyboard shortcuts

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