@communecter/cocolight-api-client 1.0.51 → 1.0.55

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 +28 -10
  19. package/src/{Api.js → Api.ts} +99 -91
  20. package/src/{ApiClient.js → ApiClient.ts} +444 -240
  21. package/src/EJSONType.ts +103 -0
  22. package/src/api/{Badge.js → Badge.ts} +56 -45
  23. package/src/api/BaseEntity.ts +3897 -0
  24. package/src/api/Comment.ts +200 -0
  25. package/src/api/{EndpointApi.js → EndpointApi.ts} +365 -299
  26. package/src/api/{EndpointApi.types.d.ts → EndpointApi.types.ts} +166 -9
  27. package/src/api/EntityRegistry.ts +208 -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} +17 -14
  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 +87 -0
  66. package/types/Api.d.ts.map +1 -0
  67. package/types/ApiClient.d.ts +437 -0
  68. package/types/ApiClient.d.ts.map +1 -0
  69. package/types/EJSONType.d.ts +53 -0
  70. package/types/EJSONType.d.ts.map +1 -0
  71. package/types/api/Badge.d.ts +24 -0
  72. package/types/api/Badge.d.ts.map +1 -0
  73. package/types/api/BaseEntity.d.ts +1322 -0
  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 +985 -0
  77. package/types/api/EndpointApi.d.ts.map +1 -0
  78. package/types/api/EndpointApi.types.d.ts +4233 -0
  79. package/types/api/EntityRegistry.d.ts +24 -0
  80. package/types/api/EntityRegistry.d.ts.map +1 -0
  81. package/types/api/Event.d.ts +122 -0
  82. package/types/api/Event.d.ts.map +1 -0
  83. package/types/api/News.d.ts +77 -0
  84. package/types/api/News.d.ts.map +1 -0
  85. package/types/api/Organization.d.ts +203 -0
  86. package/types/api/Organization.d.ts.map +1 -0
  87. package/types/api/Poi.d.ts +54 -0
  88. package/types/api/Poi.d.ts.map +1 -0
  89. package/types/api/Project.d.ts +180 -0
  90. package/types/api/Project.d.ts.map +1 -0
  91. package/types/api/User.d.ts +332 -0
  92. package/types/api/User.d.ts.map +1 -0
  93. package/types/api/UserApi.d.ts +64 -0
  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 +20559 -0
  107. package/types/endpoints.module.d.ts.map +1 -0
  108. package/types/error.d.ts +54 -0
  109. package/types/error.d.ts.map +1 -0
  110. package/types/index.d.ts +59 -0
  111. package/types/index.d.ts.map +1 -0
  112. package/types/mixin/UserMixin.d.ts +1 -0
  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 +11 -0
  126. package/types/utils/FileOfflineStorageStrategy.node.d.ts.map +1 -0
  127. package/types/utils/FileStorageStrategy.node.d.ts +14 -0
  128. package/types/utils/FileStorageStrategy.node.d.ts.map +1 -0
  129. package/types/utils/MultiServerFileStorageStrategy.node.d.ts +17 -0
  130. package/types/utils/MultiServerFileStorageStrategy.node.d.ts.map +1 -0
  131. package/types/utils/MultiServerTokenStorageStrategy.d.ts +44 -0
  132. package/types/utils/MultiServerTokenStorageStrategy.d.ts.map +1 -0
  133. package/types/utils/OfflineClientManager.d.ts +58 -0
  134. package/types/utils/OfflineClientManager.d.ts.map +1 -0
  135. package/types/utils/OfflineQueueStorageStrategy.d.ts +16 -0
  136. package/types/utils/OfflineQueueStorageStrategy.d.ts.map +1 -0
  137. package/types/utils/TokenStorage.d.ts +26 -0
  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 -0
  142. package/types/utils/createDefaultMultiServerTokenStorageStrategy.d.ts.map +1 -0
  143. package/types/utils/createDefaultOfflineStrategy.d.ts +2 -0
  144. package/types/utils/createDefaultOfflineStrategy.d.ts.map +1 -0
  145. package/types/utils/createDefaultTokenStorageStrategy.d.ts +2 -0
  146. package/types/utils/createDefaultTokenStorageStrategy.d.ts.map +1 -0
  147. package/types/utils/reactive.d.ts +54 -0
  148. package/types/utils/reactive.d.ts.map +1 -0
  149. package/types/utils/stream-utils.node.d.ts +3 -0
  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 -68
  171. package/src/index.js +0 -34
  172. package/src/mixin/UserMixin.js +0 -8
  173. package/src/utils/MultiServerFileStorageStrategy.node.js +0 -65
  174. package/src/utils/MultiServerTokenStorageStrategy.js +0 -131
  175. package/src/utils/OfflineQueueStorageStrategy.js +0 -51
  176. package/src/utils/TokenStorage.js +0 -93
  177. package/src/utils/createDefaultMultiServerTokenStorageStrategy.js +0 -45
  178. package/src/utils/createDefaultTokenStorageStrategy.js +0 -43
  179. package/src/utils/stream-utils.node.js +0 -10
@@ -0,0 +1,24 @@
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;
15
+ /**
16
+ * Récupère une instance depuis un JSON générique.
17
+ * Si la collection ou la métadonnée d'entité est absente, renvoie l'objet d'origine.
18
+ */
19
+ export declare function fromEntityJSON(json: unknown, parent?: ApiClient | BaseEntity | null): BaseEntity | unknown | null;
20
+ /**
21
+ * Crée une instance d'entité basée sur le seul nom de la collection.
22
+ */
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"}
@@ -0,0 +1,122 @@
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> {
7
+ static entityType: string;
8
+ static entityTag: string;
9
+ static SCHEMA_CONSTANTS: string[];
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>;
121
+ }
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"}
@@ -0,0 +1,77 @@
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> {
6
+ static entityType: string;
7
+ static entityTag: string;
8
+ static SCHEMA_CONSTANTS: string[];
9
+ static ADD_BLOCKS: Map<"ADD_NEWS", "addNews">;
10
+ static UPDATE_BLOCKS: Map<"ADD_NEWS", "updateNews">;
11
+ defaultFields: Record<string, any>;
12
+ removeFields: string[];
13
+ transforms: {
14
+ scope: (val: any) => any;
15
+ mentions: (val: any) => any[];
16
+ mediaImg: (val: any) => {
17
+ countImages: number;
18
+ images: string[];
19
+ };
20
+ mediaFile: (val: any) => {
21
+ countFiles: number;
22
+ files: any[];
23
+ };
24
+ };
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>;
41
+ addMention({ slug, id }: {
42
+ slug?: string;
43
+ id?: string;
44
+ }): Promise<any[]>;
45
+ /**
46
+ * Ajouter une image à une actualité : Ajoute une images à une actualité.
47
+ * Constant : ADD_IMAGE_NEWS
48
+ */
49
+ addImage(image: File | Blob | Buffer | import("stream").Readable): Promise<{
50
+ id: string;
51
+ [key: string]: any;
52
+ }>;
53
+ /**
54
+ * Ajouter un fichier à une actualité : Ajoute un fichier à une actualité.
55
+ * Constant : ADD_FILE_NEWS
56
+ */
57
+ addFile(file: File | Blob | Buffer | import("stream").Readable): Promise<unknown>;
58
+ /**
59
+ * Supprimer une actualité : Supprime une actualité existante.
60
+ * Constant : DELETE_NEWS
61
+ */
62
+ delete(): Promise<void>;
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[]>;
77
+ }
@@ -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"}
@@ -0,0 +1,203 @@
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> {
7
+ static entityType: string;
8
+ static entityTag: string;
9
+ static SCHEMA_CONSTANTS: string[];
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>>;
55
+ /**
56
+ * Récupérer les membres de l'organisation.
57
+ * Constant : GET_MEMBERS_ADMIN / GET_MEMBERS_NO_ADMIN
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.
66
+ * @throws {ApiResponseError} - Si une erreur se produit lors de la récupération des contributeurs.
67
+ *
68
+ * @example
69
+ * // Récupérer tous les membres
70
+ * const members = await organization.getMembers();
71
+ *
72
+ * // Récupérer les membres avec validation en attente
73
+ * const membersToBeValidated = await organization.getMembers({}, { toBeValidated: true });
74
+ *
75
+ * // Récupérer les membres avec un rôle spécifique
76
+ * const membersWithRole = await organization.getMembers({}, { roles: ['admin'] });
77
+ *
78
+ * // Récupérer les membres en attente d'invitation
79
+ * const invitingMembers = await organization.getMembers({}, { isInviting: true });
80
+ *
81
+ * // Récupérer les membres admin
82
+ * const adminMembers = await organization.getMembers({}, { isAdmin: true });
83
+ *
84
+ * // Récupérer les membres admin et en attente d'invitation
85
+ * const adminInvitingMembers = await organization.getMembers({}, { isAdmin: true, isInviting: true });
86
+ *
87
+ * // Récupérer les membres avec validation en attente et admin
88
+ * const adminToBeValidatedMembers = await organization.getMembers({}, { toBeValidated: true, isAdmin: true });
89
+ *
90
+ * // Récupérer les membres en attente de validation pour être admin
91
+ * const adminPendingMembers = await organization.getMembers({}, { isAdminPending: true });
92
+ *
93
+ *
94
+ */
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>;
196
+ /**
197
+ * {@inheritDoc BaseEntity#searchCostum}
198
+ *
199
+ * Cette surcharge précise que la recherche est faite dans le contexte de l'organisation.
200
+ */
201
+ searchCostum(data: Parameters<BaseEntity<OrganizationItemNormalized>["searchCostum"]>[0]): Promise<PaginatorPage<any>>;
202
+ }
203
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Organization.d.ts","sourceRoot":"","sources":["../../src/api/Organization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { BaseEntity } from "./BaseEntity.js";
2
+ import type { AddPoiData } from "./EndpointApi.types.js";
3
+ export declare class Poi extends BaseEntity<any> {
4
+ static entityType: string;
5
+ static entityTag: string;
6
+ static SCHEMA_CONSTANTS: string[];
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>;
54
+ }
@@ -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"}