db

package
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Aug 7, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const CreateNotification = `` /* 384-byte string literal not displayed */
View Source
const CreateSubscription = `` /* 613-byte string literal not displayed */
View Source
const DeleteListingsBySubscriptionIDs = `-- name: DeleteListingsBySubscriptionIDs :exec
DELETE
FROM listings
WHERE subscription_id = ANY ($1::uuid[])
`
View Source
const DeleteSubscriptionByID = `-- name: DeleteSubscriptionByID :exec
DELETE
FROM subscriptions
WHERE id = $1
`
View Source
const DeleteSubscriptionsByUserID = `-- name: DeleteSubscriptionsByUserID :exec
DELETE
FROM subscriptions
WHERE user_id = $1
`
View Source
const DeleteUserByID = `-- name: DeleteUserByID :exec
DELETE
FROM users
WHERE id = $1
`
View Source
const GetAllSubscriptions = `` /* 247-byte string literal not displayed */
View Source
const GetListingsByIsNeedSend = `` /* 337-byte string literal not displayed */
View Source
const GetListingsBySubscriptionID = `` /* 344-byte string literal not displayed */
View Source
const GetSubscriptionByID = `` /* 260-byte string literal not displayed */
View Source
const GetSubscriptionsByUserID = `` /* 271-byte string literal not displayed */
View Source
const UpsertListing = `` /* 1370-byte string literal not displayed */
View Source
const UpsertUser = `` /* 544-byte string literal not displayed */

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateNotificationParams

type CreateNotificationParams struct {
	ListingID      string      `json:"listing_id"`
	SubscriptionID pgtype.UUID `json:"subscription_id"`
	Status         Status      `json:"status"`
	Reason         string      `json:"reason"`
}

type CreateSubscriptionParams

type CreateSubscriptionParams struct {
	UserID    int64    `json:"user_id"`
	Brand     string   `json:"brand"`
	Model     []string `json:"model"`
	Chassis   []string `json:"chassis"`
	PriceFrom string   `json:"price_from"`
	PriceTo   string   `json:"price_to"`
	YearFrom  string   `json:"year_from"`
	YearTo    string   `json:"year_to"`
	Region    []string `json:"region"`
}

type DBTX

type DBTX interface {
	Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
	Query(context.Context, string, ...interface{}) (pgx.Rows, error)
	QueryRow(context.Context, string, ...interface{}) pgx.Row
}

type Listing

type Listing struct {
	ID             pgtype.UUID      `json:"id"`
	ListingID      string           `json:"listing_id"`
	SubscriptionID pgtype.UUID      `json:"subscription_id"`
	Title          string           `json:"title"`
	Price          string           `json:"price"`
	EngineVolume   string           `json:"engine_volume"`
	Transmission   string           `json:"transmission"`
	BodyType       string           `json:"body_type"`
	Mileage        string           `json:"mileage"`
	Location       string           `json:"location"`
	Link           string           `json:"link"`
	Date           pgtype.Timestamp `json:"date"`
	IsNeedSend     bool             `json:"is_need_send"`
	CreatedAt      pgtype.Timestamp `json:"created_at"`
	UpdatedAt      pgtype.Timestamp `json:"updated_at"`
}

type Notification

type Notification struct {
	ID             pgtype.UUID      `json:"id"`
	SubscriptionID pgtype.UUID      `json:"subscription_id"`
	ListingID      string           `json:"listing_id"`
	Status         Status           `json:"status"`
	Reason         string           `json:"reason"`
	CreatedAt      pgtype.Timestamp `json:"created_at"`
	UpdatedAt      pgtype.Timestamp `json:"updated_at"`
}

type NullStatus

type NullStatus struct {
	Status Status `json:"status"`
	Valid  bool   `json:"valid"` // Valid is true if Status is not NULL
}

func (*NullStatus) Scan

func (ns *NullStatus) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullStatus) Value

func (ns NullStatus) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) CreateNotification

func (q *Queries) CreateNotification(ctx context.Context, arg CreateNotificationParams) (Notification, error)

func (*Queries) CreateSubscription

func (q *Queries) CreateSubscription(ctx context.Context, arg CreateSubscriptionParams) (Subscription, error)

func (*Queries) DeleteListingsBySubscriptionIDs

func (q *Queries) DeleteListingsBySubscriptionIDs(ctx context.Context, dollar_1 []pgtype.UUID) error

func (*Queries) DeleteSubscriptionByID

func (q *Queries) DeleteSubscriptionByID(ctx context.Context, id pgtype.UUID) error

func (*Queries) DeleteSubscriptionsByUserID

func (q *Queries) DeleteSubscriptionsByUserID(ctx context.Context, userID int64) error

func (*Queries) DeleteUserByID

func (q *Queries) DeleteUserByID(ctx context.Context, id int64) error

func (*Queries) GetAllSubscriptions

func (q *Queries) GetAllSubscriptions(ctx context.Context) ([]Subscription, error)

func (*Queries) GetListingsByIsNeedSend

func (q *Queries) GetListingsByIsNeedSend(ctx context.Context, isNeedSend bool) ([]Listing, error)

func (*Queries) GetListingsBySubscriptionID

func (q *Queries) GetListingsBySubscriptionID(ctx context.Context, subscriptionID pgtype.UUID) ([]Listing, error)

func (*Queries) GetSubscriptionByID

func (q *Queries) GetSubscriptionByID(ctx context.Context, id pgtype.UUID) (Subscription, error)

func (*Queries) GetSubscriptionsByUserID

func (q *Queries) GetSubscriptionsByUserID(ctx context.Context, userID int64) ([]Subscription, error)

func (*Queries) UpsertListing

func (q *Queries) UpsertListing(ctx context.Context, arg UpsertListingParams) error

func (*Queries) UpsertUser

func (q *Queries) UpsertUser(ctx context.Context, arg UpsertUserParams) (User, error)

func (*Queries) WithTx

func (q *Queries) WithTx(tx pgx.Tx) *Queries

type Status

type Status string
const (
	StatusSENT   Status = "SENT"
	StatusFAILED Status = "FAILED"
)

func (*Status) Scan

func (e *Status) Scan(src interface{}) error

type Subscription

type Subscription struct {
	ID        pgtype.UUID      `json:"id"`
	UserID    int64            `json:"user_id"`
	Brand     string           `json:"brand"`
	Model     []string         `json:"model"`
	Chassis   []string         `json:"chassis"`
	PriceFrom string           `json:"price_from"`
	PriceTo   string           `json:"price_to"`
	YearFrom  string           `json:"year_from"`
	YearTo    string           `json:"year_to"`
	Region    []string         `json:"region"`
	CreatedAt pgtype.Timestamp `json:"created_at"`
	UpdatedAt pgtype.Timestamp `json:"updated_at"`
}

type UpsertListingParams

type UpsertListingParams struct {
	ListingID      string           `json:"listing_id"`
	SubscriptionID pgtype.UUID      `json:"subscription_id"`
	Title          string           `json:"title"`
	Price          string           `json:"price"`
	EngineVolume   string           `json:"engine_volume"`
	Transmission   string           `json:"transmission"`
	BodyType       string           `json:"body_type"`
	Mileage        string           `json:"mileage"`
	Location       string           `json:"location"`
	Link           string           `json:"link"`
	Date           pgtype.Timestamp `json:"date"`
	IsNeedSend     bool             `json:"is_need_send"`
}

type UpsertUserParams

type UpsertUserParams struct {
	ID        int64  `json:"id"`
	Username  string `json:"username"`
	FirstName string `json:"first_name"`
	LastName  string `json:"last_name"`
}

type User

type User struct {
	ID        int64            `json:"id"`
	Username  string           `json:"username"`
	FirstName string           `json:"first_name"`
	LastName  string           `json:"last_name"`
	CreatedAt pgtype.Timestamp `json:"created_at"`
	UpdatedAt pgtype.Timestamp `json:"updated_at"`
}

Jump to

Keyboard shortcuts

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