Il back-end dell'applicazione sarà programmato in PHP, e si occuperà di trasferire i dati dal Server al Client tramite richieste AJAX. I dati sono restituiti sottoforma di JSON. Verrà usato il framework Flight per creare un'API RESTful. Ogni richiesta dovrà avere come un header X-Authorization contenente il proprio token.
Azienda
GET Azienda per ID
URL: https://{{url}}/company/{{id}}
Restituisce l'azienda avente l'ID fornito.
-
Richiesta
intid: L'ID dell'azienda.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.Companyresult: Il risultato. Può esserenull.
GET Cerca Aziende
URL: https://{{url}}/company
Restituisce le aziende attinenti ai parametri di ricerca. Gli ID minori di 0 cercano campi speciali:
| ID | Campo | Descrizione |
|---|---|---|
| 0 | Nome | Il nome dell'azienda. |
| -1 | Attività | Le attività svolte dall'azienda. |
| -2 | Tag | I tag dell'azienda. Il valore sarà un array di tag. |
-
Richiesta
Searchsearch: I parametri di ricercaintpage: La pagina su cui siamo attualmente. Ogni pagina fornisce 50 risultati. Se non specificato, verranno restituiti tutti i risultati.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.inttotalResults: I risultati totali della ricerca, includendo quelli non restituiti.Company[]results: Il risultato. Può esserenull.
POST Aggiungi Azienda
URL: https://{{url}}/company
Crea una nuova azienda.
-
Richiesta
stringname: Il nome dell'azienda.Field[]fields: I campi dell'azienda. Se omesso, l'azienda verrà creata con tutti i campi vuoti.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.intid: L'ID dell'azienda appena creata. Può esserenull.
PUT Modifica Azienda
URL: https://{{url}}/company
Modifica un'azienda ai parametri forniti.
-
Richiesta
intid: L'ID dell'azienda.stringname: Il nome dell'azienda.Field[]fields: I campi dell'azienda.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
PUT Modifica Nome di un'Azienda
URL: https://{{url}}/company
Modifica il nome di un'azienda.
-
Richiesta
intid: L'ID dell'azienda.stringname: Il nome dell'azienda.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
PUT Modifica Campo di un'Azienda
URL: https://{{url}}/company
Modifica il nome di un'azienda.
-
Richiesta
intid: L'ID dell'azienda.intfId: L'ID del campo da modificarestringfValue: Il valore del campo.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
DEL Elimina Azienda
URL: https://{{url}}/company/{{id}}
Elimina l'azienda con l'ID fornito.
-
Richiesta
intid: L'ID dell'azienda.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
Struttura
GET Campo per ID
URL: https://{{url}}/structure/{{id}}
Restituisce il campo avente l'ID fornito.
-
Richiesta
intid: L'ID dell'azienda.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.Fieldfield: Il risultato. Può esserenull.
GET Tutti i campi
URL: https://{{url}}/structure
Restituisce tutti i campi che può avere un'azienda.
- Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.Field[]fields: Il risultato. Può esserenull.
POST Aggiungi Campo
URL: https://{{url}}/structure
Crea una nuova azienda.
-
Richiesta
stringname: Il nome dell'azienda.stringregex: I valori che può accettare il campo.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.intid: L'ID del campo appena creato. Può esserenull.
PUT Modifica Campo
URL: https://{{url}}/structure
Modifica un campo ai parametri forniti.
-
Richiesta
intid: L'ID del campo.stringname: Il nome del campo.stringregex: La sintassi valida che il campo può accettare.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
DEL Elimina Campo
URL: https://{{url}}/structure/{{id}}
Elimina il campo con l'ID fornito.
-
Richiesta
intid: L'ID del campo.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
Attività
GET Attività per ID
URL: https://{{url}}/activity/{{id}}
Restituisce l'attività avente l'ID fornito.
-
Richiesta
intid: L'ID dell'azienda.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.Activityactivity: Il risultato. Può esserenull.
GET Tutte le Attività
URL: https://{{url}}/activity
Restituisce tutte le attività.
- Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.Activity[]activities: Il risultato. Può esserenull.
POST Aggiungi Attività
URL: https://{{url}}/activity
Crea una nuova attività.
-
Richiesta
stringname: Il nome dell'attività.stringdescription: La descrizione dell'attività.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.intid: L'ID dell'attività appena creata. Può esserenull.
PUT Modifica Nome di un'Attività
URL: https://{{url}}/activity
Modifica il nome di un'attività. Può essere mandata anche con i parametri di PUT Modifica Descrizione di un'Attività
-
Richiesta
intid: L'ID dell'attività.stringname: Il nome dell'attività.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
PUT Modifica Descrizione di un'Attività
URL: https://{{url}}/activity
Modifica il nome di un'attività. Può essere mandata anche con i parametri di PUT Modifica Nome di un'Attività
-
Richiesta
intid: L'ID dell'attività.stringdescription: La descrizione dell'attività.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
DEL Elimina Attività
URL: https://{{url}}/activity/{{id}}
Elimina l'attività con l'ID fornito.
-
Richiesta
intid: L'ID dell'attività.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
Salvataggi
GET Salvataggi di Utente
URL: https://{{url}}/saved/{{id}}
Restituisce le aziende salvate dall'utente che sta effettuando la richiesta.
-
Richiesta
intid: L'ID dell'utente.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.Company[]saved: Il risultato. Vuoto se non è andato a buon fine.
POST Salva Azienda
URL: https://{{url}}/saved
Salva un'azienda.
-
Richiesta
intuser: L'ID dell'utente che sta salvando l'azienda.intcompany: L'ID dell'azienda da salvare.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
DEL Elimina Salvataggio
URL: https://{{url}}/saved
Elimina l'attività con l'ID fornito.
-
Richiesta
intuser: L'ID dell'utente che sta eliminando il salvataggio.intcompany: L'ID dell'azienda.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
Alternanza
GET Alternanza per ID
URL: https://{{url}}/internship/{{id}}
Restituisce l'alternanza avente l'id fornito.
-
Richiesta
intid: L'ID dell'alternanza.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.Internshipinternship: Il risultato. Può esserenull.
GET Alternanza di Azienda
URL: https://{{url}}/internship
Restituisce l'alternanza appartenente all'Azienda fornita.
-
Richiesta
intazienda: L'ID dell'azienda.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.Internship[]internships: Il risultato. Può esserenull.
POST Aggiungi Alternanza
URL: https://{{url}}/internship
Crea una nuova attività.
-
Richiesta
intcompany: L'ID dell'azienda.intactivity: L'ID dell'attività.stringstudent: Lo studente che sta svolgendo l'attività.intyear: L'anno in cui sta svolgendo l'attività.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.intid: L'ID dell'alternanza appena creata. Può esserenull.
PUT Modifica Alternanza
URL: https://{{url}}/activity
Modifica un'alternanza.
-
Richiesta
intid: L'ID dell'alternanza.intcompany: L'ID dell'azienda. Opzionale.intactivity: L'ID dell'attività. Opzionale.stringstudent: Lo studente che sta svolgendo l'attività. Opzionale.intyear: L'anno in cui sta svolgendo l'attività. Opzionale.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
DEL Elimina Alternanza
URL: https://{{url}}/internship/{{id}}
Elimina l'alternanza con l'ID fornito.
-
Richiesta
intid: L'ID dell'alternanza.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
Privilegi
GET Privilegi di Utente
URL: https://{{url}}/privileges/{{id}}
Restituisce i privilegi dell'Utente avente l'ID fornito.
-
Richiesta
intid: L'ID dell'utente.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.string[]privileges: I privilegi. Può esserenull.
POST Aggiungi Privilegio
URL: https://{{url}}/privilege
Aggiunge un privilegio a un utente.
-
Richiesta
intuser: L'ID dell'utente.stringprivilege: I permessi da dare.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
DEL Togli Privilegio
URL: https://{{url}}/privilege
Toglie un privilegio all'utente con l'ID fornito.
-
Richiesta
intuser: L'ID dell'utente.stringprivilege: Il permesso da togliere.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
Utenti
GET Utente per ID
URL: https://{{url}}/user/{{id}}
Restituisce l'utente con ID fornito.
-
Richiesta
intid: L'ID dell'utente.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.Userprivileges: Il risultato. Può esserenull.
Autenticazione
GET Autenticazione con credenziali
URL: https://{{url}}/auth
Esegue il login con le credenziali fornite. Anziché utilizzare l'header X-Authorization, questo endpoint utilizza X-Authentication, contenente i campi login e pswd sottoforma di query. Ad esempio: login=mail.esempio@gmail.com&pswd=password123456789.
-
Richiesta
stringlogin: Il nome utente o la mail.stringpswd: La password.
-
Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.LoginInfouser: L'utente loggato. Può esserenull.
GET Autenticazione con token
URL: https://{{url}}/auth
Esegue il login con il token fornito. Anziché utilizzare l'header X-Authorization, questo endpoint utilizza X-Authentication.
- Risposta
booleanerror: Se sono accaduti errori durante la richiesta.stringmessage: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.LoginInfouser: L'utente loggato. Può esserenull.