bottin-agenda/models/models.go
Victor Lacasse-Beaudoin c850b221a1 Implémenter client web de base
Déplacer tous les flags vers rootCmd.PersistentFlags()

Ajouter config struct types à models/

Ajouter data/apiclient.go#ApiClient.GetHealth()

Ajouter webCmd avec viper.Unmarshal() pour valeurs de config

Ajouter package web depuis agecem/bottin
2023-06-09 01:09:02 -04:00

60 lines
1.3 KiB
Go

package models
import "time"
var Schema = `
CREATE TABLE transactions (
id BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
membre_id VARCHAR(7),
given_at TIMESTAMP,
is_perpetual BOOLEAN
);
`
type Transaction struct {
ID string `db:"id" json:"id"`
MembreID string `db:"membre_id" json:"membre_id"`
GivenAt *time.Time `db:"given_at" json:"given_at"`
IsPerpetual bool `db:"is_perpetual" json:"is_perpetual"`
}
type Config struct {
Web WebConfig `json:"web"`
Api ApiConfig `json:"api"`
Bottin BottinConfig `json:"bottin"`
Db DbConfig `json:"db"`
}
type ApiConfig struct {
Key string `json:"key"`
Port int `json:"port"`
}
type BottinConfig struct {
Api struct {
Host string `json:"host"`
Key string `json:"key"`
Protocol string `json:"protocol"`
Port int `json:"port"`
} `json:"api"`
}
type DbConfig struct {
Database string `json:"database"`
Host string `json:"host"`
Password string `json:"password"`
Port int `json:"port"`
User string `json:"user"`
}
type WebConfig struct {
Api struct {
Host string `json:"host"`
Key string `json:"key"`
Port int `json:"port"`
Protocol string `json:"protocol"`
} `json:"api"`
Password string `json:"password"`
Port int `json:"port"`
User string `json:"user"`
}