mirror of
https://github.com/tavo-wasd-gh/conex-builder.git
synced 2025-06-06 11:43:29 -06:00
bs table
This commit is contained in:
parent
087cc9aafc
commit
1ab3de1acd
2 changed files with 1 additions and 77 deletions
43
README.org
43
README.org
|
@ -72,49 +72,6 @@ SELECT * FROM payments;
|
|||
| id | capture | site | amount | currency | status | date |
|
||||
|----+---------+------+--------+----------+--------+------|
|
||||
|
||||
** Changes table
|
||||
|
||||
#+BEGIN_SRC sql :results silent
|
||||
DROP TABLE IF EXISTS changes;
|
||||
|
||||
CREATE TABLE changes (
|
||||
id SERIAL PRIMARY KEY,
|
||||
by VARCHAR(20) NOT NULL,
|
||||
site INTEGER REFERENCES sites(id),
|
||||
payment INTEGER REFERENCES payments(id),
|
||||
col VARCHAR(6) NOT NULL,
|
||||
descrip VARCHAR(120) NOT NULL,
|
||||
date DATE NOT NULL
|
||||
);
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC sql
|
||||
SELECT * FROM changes;
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
| id | by | site | payment | col | descrip | date |
|
||||
|----+----+------+---------+-----+---------+------|
|
||||
|
||||
** Types of changes
|
||||
|
||||
*** Payments
|
||||
|
||||
- status: complete/refunded/modified
|
||||
- amount: prev/next
|
||||
|
||||
*** Sites
|
||||
|
||||
- folder: prev/next
|
||||
- status: up/down
|
||||
- due: date/date
|
||||
- name: prev/next
|
||||
- sur: prev/next
|
||||
- email: prev/next
|
||||
- phone: prev/next
|
||||
- code: prev/next
|
||||
- raw: prev/next
|
||||
|
||||
* Error codes
|
||||
|
||||
** http.Error
|
||||
|
|
35
server/db.go
35
server/db.go
|
@ -13,9 +13,6 @@ const (
|
|||
errDBRegisterSite = "db.go (sites): Register site"
|
||||
errDBUpdateDue = "db.go (sites): Update due date"
|
||||
errDBRegisterPayment = "db.go (payments): Register payment"
|
||||
errDBTXBeginUpdateSite = "db.go: Begin transaction"
|
||||
errDBTXCommitUpdateSite = "db.go: Commit transaction"
|
||||
errDBGetPrevRaw = "db.go (sites): Query old raw json"
|
||||
errDBUpdateRaw = "db.go (sites): Update raw json"
|
||||
errDBChangesRaw = "db.go (changes): Register raw json change"
|
||||
errDBUpdateSiteAuth = "db.go (sites): Auth"
|
||||
|
@ -94,42 +91,12 @@ func RegisterSitePayment(
|
|||
}
|
||||
|
||||
func UpdateSite(pkey int, editorData json.RawMessage) error {
|
||||
tx, err := db.Begin()
|
||||
if err != nil {
|
||||
return fmt.Errorf("%s: %v", errDBTXBeginUpdateSite, err)
|
||||
}
|
||||
|
||||
defer func() {
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
}
|
||||
}()
|
||||
|
||||
var prev json.RawMessage
|
||||
if err := tx.QueryRow(`
|
||||
SELECT raw FROM sites WHERE id = $1
|
||||
`, pkey).Scan(&prev); err != nil {
|
||||
return fmt.Errorf("%s: %v", errDBGetPrevRaw, err)
|
||||
}
|
||||
|
||||
if _, err = tx.Exec(`
|
||||
if _, err := db.Exec(`
|
||||
UPDATE sites SET raw = $1 WHERE id = $2
|
||||
`, editorData, pkey); err != nil {
|
||||
return fmt.Errorf("%s: %v", errDBUpdateRaw, err)
|
||||
}
|
||||
|
||||
if _, err = tx.Exec(`
|
||||
INSERT INTO changes
|
||||
(by, site, payment, col, descrip, date)
|
||||
VALUES ($1, $2, NULL, 'raw', $3, CURRENT_DATE);
|
||||
`, "server", pkey, "Cambio automatizado de sitio"); err != nil {
|
||||
return fmt.Errorf("%s: %v", errDBChangesRaw, err)
|
||||
}
|
||||
|
||||
if err := tx.Commit(); err != nil {
|
||||
return fmt.Errorf("%s: %v", errDBTXCommitUpdateSite, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue