@capytale/activity.js 3.1.16 → 3.1.18

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.
@@ -23,8 +23,24 @@ export type SesameBackend = {
23
23
  *
24
24
  * @param data Les données de mise à jour.
25
25
  * @returns Une promesse résolue lorsque les utilisateurs sont mis à jour.
26
- */
26
+ */
27
27
  updateMultiUsers(data: MultiSesameUsersUpdateData): Promise<void>;
28
+ /**
29
+ * Supprime un utilisateur SESAME.
30
+ *
31
+ * @param data Les données permettant d'indetifier l'utilisateur.
32
+ * @returns Une promesse résolue lorsque l'utilisateur est mis à jour.
33
+ */
34
+ deleteUser(data: {
35
+ uid: number;
36
+ }): Promise<void>;
37
+ /**
38
+ * Supprime plusieurs utilisateurs SESAME.
39
+ *
40
+ * @param uids tableau des uid des utilisateurs à supprimer.
41
+ * @returns Une promesse résolue lorsque les utilisateurs sont mis à jour.
42
+ */
43
+ deleteMultiUsers(uids: number[]): Promise<void>;
28
44
  /**
29
45
  * Récupère la liste des codes SESAME.
30
46
  */
@@ -21,7 +21,13 @@ export default function (hb) {
21
21
  return hb.patchJsonAsync(userRoute(data.uid), data);
22
22
  },
23
23
  updateMultiUsers(data) {
24
- return hb.patchJsonAsync(userRoute(), data);
24
+ return hb.patchJsonAsync(userRoute(), { action: 'update', data });
25
+ },
26
+ deleteUser(data) {
27
+ return hb.deleteAsync(userRoute(data.uid));
28
+ },
29
+ deleteMultiUsers(uids) {
30
+ return hb.postJsonAsync(userRoute(), { action: 'delete', uids });
25
31
  },
26
32
  // codes
27
33
  async listCodes() {
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/auth/sesame/backend.ts"],"names":[],"mappings":"AAMA,SAAS,SAAS,CAAC,MAAqB,IAAI;IACxC,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAChD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;AACxC,CAAC;AAoDD,MAAM,CAAC,OAAO,WAAW,EAAe;IACpC,OAAO;QACH,QAAQ;QACR,UAAU;YACN,OAAO,EAAE,CAAC,YAAY,CAAsB,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAiC,CAAC;QACtH,CAAC;QACD,KAAK,CAAC,SAAS;YACX,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,YAAY,CAAe,SAAS,EAAE,CAAC,CAAC;YAC9D,KAAK,MAAM,IAAI,IAAI,IAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,IAAK,CAAC;QACjB,CAAC;QACD,UAAU,CAAC,IAA0B;YACjC,OAAO,EAAE,CAAC,cAAc,CACpB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EACnB,IAAI,CACP,CAAC;QACN,CAAC;QACD,gBAAgB,CAAC,IAAgC;YAC7C,OAAO,EAAE,CAAC,cAAc,CACpB,SAAS,EAAE,EACX,IAAI,CACP,CAAC;QACN,CAAC;QACD,QAAQ;QACR,KAAK,CAAC,SAAS;YACX,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,YAAY,CAAe,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YAC1E,KAAK,MAAM,IAAI,IAAI,IAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,GAAW,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,IAAK,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,IAAuB;YACpC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACrF,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAQ,CAAC;YACxD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAa,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;YAClF,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,GAAW,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,UAAU,CAAC,IAAY;YACnB,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;KACJ,CAAC;AACN,CAAC","sourcesContent":["import type { SesameUserCountData, SesameUser, SesameUserUpdateData, MultiSesameUsersUpdateData } from \"./sesameUser\";\nimport type { SesameCode, NewSesameCodeData } from \"./sesameCode\";\n\nimport type { Route } from \"../../api/http/route\";\nimport type { HttpBackend } from \"../../api/http/backend\";\n\nfunction userRoute(uid: number | null = null): Route {\n if (uid == null) return { name: 'sesame.user' };\n return { name: 'sesame.user', uid };\n}\n\nexport type SesameBackend = {\n /**\n * Récupère le nombre d'utilisateurs SESAME créés par l'utilisateur courant\n * dans les 12 derniers mois ains que le maximum autorisé.\n */\n countUsers(): Promise<SesameUserCountData>;\n\n /**\n * Récupère la liste des utilisateurs SESAME gérés par l'utilisateur courant.\n */\n listUsers(): Promise<SesameUser[]>;\n\n /**\n * Met à jour un utilisateur SESAME.\n * \n * @param data Les données de mise à jour.\n * @returns Une promesse résolue lorsque l'utilisateur est mis à jour.\n */\n updateUser(data: SesameUserUpdateData): Promise<void>;\n\n /**\n * Met à jour plusieurs utilisateurs SESAME.\n * \n * @param data Les données de mise à jour.\n * @returns Une promesse résolue lorsque les utilisateurs sont mis à jour.\n */\n updateMultiUsers(data: MultiSesameUsersUpdateData): Promise<void>;\n\n /**\n * Récupère la liste des codes SESAME.\n */\n listCodes(): Promise<SesameCode[]>;\n\n /**\n * Crée un nouveau code SESAME.\n * \n * @param data Les données du code à créer.\n * @returns Le code créé.\n */\n createCode(data: NewSesameCodeData): Promise<SesameCode>;\n\n /**\n * Supprime un code SESAME.\n * \n * @param code Le code à supprimer.\n * @returns Une promesse résolue lorsque le code est supprimé.\n */\n deleteCode(code: string): Promise<void>;\n}\n\nexport default function (hb: HttpBackend): SesameBackend {\n return {\n // Users\n countUsers() {\n return hb.getJsonAsync<SesameUserCountData>({ name: 'sesame.user', count: true }) as Promise<SesameUserCountData>;\n },\n async listUsers(): Promise<SesameUser[]> {\n const list = await hb.getJsonAsync<SesameUser[]>(userRoute());\n for (const user of list!) {\n user.validity.grace = new Date(user.validity.grace);\n user.validity.final = new Date(user.validity.final);\n }\n return list!;\n },\n updateUser(data: SesameUserUpdateData): Promise<void> {\n return hb.patchJsonAsync(\n userRoute(data.uid),\n data\n );\n },\n updateMultiUsers(data: MultiSesameUsersUpdateData): Promise<void> {\n return hb.patchJsonAsync(\n userRoute(),\n data\n );\n },\n // codes\n async listCodes(): Promise<SesameCode[]> {\n const list = await hb.getJsonAsync<SesameCode[]>({ name: 'sesame.code' });\n for (const code of list!) {\n code.exp = new Date(1000 * (code.exp as any));\n }\n return list!;\n },\n async createCode(data: NewSesameCodeData): Promise<SesameCode> {\n if ((data == null) || (!(data.exp instanceof Date))) throw new Error(\"Invalid data\");\n data.exp = Math.floor(data.exp.getTime() / 1000) as any;\n const code = await hb.postGetJsonAsync<SesameCode>({ name: 'sesame.code' }, data);\n code.exp = new Date(1000 * (code.exp as any));\n return code;\n },\n deleteCode(code: string): Promise<void> {\n return hb.deleteAsync({ name: 'sesame.code', code });\n }\n };\n}"]}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/auth/sesame/backend.ts"],"names":[],"mappings":"AAMA,SAAS,SAAS,CAAC,MAAqB,IAAI;IACxC,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAChD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;AACxC,CAAC;AAoED,MAAM,CAAC,OAAO,WAAW,EAAe;IACpC,OAAO;QACH,QAAQ;QACR,UAAU;YACN,OAAO,EAAE,CAAC,YAAY,CAAsB,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAiC,CAAC;QACtH,CAAC;QACD,KAAK,CAAC,SAAS;YACX,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,YAAY,CAAe,SAAS,EAAE,CAAC,CAAC;YAC9D,KAAK,MAAM,IAAI,IAAI,IAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,IAAK,CAAC;QACjB,CAAC;QACD,UAAU,CAAC,IAA0B;YACjC,OAAO,EAAE,CAAC,cAAc,CACpB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EACnB,IAAI,CACP,CAAC;QACN,CAAC;QACD,gBAAgB,CAAC,IAAgC;YAC7C,OAAO,EAAE,CAAC,cAAc,CACpB,SAAS,EAAE,EACX,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAC7B,CAAC;QACN,CAAC;QACD,UAAU,CAAC,IAAI;YACX,OAAO,EAAE,CAAC,WAAW,CACjB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CACtB,CAAC;QACN,CAAC;QACD,gBAAgB,CAAC,IAAI;YACjB,OAAO,EAAE,CAAC,aAAa,CACnB,SAAS,EAAE,EACX,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAC7B,CAAC;QACN,CAAC;QACD,QAAQ;QACR,KAAK,CAAC,SAAS;YACX,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,YAAY,CAAe,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YAC1E,KAAK,MAAM,IAAI,IAAI,IAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,GAAW,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,IAAK,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,IAAuB;YACpC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACrF,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAQ,CAAC;YACxD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,gBAAgB,CAAa,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;YAClF,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,GAAW,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,UAAU,CAAC,IAAY;YACnB,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;KACJ,CAAC;AACN,CAAC","sourcesContent":["import type { SesameUserCountData, SesameUser, SesameUserUpdateData, MultiSesameUsersUpdateData } from \"./sesameUser\";\nimport type { SesameCode, NewSesameCodeData } from \"./sesameCode\";\n\nimport type { Route } from \"../../api/http/route\";\nimport type { HttpBackend } from \"../../api/http/backend\";\n\nfunction userRoute(uid: number | null = null): Route {\n if (uid == null) return { name: 'sesame.user' };\n return { name: 'sesame.user', uid };\n}\n\nexport type SesameBackend = {\n /**\n * Récupère le nombre d'utilisateurs SESAME créés par l'utilisateur courant\n * dans les 12 derniers mois ains que le maximum autorisé.\n */\n countUsers(): Promise<SesameUserCountData>;\n\n /**\n * Récupère la liste des utilisateurs SESAME gérés par l'utilisateur courant.\n */\n listUsers(): Promise<SesameUser[]>;\n\n /**\n * Met à jour un utilisateur SESAME.\n * \n * @param data Les données de mise à jour.\n * @returns Une promesse résolue lorsque l'utilisateur est mis à jour.\n */\n updateUser(data: SesameUserUpdateData): Promise<void>;\n\n /**\n * Met à jour plusieurs utilisateurs SESAME.\n * \n * @param data Les données de mise à jour.\n * @returns Une promesse résolue lorsque les utilisateurs sont mis à jour.\n */\n updateMultiUsers(data: MultiSesameUsersUpdateData): Promise<void>;\n\n /**\n * Supprime un utilisateur SESAME.\n * \n * @param data Les données permettant d'indetifier l'utilisateur.\n * @returns Une promesse résolue lorsque l'utilisateur est mis à jour.\n */\n deleteUser(data: { uid: number }): Promise<void>;\n\n /**\n * Supprime plusieurs utilisateurs SESAME.\n * \n * @param uids tableau des uid des utilisateurs à supprimer.\n * @returns Une promesse résolue lorsque les utilisateurs sont mis à jour.\n */\n deleteMultiUsers(uids: number[]): Promise<void>;\n\n /**\n * Récupère la liste des codes SESAME.\n */\n listCodes(): Promise<SesameCode[]>;\n\n /**\n * Crée un nouveau code SESAME.\n * \n * @param data Les données du code à créer.\n * @returns Le code créé.\n */\n createCode(data: NewSesameCodeData): Promise<SesameCode>;\n\n /**\n * Supprime un code SESAME.\n * \n * @param code Le code à supprimer.\n * @returns Une promesse résolue lorsque le code est supprimé.\n */\n deleteCode(code: string): Promise<void>;\n}\n\nexport default function (hb: HttpBackend): SesameBackend {\n return {\n // Users\n countUsers() {\n return hb.getJsonAsync<SesameUserCountData>({ name: 'sesame.user', count: true }) as Promise<SesameUserCountData>;\n },\n async listUsers(): Promise<SesameUser[]> {\n const list = await hb.getJsonAsync<SesameUser[]>(userRoute());\n for (const user of list!) {\n user.validity.grace = new Date(user.validity.grace);\n user.validity.final = new Date(user.validity.final);\n }\n return list!;\n },\n updateUser(data: SesameUserUpdateData): Promise<void> {\n return hb.patchJsonAsync(\n userRoute(data.uid),\n data\n );\n },\n updateMultiUsers(data: MultiSesameUsersUpdateData): Promise<void> {\n return hb.patchJsonAsync(\n userRoute(),\n { action: 'update', data }\n );\n },\n deleteUser(data) {\n return hb.deleteAsync(\n userRoute(data.uid),\n );\n },\n deleteMultiUsers(uids) {\n return hb.postJsonAsync(\n userRoute(),\n { action: 'delete', uids }\n );\n },\n // codes\n async listCodes(): Promise<SesameCode[]> {\n const list = await hb.getJsonAsync<SesameCode[]>({ name: 'sesame.code' });\n for (const code of list!) {\n code.exp = new Date(1000 * (code.exp as any));\n }\n return list!;\n },\n async createCode(data: NewSesameCodeData): Promise<SesameCode> {\n if ((data == null) || (!(data.exp instanceof Date))) throw new Error(\"Invalid data\");\n data.exp = Math.floor(data.exp.getTime() / 1000) as any;\n const code = await hb.postGetJsonAsync<SesameCode>({ name: 'sesame.code' }, data);\n code.exp = new Date(1000 * (code.exp as any));\n return code;\n },\n deleteCode(code: string): Promise<void> {\n return hb.deleteAsync({ name: 'sesame.code', code });\n }\n };\n}"]}