Compare commits
6 commits
Author | SHA1 | Date | |
---|---|---|---|
9f9264e555 | |||
fcd2d39dde | |||
c50800ebe9 | |||
70b0f4152a | |||
1a1bf08dbb | |||
3646ea5aec |
4 changed files with 44 additions and 11 deletions
|
@ -1,4 +1,4 @@
|
|||
FROM golang:1.21.4 as build
|
||||
FROM golang:1.23.1 as build
|
||||
|
||||
LABEL author="vlbeaudoin"
|
||||
|
||||
|
|
|
@ -10,9 +10,9 @@ Nécessite une installation fonctionnelle et accessible de [agecem/bottin](https
|
|||
|
||||
Remplir .env avec données d'environnement:
|
||||
```
|
||||
BOTTINAGENDA_POSTGRES_DATABASE=bottin-agenda
|
||||
BOTTINAGENDA_POSTGRES_PASSWORD=bottin-agenda
|
||||
BOTTINAGENDA_POSTGRES_USER=bottin-agenda
|
||||
BOTTINAGENDA_DB_DATABASE=bottin-agenda
|
||||
BOTTINAGENDA_DB_PASSWORD=bottin-agenda
|
||||
BOTTINAGENDA_DB_USER=bottin-agenda
|
||||
```
|
||||
|
||||
Déployer avec docker-compose:
|
||||
|
|
|
@ -90,7 +90,24 @@ func (d *DataClient) InsertTransactions(transactions []models.Transaction) ([]mo
|
|||
return rowsInserted, errors.New("Impossible d'insérer une transaction sans membre_id")
|
||||
}
|
||||
|
||||
rows, err := tx.NamedQuery("INSERT INTO transactions (membre_id, given_at, is_perpetual) VALUES (:membre_id, current_timestamp, :is_perpetual) RETURNING id, membre_id, is_perpetual;", &transaction)
|
||||
rows, err := tx.NamedQuery(`
|
||||
INSERT INTO
|
||||
transactions (
|
||||
membre_id,
|
||||
given_at,
|
||||
is_perpetual
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
:membre_id,
|
||||
current_timestamp,
|
||||
:is_perpetual
|
||||
)
|
||||
RETURNING
|
||||
id,
|
||||
membre_id,
|
||||
is_perpetual;
|
||||
`, &transaction)
|
||||
if err != nil {
|
||||
return rowsInserted, err
|
||||
}
|
||||
|
@ -117,8 +134,16 @@ func (d *DataClient) InsertTransactions(transactions []models.Transaction) ([]mo
|
|||
func (d *DataClient) GetTransaction(membreID string, is_perpetual bool) (models.Transaction, error) {
|
||||
var transaction models.Transaction
|
||||
|
||||
//err := d.DB.NamedQuery("SELECT * FROM transactions WHERE membre_id=:membre_id AND is_perpetual=:is_perpetual LIMIT 1;"
|
||||
err := d.DB.Get(&transaction, "SELECT * FROM transactions WHERE membre_id = $1 AND is_perpetual = $2 LIMIT 1;", membreID, is_perpetual)
|
||||
err := d.DB.Get(&transaction, `
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
transactions
|
||||
WHERE
|
||||
membre_id = $1 AND
|
||||
is_perpetual = $2
|
||||
LIMIT 1;
|
||||
`, membreID, is_perpetual)
|
||||
if err != nil {
|
||||
return transaction, err
|
||||
}
|
||||
|
@ -132,7 +157,13 @@ func (d *DataClient) GetTransaction(membreID string, is_perpetual bool) (models.
|
|||
|
||||
func (d *DataClient) ListTransactions() ([]models.Transaction, error) {
|
||||
var transactions []models.Transaction
|
||||
if err := d.DB.Select(&transactions, "SELECT * FROM transactions LIMIT 20000;"); err != nil {
|
||||
if err := d.DB.Select(&transactions, `
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
transactions
|
||||
LIMIT 20000;
|
||||
`); err != nil {
|
||||
return transactions, err
|
||||
}
|
||||
|
||||
|
|
|
@ -3,9 +3,9 @@ services:
|
|||
db:
|
||||
image: 'docker.io/library/postgres:16.1'
|
||||
environment:
|
||||
POSTGRES_DATABASE: "${BOTTINAGENDA_POSTGRES_DATABASE}"
|
||||
POSTGRES_PASSWORD: "${BOTTINAGENDA_POSTGRES_PASSWORD}"
|
||||
POSTGRES_USER: "${BOTTINAGENDA_POSTGRES_USER}"
|
||||
POSTGRES_DATABASE: "${BOTTINAGENDA_DB_DATABASE:?}"
|
||||
POSTGRES_PASSWORD: "${BOTTINAGENDA_DB_PASSWORD:?}"
|
||||
POSTGRES_USER: "${BOTTINAGENDA_DB_USER:?}"
|
||||
volumes:
|
||||
- 'db-data:/var/lib/postgresql/data'
|
||||
restart: 'unless-stopped'
|
||||
|
@ -14,6 +14,7 @@ services:
|
|||
depends_on:
|
||||
- db
|
||||
build: .
|
||||
env_file: '.env'
|
||||
image: 'git.agecem.com/agecem/bottin-agenda:latest'
|
||||
ports:
|
||||
- '1313:1313'
|
||||
|
@ -26,6 +27,7 @@ services:
|
|||
depends_on:
|
||||
- api
|
||||
build: .
|
||||
env_file: '.env'
|
||||
image: 'git.agecem.com/agecem/bottin-agenda:latest'
|
||||
ports:
|
||||
- '2313:2313'
|
||||
|
|
Reference in a new issue