documents

package
v0.0.0-...-02a8c05 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2021 License: MIT Imports: 27 Imported by: 0

Documentation

Overview

Fournit un service global de gestion de fichiers.

Index

Constants

View Source
const (
	EndPointDocument  = "/document"
	EndPointMiniature = "/miniature"

	DocumentAbsolu  = "abs" // document présent dans la base de données
	DocumentRelatif = "rel" // document généré dynamiquement

)
View Source
const (
	ListeVetements categorieDocument = iota
	ListeParticipants
)
View Source
const (
	MINIATURE_WIDTH  = 200 // in pixels
	MINIATURE_HEIGHT = 300 // in pixels
)

Variables

This section is empty.

Functions

func Attachment

func Attachment(c echo.Context, filename string, doc []byte, asAttachment bool) error

func CompressJPEG

func CompressJPEG(content []byte) ([]byte, error)

func CompressPdf

func CompressPdf(fileContent []byte) ([]byte, error)

essaie de convertir en jpg, de compresser le caller doit vérifier si la conversion est intéressante

func ComputeMiniature

func ComputeMiniature(filename string, doc io.Reader, miniature io.Writer) error

ComputeMiniature écrit réduit le document entrant à une image png. Les formats supportés sont .pdf, .png, .jpg, .jpeg Le format .pdf requiert l'utilisation de Ghostscript.

func ComputeMiniature2

func ComputeMiniature2(pdfBytes []byte) (miniature []byte, err error)

ComputeMiniature2 est un raccourci (voir ComputeMiniature)

func LoadDocsAndAdd

func LoadDocsAndAdd(tx rd.DB, idsDocs rd.Ids, archive *cd.ArchiveZip, prefixes map[int64]string) error

LoadDocsAndAdd charge les documents et les ajoute à l'archive, sans la fermer. `prefixes` peut contenir un label à ajouter au nom du document

func ReceiveUpload

func ReceiveUpload(fileHeader *multipart.FileHeader, maxSize int64) (filename string, content []byte, err error)

func ReceiveUploadWithMeta

func ReceiveUploadWithMeta(c echo.Context, maxSize int64, meta interface{}) (filename string, content []byte, err error)

ReceiveUploadWithMeta lie les meta données contenues dans le champ 'meta' du formulaire, puis appelle `ReceiveUpload`

func SaveDocument

func SaveDocument(tx *sql.Tx, idDocument int64, fileContent []byte, filename string, allowCompress bool) (rd.Document, error)

SaveDocument créé la miniature et met à jour la base de données Renvoi le document mis à jour. Ne commit ou ne rollback PAS.

Types

type ContrainteDocuments

type ContrainteDocuments struct {
	Contrainte PublicContrainte `json:"contrainte"`
	Docs       []PublicDocument `json:"docs"`
}

ContrainteDocuments associe une contrainte de document aux documents la remplissant

type Controller

type Controller struct {
	shared.Controller
}

func (Controller) HandleDelete

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

HandleDelete supprime un document déjà référencé La sécurité est assurée par le cryptage des Ids.

func (Controller) HandleUpload

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

HandleUpload enregistre le contenu d'un document déjà référencé La sécurité est assurée par le cryptage des Ids.

func (Controller) SertDocument

func (ct Controller) SertDocument(c echo.Context) (err error)

SertDocument peut recevoir deux types pour `crypted-id`:

  • l'id d'un document déjà généré
  • le chemin vers un document d'un camp

func (Controller) SertMiniature

func (ct Controller) SertMiniature(c echo.Context) (err error)

SertMiniature peut recevoir deux types pour `crypted-id`:

  • l'id d'un document déjà généré
  • le chemin vers un document d'un camp

type MetaDoc

type MetaDoc struct {
	IdCamp    int64
	Categorie categorieDocument
}

MetaDoc permet de retrouver le document à télécharger/miniaturiser à partir d'un lien crypté

func (MetaDoc) Share

func (m MetaDoc) Share(p logs.Encrypteur, host string) (doc PublicDocument, err error)

Share renvoie créé les liens de partage

type ParamsNewDocument

type ParamsNewDocument struct {
	IdContrainte int64

	Description rd.String

	FileContent []byte
	FileName    string
}

type PublicContrainte

type PublicContrainte struct {
	IdCrypted   string         `json:"id_crypted"`
	Document    PublicDocument `json:"document"` // optionnel
	Nom         rd.String      `json:"nom"`
	Description rd.String      `json:"description"`
	MaxDocs     int            `json:"max_docs"`
	JoursValide int            `json:"jours_valide"`
}

PublicContrainte expose de façon sécurisée une contrainte sur le frontend

func PublieContrainte

func PublieContrainte(p logs.Encrypteur, db rd.DB, host string, contrainte rd.Contrainte) (out PublicContrainte, err error)

PublieContrainte charge un éventuel document à remplir, et le publie, et crypte les ids.

type PublicDocument

type PublicDocument struct {
	IdCrypted      string    `json:"id_crypted,omitempty"`
	NomClient      rd.String `json:"nom_client,omitempty"`
	Taille         rd.Taille `json:"taille,omitempty"`
	DateHeureModif rd.Time   `json:"date_heure_modif,omitempty"`
	UrlMiniature   string    `json:"url_miniature,omitempty"`
	UrlDownload    string    `json:"url_download,omitempty"`
}

func CreeDocumentEquipier

func CreeDocumentEquipier(p logs.Encrypteur, db *sql.DB, host string, idEquipier int64, params ParamsNewDocument) (PublicDocument, error)

CreeDocumentEquipier les metas donnés d'un document répondant à la contrainte donnée pour l'équipier donné, et upload le contenu

func CreeDocumentPersonne

func CreeDocumentPersonne(p logs.Encrypteur, db *sql.DB, host string, idPersonne int64, params ParamsNewDocument) (PublicDocument, error)

CreeDocumentPersonne les metas donnés d'un document répondant à la contrainte donnée pour la personne donnée, et upload le contenu

func PublieDocument

func PublieDocument(p logs.Encrypteur, host string, doc rd.Document) (PublicDocument, error)

Jump to

Keyboard shortcuts

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