Class: fetch

fetch()

new fetch()

Module léger ne contenant les méthodes utiles pour récupérer des données sur une sésathèque

Source:

Members

(constant) highLimit

Limite arbitrairement haute pour les fetch qui remontent des listes
alors que l'appelant ne gère pas encore de pagination

Source:

Methods

(static) addSesatheque()

Source:
See:
  • sesatheques.addSesatheque

(static) callApiUrl()

Ré-export de internals#callApiUrl

Source:

(static) exists()

Source:
See:

fetchPersoOnCurrent(optionsopt, next)

Idem client.getListePerso, mais en utilisant les cookies sur le domaine courant, à n'utiliser que sur une page de la sésathèque concernée
(construit pour editgraphe)

Parameters:
Name Type Attributes Description
options Object <optional>
Properties
Name Type Attributes Description
skip number <optional>
limit number <optional>
next function
Source:

fetchPrivateRef(baseId, id, next)

Appellera next avec la Ressource voulue

Parameters:
Name Type Description
baseId string
id string
next ressourceCallback

sera appelé avec (error, ressource)

Source:

fetchPrivateRessource(baseId, id, next)

Appellera next avec la Ressource voulue

Parameters:
Name Type Description
baseId string
id string
next ressourceCallback

sera appelé avec (error, ressource)

Source:

fetchPublicRef(baseId, id, next)

Appellera next avec la Ref voulue

Parameters:
Name Type Description
baseId string
id string
next refCallback

sera appelé avec (error, ref)

Source:

fetchPublicRessource(baseId, id, next)

Appellera next avec la Ressource publique voulue

Parameters:
Name Type Description
baseId string
id string
next ressourceCallback

sera appelé avec (error, ressource)

Source:

fetchRef(baseIdopt, id, next)

Appellera next avec la Ref voulue, préférer fetchPublicRef si on sait la ref publique
(et ce sera fetchPublicRef qui sera appelé si on a pas de token pour cette baseId)

Parameters:
Name Type Attributes Description
baseId string <optional>

facultatif si id est un rid (voire un baseId/origine/idOrigine)

id string
next refCallback

sera appelé avec (error, ref)

Source:

fetchRessource(baseIdopt, id, next)

Appellera next avec la Ressource voulue, préférer fetchPublicRessource si on sait la ref publique
(et ce sera fetchPublicRessource qui sera appelé si on a pas de token pour cette baseId)

Parameters:
Name Type Attributes Description
baseId string <optional>

facultatif si id est un rid (voire un baseId/origine/idOrigine)

id string
next ressourceCallback

sera appelé avec (error, ressource)

Source:

(static) exports(ressource, myBaseUrlopt) → {Object}

Retourne les urls d'une ressource ou d'une ref (en tenant compte de _droits si ça existe)
Une url vide signifie qu'on sait que le user courant aurait un denied dessus (n'arrive pas si _droits n'existe pas)

Parameters:
Name Type Attributes Description
ressource Ressource | Ref
myBaseUrl string <optional>

Si fourni, les urls locales à cette sésathèque seront relatives

Source:
Returns:
Type
Object

(static) exports(sesatheques, baseIdopt, XMLHttpRequestopt) → {sesathequeClient}

Constructeur du client, qui retournera un client avec la liste des méthodes

Parameters:
Name Type Attributes Description
sesatheques object | string

objet {name1:url1, name2:url2,…}, ou url d'une sesatheque unique
(dans ce cas ne pas passer l'argument baseId à chaque méthode du client récupéré)

baseId string <optional>

La baseId du sesalab qui nous utilise (ou à défaut une baseUrl),
Si absent on prendra le domaine courant (avec un usage dans un navigateur)
Ne sert que pour fixer la propriété origine dans
saveSequenceModele et saveSerie

XMLHttpRequest XMLHttpRequest <optional>

Un éventuel constructeur XMLHttpRequest si on tourne coté serveur,
à construire avec import {XMLHttpRequest} from 'xmlhttprequest'

Source:
Returns:

Le client, liste de méthodes

Type
sesathequeClient

(static) addSesalabSsoToken(baseId, token)

Enregistre un token pour une sesatheque (token utilisé par les xhr
qui en auraient besoin, dans un header Authorization: sesalabSso xxx)

Parameters:
Name Type Description
baseId
token
Source:

(static) callApi(baseId, path, options, next)

Wrapper de xhr.get sur l'api, garanti de renvoyer une erreur ou une réponse non vide

Parameters:
Name Type Description
baseId string
path string

chemin qui sera ajouté à /api/, par ex "public/42"

options object
next apiResponseCallback
Source:

(static) callApiUrl(url, optionsopt, next)

Wrapper de xhr sur l'api, converti une réponse sans message:OK ou une absence de réponse en erreur
il y aura donc toujours soit une erreur soit une réponse non vide (avec soit message:OK soit des données,
la propriété data de la réponse)
Réexporté en fetch par plusieurs autres modules

Parameters:
Name Type Attributes Description
url string
options object <optional>

Options passées tel quel à getXhrOptions

Properties
Name Type Attributes Default Description
method object <optional>
get

passer post|put|delete si ce n'est pas du get

body object <optional>

passer un objet pour post|put|delete (ignoré sur get)

isDataExpected object <optional>
false

passer true pour garantir que next sera appelé avec un objet (sinon ce sera une erreur)

next apiResponseCallback

(toujours appelée avec une erreur ou en 2nd argument la string OK ou un objet non vide)

Source:
Throws:

Si baseId est inconnue

Type
Error

(static) extractBaseUrl(url) → {string|null}

Retourne la base d'une url quelconque

Parameters:
Name Type Description
url string

Une url, avec au moins un caractère après le / racine

Source:
Returns:

null si l'url n'était pas 'conforme'

Type
string | null

(static) getDataUrl(baseIdopt, id, options) → {string}

Retourne l'url absolue à passer à callApiUrl pour récupérer les datas

Parameters:
Name Type Attributes Description
baseId string <optional>

facultatif si id est un rid (voire baseId/origine/idOrigine)

id string
options Object

(props à false par défaut), si isPublic est absent on le déduit de shouldForcePublic(baseId)

Source:
Returns:
Type
string

(static) hasToken(baseId) → {boolean}

Renvoie true si on a un token pour cette sesatheque

Parameters:
Name Type Description
baseId string
Source:
Returns:
Type
boolean

(static) isMyBaseId(baseId) → {boolean|undefined}

Retourne true si on est dans un navigateur et que baseId correspond au domaine courant, undefined si pas dans un navigateur

Parameters:
Name Type Description
baseId
Source:
Returns:
Type
boolean | undefined

(static) shouldForcePublic(baseId) → {boolean}

Retourne true si on a ni token ni session sur un same-domain dans un navigateur

Parameters:
Name Type Description
baseId string
Source:
Returns:
Type
boolean

(inner) fetchData(url, options) → {Promise.<Object>}

Appelle une url de la sesathèque et retourne le résultat

Parameters:
Name Type Description
url
options Object
Properties
Name Type Attributes Description
apiToken string <optional>

token brut (on le passera à encodeURIComponent)

body string | Object <optional>

Si c'est une string, elle doit être encodé en utf-8 et le header content-type doit être fourni (sinon c'est géré ici)

headers Object <optional>

Les headers de la requête envoyée

Source:
Returns:

Résoud avec l'objet récupéré

Type
Promise.<Object>

(inner) fetchPrivateRef(rid, apiToken) → {Promise}

Récupère la ref d'une ressource privée

Parameters:
Name Type Description
rid string
apiToken string
Source:
Returns:
Type
Promise

(inner) fetchPrivateRessource(rid, apiToken) → {Promise}

Récupère une ressource privée

Parameters:
Name Type Description
rid string
apiToken string
Source:
Returns:
Type
Promise

(inner) fetchPublicRef(rid) → {Promise}

Récupère la ref d'une ressource publique

Parameters:
Name Type Description
rid string
Source:
Returns:
Type
Promise

(inner) fetchPublicRessource(rid) → {Promise}

Récupère une ressource publique

Parameters:
Name Type Description
rid string
Source:
Returns:
Type
Promise

(inner) fetchRef(rid, apiTokenopt)

Récupère la ref d'une ressource

Parameters:
Name Type Attributes Description
rid string
apiToken string <optional>
Source:

(inner) fetchRessource(rid, apiTokenopt)

Récupère une ressource

Parameters:
Name Type Attributes Description
rid string
apiToken string <optional>
Source:

(inner) getDataUrl(rid, options) → {string}

Retourne l'url absolue à passer à callApiUrl pour récupérer les datas

Parameters:
Name Type Description
rid string
options Object

(props à false par défaut), si isPublic est absent on le déduit de shouldForcePublic(baseId)

Source:
Returns:
Type
string

(inner) saveRessource(baseId, ressource, apiToken) → {Promise}

Enregistre (ou modifie) une ressource

Parameters:
Name Type Description
baseId string
ressource Ressource
apiToken string
Source:
Returns:
Type
Promise

fetch()

new fetch()

Module léger ne contenant les méthodes utiles pour récupérer des données sur une sésathèque

Source:

Members

(constant) highLimit

Limite arbitrairement haute pour les fetch qui remontent des listes
alors que l'appelant ne gère pas encore de pagination

Source:

Methods

(static) addSesatheque()

Source:
See:
  • sesatheques.addSesatheque

(static) callApiUrl()

Ré-export de internals#callApiUrl

Source:

(static) exists()

Source:
See:

fetchPersoOnCurrent(optionsopt, next)

Idem client.getListePerso, mais en utilisant les cookies sur le domaine courant, à n'utiliser que sur une page de la sésathèque concernée
(construit pour editgraphe)

Parameters:
Name Type Attributes Description
options Object <optional>
Properties
Name Type Attributes Description
skip number <optional>
limit number <optional>
next function
Source:

fetchPrivateRef(baseId, id, next)

Appellera next avec la Ressource voulue

Parameters:
Name Type Description
baseId string
id string
next ressourceCallback

sera appelé avec (error, ressource)

Source:

fetchPrivateRessource(baseId, id, next)

Appellera next avec la Ressource voulue

Parameters:
Name Type Description
baseId string
id string
next ressourceCallback

sera appelé avec (error, ressource)

Source:

fetchPublicRef(baseId, id, next)

Appellera next avec la Ref voulue

Parameters:
Name Type Description
baseId string
id string
next refCallback

sera appelé avec (error, ref)

Source:

fetchPublicRessource(baseId, id, next)

Appellera next avec la Ressource publique voulue

Parameters:
Name Type Description
baseId string
id string
next ressourceCallback

sera appelé avec (error, ressource)

Source:

fetchRef(baseIdopt, id, next)

Appellera next avec la Ref voulue, préférer fetchPublicRef si on sait la ref publique
(et ce sera fetchPublicRef qui sera appelé si on a pas de token pour cette baseId)

Parameters:
Name Type Attributes Description
baseId string <optional>

facultatif si id est un rid (voire un baseId/origine/idOrigine)

id string
next refCallback

sera appelé avec (error, ref)

Source:

fetchRessource(baseIdopt, id, next)

Appellera next avec la Ressource voulue, préférer fetchPublicRessource si on sait la ref publique
(et ce sera fetchPublicRessource qui sera appelé si on a pas de token pour cette baseId)

Parameters:
Name Type Attributes Description
baseId string <optional>

facultatif si id est un rid (voire un baseId/origine/idOrigine)

id string
next ressourceCallback

sera appelé avec (error, ressource)

Source:

(static) exports(ressource, myBaseUrlopt) → {Object}

Retourne les urls d'une ressource ou d'une ref (en tenant compte de _droits si ça existe)
Une url vide signifie qu'on sait que le user courant aurait un denied dessus (n'arrive pas si _droits n'existe pas)

Parameters:
Name Type Attributes Description
ressource Ressource | Ref
myBaseUrl string <optional>

Si fourni, les urls locales à cette sésathèque seront relatives

Source:
Returns:
Type
Object

(static) exports(sesatheques, baseIdopt, XMLHttpRequestopt) → {sesathequeClient}

Constructeur du client, qui retournera un client avec la liste des méthodes

Parameters:
Name Type Attributes Description
sesatheques object | string

objet {name1:url1, name2:url2,…}, ou url d'une sesatheque unique
(dans ce cas ne pas passer l'argument baseId à chaque méthode du client récupéré)

baseId string <optional>

La baseId du sesalab qui nous utilise (ou à défaut une baseUrl),
Si absent on prendra le domaine courant (avec un usage dans un navigateur)
Ne sert que pour fixer la propriété origine dans
saveSequenceModele et saveSerie

XMLHttpRequest XMLHttpRequest <optional>

Un éventuel constructeur XMLHttpRequest si on tourne coté serveur,
à construire avec import {XMLHttpRequest} from 'xmlhttprequest'

Source:
Returns:

Le client, liste de méthodes

Type
sesathequeClient

(static) addSesalabSsoToken(baseId, token)

Enregistre un token pour une sesatheque (token utilisé par les xhr
qui en auraient besoin, dans un header Authorization: sesalabSso xxx)

Parameters:
Name Type Description
baseId
token
Source:

(static) callApi(baseId, path, options, next)

Wrapper de xhr.get sur l'api, garanti de renvoyer une erreur ou une réponse non vide

Parameters:
Name Type Description
baseId string
path string

chemin qui sera ajouté à /api/, par ex "public/42"

options object
next apiResponseCallback
Source:

(static) callApiUrl(url, optionsopt, next)

Wrapper de xhr sur l'api, converti une réponse sans message:OK ou une absence de réponse en erreur
il y aura donc toujours soit une erreur soit une réponse non vide (avec soit message:OK soit des données,
la propriété data de la réponse)
Réexporté en fetch par plusieurs autres modules

Parameters:
Name Type Attributes Description
url string
options object <optional>

Options passées tel quel à getXhrOptions

Properties
Name Type Attributes Default Description
method object <optional>
get

passer post|put|delete si ce n'est pas du get

body object <optional>

passer un objet pour post|put|delete (ignoré sur get)

isDataExpected object <optional>
false

passer true pour garantir que next sera appelé avec un objet (sinon ce sera une erreur)

next apiResponseCallback

(toujours appelée avec une erreur ou en 2nd argument la string OK ou un objet non vide)

Source:
Throws:

Si baseId est inconnue

Type
Error

(static) extractBaseUrl(url) → {string|null}

Retourne la base d'une url quelconque

Parameters:
Name Type Description
url string

Une url, avec au moins un caractère après le / racine

Source:
Returns:

null si l'url n'était pas 'conforme'

Type
string | null

(static) getDataUrl(baseIdopt, id, options) → {string}

Retourne l'url absolue à passer à callApiUrl pour récupérer les datas

Parameters:
Name Type Attributes Description
baseId string <optional>

facultatif si id est un rid (voire baseId/origine/idOrigine)

id string
options Object

(props à false par défaut), si isPublic est absent on le déduit de shouldForcePublic(baseId)

Source:
Returns:
Type
string

(static) hasToken(baseId) → {boolean}

Renvoie true si on a un token pour cette sesatheque

Parameters:
Name Type Description
baseId string
Source:
Returns:
Type
boolean

(static) isMyBaseId(baseId) → {boolean|undefined}

Retourne true si on est dans un navigateur et que baseId correspond au domaine courant, undefined si pas dans un navigateur

Parameters:
Name Type Description
baseId
Source:
Returns:
Type
boolean | undefined

(static) shouldForcePublic(baseId) → {boolean}

Retourne true si on a ni token ni session sur un same-domain dans un navigateur

Parameters:
Name Type Description
baseId string
Source:
Returns:
Type
boolean

(inner) fetchData(url, options) → {Promise.<Object>}

Appelle une url de la sesathèque et retourne le résultat

Parameters:
Name Type Description
url
options Object
Properties
Name Type Attributes Description
apiToken string <optional>

token brut (on le passera à encodeURIComponent)

body string | Object <optional>

Si c'est une string, elle doit être encodé en utf-8 et le header content-type doit être fourni (sinon c'est géré ici)

headers Object <optional>

Les headers de la requête envoyée

Source:
Returns:

Résoud avec l'objet récupéré

Type
Promise.<Object>

(inner) fetchPrivateRef(rid, apiToken) → {Promise}

Récupère la ref d'une ressource privée

Parameters:
Name Type Description
rid string
apiToken string
Source:
Returns:
Type
Promise

(inner) fetchPrivateRessource(rid, apiToken) → {Promise}

Récupère une ressource privée

Parameters:
Name Type Description
rid string
apiToken string
Source:
Returns:
Type
Promise

(inner) fetchPublicRef(rid) → {Promise}

Récupère la ref d'une ressource publique

Parameters:
Name Type Description
rid string
Source:
Returns:
Type
Promise

(inner) fetchPublicRessource(rid) → {Promise}

Récupère une ressource publique

Parameters:
Name Type Description
rid string
Source:
Returns:
Type
Promise

(inner) fetchRef(rid, apiTokenopt)

Récupère la ref d'une ressource

Parameters:
Name Type Attributes Description
rid string
apiToken string <optional>
Source:

(inner) fetchRessource(rid, apiTokenopt)

Récupère une ressource

Parameters:
Name Type Attributes Description
rid string
apiToken string <optional>
Source:

(inner) getDataUrl(rid, options) → {string}

Retourne l'url absolue à passer à callApiUrl pour récupérer les datas

Parameters:
Name Type Description
rid string
options Object

(props à false par défaut), si isPublic est absent on le déduit de shouldForcePublic(baseId)

Source:
Returns:
Type
string

(inner) saveRessource(baseId, ressource, apiToken) → {Promise}

Enregistre (ou modifie) une ressource

Parameters:
Name Type Description
baseId string
ressource Ressource
apiToken string
Source:
Returns:
Type
Promise