Added a site setting section
This commit is contained in:
parent
499c0d8568
commit
0bd91de234
17 changed files with 856 additions and 36 deletions
|
|
@ -47,6 +47,7 @@ type Site struct {
|
|||
Title string
|
||||
Tagline string
|
||||
CreatedAt int64
|
||||
Timezone string
|
||||
}
|
||||
|
||||
type Upload struct {
|
||||
|
|
|
|||
|
|
@ -27,8 +27,9 @@ INSERT INTO sites (
|
|||
guid,
|
||||
title,
|
||||
tagline,
|
||||
timezone,
|
||||
created_at
|
||||
) VALUES (?, ?, ?, ?, ?)
|
||||
) VALUES (?, ?, ?, ?, ?, ?)
|
||||
RETURNING id
|
||||
`
|
||||
|
||||
|
|
@ -37,6 +38,7 @@ type InsertSiteParams struct {
|
|||
Guid string
|
||||
Title string
|
||||
Tagline string
|
||||
Timezone string
|
||||
CreatedAt int64
|
||||
}
|
||||
|
||||
|
|
@ -46,6 +48,7 @@ func (q *Queries) InsertSite(ctx context.Context, arg InsertSiteParams) (int64,
|
|||
arg.Guid,
|
||||
arg.Title,
|
||||
arg.Tagline,
|
||||
arg.Timezone,
|
||||
arg.CreatedAt,
|
||||
)
|
||||
var id int64
|
||||
|
|
@ -98,7 +101,7 @@ func (q *Queries) SelectAllSitesWithOwners(ctx context.Context) ([]SelectAllSite
|
|||
}
|
||||
|
||||
const selectSiteByGUID = `-- name: SelectSiteByGUID :one
|
||||
SELECT id, owner_id, guid, title, tagline, created_at FROM sites WHERE guid = ?
|
||||
SELECT id, owner_id, guid, title, tagline, created_at, timezone FROM sites WHERE guid = ?
|
||||
`
|
||||
|
||||
func (q *Queries) SelectSiteByGUID(ctx context.Context, guid string) (Site, error) {
|
||||
|
|
@ -111,12 +114,13 @@ func (q *Queries) SelectSiteByGUID(ctx context.Context, guid string) (Site, erro
|
|||
&i.Title,
|
||||
&i.Tagline,
|
||||
&i.CreatedAt,
|
||||
&i.Timezone,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const selectSiteByID = `-- name: SelectSiteByID :one
|
||||
SELECT id, owner_id, guid, title, tagline, created_at FROM sites WHERE id = ?
|
||||
SELECT id, owner_id, guid, title, tagline, created_at, timezone FROM sites WHERE id = ?
|
||||
`
|
||||
|
||||
func (q *Queries) SelectSiteByID(ctx context.Context, id int64) (Site, error) {
|
||||
|
|
@ -129,12 +133,13 @@ func (q *Queries) SelectSiteByID(ctx context.Context, id int64) (Site, error) {
|
|||
&i.Title,
|
||||
&i.Tagline,
|
||||
&i.CreatedAt,
|
||||
&i.Timezone,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const selectSitesOwnedByUser = `-- name: SelectSitesOwnedByUser :many
|
||||
SELECT id, owner_id, guid, title, tagline, created_at FROM sites WHERE owner_id = ? ORDER BY title ASC
|
||||
SELECT id, owner_id, guid, title, tagline, created_at, timezone FROM sites WHERE owner_id = ? ORDER BY title ASC
|
||||
`
|
||||
|
||||
func (q *Queries) SelectSitesOwnedByUser(ctx context.Context, ownerID int64) ([]Site, error) {
|
||||
|
|
@ -153,6 +158,7 @@ func (q *Queries) SelectSitesOwnedByUser(ctx context.Context, ownerID int64) ([]
|
|||
&i.Title,
|
||||
&i.Tagline,
|
||||
&i.CreatedAt,
|
||||
&i.Timezone,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -166,3 +172,24 @@ func (q *Queries) SelectSitesOwnedByUser(ctx context.Context, ownerID int64) ([]
|
|||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const updateSite = `-- name: UpdateSite :exec
|
||||
UPDATE sites SET title = ?, tagline = ?, timezone = ? WHERE id = ?
|
||||
`
|
||||
|
||||
type UpdateSiteParams struct {
|
||||
Title string
|
||||
Tagline string
|
||||
Timezone string
|
||||
ID int64
|
||||
}
|
||||
|
||||
func (q *Queries) UpdateSite(ctx context.Context, arg UpdateSiteParams) error {
|
||||
_, err := q.db.ExecContext(ctx, updateSite,
|
||||
arg.Title,
|
||||
arg.Tagline,
|
||||
arg.Timezone,
|
||||
arg.ID,
|
||||
)
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ func (db *Provider) SaveSite(ctx context.Context, site *models.Site) error {
|
|||
Guid: site.GUID,
|
||||
Title: site.Title,
|
||||
Tagline: site.Tagline,
|
||||
Timezone: site.Timezone,
|
||||
CreatedAt: timeToInt(site.Created),
|
||||
})
|
||||
if err != nil {
|
||||
|
|
@ -55,8 +56,12 @@ func (db *Provider) SaveSite(ctx context.Context, site *models.Site) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// No update query defined in sqlgen yet
|
||||
return nil
|
||||
return db.queries.UpdateSite(ctx, sqlgen.UpdateSiteParams{
|
||||
Title: site.Title,
|
||||
Tagline: site.Tagline,
|
||||
Timezone: site.Timezone,
|
||||
ID: site.ID,
|
||||
})
|
||||
}
|
||||
|
||||
func (db *Provider) HasUsersAndSites(ctx context.Context) (bool, error) {
|
||||
|
|
@ -96,11 +101,12 @@ func (db *Provider) SelectAllSitesWithOwners(ctx context.Context) ([]SiteWithOwn
|
|||
|
||||
func dbSiteToSite(row sqlgen.Site) models.Site {
|
||||
return models.Site{
|
||||
ID: row.ID,
|
||||
OwnerID: row.OwnerID,
|
||||
GUID: row.Guid,
|
||||
Title: row.Title,
|
||||
Tagline: row.Tagline,
|
||||
Created: time.Unix(row.CreatedAt, 0).UTC(),
|
||||
ID: row.ID,
|
||||
OwnerID: row.OwnerID,
|
||||
GUID: row.Guid,
|
||||
Title: row.Title,
|
||||
Timezone: row.Timezone,
|
||||
Tagline: row.Tagline,
|
||||
Created: time.Unix(row.CreatedAt, 0).UTC(),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue