api

package
v0.0.0-...-1a7a7a4 Latest Latest
Warning

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

Go to latest
Published: May 23, 2017 License: MIT Imports: 25 Imported by: 1

Documentation

Index

Constants

View Source
const (
	GB = 1 << (10 * 3)
	MB = 1 << (10 * 2)
	KO = 1 << (10 * 1)
)

Constantes sur les tailles possibles

Variables

This section is empty.

Functions

func AddMiddleware

func AddMiddleware(h http.Handler, middleware ...func(http.Handler) http.Handler) http.Handler

AddMiddleware adds middleware to a Handler

func Message

func Message(w http.ResponseWriter, msg interface{}, code int)

Message gère les messages (erreurs, messages de succès) à envoyer au client

Types

type AcquisitionConfiguration

type AcquisitionConfiguration struct {
	DatabaseDriver   string
	ConnectionString string
	Port             string
	Debug            bool
}

AcquisitionConfiguration représente les paramètres exposés par l'application

type AcquisitionService

type AcquisitionService struct {
	// contains filtered or unexported fields
}

AcquisitionService represents a single service instance

func New

func New(writer io.Writer, config *AcquisitionConfiguration, keys *Keys) *AcquisitionService

New crée une nouvelle instance du service

func (*AcquisitionService) ActionsPartieHandler

func (a *AcquisitionService) ActionsPartieHandler(w http.ResponseWriter, r *http.Request)

ActionsPartieHandler Gère la récupération des actions d'une partie

func (*AcquisitionService) CreerActionHandler

func (a *AcquisitionService) CreerActionHandler(w http.ResponseWriter, r *http.Request)

CreerActionHandler Gère la création d'une nouvelle action

func (*AcquisitionService) CreerActionsType

func (a *AcquisitionService) CreerActionsType(w http.ResponseWriter, r *http.Request)

CreerActionsType Gère la création d'un type d'action

func (*AcquisitionService) CreerCoachHandler

func (a *AcquisitionService) CreerCoachHandler(w http.ResponseWriter, r *http.Request)

CreerCoachHandler Gère la création des entraineurs

func (*AcquisitionService) CreerEquipeHandler

func (a *AcquisitionService) CreerEquipeHandler(w http.ResponseWriter, r *http.Request)

CreerEquipeHandler gère la création d'une équipe dans la base de donnée

func (*AcquisitionService) CreerSaisonHandler

func (a *AcquisitionService) CreerSaisonHandler(w http.ResponseWriter, r *http.Request)

CreerSaisonHandler Gère la création d'une nouvelle saison

func (*AcquisitionService) CreerTerrainHandler

func (a *AcquisitionService) CreerTerrainHandler(w http.ResponseWriter, r *http.Request)

CreerTerrainHandler Gère la création d'un terrain dans la base de données

func (*AcquisitionService) EquipesHandler

func (a *AcquisitionService) EquipesHandler(w http.ResponseWriter, r *http.Request)

EquipesHandler gère la modification et la suppression des équipes

func (*AcquisitionService) Error

func (a *AcquisitionService) Error(message string)

Info écrit un message d'erreur vers le logger du service

func (*AcquisitionService) ErrorHandler

func (a *AcquisitionService) ErrorHandler(w http.ResponseWriter, err error)

ErrorHandler gère les erreurs côté serveur

func (*AcquisitionService) ErrorWrite

func (a *AcquisitionService) ErrorWrite(message string, w io.Writer) error

ErrorWrite écrit un message d'erreur en format JSON vers le writer passé en paramètre

func (*AcquisitionService) FaireBD

FaireBD crée la base de données à partie du modèle de données (structures.go)

func (*AcquisitionService) GetActionsTypeHandler

func (a *AcquisitionService) GetActionsTypeHandler(w http.ResponseWriter, r *http.Request)

GetActionsTypeHandler Gère la récupération de tous les types d'actions

func (*AcquisitionService) GetAllReceptionTypes

func (a *AcquisitionService) GetAllReceptionTypes(w http.ResponseWriter, r *http.Request)

GetAllReceptionTypes gestion du select pour les types de reception

func (*AcquisitionService) GetCoachsHandler

func (a *AcquisitionService) GetCoachsHandler(w http.ResponseWriter, r *http.Request)

GetCoachsHandler Gère la récupération de tous les entraineurs

func (*AcquisitionService) GetEquipeHandler

func (a *AcquisitionService) GetEquipeHandler(w http.ResponseWriter, r *http.Request)

GetEquipeHandler gère la récupération des équipes correspondant au nom entré

func (*AcquisitionService) GetEquipesHandler

func (a *AcquisitionService) GetEquipesHandler(w http.ResponseWriter, r *http.Request)

GetEquipesHandler gère la récupération de toutes les équipes de la base de donnée

func (*AcquisitionService) GetJoueursHandler

func (a *AcquisitionService) GetJoueursHandler(w http.ResponseWriter, r *http.Request)

GetJoueursHandler Gère la récupération de tous les joueurs

func (*AcquisitionService) GetNiveauHandler

func (a *AcquisitionService) GetNiveauHandler(w http.ResponseWriter, r *http.Request)

GetNiveauHandler Gère la récupération des niveaux

func (*AcquisitionService) GetSeasonsHandler

func (a *AcquisitionService) GetSeasonsHandler(w http.ResponseWriter, r *http.Request)

GetSeasonsHandler Gère la récupération de toutes les saisons

func (*AcquisitionService) GetSports

func (a *AcquisitionService) GetSports(w http.ResponseWriter, r *http.Request)

GetSports Gère la récupération de tous les sports

func (*AcquisitionService) GetTerrainHandler

func (a *AcquisitionService) GetTerrainHandler(w http.ResponseWriter, r *http.Request)

GetTerrainHandler Gère la récupération des terrains correspondant au nom entré

func (*AcquisitionService) GetTerrainsHandler

func (a *AcquisitionService) GetTerrainsHandler(w http.ResponseWriter, r *http.Request)

GetTerrainsHandler Gère la récupération de tous les terrains de la base de données

func (*AcquisitionService) HandleJoueur

func (a *AcquisitionService) HandleJoueur(w http.ResponseWriter, r *http.Request)

HandleJoueur Gère la modification et l'ajout d'un joueur

func (*AcquisitionService) Info

func (a *AcquisitionService) Info(message string)

Info écrit un message vers le logger du service

func (*AcquisitionService) JWTMiddleware

func (a *AcquisitionService) JWTMiddleware(h http.Handler) http.Handler

JWTMiddleware gère le middleware pour les JSON Web Token (JWT)

func (*AcquisitionService) Login

Login gère la création des JSON Web Token (JWT)

func (*AcquisitionService) Middleware

func (a *AcquisitionService) Middleware(h http.Handler) http.Handler

Middleware applique les différents middleware

func (*AcquisitionService) ModifierCoachHandler

func (a *AcquisitionService) ModifierCoachHandler(w http.ResponseWriter, r *http.Request)

ModifierCoachHandler Gère l'assignation d'une équipe à un entraineur

func (*AcquisitionService) PartieHandler

func (a *AcquisitionService) PartieHandler(w http.ResponseWriter, r *http.Request)

PartieHandler Gère la récupération et la création des parties

func (*AcquisitionService) PartiesHandler

func (a *AcquisitionService) PartiesHandler(w http.ResponseWriter, r *http.Request)

PartiesHandler Gère la récupération et la création des parties

func (*AcquisitionService) RateLimiter

func (a *AcquisitionService) RateLimiter(h http.Handler) http.Handler

RateLimiter est le middlewares limiteurs de débit utilisés par les endpoints 5 requêtes par seconde maximum

func (*AcquisitionService) RemplirBD

func (a *AcquisitionService) RemplirBD(w http.ResponseWriter, r *http.Request)

RemplirBD permet de `seeder` la base de données avec des données `hard-codées`

func (*AcquisitionService) SecureHeaders

func (a *AcquisitionService) SecureHeaders(next http.Handler) http.Handler

SecureHeaders adds secure headers to the API

func (*AcquisitionService) Start

func (a *AcquisitionService) Start()

Start démarre le service

func (*AcquisitionService) Stop

func (a *AcquisitionService) Stop()

Stop arrête le service

func (*AcquisitionService) SupprimerActionHandler

func (a *AcquisitionService) SupprimerActionHandler(w http.ResponseWriter, r *http.Request)

SupprimerActionHandler Gère la suppression d'une action

func (*AcquisitionService) SupprimerPartiesHandler

func (a *AcquisitionService) SupprimerPartiesHandler(w http.ResponseWriter, r *http.Request)

SupprimerPartiesHandler Gère la suppression des parties

func (*AcquisitionService) TerrainsHandler

func (a *AcquisitionService) TerrainsHandler(w http.ResponseWriter, r *http.Request)

TerrainsHandler gère la modification et la suppression d'un terrains

func (*AcquisitionService) UploadHandler

func (a *AcquisitionService) UploadHandler(w http.ResponseWriter, r *http.Request)

UploadHandler Gère l'upload de videos sur le serveur

func (*AcquisitionService) VideoHandler

func (a *AcquisitionService) VideoHandler(w http.ResponseWriter, r *http.Request)

VideoHandler Gère l'envoie d'une vidéo au client

type Actions

type Actions struct {
	gorm.Model
	ActionType      ActionsType
	ActionTypeID    int
	ReceptionType   ReceptionType
	ReceptionTypeID int
	Zone            Zones
	ZoneID          int
	Game            Games
	GameID          int
	X1              float64
	Y1              float64
	X2              float64
	Y2              float64
	X3              float64
	Y3              float64
	Time            float64
	HomeScore       int
	GuestScore      int
	Player          Players
	PlayerID        int
}

Actions est une modélisation des informations sur une action exécutée par un joueur

type ActionsType

type ActionsType struct {
	gorm.Model
	Description string
	TypeAction  string
	Name        string
}

ActionsType les types d'actions

type Admins

type Admins struct {
	gorm.Model
	Email      string
	PassHash   string
	TokenReset string
	TokenLogin string
}

Admins les administrateurs

type Categories

type Categories struct {
	gorm.Model
	Name string
}

Categories les categories

type Claims

type Claims struct {
	Admin bool `json:"admin"`
	jwt.StandardClaims
}

Claims utilisé pour stocker des données dans les JSON Web Token (JWT)

type CoachTeam

type CoachTeam struct {
	gorm.Model
	Coach   Coaches
	CoachID int
	Team    Teams
	TeamID  int
}

CoachTeam table de relations entre entraineurs et équipes

type Coaches

type Coaches struct {
	gorm.Model
	CoachID      int
	Fname        string
	Lname        string
	Email        string
	PassHash     string
	TokenRequest string
	TokenReset   string
	TokenLogin   string
	Teams        []Teams `gorm:"many2many:coach_team;"`
}

Coaches les entraineurs

type FieldTypes

type FieldTypes struct {
	gorm.Model
	Type        string
	Description string
}

FieldTypes les types de terrains

type Games

type Games struct {
	gorm.Model
	Team           Teams
	TeamID         int
	Status         string // Local/visiteur
	OpposingTeam   string
	Season         Seasons
	SeasonID       int
	Location       Locations
	LocationID     int
	FieldCondition string
	Date           string
	Temperature    string // Rain, wind, sun, etc
	Degree         string // The temperature in degree celcius
	Action         []Actions
}

Games les parties

type Keys

type Keys struct {
	Geodecoder string
	Weather    string
	JWT        string
}

Keys les clées utilisées pour les API de météo et géodécodage

type Locations

type Locations struct {
	gorm.Model
	Name         string
	City         string
	Address      string
	IsInside     bool
	FieldType    FieldTypes
	FieldTypesID int
}

Locations les lieux

type Metrics

type Metrics struct {
	Name     string
	Equation string
	Team     Teams
	TeamID   int
}

Metrics les métriques

type MovementsType

type MovementsType struct {
	gorm.Model
	Name string `gorm:"unique"`
}

MovementsType represent Movement type entity 1: Offensive 2: Defensive 3: Neutral

type PlayerPositionGameTeam

type PlayerPositionGameTeam struct {
	gorm.Model
	Player     Players
	PlayerID   int
	Game       Games
	GameID     int
	Position   Positions
	PositionID int
	Team       Teams
	TeamID     int
}

PlayerPositionGameTeam table de relations entre les joueurs, les positions, les parties et les équipes

type Players

type Players struct {
	gorm.Model
	Number       int
	Fname        string
	Lname        string
	Email        string
	PassHash     string
	TokenRequest string
	TokenReset   string
	TokenLogin   string
	Teams        []Teams `gorm:"many2many:joueur_equipe;"`
}

Players les joueurs

type PlayersTeam

type PlayersTeam struct {
	Player   Players
	PlayerID int
	Team     Teams
	TeamID   int
}

PlayersTeam table de relations joueurs et équipe

type Positions

type Positions struct {
	gorm.Model
	Name string
}

Positions les positions des joueurs

type ReceptionType

type ReceptionType struct {
	gorm.Model
	Name string
}

ReceptionType Reception du ballon

type Seasons

type Seasons struct {
	gorm.Model
	Years string `gorm:"size:10"`
}

Seasons Les saisons

type Sports

type Sports struct {
	gorm.Model
	Name string
}

Sports les sports

type Teams

type Teams struct {
	gorm.Model
	Name       string
	City       string
	Sport      Sports
	SportID    int
	Category   Categories
	CategoryID int
	Season     Seasons
	SeasonID   int
	Sexe       string
	Coaches    []Coaches `gorm:"many2many:coach_team;"`
	Players    []Players `gorm:"many2many:players_team;"`
}

Teams les équipes

func AjoutNiveauSport

func AjoutNiveauSport(db *gorm.DB, t Teams) Teams

AjoutNiveauSport permet d'ajouter les informations sur le sport et le niveau lors de l'affchage des infos

type Videos

type Videos struct {
	gorm.Model
	Path      string
	Part      int
	Completed int
	Game      Games
	GameID    int
}

Videos les videos

type Zones

type Zones struct {
	gorm.Model
	Name string
}

Zones les zones de terrain

Jump to

Keyboard shortcuts

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