forked from telabotanica/cumulus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathautodoc.json
133 lines (133 loc) · 6.64 KB
/
autodoc.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
{
"service": "cumulus",
"uri-patterns": [
[
"GET __ROOTURI__clef",
"GET __ROOTURI__chemin/arbitraire/nom",
"Récupère le fichier identifié par clef, ou nommé nom et contenu dans le répertoire /chemin/arbitraire (déclenche son téléchargement)",
"GET __ROOTURI__chemin/arbitraire/dossier",
"Récupère le contenu du dossier identifié par le chemin, càd ses sous-dossiers et ses fichiers"
],
[
"GET __ROOTURI__api/by-name/compte rendu",
"GET __ROOTURI__api/by-name/compte rendu?LIKE (par défaut)",
"GET __ROOTURI__api/by-name/compte rendu?STRICT",
"Renvoie une liste de fichiers (les clefs et les attributs) correspondant au nom ou à la / aux portion(s) de nom fournie(s), quels que soient leurs emplacements"
],
[
"GET __ROOTURI__api/by-path/mon/super/chemin",
"Renvoie une liste de fichiers (les clefs et les attributs) présents dans un dossier dont le chemin est /mon/super/chemin",
"GET __ROOTURI__api/by-path/mon/super/chemin?R",
"Renvoie une liste de fichiers (les clefs et les attributs) présents dans un dossier dont le chemin est /mon/super/chemin ou un sous-dossier de celui-ci"
],
[
"GET __ROOTURI__api/by-keywords/foo",
"GET __ROOTURI__api/by-keywords/foo,bar,couscous",
"GET __ROOTURI__api/by-keywords/foo,bar,couscous?AND (par défaut)",
"GET __ROOTURI__api/by-keywords/foo,bar,couscous?OR",
"Renvoie une liste de fichiers (les clefs et les attributs) correspondant à un ou plusieurs mots-clefs"
],
[
"GET __ROOTURI__api/by-user/[email protected]",
"Renvoie une liste de fichiers (les clefs et les attributs) appartenant à l'utilisateur [email protected]"
],
[
"GET __ROOTURI__api/by-group/botanique-à-bort-les-orgues",
"Renvoie une liste de fichiers (les clefs et les attributs) appartenant au groupe \"botanique-à-bort-les-orgues\""
],
[
"GET __ROOTURI__api/by-mimetype/image/png",
"Renvoie une liste de fichiers (les clefs et les attributs) ayant un type MIME \"image/png\""
],
[
"GET __ROOTURI__api/by-date/2015-02-04",
"Renvoie une liste de fichiers (les clefs et les attributs) datant exactement du 04/02/2015",
"GET __ROOTURI__api/by-date/2015-02-04?BEFORE",
"Renvoie une liste de fichiers (les clefs et les attributs) datant d'avant le 04/02/2015 (exclu)",
"GET __ROOTURI__api/by-date/2015-02-04?AFTER",
"Renvoie une liste de fichiers (les clefs et les attributs) datant d'après 04/02/2015 (exclu)",
"GET __ROOTURI__api/by-date/2014-07-13/2015-02-04",
"Renvoie une liste de fichiers (les clefs et les attributs) datant d'entre le 13/07/2014 et le 04/02/2015"
],
[
"GET __ROOTURI__api/search/foo,bar",
"Recherche floue parmi les noms et les mots-clefs",
"GET __ROOTURI__api/search?keywords=foo,bar&[email protected]&date=...",
"Recherche avancée"
],
[
"OPTIONS __ROOTURI__chemin/arbitraire/clef",
"Récupère les attributs du fichier clef contenu dans le répertoire /chemin/arbitraire, mais pas le contenu du fichier"
],
[
"DELETE __ROOTURI__chemin/arbitraire/clef",
"Supprime le fichier clef contenu dans le répertoire /chemin/arbitraire"
],
[
"Avec un envoi de formulaire avec fichier - Content-type: multipart/form-data",
"POST __ROOTURI__chemin/arbitraire/clef",
{
"file": "le fichier (input type=\"file\")",
"keywords": "les mots-clefs à associer (Array)",
"groups": "les groupes auxquels associer le fichier (Array)",
"permissions": "les permissions",
"license": "la licence du fichier",
"meta": "portion de JSON libre"
},
"Ajoute au stockage le fichier uploadé; lui donne la clef clef; lui donne comme répertoire parent /chemin/arbitraire; les autres paramètres sont explicites.",
"Seront détectés : mimetype, size, name, user (si un jeton d'authentification est présent).",
"Si file est une URL, le fichier sera un pointeur sur cette URL.",
"creation_date et last_modification_date seront définis à la date courante. Renvoie les attributs."
],
[
"Avec le contenu du fichier dans le paramètre \"file\" - Content-type: application/json",
"POST __ROOTURI__chemin/arbitraire/clef",
{
"file": "le contenu du fichier envoyé, encodé en Base64",
"keywords": "les mots-clefs à associer (Array)",
"groups": "les groupes auxquels associer le fichier (Array)",
"permissions": "les permissions",
"license": "la licence du fichier",
"meta": "portion de JSON libre"
},
"Ajoute au stockage le fichier présent dans file; lui donne la clef clef; lui donne comme répertoire parent /chemin/arbitraire; les autres paramètres sont explicites.",
"Seront détectés : mimetype, size, name, user (si un jeton d'authentification est présent).",
"Si file est une URL, le fichier sera un pointeur sur cette URL.",
"creation_date et last_modification_date seront définis à la date courante. Renvoie les attributs."
],
[
"Avec un envoi en flux - contenu du fichier dans le body de la requête - Content-type : application/octet-stream ou application/x-www-form-urlencoded",
"POST __ROOTURI__chemin/arbitraire/clef",
"Ajoute au stockage le fichier contenu dans le corps de la requête; lui donne la clef clef; lui donne comme répertoire parent /chemin/arbitraire. Renvoie les attributs."
]
],
"output format":
{
"fkey": "clef",
"name": "nom du fichier",
"path": "chemin du fichier (dossier parent)",
"mimetype": "type MIME du fichier",
"size": "taille du fichier en octets",
"owner": "propriétaire du fichier",
"groups": "groupes (Array)",
"permissions": "permissions du fichier",
"keywords": "mots-clefs associés (Array)",
"license": "licence du fichier",
"meta": "portion de JSON libre",
"creation_date": "date de création",
"last_modification_date": "date de dernière modification",
"href": "lien de téléchargement du fichier"
},
"permissions": [
"Les permissions sont gérées par les trois champs owner, permissions, groups",
"Si owner est NULL ou vide, ou si permissions est NULL ou vide, le fichier est public (lecture et écriture pour tous).",
"Si l'utilisateur est propriétaire du fichier, il a tous les droits.",
"Sinon, les permissions sont inspirées d'UNIX et tiennent sur deux caractères. Le premier concerne les groupes, et le second les 'autres'. Le caractère peut être 'r' (lecture), 'w' (lecture et écriture - inclut la suppression), ou '-' (aucun droit).",
{
"r-": "lecture pour les membres d'un des groupes, aucun droit pour les autres",
"wr": "lecture et écriture pour les membres d'un des groupes, lecture pour les autres",
"ww": "lecture et écriture pour tous (équivalent à NULL ou vide)",
"--": "seul le propriétaire a les droits"
}
]
}