shared

package
v0.0.0-...-151ce6e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2020 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Implémente divers utilitaires communs aux controllers du serveur.

Index

Constants

View Source
const (

	// Le nettoyage des documents temporaires est lancé à intervalles fixes.
	DelayCleanupTmpDocs = jour
)

Variables

This section is empty.

Functions

func AddEquipierDefautContraintes

func AddEquipierDefautContraintes(tx *sql.Tx, contraintes rd.Contraintes, equipier rd.Equipier) (rd.EquipierContraintes, error)

AddEquipierDefautContraintes insère les contraintes par défaut, sans commit ni rollback

func BuildUrl

func BuildUrl(host, path string, params map[string]string) string

func CacheStatic

func CacheStatic(next echo.HandlerFunc) echo.HandlerFunc

func Decode

func Decode(p logs.Encrypteur, in string, out interface{}) error

func DecodeID

func DecodeID(p logs.Encrypteur, in string, origine Origine) (int64, error)

func DeletePersonne

func DeletePersonne(tx rd.DB, idPersonne int64) (isTemporaire bool, docs rd.Ids, err error)

DeletePersonne supprime la personne temporaire ainsi que ses documents. Si la personne n'est pas temporaire rien n'est fait.

Ne commit PAS, ne rollback PAS

Renvoi les ids des documents supprimés.

func Encode

func Encode(p logs.Encrypteur, data interface{}) (string, error)

func EncodeID

func EncodeID(p logs.Encrypteur, origine Origine, id int64) (string, error)

func FormatErr

func FormatErr(explication string, details error) error

func GetNewKey

func GetNewKey(tx *sql.Tx) (string, error)

GetNewKey renvoie une clé de facture non utilisée.

func HtmlWithPayload

func HtmlWithPayload(c echo.Context, file string, payload interface{}) error

HtmlWithPayload read `file` as an Go template, and replace .Payload entries with the json representation of `payload`, before emitting the output. In case of errror, redirects.

func NoCache

func NoCache(next echo.HandlerFunc) echo.HandlerFunc

Empêche le navigateur de mettre en cache pour avoir les dernières versions des fichiers statiques (essentiellement les builds .js)

func ParseId

func ParseId(c echo.Context, field string) (int64, error)

ParseId renvoie le paramètre 'field' de l'url

func RedirectError

func RedirectError(c echo.Context, err error) error

func RedirectIE11

func RedirectIE11(next echo.HandlerFunc) echo.HandlerFunc

func RedirectSuccess

func RedirectSuccess(c echo.Context, pageTitle, title, content string) error

func Rollback

func Rollback(tx *sql.Tx, raison error) error

Rollback tente un rollback et forward la raison ou renvoie l'erreur du rollback

func WriteMultipart

func WriteMultipart(header http.Header, w io.Writer, data map[string][]byte) error

WriteMultipart crée une réponse multipart et écrit chaque champs présent dans `data`. Retourne aussi FormDataContentType

Types

type BaseEquipier

type BaseEquipier struct {
	rd.BasePersonne

	IsTemporaire       rd.Bool               `json:"is_temporaire"`
	Diplome            rd.Diplome            `json:"diplome"`
	Appro              rd.Approfondissement  `json:"appro"`
	Presence           rd.OptionnalPlage     `json:"presence"`
	InvitationEquipier rd.InvitationEquipier `json:"invitation_equipier"`
	Charte             rd.OptionnalBool      `json:"charte"`
}

BaseEquipier contient les informations venant d'un équipier et de la personne associée, communes au portail directeur et au formulaire équipier.

func FromPersonneEquipier

func FromPersonneEquipier(personne rd.Personne, equipier rd.Equipier) BaseEquipier

FromPersonneEquipier selectionne les données pour les exporter vers le front end.

func (BaseEquipier) ToPersonneEquipier

func (eq BaseEquipier) ToPersonneEquipier(personne *rd.BasePersonne, equipier *rd.Equipier)

ToPersonneEquipier met à jour les données depuis le frontend

type Camp

type Camp struct {
	CampMeta
	Description    string            `json:"description"`
	Prix           rd.Euros          `json:"prix"`
	Options        rd.OptionsCamp    `json:"options"`
	OptionPrix     rd.OptionPrixCamp `json:"option_prix"`
	SchemaPaiement rd.SchemaPaiement `json:"schema_paiement"`
	DateDebut      rd.Date           `json:"date_debut"`
	DateFin        rd.Date           `json:"date_fin"`
	AgeMin         rd.Int            `json:"age_min"`
	AgeMax         rd.Int            `json:"age_max"`
	IsSimple       bool              `json:"is_simple"`
	Infos          rd.String         `json:"infos"`
}

func (*Camp) From

func (c *Camp) From(camp rd.Camp)

type CampMeta

type CampMeta struct {
	Id         int64     `json:"id"`
	Label      rd.String `json:"label"`
	Terminated bool      `json:"terminated"`
}

type Controller

type Controller struct {
	SMTP    logs.SMTP
	DB      *sql.DB
	Signing logs.Encrypteur
}

func (Controller) CleanupTmpDocuments

func (ct Controller) CleanupTmpDocuments(c echo.Context) error

CleanupTmpDocuments supprimes les documents périmés, et devrait être appelé régulièrement.

func (Controller) LoadDocuments

func (ct Controller) LoadDocuments(idsPersonnes rd.Ids) (DocumentsData, error)

LoadDocuments renvoie les documents des personnes demandées

type DocumentsData

type DocumentsData struct {
	Documents   rd.Documents
	Contraintes rd.Contraintes
	Liens       map[int64]rd.DocumentPersonne
}

type NotificationContent

type NotificationContent struct {
	IsError bool                `json:"is_error"`
	Error   NotificationError   `json:"error"`
	Success NotificationSuccess `json:"success"`
}

type NotificationError

type NotificationError struct {
	Content string `json:"content"`
}

type NotificationSuccess

type NotificationSuccess struct {
	Title    string `json:"title"`
	SubTitle string `json:"sub_title"`
	Content  string `json:"content"`
}

type Origine

type Origine int
const (
	OrDocument Origine = iota
	OrMiniature
	OrPersonne
	OrParticipant
	OrFacture
	OrAide
	OrStructureaide
	OrPreIdentification
	OrValidationMail
	OrEquipier
	OrContrainte
	OrSondage
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL