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

    • int id: L'ID dell'azienda.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • Company result: Il risultato. Può essere null.

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

    • Search search: I parametri di ricerca
    • int page: La pagina su cui siamo attualmente. Ogni pagina fornisce 50 risultati. Se non specificato, verranno restituiti tutti i risultati.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • int totalResults: I risultati totali della ricerca, includendo quelli non restituiti.
    • Company[] results: Il risultato. Può essere null.

POST Aggiungi Azienda

URL: https://{{url}}/company

Crea una nuova azienda.

  • Richiesta

    • string name: Il nome dell'azienda.
    • Field[] fields: I campi dell'azienda. Se omesso, l'azienda verrà creata con tutti i campi vuoti.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • int id: L'ID dell'azienda appena creata. Può essere null.

PUT Modifica Azienda

URL: https://{{url}}/company

Modifica un'azienda ai parametri forniti.

  • Richiesta

    • int id: L'ID dell'azienda.
    • string name: Il nome dell'azienda.
    • Field[] fields: I campi dell'azienda.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID dell'azienda.
    • string name: Il nome dell'azienda.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID dell'azienda.
    • int fId: L'ID del campo da modificare
    • string fValue: Il valore del campo.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID dell'azienda.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID dell'azienda.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • Field field: Il risultato. Può essere null.

GET Tutti i campi

URL: https://{{url}}/structure

Restituisce tutti i campi che può avere un'azienda.

  • Risposta
    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • Field[] fields: Il risultato. Può essere null.

POST Aggiungi Campo

URL: https://{{url}}/structure

Crea una nuova azienda.

  • Richiesta

    • string name: Il nome dell'azienda.
    • string regex: I valori che può accettare il campo.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • int id: L'ID del campo appena creato. Può essere null.

PUT Modifica Campo

URL: https://{{url}}/structure

Modifica un campo ai parametri forniti.

  • Richiesta

    • int id: L'ID del campo.
    • string name: Il nome del campo.
    • string regex: La sintassi valida che il campo può accettare.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID del campo.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID dell'azienda.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • Activity activity: Il risultato. Può essere null.

GET Tutte le Attività

URL: https://{{url}}/activity

Restituisce tutte le attività.

  • Risposta
    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • Activity[] activities: Il risultato. Può essere null.

POST Aggiungi Attività

URL: https://{{url}}/activity

Crea una nuova attività.

  • Richiesta

    • string name: Il nome dell'attività.
    • string description: La descrizione dell'attività.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • int id: L'ID dell'attività appena creata. Può essere null.

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

    • int id: L'ID dell'attività.
    • string name: Il nome dell'attività.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID dell'attività.
    • string description: La descrizione dell'attività.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID dell'attività.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID dell'utente.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int user: L'ID dell'utente che sta salvando l'azienda.
    • int company: L'ID dell'azienda da salvare.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int user: L'ID dell'utente che sta eliminando il salvataggio.
    • int company: L'ID dell'azienda.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID dell'alternanza.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • Internship internship: Il risultato. Può essere null.

GET Alternanza di Azienda

URL: https://{{url}}/internship

Restituisce l'alternanza appartenente all'Azienda fornita.

  • Richiesta

    • int azienda: L'ID dell'azienda.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • Internship[] internships: Il risultato. Può essere null.

POST Aggiungi Alternanza

URL: https://{{url}}/internship

Crea una nuova attività.

  • Richiesta

    • int company: L'ID dell'azienda.
    • int activity: L'ID dell'attività.
    • string student: Lo studente che sta svolgendo l'attività.
    • int year: L'anno in cui sta svolgendo l'attività.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • int id: L'ID dell'alternanza appena creata. Può essere null.

PUT Modifica Alternanza

URL: https://{{url}}/activity

Modifica un'alternanza.

  • Richiesta

    • int id: L'ID dell'alternanza.
    • int company: L'ID dell'azienda. Opzionale.
    • int activity: L'ID dell'attività. Opzionale.
    • string student: Lo studente che sta svolgendo l'attività. Opzionale.
    • int year: L'anno in cui sta svolgendo l'attività. Opzionale.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID dell'alternanza.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID dell'utente.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • string[] privileges: I privilegi. Può essere null.

POST Aggiungi Privilegio

URL: https://{{url}}/privilege

Aggiunge un privilegio a un utente.

  • Richiesta

    • int user: L'ID dell'utente.
    • string privilege: I permessi da dare.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int user: L'ID dell'utente.
    • string privilege: Il permesso da togliere.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: 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

    • int id: L'ID dell'utente.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • User privileges: Il risultato. Può essere null.

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

    • string login: Il nome utente o la mail.
    • string pswd: La password.
  • Risposta

    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • LoginInfo user: L'utente loggato. Può essere null.

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
    • boolean error: Se sono accaduti errori durante la richiesta.
    • string message: Un eventuale messaggio d'errore se la richiesta non è andata a buon fine.
    • LoginInfo user: L'utente loggato. Può essere null.