Files
go-receipt-tracker-api/models/whitelist.go
2025-02-03 18:16:07 -05:00

30 lines
966 B
Go

package models
import (
"context"
"github.com/uptrace/bun"
)
type WhiteList struct {
bun.BaseModel `bun:"table:whitelist"`
UserID int64 `bun:",pk,autoincrement"`
Name string `bun:"name,type:text,unique" json:"name" yaml:"name"`
TelegramID int64 `bun:"telegram_id,type:int,unique" json:"telegram_id" yaml:"telegram_id"`
TelegramUsername string `bun:"telegram_username,type:text,unique" json:"telegram_username" yaml:"telegram_username"`
}
var _ bun.AfterCreateTableHook = (*WhiteList)(nil)
func (*WhiteList) AfterCreateTable(ctx context.Context, query *bun.CreateTableQuery) error {
_, err := query.DB().NewCreateIndex().Model((*WhiteList)(nil)).Index("idx_wl_telegram_id").Column("telegram_id").Exec(ctx)
if err != nil {
return err
}
_, err = query.DB().NewCreateIndex().Model((*WhiteList)(nil)).Index("idx_wl_telegram_username").Column("telegram_username").Exec(ctx)
if err != nil {
return err
}
return nil
}