feat: support export media
This commit is contained in:
@@ -12,12 +12,13 @@ import (
|
||||
)
|
||||
|
||||
type Channels struct {
|
||||
ID int64 `sql:"primary_key"`
|
||||
UUID int64
|
||||
Username string
|
||||
Title string
|
||||
CreatedAt *time.Time
|
||||
UpdatedAt *time.Time
|
||||
Offset int64
|
||||
MinID int64
|
||||
ID int64 `sql:"primary_key"`
|
||||
UUID int64
|
||||
Username string
|
||||
Title string
|
||||
CreatedAt *time.Time
|
||||
UpdatedAt *time.Time
|
||||
Offset int64
|
||||
MinID int64
|
||||
ExportMedia bool
|
||||
}
|
||||
|
||||
@@ -17,14 +17,15 @@ type channelsTable struct {
|
||||
postgres.Table
|
||||
|
||||
// Columns
|
||||
ID postgres.ColumnInteger
|
||||
UUID postgres.ColumnInteger
|
||||
Username postgres.ColumnString
|
||||
Title postgres.ColumnString
|
||||
CreatedAt postgres.ColumnTimestampz
|
||||
UpdatedAt postgres.ColumnTimestampz
|
||||
Offset postgres.ColumnInteger
|
||||
MinID postgres.ColumnInteger
|
||||
ID postgres.ColumnInteger
|
||||
UUID postgres.ColumnInteger
|
||||
Username postgres.ColumnString
|
||||
Title postgres.ColumnString
|
||||
CreatedAt postgres.ColumnTimestampz
|
||||
UpdatedAt postgres.ColumnTimestampz
|
||||
Offset postgres.ColumnInteger
|
||||
MinID postgres.ColumnInteger
|
||||
ExportMedia postgres.ColumnBool
|
||||
|
||||
AllColumns postgres.ColumnList
|
||||
MutableColumns postgres.ColumnList
|
||||
@@ -65,30 +66,32 @@ func newChannelsTable(schemaName, tableName, alias string) *ChannelsTable {
|
||||
|
||||
func newChannelsTableImpl(schemaName, tableName, alias string) channelsTable {
|
||||
var (
|
||||
IDColumn = postgres.IntegerColumn("id")
|
||||
UUIDColumn = postgres.IntegerColumn("uuid")
|
||||
UsernameColumn = postgres.StringColumn("username")
|
||||
TitleColumn = postgres.StringColumn("title")
|
||||
CreatedAtColumn = postgres.TimestampzColumn("created_at")
|
||||
UpdatedAtColumn = postgres.TimestampzColumn("updated_at")
|
||||
OffsetColumn = postgres.IntegerColumn("offset")
|
||||
MinIDColumn = postgres.IntegerColumn("min_id")
|
||||
allColumns = postgres.ColumnList{IDColumn, UUIDColumn, UsernameColumn, TitleColumn, CreatedAtColumn, UpdatedAtColumn, OffsetColumn, MinIDColumn}
|
||||
mutableColumns = postgres.ColumnList{UUIDColumn, UsernameColumn, TitleColumn, CreatedAtColumn, UpdatedAtColumn, OffsetColumn, MinIDColumn}
|
||||
IDColumn = postgres.IntegerColumn("id")
|
||||
UUIDColumn = postgres.IntegerColumn("uuid")
|
||||
UsernameColumn = postgres.StringColumn("username")
|
||||
TitleColumn = postgres.StringColumn("title")
|
||||
CreatedAtColumn = postgres.TimestampzColumn("created_at")
|
||||
UpdatedAtColumn = postgres.TimestampzColumn("updated_at")
|
||||
OffsetColumn = postgres.IntegerColumn("offset")
|
||||
MinIDColumn = postgres.IntegerColumn("min_id")
|
||||
ExportMediaColumn = postgres.BoolColumn("export_media")
|
||||
allColumns = postgres.ColumnList{IDColumn, UUIDColumn, UsernameColumn, TitleColumn, CreatedAtColumn, UpdatedAtColumn, OffsetColumn, MinIDColumn, ExportMediaColumn}
|
||||
mutableColumns = postgres.ColumnList{UUIDColumn, UsernameColumn, TitleColumn, CreatedAtColumn, UpdatedAtColumn, OffsetColumn, MinIDColumn, ExportMediaColumn}
|
||||
)
|
||||
|
||||
return channelsTable{
|
||||
Table: postgres.NewTable(schemaName, tableName, alias, allColumns...),
|
||||
|
||||
//Columns
|
||||
ID: IDColumn,
|
||||
UUID: UUIDColumn,
|
||||
Username: UsernameColumn,
|
||||
Title: TitleColumn,
|
||||
CreatedAt: CreatedAtColumn,
|
||||
UpdatedAt: UpdatedAtColumn,
|
||||
Offset: OffsetColumn,
|
||||
MinID: MinIDColumn,
|
||||
ID: IDColumn,
|
||||
UUID: UUIDColumn,
|
||||
Username: UsernameColumn,
|
||||
Title: TitleColumn,
|
||||
CreatedAt: CreatedAtColumn,
|
||||
UpdatedAt: UpdatedAtColumn,
|
||||
Offset: OffsetColumn,
|
||||
MinID: MinIDColumn,
|
||||
ExportMedia: ExportMediaColumn,
|
||||
|
||||
AllColumns: allColumns,
|
||||
MutableColumns: mutableColumns,
|
||||
|
||||
@@ -20,10 +20,11 @@ import (
|
||||
)
|
||||
|
||||
type DBChannel struct {
|
||||
UUID int64
|
||||
Username string
|
||||
Title string
|
||||
MinID int
|
||||
UUID int64
|
||||
Username string
|
||||
Title string
|
||||
MinID int
|
||||
ExportMedia bool
|
||||
}
|
||||
|
||||
func NewDBChannel(uuid int64, username, title string) *DBChannel {
|
||||
@@ -68,13 +69,14 @@ func (c *DBChannel) Get(ctx context.Context) error {
|
||||
if errors.Is(err, qrm.ErrNoRows) {
|
||||
// create new channel with default value
|
||||
m = model.Channels{
|
||||
UUID: c.UUID,
|
||||
Username: c.Username,
|
||||
Title: c.Title,
|
||||
MinID: 0,
|
||||
Offset: 0,
|
||||
CreatedAt: lo.ToPtr(time.Now()),
|
||||
UpdatedAt: lo.ToPtr(time.Now()),
|
||||
UUID: c.UUID,
|
||||
Username: c.Username,
|
||||
Title: c.Title,
|
||||
MinID: 0,
|
||||
Offset: 0,
|
||||
ExportMedia: false,
|
||||
CreatedAt: lo.ToPtr(time.Now()),
|
||||
UpdatedAt: lo.ToPtr(time.Now()),
|
||||
}
|
||||
|
||||
if _, err := tbl.INSERT(tbl.AllColumns.Except(tbl.ID)).MODEL(m).ExecContext(ctx, db); err != nil {
|
||||
@@ -85,6 +87,7 @@ func (c *DBChannel) Get(ctx context.Context) error {
|
||||
}
|
||||
}
|
||||
c.MinID = int(m.MinID)
|
||||
c.ExportMedia = m.ExportMedia
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user