🎉 T-wiki 1.3.0 is released

API

Le API per il recupero e l’interazione con le risorse sono definite:

  • nei layout
  • nelle tab per quanto riguarda i modali
  • nei campi di tipo select

La definizione per layout e tab è la medesima e più complessa di quella delle select perchè deve gestire tutte le tipologie di chiamate, non solo le GET

export type DAGA_api_list = {
	get?: DAGA_get_api[]
	post?: DAGA_post_api
	put?: DAGA_put_api
	patch?: DAGA_patch_api
	delete?: DAGA_delete_api
}
 
export type DAGA_get_api = {
	id: string, //id univoco, utilizzato per salvare il risultato dell'api
	adapter: string //indica quale adapter utilizzare per transformare DAGA_api in api consumabile
	baseUrl?: string,
	endpoint: string,
	executionPriority?: number //numero intero decimale che indica l'ordine di esecuzione
	fetchOnEmptyFilters?: boolean //indica se l'api puo fetchare anche senza filtri
	fields: DAGA_api_field[],
	filters?: DAGA_api_filters
	sortings?: DAGA_api_sortings
	mapFields?: FormField[],
	enableSharing?: boolean //indica se condividere il risultato dell'api, default false
}
 
export type DAGA_[post/put/patch]_api = {
	id: string,
	adapter: string,
	baseUrl?: string,
	endpoint: string,
	method: "post"
	excludeFields?: string[]
	mapFields?: FormField[]
}
 
export type DAGA_delete_api = {
	id: string,
	adapter: string,
	baseUrl?: string,
	endpoint: string,
	method: "delete"
}

ProprietĂ  comuni

  • id: id univoco, utilizzato per salvare il risultato dell’api
  • adapter: indica quale adapter utilizzare per trasformare DAGA_api in api consumabile
  • baseUrl: parte dell’url rappresentante il dominio se diverso dal default
  • endpoint: endpoint da chiamare

GET

  • executionPriority: numero intero decimale che indica l’ordine di esecuzione, piĂą basso è il numero prima verrĂ  eseguita, API con la stessa prioritĂ  potrebbero essere eseguite contemporaneamente
  • fetchOnEmptyFilters: indica se l’api puo fetchare anche senza filtri
  • fields: lista dei campi richiesti in risposta
  • filters: filtri da applicare alla chiamata
  • sortings: ordinamenti da applicare alla chiamata
  • mapFields: utilizzato per “rinominare” i campi di una form se per qualche motivo sono stati definiti in modo diverso rispetto a quanto si aspetta l’API
  • enableSharing: indica se condividere il risultato dell’api, default false

POST, PUT & PATCH

La differenza operativa delle 3 chiamate è che la POST invia sempre tutto il contenuto della form al backend ed è utilizzata per l’azione di create, la PUT è simile ma utilizzata per update mentre la PATCH è sempre utilizzata per update ma invia solamente i dati modificati

  • method: è il method della chiamata HTTP, “post”, “put” o “patch”
  • excludeFields: lista di campi della form da escludere dal body della chiamata
  • mapFields: utilizzato per “rinominare” i campi di una form se per qualche motivo sono stati definiti in modo diverso rispetto a quanto si aspetta l’API

DELETE

  • method: è il method della chiamata HTTP in questo caso può essere solo “delete”