Documentation ¶
Index ¶
- Variables
- func ErrFromCode(pqerr error) error
- type ActivityStats
- type Categories
- type Category
- type CategoryNames
- type Config
- type Help
- type HelpInsert
- type Interface
- type LocalityRegion
- type Postgres
- func (p *Postgres) DeleteHelp(ctx context.Context, u uuid.UUID) error
- func (p *Postgres) DeleteSubscription(ctx context.Context, sid uuid.UUID) error
- func (p *Postgres) InsertHelp(ctx context.Context, rq *HelpInsert) (uuid.UUID, error)
- func (p *Postgres) InsertSubscription(ctx context.Context, s *SubscriptionInsert) error
- func (p *Postgres) KeepHelp(ctx context.Context, requestID uuid.UUID) error
- func (p *Postgres) MigrateUp() error
- func (p *Postgres) SelectActivityStats(ctx context.Context) (*ActivityStats, error)
- func (p *Postgres) SelectCategories(ctx context.Context) ([]*Category, error)
- func (p *Postgres) SelectExpiredHelps(ctx context.Context, t time.Time) ([]*Help, error)
- func (p *Postgres) SelectHelpByID(ctx context.Context, uid uuid.UUID) (*Help, error)
- func (p *Postgres) SelectHelpsByLocalityCategory(ctx context.Context, localityID int, cid uuid.UUID) ([]*Help, error)
- func (p *Postgres) SelectHelpsBySubscription(ctx context.Context, sid uuid.UUID) ([]*Help, error)
- func (p *Postgres) SelectHelpsByUser(ctx context.Context, uid uuid.UUID) ([]*Help, error)
- func (p *Postgres) SelectHelpsCountByUser(ctx context.Context, uid uuid.UUID) (int, error)
- func (p *Postgres) SelectLocalityRegions(ctx context.Context, s string) ([]*LocalityRegion, error)
- func (p *Postgres) SelectSubscriptionExists(ctx context.Context, sid uuid.UUID) (bool, error)
- func (p *Postgres) SelectSubscriptionsByLocalityCategories(ctx context.Context, l int, cids []uuid.UUID) ([]*SubscriptionValue, error)
- func (p *Postgres) SelectSubscriptionsByUser(ctx context.Context, uid uuid.UUID) ([]*SubscriptionValue, error)
- func (p *Postgres) SelectSubscriptionsCountByUser(ctx context.Context, uid uuid.UUID) (int, error)
- func (p *Postgres) UpsertUser(ctx context.Context, user *User) (*User, error)
- type SubscriptionInsert
- type SubscriptionValue
- type User
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrUniqueViolation = errors.New("unique violation") ErrNotFound = errors.New("not found") )
Storage layer errors
Functions ¶
func ErrFromCode ¶
ErrFromCode parses Postgres error code and returns corresponding storage error for non Postgres related or unknown errors returns pqerr
more error codes: https://github.com/omeid/pgerror/blob/master/pgerror.go
Types ¶
type ActivityStats ¶
type Categories ¶
type Categories []CategoryNames
func (*Categories) Scan ¶
func (cs *Categories) Scan(src interface{}) error
type CategoryNames ¶
type Help ¶
type Help struct { ID uuid.UUID `db:"id"` CreatorID uuid.UUID `db:"creator_id"` Categories Categories `db:"categories"` LocalityPublicNameEN string `db:"loc_public_name_en"` LocalityPublicNameRU string `db:"loc_public_name_ru"` LocalityPublicNameUA string `db:"loc_public_name_ua"` Language string `db:"language"` Description string `db:"description"` CreatedAt time.Time `db:"created_at"` UpdatedAt *time.Time `db:"updated_at"` DeletedAt *time.Time `db:"deleted_at"` }
type HelpInsert ¶
type Interface ¶
type Interface interface { MigrateUp() error UpsertUser(context.Context, *User) (*User, error) SelectLocalityRegions(context.Context, string) ([]*LocalityRegion, error) SelectCategories(context.Context) ([]*Category, error) InsertHelp(context.Context, *HelpInsert) (uuid.UUID, error) SelectHelpByID(context.Context, uuid.UUID) (*Help, error) SelectHelpsByUser(context.Context, uuid.UUID) ([]*Help, error) SelectHelpsByLocalityCategory(context.Context, int, uuid.UUID) ([]*Help, error) SelectHelpsBySubscription(ctx context.Context, sid uuid.UUID) ([]*Help, error) SelectHelpsCountByUser(context.Context, uuid.UUID) (int, error) DeleteHelp(ctx context.Context, uuid2 uuid.UUID) error SelectExpiredHelps(context.Context, time.Time) ([]*Help, error) KeepHelp(ctx context.Context, requestID uuid.UUID) error InsertSubscription(context.Context, *SubscriptionInsert) error SelectSubscriptionsByUser(context.Context, uuid.UUID) ([]*SubscriptionValue, error) SelectSubscriptionsByLocalityCategories(context.Context, int, []uuid.UUID) ([]*SubscriptionValue, error) SelectSubscriptionsCountByUser(context.Context, uuid.UUID) (int, error) DeleteSubscription(context.Context, uuid.UUID) error SelectActivityStats(context.Context) (*ActivityStats, error) SelectSubscriptionExists(context.Context, uuid.UUID) (bool, error) }
type LocalityRegion ¶
type Postgres ¶
type Postgres struct {
// contains filtered or unexported fields
}
func NewPostgres ¶
func (*Postgres) DeleteSubscription ¶
func (*Postgres) InsertHelp ¶
func (*Postgres) InsertSubscription ¶
func (p *Postgres) InsertSubscription(ctx context.Context, s *SubscriptionInsert) error
func (*Postgres) SelectActivityStats ¶
func (p *Postgres) SelectActivityStats(ctx context.Context) (*ActivityStats, error)
func (*Postgres) SelectCategories ¶
func (*Postgres) SelectExpiredHelps ¶
func (*Postgres) SelectHelpByID ¶
func (*Postgres) SelectHelpsByLocalityCategory ¶
func (*Postgres) SelectHelpsBySubscription ¶
func (*Postgres) SelectHelpsByUser ¶
func (*Postgres) SelectHelpsCountByUser ¶
func (*Postgres) SelectLocalityRegions ¶
func (*Postgres) SelectSubscriptionExists ¶
func (*Postgres) SelectSubscriptionsByLocalityCategories ¶
func (*Postgres) SelectSubscriptionsByUser ¶
func (*Postgres) SelectSubscriptionsCountByUser ¶
type SubscriptionInsert ¶
type SubscriptionValue ¶
type SubscriptionValue struct { ID uuid.UUID `db:"id"` CreatorID uuid.UUID `db:"creator_id"` CategoryID uuid.UUID `db:"category_id"` ChatID int64 `db:"chat_id"` Language string `db:"language"` CategoryNameEN string `db:"name_en"` CategoryNameRU string `db:"name_ru"` CategoryNameUA string `db:"name_ua"` LocalityPublicNameEN string `db:"public_name_en"` LocalityPublicNameRU string `db:"public_name_ru"` LocalityPublicNameUA string `db:"public_name_ua"` CreatedAt time.Time `db:"created_at"` }
Click to show internal directories.
Click to hide internal directories.