@frenchbaas/js 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -9
- package/dist/index.cjs +16 -0
- package/dist/index.d.mts +11 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +16 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ npm install @frenchbaas/js
|
|
|
14
14
|
import { FrenchBaas } from '@frenchbaas/js'
|
|
15
15
|
|
|
16
16
|
const client = new FrenchBaas({
|
|
17
|
-
url: 'https://
|
|
17
|
+
url: 'https://app.frenchbaas.com',
|
|
18
18
|
apiKey: 'votre-clé-api',
|
|
19
19
|
})
|
|
20
20
|
```
|
|
@@ -59,17 +59,27 @@ const schema = await col.schema()
|
|
|
59
59
|
|
|
60
60
|
## Gestion des erreurs
|
|
61
61
|
|
|
62
|
-
```
|
|
63
|
-
import {
|
|
62
|
+
```ts
|
|
63
|
+
import {
|
|
64
|
+
AuthError,
|
|
65
|
+
ValidationError,
|
|
66
|
+
NotFoundError,
|
|
67
|
+
QuotaError,
|
|
68
|
+
RateLimitError,
|
|
69
|
+
NetworkError,
|
|
70
|
+
ServerError,
|
|
71
|
+
} from '@frenchbaas/js'
|
|
64
72
|
|
|
65
73
|
try {
|
|
66
74
|
await client.collection('col-id').create({ title: 'Test' })
|
|
67
75
|
} catch (e) {
|
|
68
|
-
if (e instanceof AuthError)
|
|
69
|
-
if (e instanceof ValidationError)
|
|
70
|
-
if (e instanceof NotFoundError)
|
|
71
|
-
if (e instanceof QuotaError)
|
|
72
|
-
if (e instanceof
|
|
76
|
+
if (e instanceof AuthError) console.error('Non connecté ou session expirée')
|
|
77
|
+
if (e instanceof ValidationError) console.error('Données invalides', e.errors)
|
|
78
|
+
if (e instanceof NotFoundError) console.error('Introuvable')
|
|
79
|
+
if (e instanceof QuotaError) console.error('Quota dépassé')
|
|
80
|
+
if (e instanceof RateLimitError) console.error('Trop de requêtes, réessayez dans quelques instants')
|
|
81
|
+
if (e instanceof NetworkError) console.error('Hors ligne')
|
|
82
|
+
if (e instanceof ServerError) console.error('Erreur interne du serveur')
|
|
73
83
|
}
|
|
74
84
|
```
|
|
75
85
|
|
|
@@ -78,7 +88,7 @@ try {
|
|
|
78
88
|
```js
|
|
79
89
|
// Persister la session dans localStorage (rechargement de page)
|
|
80
90
|
const client = new FrenchBaas({
|
|
81
|
-
url: 'https://
|
|
91
|
+
url: 'https://app.frenchbaas.com',
|
|
82
92
|
apiKey: 'votre-clé-api',
|
|
83
93
|
storage: 'localStorage', // défaut : 'memory'
|
|
84
94
|
})
|
|
@@ -96,3 +106,4 @@ const client = new FrenchBaas({
|
|
|
96
106
|
## License
|
|
97
107
|
|
|
98
108
|
MIT
|
|
109
|
+
# frenchbaas-js
|
package/dist/index.cjs
CHANGED
|
@@ -215,6 +215,22 @@ var CollectionClient = class {
|
|
|
215
215
|
);
|
|
216
216
|
return { data: res.data, meta: res.meta };
|
|
217
217
|
}
|
|
218
|
+
/**
|
|
219
|
+
* Récupère un document par son ID.
|
|
220
|
+
* La visibilité (public/authenticated/private) est vérifiée côté serveur.
|
|
221
|
+
*
|
|
222
|
+
* - Collection public : X-Api-Key uniquement
|
|
223
|
+
* - Collection authenticated : token SDK requis
|
|
224
|
+
* - Collection private : token SDK requis + être le créateur
|
|
225
|
+
*
|
|
226
|
+
* @param documentId UUID du document à récupérer
|
|
227
|
+
*/
|
|
228
|
+
async getById(documentId) {
|
|
229
|
+
const res = await this._http.get(
|
|
230
|
+
`/sdk/documents/${documentId}`
|
|
231
|
+
);
|
|
232
|
+
return res.data;
|
|
233
|
+
}
|
|
218
234
|
/**
|
|
219
235
|
* Crée un nouveau document dans la collection.
|
|
220
236
|
* Les champs sont validés contre le schéma côté serveur.
|
package/dist/index.d.mts
CHANGED
|
@@ -214,6 +214,17 @@ declare class CollectionClient<T = Record<string, unknown>> {
|
|
|
214
214
|
* @param options.perPage Documents par page, max 100 (défaut: 50)
|
|
215
215
|
*/
|
|
216
216
|
get(options?: GetOptions): Promise<DocumentsPage<T>>;
|
|
217
|
+
/**
|
|
218
|
+
* Récupère un document par son ID.
|
|
219
|
+
* La visibilité (public/authenticated/private) est vérifiée côté serveur.
|
|
220
|
+
*
|
|
221
|
+
* - Collection public : X-Api-Key uniquement
|
|
222
|
+
* - Collection authenticated : token SDK requis
|
|
223
|
+
* - Collection private : token SDK requis + être le créateur
|
|
224
|
+
*
|
|
225
|
+
* @param documentId UUID du document à récupérer
|
|
226
|
+
*/
|
|
227
|
+
getById(documentId: string): Promise<Document<T>>;
|
|
217
228
|
/**
|
|
218
229
|
* Crée un nouveau document dans la collection.
|
|
219
230
|
* Les champs sont validés contre le schéma côté serveur.
|
package/dist/index.d.ts
CHANGED
|
@@ -214,6 +214,17 @@ declare class CollectionClient<T = Record<string, unknown>> {
|
|
|
214
214
|
* @param options.perPage Documents par page, max 100 (défaut: 50)
|
|
215
215
|
*/
|
|
216
216
|
get(options?: GetOptions): Promise<DocumentsPage<T>>;
|
|
217
|
+
/**
|
|
218
|
+
* Récupère un document par son ID.
|
|
219
|
+
* La visibilité (public/authenticated/private) est vérifiée côté serveur.
|
|
220
|
+
*
|
|
221
|
+
* - Collection public : X-Api-Key uniquement
|
|
222
|
+
* - Collection authenticated : token SDK requis
|
|
223
|
+
* - Collection private : token SDK requis + être le créateur
|
|
224
|
+
*
|
|
225
|
+
* @param documentId UUID du document à récupérer
|
|
226
|
+
*/
|
|
227
|
+
getById(documentId: string): Promise<Document<T>>;
|
|
217
228
|
/**
|
|
218
229
|
* Crée un nouveau document dans la collection.
|
|
219
230
|
* Les champs sont validés contre le schéma côté serveur.
|
package/dist/index.js
CHANGED
|
@@ -181,6 +181,22 @@ var CollectionClient = class {
|
|
|
181
181
|
);
|
|
182
182
|
return { data: res.data, meta: res.meta };
|
|
183
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Récupère un document par son ID.
|
|
186
|
+
* La visibilité (public/authenticated/private) est vérifiée côté serveur.
|
|
187
|
+
*
|
|
188
|
+
* - Collection public : X-Api-Key uniquement
|
|
189
|
+
* - Collection authenticated : token SDK requis
|
|
190
|
+
* - Collection private : token SDK requis + être le créateur
|
|
191
|
+
*
|
|
192
|
+
* @param documentId UUID du document à récupérer
|
|
193
|
+
*/
|
|
194
|
+
async getById(documentId) {
|
|
195
|
+
const res = await this._http.get(
|
|
196
|
+
`/sdk/documents/${documentId}`
|
|
197
|
+
);
|
|
198
|
+
return res.data;
|
|
199
|
+
}
|
|
184
200
|
/**
|
|
185
201
|
* Crée un nouveau document dans la collection.
|
|
186
202
|
* Les champs sont validés contre le schéma côté serveur.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frenchbaas/js",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "SDK JavaScript officiel pour FrenchBaas",
|
|
5
5
|
"author": "FrenchBaas",
|
|
6
6
|
"license": "MIT",
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"dist/**/*.js",
|
|
19
19
|
"dist/**/*.cjs",
|
|
20
20
|
"dist/**/*.d.ts",
|
|
21
|
-
"dist/**/*.d.mts"
|
|
21
|
+
"dist/**/*.d.mts",
|
|
22
|
+
"README.md"
|
|
22
23
|
],
|
|
23
24
|
"scripts": {
|
|
24
25
|
"build": "tsup",
|