Added site overview page
This commit is contained in:
@@ -25,7 +25,7 @@ var _ repository.SiteRepository = (*SQLiteSiteRepository)(nil)
|
||||
|
||||
func (r *SQLiteSiteRepository) GetSite(id string) (*models.Site, error) {
|
||||
row := r.db.QueryRow(`
|
||||
SELECT id, name, git_server, owner, repository, branch, domain, deploy_token, enabled, not_found_file
|
||||
SELECT id, name, git_server, owner, repository, branch, domain, deploy_token, spa, enabled, not_found_file
|
||||
FROM sites WHERE id = ?`, id)
|
||||
|
||||
s, err := scanSite(row)
|
||||
@@ -41,7 +41,7 @@ func (r *SQLiteSiteRepository) GetSite(id string) (*models.Site, error) {
|
||||
|
||||
func (r *SQLiteSiteRepository) GetSiteByDomain(domain string) (*models.Site, error) {
|
||||
row := r.db.QueryRow(`
|
||||
SELECT id, name, git_server, owner, repository, branch, domain, deploy_token, enabled, not_found_file
|
||||
SELECT id, name, git_server, owner, repository, branch, domain, deploy_token, spa, enabled, not_found_file
|
||||
FROM sites WHERE domain = ?`, domain)
|
||||
|
||||
s, err := scanSite(row)
|
||||
@@ -60,7 +60,7 @@ func (r *SQLiteSiteRepository) GetSiteByDomain(domain string) (*models.Site, err
|
||||
|
||||
func (r *SQLiteSiteRepository) ListSites() ([]models.Site, error) {
|
||||
rows, err := r.db.Query(`
|
||||
SELECT id, name, git_server, owner, repository, branch, domain, deploy_token, enabled, not_found_file
|
||||
SELECT id, name, git_server, owner, repository, branch, domain, deploy_token, spa, enabled, not_found_file
|
||||
FROM sites`)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("list sites: %w", err)
|
||||
@@ -98,10 +98,10 @@ func (r *SQLiteSiteRepository) CreateSite(s *models.Site) error {
|
||||
s.ID = uuid.NewString()
|
||||
|
||||
_, err = tx.Exec(`
|
||||
INSERT INTO sites (id, name, git_server, owner, repository, branch, domain, deploy_token, enabled, not_found_file)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
INSERT INTO sites (id, name, git_server, owner, repository, branch, domain, deploy_token, spa, enabled, not_found_file)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
s.ID, s.Name, s.GitServer, s.Owner, s.Repository, s.Branch,
|
||||
s.Domain, s.DeployToken, s.Enabled, s.NotFoundFile,
|
||||
s.Domain, s.DeployToken, s.Spa, s.Enabled, s.NotFoundFile,
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("create site insert: %w", err)
|
||||
@@ -131,9 +131,9 @@ func (r *SQLiteSiteRepository) UpdateSite(s *models.Site) error {
|
||||
|
||||
_, err = tx.Exec(`
|
||||
UPDATE sites SET name=?, git_server=?, owner=?, repository=?, branch=?, domain=?,
|
||||
deploy_token=?, enabled=?, not_found_file=? WHERE id=?`,
|
||||
deploy_token=?, spa=?, enabled=?, not_found_file=? WHERE id=?`,
|
||||
s.Name, s.GitServer, s.Owner, s.Repository, s.Branch, s.Domain,
|
||||
s.DeployToken, s.Enabled, s.NotFoundFile, s.ID,
|
||||
s.DeployToken, s.Spa, s.Enabled, s.NotFoundFile, s.ID,
|
||||
)
|
||||
if err != nil {
|
||||
return fmt.Errorf("update site: %w", err)
|
||||
@@ -166,6 +166,35 @@ func (r *SQLiteSiteRepository) UpdateSite(s *models.Site) error {
|
||||
return tx.Commit()
|
||||
}
|
||||
|
||||
func (r *SQLiteSiteRepository) ToggleEnabled(id string) (enabledReturn bool, err error) {
|
||||
tx, err := r.db.Begin()
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("toggle enabled begin tx: %w", err)
|
||||
}
|
||||
defer tx.Rollback()
|
||||
|
||||
var enabled int
|
||||
err = tx.QueryRow(`SELECT enabled FROM sites WHERE id = ?`, id).Scan(&enabled)
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("toggle enabled select: %w", err)
|
||||
}
|
||||
|
||||
newEnabled := 0
|
||||
if enabled == 0 {
|
||||
newEnabled = 1
|
||||
}
|
||||
|
||||
_, err = tx.Exec(`UPDATE sites SET enabled = ? WHERE id = ?`, newEnabled, id)
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("toggle enabled update: %w", err)
|
||||
}
|
||||
|
||||
if err := tx.Commit(); err != nil {
|
||||
return false, fmt.Errorf("toggle enabled commit: %w", err)
|
||||
}
|
||||
return newEnabled != 0, nil
|
||||
}
|
||||
|
||||
func (r *SQLiteSiteRepository) DeleteSite(id string) error {
|
||||
_, err := r.db.Exec(`DELETE FROM sites WHERE id = ?`, id)
|
||||
if err != nil {
|
||||
@@ -334,7 +363,7 @@ func scanSite(s scanner) (*models.Site, error) {
|
||||
var enabled int
|
||||
err := s.Scan(
|
||||
&site.ID, &site.Name, &site.GitServer, &site.Owner, &site.Repository,
|
||||
&site.Branch, &site.Domain, &site.DeployToken, &enabled, &site.NotFoundFile,
|
||||
&site.Branch, &site.Domain, &site.DeployToken, &site.Spa, &enabled, &site.NotFoundFile,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user