@communecter/cocolight-api-client 1.0.54 → 1.0.56

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.
Files changed (179) hide show
  1. package/dist/401.cocolight-api-client.browser.js +1 -0
  2. package/dist/401.cocolight-api-client.cjs +1 -0
  3. package/dist/401.cocolight-api-client.mjs.js +1 -0
  4. package/dist/588.cocolight-api-client.browser.js +1 -0
  5. package/dist/588.cocolight-api-client.cjs +1 -0
  6. package/dist/588.cocolight-api-client.mjs.js +1 -0
  7. package/dist/593.cocolight-api-client.browser.js +1 -0
  8. package/dist/593.cocolight-api-client.cjs +1 -0
  9. package/dist/593.cocolight-api-client.mjs.js +1 -0
  10. package/dist/839.cocolight-api-client.browser.js +1 -0
  11. package/dist/839.cocolight-api-client.cjs +1 -0
  12. package/dist/839.cocolight-api-client.mjs.js +1 -0
  13. package/dist/cocolight-api-client.browser.js +3 -3
  14. package/dist/cocolight-api-client.cjs +1 -1
  15. package/dist/cocolight-api-client.mjs.js +1 -1
  16. package/dist/cocolight-api-client.vite.mjs.js +1 -1
  17. package/dist/cocolight-api-client.vite.mjs.js.map +1 -1
  18. package/package.json +29 -17
  19. package/src/{Api.js → Api.ts} +85 -95
  20. package/src/{ApiClient.js → ApiClient.ts} +436 -247
  21. package/src/EJSONType.ts +103 -0
  22. package/src/api/{Badge.js → Badge.ts} +56 -45
  23. package/src/api/BaseEntity.ts +3890 -0
  24. package/src/api/Comment.ts +200 -0
  25. package/src/api/{EndpointApi.js → EndpointApi.ts} +363 -297
  26. package/src/api/EndpointApi.types.ts +4609 -0
  27. package/src/api/EntityRegistry.ts +203 -0
  28. package/src/api/Event.ts +332 -0
  29. package/src/api/News.ts +331 -0
  30. package/src/api/{Organization.js → Organization.ts} +155 -119
  31. package/src/api/{Poi.js → Poi.ts} +68 -60
  32. package/src/api/{Project.js → Project.ts} +150 -127
  33. package/src/api/{User.js → User.ts} +321 -256
  34. package/src/api/UserApi.ts +148 -0
  35. package/src/api/serverDataType/Comment.ts +88 -0
  36. package/src/api/serverDataType/Event.ts +80 -0
  37. package/src/api/serverDataType/News.ts +138 -0
  38. package/src/api/serverDataType/Organization.ts +80 -0
  39. package/src/api/serverDataType/Project.ts +71 -0
  40. package/src/api/serverDataType/User.ts +103 -0
  41. package/src/api/serverDataType/common.ts +80 -0
  42. package/src/endpoints.module.ts +2621 -0
  43. package/src/error.ts +86 -0
  44. package/src/index.ts +86 -0
  45. package/src/mixin/UserMixin.ts +4 -0
  46. package/src/types/api-responses.ts +217 -0
  47. package/src/types/entities.ts +22 -0
  48. package/src/types/error-guards.ts +230 -0
  49. package/src/types/index.ts +39 -0
  50. package/src/types/payloads.ts +21 -0
  51. package/src/types/transforms.ts +110 -0
  52. package/src/utils/{FileOfflineStorageStrategy.node.js → FileOfflineStorageStrategy.node.ts} +15 -12
  53. package/src/utils/{FileStorageStrategy.node.js → FileStorageStrategy.node.ts} +16 -39
  54. package/src/utils/MultiServerFileStorageStrategy.node.ts +67 -0
  55. package/src/utils/MultiServerTokenStorageStrategy.ts +139 -0
  56. package/src/utils/{OfflineClientManager.js → OfflineClientManager.ts} +82 -86
  57. package/src/utils/OfflineQueueStorageStrategy.ts +47 -0
  58. package/src/utils/TokenStorage.ts +77 -0
  59. package/src/utils/compat.ts +12 -0
  60. package/src/utils/createDefaultMultiServerTokenStorageStrategy.ts +35 -0
  61. package/src/utils/{createDefaultOfflineStrategy.js → createDefaultOfflineStrategy.ts} +8 -3
  62. package/src/utils/createDefaultTokenStorageStrategy.ts +33 -0
  63. package/src/utils/{reactive.js → reactive.ts} +49 -40
  64. package/src/utils/stream-utils.node.ts +12 -0
  65. package/types/Api.d.ts +38 -82
  66. package/types/Api.d.ts.map +1 -0
  67. package/types/ApiClient.d.ts +244 -184
  68. package/types/ApiClient.d.ts.map +1 -0
  69. package/types/EJSONType.d.ts +48 -22
  70. package/types/EJSONType.d.ts.map +1 -0
  71. package/types/api/Badge.d.ts +20 -20
  72. package/types/api/Badge.d.ts.map +1 -0
  73. package/types/api/BaseEntity.d.ts +751 -446
  74. package/types/api/BaseEntity.d.ts.map +1 -0
  75. package/types/api/Comment.d.ts +36 -0
  76. package/types/api/EndpointApi.d.ts +347 -295
  77. package/types/api/EndpointApi.d.ts.map +1 -0
  78. package/types/api/EndpointApi.types.d.ts +3914 -4133
  79. package/types/api/EntityRegistry.d.ts +18 -16
  80. package/types/api/EntityRegistry.d.ts.map +1 -0
  81. package/types/api/Event.d.ts +119 -35
  82. package/types/api/Event.d.ts.map +1 -0
  83. package/types/api/News.d.ts +52 -20
  84. package/types/api/News.d.ts.map +1 -0
  85. package/types/api/Organization.d.ts +165 -49
  86. package/types/api/Organization.d.ts.map +1 -0
  87. package/types/api/Poi.d.ts +51 -22
  88. package/types/api/Poi.d.ts.map +1 -0
  89. package/types/api/Project.d.ts +151 -52
  90. package/types/api/Project.d.ts.map +1 -0
  91. package/types/api/User.d.ts +222 -93
  92. package/types/api/User.d.ts.map +1 -0
  93. package/types/api/UserApi.d.ts +60 -9
  94. package/types/api/UserApi.d.ts.map +1 -0
  95. package/types/api/serverDataType/Comment.d.ts +83 -0
  96. package/types/api/serverDataType/Event.d.ts +67 -0
  97. package/types/api/serverDataType/News.d.ts +130 -0
  98. package/types/api/serverDataType/Organization.d.ts +65 -0
  99. package/types/api/serverDataType/Organization.d.ts.map +1 -0
  100. package/types/api/serverDataType/Project.d.ts +58 -0
  101. package/types/api/serverDataType/Project.d.ts.map +1 -0
  102. package/types/api/serverDataType/User.d.ts +86 -0
  103. package/types/api/serverDataType/User.d.ts.map +1 -0
  104. package/types/api/serverDataType/common.d.ts +71 -0
  105. package/types/api/serverDataType/common.d.ts.map +1 -0
  106. package/types/endpoints.module.d.ts +6922 -1215
  107. package/types/endpoints.module.d.ts.map +1 -0
  108. package/types/error.d.ts +25 -51
  109. package/types/error.d.ts.map +1 -0
  110. package/types/index.d.ts +55 -48
  111. package/types/index.d.ts.map +1 -0
  112. package/types/mixin/UserMixin.d.ts +1 -1
  113. package/types/mixin/UserMixin.d.ts.map +1 -0
  114. package/types/types/api-responses.d.ts +190 -0
  115. package/types/types/api-responses.d.ts.map +1 -0
  116. package/types/types/entities.d.ts +17 -0
  117. package/types/types/entities.d.ts.map +1 -0
  118. package/types/types/error-guards.d.ts +99 -0
  119. package/types/types/error-guards.d.ts.map +1 -0
  120. package/types/types/index.d.ts +7 -0
  121. package/types/types/payloads.d.ts +17 -0
  122. package/types/types/payloads.d.ts.map +1 -0
  123. package/types/types/transforms.d.ts +79 -0
  124. package/types/types/transforms.d.ts.map +1 -0
  125. package/types/utils/FileOfflineStorageStrategy.node.d.ts +10 -9
  126. package/types/utils/FileOfflineStorageStrategy.node.d.ts.map +1 -0
  127. package/types/utils/FileStorageStrategy.node.d.ts +9 -20
  128. package/types/utils/FileStorageStrategy.node.d.ts.map +1 -0
  129. package/types/utils/MultiServerFileStorageStrategy.node.d.ts +13 -18
  130. package/types/utils/MultiServerFileStorageStrategy.node.d.ts.map +1 -0
  131. package/types/utils/MultiServerTokenStorageStrategy.d.ts +30 -51
  132. package/types/utils/MultiServerTokenStorageStrategy.d.ts.map +1 -0
  133. package/types/utils/OfflineClientManager.d.ts +52 -88
  134. package/types/utils/OfflineClientManager.d.ts.map +1 -0
  135. package/types/utils/OfflineQueueStorageStrategy.d.ts +12 -9
  136. package/types/utils/OfflineQueueStorageStrategy.d.ts.map +1 -0
  137. package/types/utils/TokenStorage.d.ts +20 -70
  138. package/types/utils/TokenStorage.d.ts.map +1 -0
  139. package/types/utils/compat.d.ts +4 -0
  140. package/types/utils/compat.d.ts.map +1 -0
  141. package/types/utils/createDefaultMultiServerTokenStorageStrategy.d.ts +2 -11
  142. package/types/utils/createDefaultMultiServerTokenStorageStrategy.d.ts.map +1 -0
  143. package/types/utils/createDefaultOfflineStrategy.d.ts +2 -3
  144. package/types/utils/createDefaultOfflineStrategy.d.ts.map +1 -0
  145. package/types/utils/createDefaultTokenStorageStrategy.d.ts +2 -12
  146. package/types/utils/createDefaultTokenStorageStrategy.d.ts.map +1 -0
  147. package/types/utils/reactive.d.ts +10 -16
  148. package/types/utils/reactive.d.ts.map +1 -0
  149. package/types/utils/stream-utils.node.d.ts +3 -2
  150. package/types/utils/stream-utils.node.d.ts.map +1 -0
  151. package/dist/123.cocolight-api-client.browser.js +0 -1
  152. package/dist/123.cocolight-api-client.cjs +0 -1
  153. package/dist/22.cocolight-api-client.mjs.js +0 -1
  154. package/dist/339.cocolight-api-client.mjs.js +0 -1
  155. package/dist/394.cocolight-api-client.browser.js +0 -1
  156. package/dist/394.cocolight-api-client.cjs +0 -1
  157. package/dist/405.cocolight-api-client.browser.js +0 -1
  158. package/dist/405.cocolight-api-client.cjs +0 -1
  159. package/dist/774.cocolight-api-client.mjs.js +0 -1
  160. package/dist/790.cocolight-api-client.mjs.js +0 -1
  161. package/dist/931.cocolight-api-client.browser.js +0 -1
  162. package/dist/931.cocolight-api-client.cjs +0 -1
  163. package/src/EJSONType.js +0 -53
  164. package/src/api/BaseEntity.js +0 -2828
  165. package/src/api/EntityRegistry.js +0 -152
  166. package/src/api/Event.js +0 -226
  167. package/src/api/News.js +0 -244
  168. package/src/api/UserApi.js +0 -81
  169. package/src/endpoints.module.js +0 -5
  170. package/src/error.js +0 -121
  171. package/src/index.js +0 -97
  172. package/src/mixin/UserMixin.js +0 -8
  173. package/src/utils/MultiServerFileStorageStrategy.node.js +0 -87
  174. package/src/utils/MultiServerTokenStorageStrategy.js +0 -188
  175. package/src/utils/OfflineQueueStorageStrategy.js +0 -51
  176. package/src/utils/TokenStorage.js +0 -153
  177. package/src/utils/createDefaultMultiServerTokenStorageStrategy.js +0 -51
  178. package/src/utils/createDefaultTokenStorageStrategy.js +0 -49
  179. package/src/utils/stream-utils.node.js +0 -10
@@ -1,22 +1,24 @@
1
- /**
2
- * Enregistre une entité dans la registry.
3
- * @param {string} tag - ex: "User", "Organization"
4
- * @param {Function} EntityClass - la classe constructeur
5
- */
6
- export function registerEntity(tag: string, EntityClass: Function): void;
1
+ import type { CollectionType } from "../types/entities.js";
2
+ export type EntityTag = "User" | "Organization" | "Project" | "Event" | "Poi" | "Badge" | "News" | "Comment";
3
+ export type CollectionKey = CollectionType;
4
+ type BaseEntity = import("./BaseEntity.js").BaseEntity<any>;
5
+ type ApiClient = import("../ApiClient.js").default;
6
+ type EndpointApiClass = typeof import("./EndpointApi.js").default;
7
+ type EntityConstructor = new (...args: any[]) => BaseEntity;
8
+ type EntityClass = EntityConstructor & {
9
+ fromJSON?: (json: unknown, parent?: ApiClient | BaseEntity | null, deps?: EntityDeps) => BaseEntity;
10
+ };
11
+ type EntityDeps = Partial<Record<EntityTag | "EndpointApi", EntityClass | EndpointApiClass | undefined>>;
12
+ export declare const EntityRegistry: Map<EntityTag | "EndpointApi", EntityClass | EndpointApiClass>;
13
+ export declare function registerEntity(tag: "EndpointApi", EntityClass: EndpointApiClass): void;
14
+ export declare function registerEntity(tag: EntityTag, EntityClass: EntityClass): void;
7
15
  /**
8
16
  * Récupère une instance depuis un JSON générique.
9
- * @param {Object} json - doit contenir __entityTag
10
- * @param {Object} parent - ApiClient ou entité parent
11
- * @param {Object} deps - dépendances (comme dans le constructeur)
12
- * @returns {BaseEntity|null}
17
+ * Si la collection ou la métadonnée d'entité est absente, renvoie l'objet d'origine.
13
18
  */
14
- export function fromEntityJSON(json: any, parent?: any): BaseEntity | null;
19
+ export declare function fromEntityJSON(json: unknown, parent?: ApiClient | BaseEntity | null): BaseEntity | unknown | null;
15
20
  /**
16
21
  * Crée une instance d'entité basée sur le seul nom de la collection.
17
- * @param {string} collection - ex: "citoyens", "projects", ...
18
- * @param {Object} parent - ApiClient ou entité parente
19
- * @returns {BaseEntity|null}
20
22
  */
21
- export function createFromCollection(collection: string, parent?: any, data?: {}): BaseEntity | null;
22
- export const EntityRegistry: Map<any, any>;
23
+ export declare function createFromCollection(collection: CollectionKey, parent?: ApiClient | BaseEntity | null, data?: object): BaseEntity | null;
24
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityRegistry.d.ts","sourceRoot":"","sources":["../../src/api/EntityRegistry.ts"],"names":[],"mappings":"AACA,KAAK,SAAS,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAC1F,KAAK,aAAa,GAAG,UAAU,GAAG,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AACtG,KAAK,UAAU,GAAG,OAAO,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AAC5D,KAAK,SAAS,GAAG,OAAO,iBAAiB,EAAE,OAAO,CAAC;AAEnD,KAAK,gBAAgB,GAAG,cAAc,kBAAkB,EAAE,OAAO,CAAC;AAClE,KAAK,iBAAiB,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC;AAC5D,KAAK,WAAW,GAAG,iBAAiB,GAAG;IACrC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,KAAK,UAAU,CAAC;CACrG,CAAC;AACF,KAAK,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,aAAa,EAAE,WAAW,GAAG,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC;AAoBzG,eAAO,MAAM,cAAc,EAAE,GAAG,CAAC,SAAS,GAAG,aAAa,EAAE,WAAW,GAAG,gBAAgB,CAAa,CAAC;AAGxG,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;AACxF,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;AAc/E;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,GAAE,SAAS,GAAG,UAAU,GAAG,IAAW,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,CAcvH;AA4CD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,GAAE,SAAS,GAAG,UAAU,GAAG,IAAW,EAAE,IAAI,GAAE,MAAW,GAAG,UAAU,GAAG,IAAI,CA2ClJ"}
@@ -1,38 +1,122 @@
1
- export class Event extends BaseEntity {
1
+ import { BaseEntity, PaginatorPage } from "./BaseEntity.js";
2
+ import type { AddEventData, GetAttendeesAdminData, GetAttendeesNoAdminData } from "./EndpointApi.types.js";
3
+ import type { User } from "./User.js";
4
+ import type { EventTransforms } from "../types/transforms.js";
5
+ type EventItemNormalized = import("./serverDataType/Event.js").EventItemNormalized;
6
+ export declare class Event extends BaseEntity<EventItemNormalized> {
2
7
  static entityType: string;
8
+ static entityTag: string;
3
9
  static SCHEMA_CONSTANTS: string[];
4
- static ADD_BLOCKS: Map<string, string>;
5
- static UPDATE_BLOCKS: Map<string, string>;
6
- defaultFields: {
7
- typeElement: string;
8
- };
9
- transforms: {
10
- parent: (val: any) => {
11
- [k: string]: {
12
- type: any;
13
- name: any;
14
- };
15
- };
16
- organizer: (val: any) => {
17
- [k: string]: {
18
- type: any;
19
- name: any;
20
- };
21
- };
22
- };
23
- _add(payload: any): Promise<void>;
24
- _update(payload: any): Promise<boolean>;
25
- addEvent(data?: {}): Promise<any>;
26
- getOrganizations(): Promise<void>;
27
- getProjects(): Promise<void>;
28
- getEvents(): Promise<void>;
29
- getPois(): Promise<void>;
30
- getBadgesIssuer(): Promise<void>;
31
- getNews(data?: {}): Promise<any>;
32
- getSubscribers(data?: {}): Promise<any>;
33
- project(): Promise<void>;
34
- poi(): Promise<void>;
35
- event(): Promise<void>;
36
- badge(): Promise<void>;
10
+ static ADD_BLOCKS: Map<"PROFIL_IMAGE" | "ADD_EVENT", "updateImageProfil" | "addEvent">;
11
+ static UPDATE_BLOCKS: Map<"UPDATE_BLOCK_SLUG" | "PROFIL_IMAGE", "updateImageProfil" | "updateSlug">;
12
+ defaultFields: Record<string, any>;
13
+ removeFields: string[];
14
+ transforms: EventTransforms;
15
+ _add: (payload: Record<string, any>) => Promise<void>;
16
+ _update: (payload: Record<string, any>) => Promise<boolean>;
17
+ addEvent(data?: Partial<AddEventData>): Promise<unknown>;
18
+ getOrganizations(): Promise<never>;
19
+ getProjects(): Promise<never>;
20
+ getEvents(): Promise<never>;
21
+ getPois(): Promise<never>;
22
+ getBadgesIssuer(): Promise<never>;
23
+ /**
24
+ * {@inheritDoc BaseEntity#getNews}
25
+ *
26
+ * Récupère les actualités de l'événement.
27
+ */
28
+ getNews(data?: Parameters<BaseEntity<EventItemNormalized>["getNews"]>[0]): Promise<import("./News.js").News[]>;
29
+ /**
30
+ * {@inheritDoc BaseEntity#getSubscribers}
31
+ *
32
+ * Récupère les abonnés de l'événement.
33
+ */
34
+ getSubscribers(data?: Parameters<BaseEntity<EventItemNormalized>["getSubscribers"]>[0]): Promise<PaginatorPage<User>>;
35
+ /**
36
+ * Récupérer les participants d'un événement.
37
+ * Constant : GET_ATTENDEES_NO_ADMIN
38
+ * @param data - Paramètres (partiels) de recherche/pagination.
39
+ * @param options - Options supplémentaires.
40
+ * @param options.toBeValidated - Indique si les participants doivent être validés.
41
+ * @param options.isAdmin - Indique si l'utilisateur est admin.
42
+ * @param options.isInviting - Indique si l'utilisateur est en attente d'invitation.
43
+ * @param options.roles - Liste des rôles à filtrer.
44
+ * @param isNext - Indique si c'est une recherche suivante (pagination).
45
+ * @returns - Un objet contenant le nombre de participants et la liste des participants.
46
+ * @throws {ApiResponseError} - Si une erreur se produit lors de la récupération des participants.
47
+ *
48
+ * @example
49
+ * // Récupérer tous les participants
50
+ * const participants = await project.getAttendees();
51
+ *
52
+ * // Récupérer les participants avec validation en attente
53
+ * const participantsToBeValidated = await project.getAttendees({}, { toBeValidated: true });
54
+ *
55
+ * // Récupérer les participants avec un rôle spécifique
56
+ * const contributorsWithRole = await project.getAttendees({}, { roles: ["admin"] });
57
+ *
58
+ * // Récupérer les participants administrateurs
59
+ * const adminParticipants = await project.getAttendees({}, { isAdmin: true });
60
+ *
61
+ * // Récupérer les participants en attente d'invitation
62
+ * const invitingParticipants = await project.getAttendees({}, { isInviting: true });
63
+ *
64
+ */
65
+ getAttendees(data?: Partial<GetAttendeesNoAdminData | GetAttendeesAdminData>, options?: {
66
+ toBeValidated?: boolean;
67
+ isAdmin?: boolean;
68
+ isAdminPending?: boolean;
69
+ isInviting?: boolean;
70
+ roles?: any[];
71
+ }): Promise<PaginatorPage<User>>;
72
+ project(): Promise<never>;
73
+ poi(): Promise<never>;
74
+ event(): Promise<never>;
75
+ badge(): Promise<never>;
76
+ /**
77
+ * {@inheritDoc BaseEntity#news}
78
+ *
79
+ * Crée une instance de news et la récupère si nécessaire.
80
+ */
81
+ news(newsData?: Parameters<BaseEntity<EventItemNormalized>["news"]>[0]): Promise<import("./News.js").News>;
82
+ /**
83
+ * ───────────────────────────────
84
+ * Lien utilisateur ↔ event
85
+ * (participation, abonnement)
86
+ * ───────────────────────────────
87
+ */
88
+ /**
89
+ * {@inheritDoc BaseEntity#requestToJoin}
90
+ *
91
+ * Rejoindre l'événement en tant que participant.
92
+ */
93
+ requestToJoin(): Promise<unknown>;
94
+ /**
95
+ * {@inheritDoc BaseEntity#acceptInvitation}
96
+ *
97
+ * Accepte une invitation à rejoindre l'événement.
98
+ * Cette action valide un lien en attente avec l'option `isInviting`.
99
+ */
100
+ acceptInvitation(): Promise<unknown>;
101
+ /**
102
+ * {@inheritDoc BaseEntity#leave}
103
+ *
104
+ * Quitte l'événement, que ce soit en tant que participant ou administrateur.
105
+ * Cette action supprime le lien entre l'utilisateur et l'événement.
106
+ */
107
+ leave(): Promise<unknown>;
108
+ /**
109
+ * {@inheritDoc BaseEntity#follow}
110
+ *
111
+ * Suivre un événement.
112
+ * Cette action permet à l'utilisateur de suivre un événement.
113
+ */
114
+ follow(): Promise<unknown>;
115
+ /**
116
+ * {@inheritDoc BaseEntity#unfollow}
117
+ *
118
+ * Se désabonne d'un événement.
119
+ */
120
+ unfollow(): Promise<unknown>;
37
121
  }
38
- import BaseEntity from "./BaseEntity.js";
122
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../src/api/Event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,qBAAa,KAAM,SAAQ,UAAU;IACnC,MAAM,CAAC,UAAU,SAAY;IAC7B,MAAM,CAAC,SAAS,SAAW;IAE3B,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAQ/B;IAEF,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAGnC;IAEH,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAOtC;IAEH,aAAa,EAAE,GAAG,CAEhB;IAEF,YAAY,EAAE,MAAM,EAAE,CAEpB;IAEF,UAAU,EAAE,eAAe,CAGzB;IAEF,IAAI,GAAU,SAAS,eAAe,KAAG,OAAO,CAAC,IAAI,CAAC,CAuBpD;IAEF,OAAO,GAAU,SAAS,kBAAkB,KAAG,OAAO,CAAC,OAAO,CAAC,CAwC9D;IAEK,QAAQ,CAAC,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAahD,0CAA0C;IACpC,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC;IAIxC,0CAA0C;IACpC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAInC,0CAA0C;IACpC,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC;IAIjC,0CAA0C;IACpC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;IAI/B,0CAA0C;IACpC,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;IAIjC,OAAO,CAAC,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,OAAO,iBAAiB,EAAE,aAAa,CAAC,OAAO,WAAW,EAAE,IAAI,CAAC,CAAC;IAInG,cAAc,CAAC,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,OAAO,iBAAiB,EAAE,aAAa,CAAC,OAAO,WAAW,EAAE,IAAI,CAAC,CAAC;IAIhH,0CAA0C;IACpC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;IAI/B,0CAA0C;IACpC,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;IAI3B,0CAA0C;IACpC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAI7B,0CAA0C;IACpC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAI7B;;;;;;OAMG;IACG,IAAI,CAAC,QAAQ,GAAE,GAAQ,GAAG,OAAO,CAAC,OAAO,WAAW,EAAE,IAAI,CAAC;IAIjE;;;;;;OAMG;IACG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;IAI5B;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;CAI/B"}
@@ -1,45 +1,77 @@
1
- export class News extends BaseEntity {
1
+ import { BaseEntity } from "./BaseEntity.js";
2
+ import type { Comment } from "./Comment.js";
3
+ import type { AddNewsData, UpdateNewsData } from "./EndpointApi.types.js";
4
+ import type { NewsItemNormalized } from "./serverDataType/News.js";
5
+ export declare class News extends BaseEntity<NewsItemNormalized> {
2
6
  static entityType: string;
7
+ static entityTag: string;
3
8
  static SCHEMA_CONSTANTS: string[];
4
- static ADD_BLOCKS: Map<string, string>;
5
- static UPDATE_BLOCKS: Map<string, string>;
6
- defaultFields: {};
7
- removeFields: any[];
9
+ static ADD_BLOCKS: Map<"ADD_NEWS", "addNews">;
10
+ static UPDATE_BLOCKS: Map<"ADD_NEWS", "updateNews">;
11
+ defaultFields: Record<string, any>;
12
+ removeFields: string[];
8
13
  transforms: {
9
14
  scope: (val: any) => any;
10
15
  mentions: (val: any) => any[];
11
16
  mediaImg: (val: any) => {
12
- countImages: any;
13
- images: any;
17
+ countImages: number;
18
+ images: string[];
14
19
  };
15
20
  mediaFile: (val: any) => {
16
- countFiles: any;
17
- files: any;
21
+ countFiles: number;
22
+ files: any[];
18
23
  };
19
24
  };
20
- _add(payload: any): Promise<void>;
21
- _update(payload: any): Promise<boolean>;
22
- addNews(data?: {}): Promise<any>;
23
- updateNews(data?: {}): Promise<any>;
25
+ /**
26
+ * Transforme les champs imbriqués (author, target, sharedBy, etc.) en instances d'entités.
27
+ * @param data - Les données brutes du serveur.
28
+ * @returns Les données transformées.
29
+ * @protected
30
+ */
31
+ protected _transformServerData(data: NewsItemNormalized): NewsItemNormalized;
32
+ /**
33
+ * Récupérer des actualités par IDs : Récupère des actualités à partir d'une liste d'identifiants.
34
+ * Constant : GET_NEWS_BY_ID
35
+ */
36
+ get(): Promise<Record<string, any>>;
37
+ _add: (payload: Record<string, any>) => Promise<void>;
38
+ _update: (payload: Record<string, any>) => Promise<boolean>;
39
+ addNews(data?: Partial<AddNewsData>): Promise<unknown>;
40
+ updateNews(data?: Partial<UpdateNewsData>): Promise<unknown>;
24
41
  addMention({ slug, id }: {
25
- slug: any;
26
- id: any;
27
- }): Promise<any>;
42
+ slug?: string;
43
+ id?: string;
44
+ }): Promise<any[]>;
28
45
  /**
29
46
  * Ajouter une image à une actualité : Ajoute une images à une actualité.
30
47
  * Constant : ADD_IMAGE_NEWS
31
48
  */
32
- addImage(image: any): Promise<any>;
49
+ addImage(image: File | Blob | Buffer | import("stream").Readable): Promise<{
50
+ id: string;
51
+ [key: string]: any;
52
+ }>;
33
53
  /**
34
54
  * Ajouter un fichier à une actualité : Ajoute un fichier à une actualité.
35
55
  * Constant : ADD_FILE_NEWS
36
56
  */
37
- addFile(file: any): Promise<any>;
57
+ addFile(file: File | Blob | Buffer | import("stream").Readable): Promise<unknown>;
38
58
  /**
39
59
  * Supprimer une actualité : Supprime une actualité existante.
40
60
  * Constant : DELETE_NEWS
41
61
  */
42
62
  delete(): Promise<void>;
43
- _isDeleted: boolean;
63
+ /**
64
+ * Créer une instance de commentaire pour cette news.
65
+ * @param commentData - Données du commentaire.
66
+ * @returns Instance de Comment.
67
+ */
68
+ comment(commentData?: Record<string, any>): Promise<Comment>;
69
+ /**
70
+ * Récupérer les commentaires : Récupère la liste de commentaires selon plusieurs critères.
71
+ * Constant : GET_COMMENTS
72
+ * @returns - Les données de réponse.
73
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
74
+ * @throws {Error} - En cas d'erreur inattendue.
75
+ */
76
+ getComments(): Promise<Comment[]>;
44
77
  }
45
- import BaseEntity from "./BaseEntity.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"News.d.ts","sourceRoot":"","sources":["../../src/api/News.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,IAAK,SAAQ,UAAU,CAAC,GAAG,CAAC;IACvC,MAAM,CAAC,UAAU,SAAU;IAE3B,MAAM,CAAC,SAAS,SAAU;IAE1B,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAE/B;IAEF,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEnC;IAEH,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtC;IAEH,aAAa,EAAE,GAAG,CAAM;IAExB,YAAY,EAAE,GAAG,EAAE,CAAM;IAEzB,UAAU,EAAE;QACV,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;QACzB,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;QAC9B,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK;YACtB,WAAW,EAAE,GAAG,CAAC;YACjB,MAAM,EAAE,GAAG,CAAC;SACb,CAAC;QACF,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK;YACvB,UAAU,EAAE,GAAG,CAAC;YAChB,KAAK,EAAE,GAAG,CAAC;SACZ,CAAC;KACH,CAcC;IAEF;;;OAGG;IACG,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAgBzB,IAAI,GAAU,SAAS,GAAG,KAAG,OAAO,CAAC,IAAI,CAAC,CAsCxC;IAEF,OAAO,GAAU,SAAS,GAAG,KAAG,OAAO,CAAC,OAAO,CAAC,CA+C9C;IAEI,OAAO,CAAC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpC,UAAU,CAAC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvC,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,EAAE,EAAE,GAAG,CAAC;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAmCrE;;;OAGG;IACG,QAAQ,CAAC,KAAK,KAAA;IAapB;;;OAGG;IACG,OAAO,CAAC,IAAI,KAAA;IAalB;;;OAGG;IACG,MAAM;CAab"}
@@ -1,44 +1,68 @@
1
- export class Organization extends BaseEntity {
1
+ import { BaseEntity } from "./BaseEntity.js";
2
+ import type { PaginatorPage } from "./BaseEntity.js";
3
+ import type { AddOrganizationData, GetMembersAdminData, GetMembersNoAdminData } from "./EndpointApi.types.js";
4
+ import type { User } from "./User.js";
5
+ type OrganizationItemNormalized = import("./serverDataType/Organization.js").OrganizationItemNormalized;
6
+ export declare class Organization extends BaseEntity<OrganizationItemNormalized> {
2
7
  static entityType: string;
8
+ static entityTag: string;
3
9
  static SCHEMA_CONSTANTS: string[];
4
- static ADD_BLOCKS: Map<string, string>;
5
- static UPDATE_BLOCKS: Map<string, string>;
6
- defaultFields: {
7
- typeElement: string;
8
- };
9
- transforms: {
10
- github: (val: any, full: any) => any;
11
- gitlab: (val: any, full: any) => any;
12
- facebook: (val: any, full: any) => any;
13
- twitter: (val: any, full: any) => any;
14
- instagram: (val: any, full: any) => any;
15
- diaspora: (val: any, full: any) => any;
16
- mastodon: (val: any, full: any) => any;
17
- telegram: (val: any, full: any) => any;
18
- signal: (val: any, full: any) => any;
19
- };
20
- _add(payload: any): Promise<void>;
21
- _update(payload: any): Promise<boolean>;
22
- addOrganization(data?: {}): Promise<any>;
23
- getOrganizations(): Promise<void>;
24
- getProjects(data?: {}): Promise<any>;
25
- getEvents(): Promise<void>;
26
- getPois(data?: {}): Promise<any>;
27
- getBadgesIssuer(data?: {}): Promise<any>;
28
- getNews(data?: {}): Promise<any>;
29
- getSubscribers(data?: {}): Promise<any>;
10
+ static ADD_BLOCKS: Map<"PROFIL_IMAGE" | "ADD_ORGANIZATION", "addOrganization" | "updateImageProfil">;
11
+ static UPDATE_BLOCKS: Map<"UPDATE_BLOCK_DESCRIPTION" | "UPDATE_BLOCK_INFO" | "UPDATE_BLOCK_SOCIAL" | "UPDATE_BLOCK_LOCALITY" | "UPDATE_BLOCK_SLUG" | "PROFIL_IMAGE", "updateImageProfil" | "updateDescription" | "updateSocial" | "updateLocality" | "updateInfo" | "updateSlug">;
12
+ defaultFields: Record<string, any>;
13
+ removeFields: string[];
14
+ transforms: Record<string, (val: any, full: any) => any>;
15
+ _add: (payload: Record<string, any>) => Promise<void>;
16
+ _update: (payload: Record<string, any>) => Promise<boolean>;
17
+ /**
18
+ * Ajoute une organisation.
19
+ *
20
+ * @param data - Données de l'organisation à ajouter.
21
+ * @throws {ApiError} - Si l'utilisateur n'est pas connecté ou si l'entité n'est pas enregistrée.
22
+ */
23
+ addOrganization(data: AddOrganizationData): Promise<unknown>;
24
+ getOrganizations(): Promise<never>;
25
+ /**
26
+ * {@inheritDoc BaseEntity#getProjects}
27
+ *
28
+ * Récupère les projets de l'organisation.
29
+ */
30
+ getProjects(data?: Parameters<BaseEntity<OrganizationItemNormalized>["getProjects"]>[0]): Promise<PaginatorPage<import("./Project.js").Project>>;
31
+ /**
32
+ * {@inheritDoc BaseEntity#getPois}
33
+ *
34
+ * Récupère les points d'intérêt de l'organisation.
35
+ */
36
+ getPois(data?: Parameters<BaseEntity<OrganizationItemNormalized>["getPois"]>[0]): Promise<PaginatorPage<import("./Poi.js").Poi>>;
37
+ /**
38
+ * {@inheritDoc BaseEntity#getBadgesIssuer}
39
+ *
40
+ * Récupère les émetteurs de badges de l'organisation.
41
+ */
42
+ getBadgesIssuer(data?: Parameters<BaseEntity<OrganizationItemNormalized>["getBadgesIssuer"]>[0]): Promise<PaginatorPage<import("./Badge.js").Badge>>;
43
+ /**
44
+ * {@inheritDoc BaseEntity#getNews}
45
+ *
46
+ * Récupère les actualités de l'organisation.
47
+ */
48
+ getNews(data?: Parameters<BaseEntity<OrganizationItemNormalized>["getNews"]>[0]): Promise<import("./News.js").News[]>;
49
+ /**
50
+ * {@inheritDoc BaseEntity#getSubscribers}
51
+ *
52
+ * Récupère les abonnés de l'organisation.
53
+ */
54
+ getSubscribers(data?: Parameters<BaseEntity<OrganizationItemNormalized>["getSubscribers"]>[0]): Promise<PaginatorPage<User>>;
30
55
  /**
31
56
  * Récupérer les membres de l'organisation.
32
57
  * Constant : GET_MEMBERS_ADMIN / GET_MEMBERS_NO_ADMIN
33
- * @param {Object} data - Les données de requête.
34
- * @param {Object} options - Options supplémentaires.
35
- * @param {boolean} options.toBeValidated - Indique si les membres doivent être validés.
36
- * @param {boolean} options.isAdmin - Indique si l'utilisateur est admin.
37
- * @param {boolean} options.isAdminPending - Indique si l'utilisateur est en attente de validation pour être admin.
38
- * @param {boolean} options.isInviting - Indique si l'utilisateur est en attente d'invitation.
39
- * @param {Array} options.roles - Liste des rôles à filtrer.
40
- * @param {boolean} isNext - Indique si c'est une recherche suivante (pagination).
41
- * @returns {Promise<Object>} - Un objet contenant le nombre de membres et la liste des membres.
58
+ * @param data - Paramètres (partiels) de recherche/pagination.
59
+ * @param options - Options supplémentaires.
60
+ * @param options.toBeValidated - Indique si les membres doivent être validés.
61
+ * @param options.isAdmin - Indique si l'utilisateur est admin.
62
+ * @param options.isAdminPending - Indique si l'utilisateur est en attente de validation pour être admin.
63
+ * @param options.isInviting - Indique si l'utilisateur est en attente d'invitation.
64
+ * @param options.roles - Liste des rôles à filtrer.
65
+ * @returns - Un objet contenant le nombre de membres et la liste des membres.
42
66
  * @throws {ApiResponseError} - Si une erreur se produit lors de la récupération des contributeurs.
43
67
  *
44
68
  * @example
@@ -68,20 +92,112 @@ export class Organization extends BaseEntity {
68
92
  *
69
93
  *
70
94
  */
71
- getMembers(data?: any, options?: {
72
- toBeValidated: boolean;
73
- isAdmin: boolean;
74
- isAdminPending: boolean;
75
- isInviting: boolean;
76
- roles: any[];
77
- }): Promise<any>;
95
+ getMembers(data?: Partial<GetMembersAdminData | GetMembersNoAdminData>, options?: {
96
+ toBeValidated?: boolean;
97
+ isAdmin?: boolean;
98
+ isAdminPending?: boolean;
99
+ isInviting?: boolean;
100
+ roles?: any[];
101
+ }): Promise<PaginatorPage<User | Organization>>;
102
+ /**
103
+ * {@inheritDoc BaseEntity#getGallery}
104
+ *
105
+ * Récupère la galerie de l'organisation.
106
+ */
107
+ getGallery(data?: Parameters<BaseEntity<OrganizationItemNormalized>["getGallery"]>[0]): Promise<Record<string, any>>;
108
+ /**
109
+ * {@inheritDoc BaseEntity#project}
110
+ *
111
+ * Crée une instance de projet et récupère son profil si nécessaire.
112
+ */
113
+ project(projectData?: Parameters<BaseEntity<OrganizationItemNormalized>["project"]>[0]): Promise<import("./Project.js").Project>;
114
+ /**
115
+ * {@inheritDoc BaseEntity#poi}
116
+ *
117
+ * Crée une instance de POI et la récupère si nécessaire.
118
+ */
119
+ poi(poiData?: Parameters<BaseEntity<OrganizationItemNormalized>["poi"]>[0]): Promise<import("./Poi.js").Poi>;
120
+ /**
121
+ * {@inheritDoc BaseEntity#event}
122
+ *
123
+ * Crée une instance d'événement et la récupère si nécessaire.
124
+ */
125
+ event(eventData?: Parameters<BaseEntity<OrganizationItemNormalized>["event"]>[0]): Promise<import("./Event.js").Event>;
126
+ /**
127
+ * {@inheritDoc BaseEntity#badge}
128
+ *
129
+ * Crée une instance de badge et la récupère si nécessaire.
130
+ */
131
+ badge(badgeData?: Parameters<BaseEntity<OrganizationItemNormalized>["badge"]>[0]): Promise<import("./Badge.js").Badge>;
132
+ /**
133
+ * {@inheritDoc BaseEntity#news}
134
+ *
135
+ * Crée une instance de news et la récupère si nécessaire.
136
+ */
137
+ news(newsData?: Parameters<BaseEntity<OrganizationItemNormalized>["news"]>[0]): Promise<import("./News.js").News>;
138
+ /**
139
+ * ───────────────────────────────
140
+ * Lien utilisateur ↔ organisation
141
+ * (rejoindre, valider, quitter, devenir admin)
142
+ * ───────────────────────────────
143
+ */
144
+ /**
145
+ * {@inheritDoc BaseEntity#requestToJoin}
146
+ *
147
+ * Envoie une demande pour rejoindre l'organisation en tant que membre.
148
+ * L'action est soumise à validation par un administrateur de l'organisation.
149
+ */
150
+ requestToJoin(): Promise<unknown>;
151
+ /**
152
+ * {@inheritDoc BaseEntity#requestToJoinAdmin}
153
+ *
154
+ * Envoie une demande pour rejoindre l'organisation en tant qu'administrateur.
155
+ * L'action est soumise à validation par un administrateur existant.
156
+ */
157
+ requestToJoinAdmin(): Promise<unknown>;
158
+ /**
159
+ * {@inheritDoc BaseEntity#acceptInvitation}
160
+ *
161
+ * Accepte une invitation à rejoindre l'organisation.
162
+ * Cette action valide un lien en attente avec l'option `isInviting`.
163
+ */
164
+ acceptInvitation(): Promise<unknown>;
165
+ /**
166
+ * {@inheritDoc BaseEntity#leave}
167
+ *
168
+ * Quitte l'organisation, que ce soit en tant que membre ou administrateur.
169
+ * Cette action supprime le lien entre l'utilisateur et l'organisation.
170
+ */
171
+ leave(): Promise<unknown>;
172
+ /**
173
+ * {@inheritDoc BaseEntity#follow}
174
+ *
175
+ * Suivre une organisation.
176
+ * Cette action permet à l'utilisateur de suivre l'organisation.
177
+ */
178
+ follow(): Promise<unknown>;
179
+ /**
180
+ * {@inheritDoc BaseEntity#unfollow}
181
+ *
182
+ * Se désabonne d'une organisation.
183
+ */
184
+ unfollow(): Promise<unknown>;
185
+ /**
186
+ * ───────────────────────────────
187
+ * costum
188
+ * ───────────────────────────────
189
+ */
190
+ /**
191
+ * {@inheritDoc BaseEntity#getCostumJson}
192
+ *
193
+ * Récupère le JSON personnalisé de l'organisation.
194
+ */
195
+ getCostumJson(): Promise<unknown>;
78
196
  /**
79
- * recherche lié à l'organisation
197
+ * {@inheritDoc BaseEntity#searchCostum}
80
198
  *
81
- * @param {Object} data - Les données de recherche.
82
- * @returns {Promise<Object>} - Résultat de la recherche.
83
- * @throws {ApiError} - Si le slug ou l'id de l'organisation n'est pas défini.
199
+ * Cette surcharge précise que la recherche est faite dans le contexte de l'organisation.
84
200
  */
85
- searchCostum(data?: any): Promise<any>;
201
+ searchCostum(data: Parameters<BaseEntity<OrganizationItemNormalized>["searchCostum"]>[0]): Promise<PaginatorPage<any>>;
86
202
  }
87
- import BaseEntity from "./BaseEntity.js";
203
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Organization.d.ts","sourceRoot":"","sources":["../../src/api/Organization.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,54 @@
1
- export class Poi extends BaseEntity {
1
+ import { BaseEntity } from "./BaseEntity.js";
2
+ import type { AddPoiData } from "./EndpointApi.types.js";
3
+ export declare class Poi extends BaseEntity<any> {
2
4
  static entityType: string;
5
+ static entityTag: string;
3
6
  static SCHEMA_CONSTANTS: string[];
4
- static ADD_BLOCKS: Map<string, string>;
5
- static UPDATE_BLOCKS: Map<string, string>;
6
- defaultFields: {
7
- typeElement: string;
8
- };
9
- transforms: {};
10
- _add(payload: any): Promise<void>;
11
- _update(payload: any): Promise<boolean>;
12
- addPoi(data?: {}): Promise<any>;
13
- getOrganizations(): Promise<void>;
14
- getProjects(): Promise<void>;
15
- getEvents(): Promise<void>;
16
- getPois(): Promise<void>;
17
- getBadgesIssuer(): Promise<void>;
18
- getNews(data?: {}): Promise<any>;
19
- getSubscribers(data?: {}): Promise<any>;
20
- project(): Promise<void>;
21
- poi(): Promise<void>;
22
- event(): Promise<void>;
23
- badge(): Promise<void>;
7
+ static ADD_BLOCKS: Map<"PROFIL_IMAGE" | "ADD_POI", "updateImageProfil" | "addPoi">;
8
+ static UPDATE_BLOCKS: Map<"UPDATE_BLOCK_DESCRIPTION" | "UPDATE_BLOCK_INFO" | "UPDATE_BLOCK_LOCALITY" | "UPDATE_BLOCK_SLUG" | "PROFIL_IMAGE", "updateImageProfil" | "updateDescription" | "updateLocality" | "updateInfo" | "updateSlug">;
9
+ defaultFields: Record<string, any>;
10
+ removeFields: string[];
11
+ _add: (payload: Record<string, any>) => Promise<void>;
12
+ _update: (payload: Record<string, any>) => Promise<boolean>;
13
+ addPoi(data?: Partial<AddPoiData>): Promise<unknown>;
14
+ getOrganizations(): Promise<never>;
15
+ getProjects(): Promise<never>;
16
+ getEvents(): Promise<never>;
17
+ getPois(): Promise<never>;
18
+ getBadgesIssuer(): Promise<never>;
19
+ /**
20
+ * {@inheritDoc BaseEntity#getNews}
21
+ *
22
+ * Récupère les actualités du POI.
23
+ */
24
+ getNews(data?: Parameters<BaseEntity<any>["getNews"]>[0]): Promise<import("./News.js").News[]>;
25
+ /**
26
+ * {@inheritDoc BaseEntity#getSubscribers}
27
+ *
28
+ * Récupère les abonnés du POI.
29
+ */
30
+ getSubscribers(data?: Parameters<BaseEntity<any>["getSubscribers"]>[0]): Promise<import("./BaseEntity.js").PaginatorPage<import("./User.js").User>>;
31
+ project(): Promise<never>;
32
+ poi(): Promise<never>;
33
+ event(): Promise<never>;
34
+ badge(): Promise<never>;
35
+ /**
36
+ * {@inheritDoc BaseEntity#news}
37
+ *
38
+ * Crée une instance de news et la récupère si nécessaire.
39
+ */
40
+ news(newsData?: Parameters<BaseEntity<any>["news"]>[0]): Promise<import("./News.js").News>;
41
+ /**
42
+ * {@inheritDoc BaseEntity#follow}
43
+ *
44
+ * Suivre un POI.
45
+ * Cette action permet à l'utilisateur de suivre un POI.
46
+ */
47
+ follow(): Promise<unknown>;
48
+ /**
49
+ * {@inheritDoc BaseEntity#unfollow}
50
+ *
51
+ * Se désabonne d'un POI.
52
+ */
53
+ unfollow(): Promise<unknown>;
24
54
  }
25
- import BaseEntity from "./BaseEntity.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Poi.d.ts","sourceRoot":"","sources":["../../src/api/Poi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,GAAI,SAAQ,UAAU,CAAC,GAAG,CAAC;IACtC,MAAM,CAAC,UAAU,SAAS;IAE1B,MAAM,CAAC,SAAS,SAAS;IAEzB,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAO/B;IAEF,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAGnC;IAEH,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMtC;IAEH,aAAa,EAAE;QACb,WAAW,EAAE,UAAU,GAAG,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;KAC/F,CAEC;IAEF,YAAY,EAAE,MAAM,EAAE,CAEpB;IAMF,IAAI,GAAU,SAAS,GAAG,KAAG,OAAO,CAAC,IAAI,CAAC,CAuBxC;IAEF,OAAO,GAAU,SAAS,GAAG,KAAG,OAAO,CAAC,OAAO,CAAC,CA0B9C;IAEI,MAAM,CAAC,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAanC,gBAAgB,IAAI,OAAO,CAAC,OAAO,iBAAiB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAIzE,WAAW,IAAI,OAAO,CAAC,OAAO,iBAAiB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAIpE,SAAS,IAAI,OAAO,CAAC,OAAO,iBAAiB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAIlE,OAAO,IAAI,OAAO,CAAC,OAAO,iBAAiB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAIhE,eAAe,IAAI,OAAO,CAAC,OAAO,iBAAiB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAIxE,OAAO,CAAC,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,OAAO,iBAAiB,EAAE,aAAa,CAAC,OAAO,WAAW,EAAE,IAAI,CAAC,CAAC;IAInG,cAAc,CAAC,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,OAAO,iBAAiB,EAAE,aAAa,CAAC,OAAO,WAAW,EAAE,IAAI,CAAC,CAAC;IAI1G,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAIvB,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAInB,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC;IAIrB,IAAI,CAAC,QAAQ,GAAE,GAAQ,GAAG,OAAO,CAAC,OAAO,WAAW,EAAE,IAAI,CAAC;IAIjE;;;;;;OAMG;IACG,MAAM;IAIZ;;;;;OAKG;IACG,QAAQ;CAKf"}