@edifice.io/community-client-rest-rn 1.0.0-develop-pedago.4

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 (69) hide show
  1. package/clients/adapters/fetch-adapter.d.ts +12 -0
  2. package/clients/adapters/fetch-adapter.js +85 -0
  3. package/clients/adapters/fetch-adapter.js.map +1 -0
  4. package/clients/adapters/http-adapter.d.ts +8 -0
  5. package/clients/adapters/http-adapter.js +3 -0
  6. package/clients/adapters/http-adapter.js.map +1 -0
  7. package/clients/adapters/http-service-adapter.d.ts +12 -0
  8. package/clients/adapters/http-service-adapter.js +40 -0
  9. package/clients/adapters/http-service-adapter.js.map +1 -0
  10. package/clients/base-api.client.d.ts +27 -0
  11. package/clients/base-api.client.js +62 -0
  12. package/clients/base-api.client.js.map +1 -0
  13. package/clients/community.client.d.ts +13 -0
  14. package/clients/community.client.js +60 -0
  15. package/clients/community.client.js.map +1 -0
  16. package/clients/index.d.ts +3 -0
  17. package/clients/index.js +20 -0
  18. package/clients/index.js.map +1 -0
  19. package/clients/invitation.client.d.ts +22 -0
  20. package/clients/invitation.client.js +78 -0
  21. package/clients/invitation.client.js.map +1 -0
  22. package/clients/membership.client.d.ts +11 -0
  23. package/clients/membership.client.js +34 -0
  24. package/clients/membership.client.js.map +1 -0
  25. package/decorators/custom-type.decorator.browser.d.ts +3 -0
  26. package/decorators/custom-type.decorator.browser.js +15 -0
  27. package/decorators/custom-type.decorator.browser.js.map +1 -0
  28. package/decorators/custom-type.decorator.node.d.ts +3 -0
  29. package/dtos/announcement.d.ts +22 -0
  30. package/dtos/announcement.js +99 -0
  31. package/dtos/announcement.js.map +1 -0
  32. package/dtos/base.d.ts +24 -0
  33. package/dtos/base.js +118 -0
  34. package/dtos/base.js.map +1 -0
  35. package/dtos/community.d.ts +78 -0
  36. package/dtos/community.js +472 -0
  37. package/dtos/community.js.map +1 -0
  38. package/dtos/discussion.d.ts +6 -0
  39. package/dtos/discussion.js +30 -0
  40. package/dtos/discussion.js.map +1 -0
  41. package/dtos/folder.d.ts +36 -0
  42. package/dtos/folder.js +190 -0
  43. package/dtos/folder.js.map +1 -0
  44. package/dtos/index.d.ts +9 -0
  45. package/dtos/index.js +26 -0
  46. package/dtos/index.js.map +1 -0
  47. package/dtos/invitation.d.ts +101 -0
  48. package/dtos/invitation.js +486 -0
  49. package/dtos/invitation.js.map +1 -0
  50. package/dtos/membership.d.ts +54 -0
  51. package/dtos/membership.js +219 -0
  52. package/dtos/membership.js.map +1 -0
  53. package/dtos/resource.d.ts +69 -0
  54. package/dtos/resource.js +326 -0
  55. package/dtos/resource.js.map +1 -0
  56. package/dtos/wiki.d.ts +3 -0
  57. package/dtos/wiki.js +22 -0
  58. package/dtos/wiki.js.map +1 -0
  59. package/index.d.ts +3 -0
  60. package/index.js +21 -0
  61. package/index.js.map +1 -0
  62. package/mocks/index.d.ts +1 -0
  63. package/mocks/index.js +18 -0
  64. package/mocks/index.js.map +1 -0
  65. package/mocks/search-community-response.mock.d.ts +10 -0
  66. package/mocks/search-community-response.mock.js +96 -0
  67. package/mocks/search-community-response.mock.js.map +1 -0
  68. package/package.json +12 -0
  69. package/tsconfig.browser.tsbuildinfo +1 -0
@@ -0,0 +1,12 @@
1
+ import { HttpAdapter } from './http-adapter';
2
+ export declare class FetchAdapter implements HttpAdapter {
3
+ private readonly fetchImpl;
4
+ constructor(fetchImpl?: typeof fetch);
5
+ private handleResponse;
6
+ get<T>(url: string, headers?: Record<string, string>): Promise<T>;
7
+ post<T>(url: string, body: any, headers?: Record<string, string>): Promise<T>;
8
+ put<T>(url: string, body: any, headers?: Record<string, string>): Promise<T>;
9
+ patch<T>(url: string, body: any, headers?: Record<string, string>): Promise<T>;
10
+ delete<T>(url: string, headers?: Record<string, string>): Promise<T>;
11
+ deleteWithBody<T>(url: string, body: any, headers?: Record<string, string>): Promise<T>;
12
+ }
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FetchAdapter = void 0;
4
+ class FetchAdapter {
5
+ fetchImpl;
6
+ constructor(fetchImpl = fetch) {
7
+ this.fetchImpl = fetchImpl;
8
+ }
9
+ async handleResponse(response) {
10
+ if (!response.ok) {
11
+ throw new Error(`API request failed: ${response.statusText}`);
12
+ }
13
+ const contentType = response.headers.get('content-type');
14
+ if (contentType && contentType.includes('application/json')) {
15
+ return await response.json();
16
+ }
17
+ return {};
18
+ }
19
+ async get(url, headers) {
20
+ const response = await this.fetchImpl(url, {
21
+ method: 'GET',
22
+ headers,
23
+ credentials: 'include',
24
+ });
25
+ return this.handleResponse(response);
26
+ }
27
+ async post(url, body, headers) {
28
+ const response = await this.fetchImpl(url, {
29
+ method: 'POST',
30
+ headers: {
31
+ 'Content-Type': 'application/json',
32
+ ...headers,
33
+ },
34
+ body: JSON.stringify(body),
35
+ credentials: 'include',
36
+ });
37
+ return this.handleResponse(response);
38
+ }
39
+ async put(url, body, headers) {
40
+ const response = await this.fetchImpl(url, {
41
+ method: 'PUT',
42
+ headers: {
43
+ 'Content-Type': 'application/json',
44
+ ...headers,
45
+ },
46
+ body: JSON.stringify(body),
47
+ credentials: 'include',
48
+ });
49
+ return this.handleResponse(response);
50
+ }
51
+ async patch(url, body, headers) {
52
+ const response = await this.fetchImpl(url, {
53
+ method: 'PATCH',
54
+ headers: {
55
+ 'Content-Type': 'application/json',
56
+ ...headers,
57
+ },
58
+ body: JSON.stringify(body),
59
+ credentials: 'include',
60
+ });
61
+ return this.handleResponse(response);
62
+ }
63
+ async delete(url, headers) {
64
+ const response = await this.fetchImpl(url, {
65
+ method: 'DELETE',
66
+ headers,
67
+ credentials: 'include',
68
+ });
69
+ return this.handleResponse(response);
70
+ }
71
+ async deleteWithBody(url, body, headers) {
72
+ const response = await this.fetchImpl(url, {
73
+ method: 'DELETE',
74
+ headers: {
75
+ 'Content-Type': 'application/json',
76
+ ...headers,
77
+ },
78
+ body: JSON.stringify(body),
79
+ credentials: 'include',
80
+ });
81
+ return this.handleResponse(response);
82
+ }
83
+ }
84
+ exports.FetchAdapter = FetchAdapter;
85
+ //# sourceMappingURL=fetch-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-adapter.js","sourceRoot":"","sources":["../../../../src/clients/adapters/fetch-adapter.ts"],"names":[],"mappings":";;;AAKA,MAAa,YAAY;IACM;IAA7B,YAA6B,YAA0B,KAAK;QAA/B,cAAS,GAAT,SAAS,CAAsB;IAAG,CAAC;IAExD,KAAK,CAAC,cAAc,CAAI,QAAkB;QAChD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAChE,CAAC;QAGD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5D,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO,EAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,OAAgC;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YACzC,MAAM,EAAE,KAAK;YACb,OAAO;YACP,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,GAAW,EAAE,IAAS,EAAE,OAAgC;QACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YACzC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO;aACX;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,IAAS,EAAE,OAAgC;QACnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YACzC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO;aACX;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CAAI,GAAW,EAAE,IAAS,EAAE,OAAgC;QACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YACzC,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO;aACX;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CAAI,GAAW,EAAE,OAAgC;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YACzC,MAAM,EAAE,QAAQ;YAChB,OAAO;YACP,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,cAAc,CAAI,GAAW,EAAE,IAAS,EAAE,OAAgC;QAC9E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YACzC,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO;aACX;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAI,QAAQ,CAAC,CAAC;IAC1C,CAAC;CACF;AAtFD,oCAsFC"}
@@ -0,0 +1,8 @@
1
+ export interface HttpAdapter {
2
+ get<T>(url: string, headers?: Record<string, string>): Promise<T>;
3
+ post<T>(url: string, body: any, headers?: Record<string, string>): Promise<T>;
4
+ put<T>(url: string, body: any, headers?: Record<string, string>): Promise<T>;
5
+ patch<T>(url: string, body: any, headers?: Record<string, string>): Promise<T>;
6
+ delete<T>(url: string, headers?: Record<string, string>): Promise<T>;
7
+ deleteWithBody<T>(url: string, body: any, headers?: Record<string, string>): Promise<T>;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=http-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-adapter.js","sourceRoot":"","sources":["../../../../src/clients/adapters/http-adapter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import type { HttpService } from '@edifice.io/client/dist/transport/Service';
2
+ import { HttpAdapter } from './http-adapter';
3
+ export declare class HttpServiceAdapter implements HttpAdapter {
4
+ private readonly httpService;
5
+ constructor(httpService: HttpService);
6
+ get<T>(url: string, headers?: Record<string, string>): Promise<T>;
7
+ post<T>(url: string, body: any, headers?: Record<string, string>): Promise<T>;
8
+ put<T>(url: string, body: any, headers?: Record<string, string>): Promise<T>;
9
+ patch<T>(url: string, body: any, headers?: Record<string, string>): Promise<T>;
10
+ delete<T>(url: string, headers?: Record<string, string>): Promise<T>;
11
+ deleteWithBody<T>(url: string, body: any, headers?: Record<string, string>): Promise<T>;
12
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpServiceAdapter = void 0;
4
+ class HttpServiceAdapter {
5
+ httpService;
6
+ constructor(httpService) {
7
+ this.httpService = httpService;
8
+ }
9
+ async get(url, headers) {
10
+ const params = headers ? { headers } : undefined;
11
+ return this.httpService.get(url, params);
12
+ }
13
+ async post(url, body, headers) {
14
+ const params = headers ? { headers } : undefined;
15
+ return this.httpService.postJson(url, body, params);
16
+ }
17
+ async put(url, body, headers) {
18
+ const params = headers ? { headers } : undefined;
19
+ return this.httpService.putJson(url, body, params);
20
+ }
21
+ async patch(url, body, headers) {
22
+ const params = {
23
+ headers: {
24
+ ...headers,
25
+ 'X-HTTP-Method-Override': 'PATCH'
26
+ }
27
+ };
28
+ return this.httpService.putJson(url, body, params);
29
+ }
30
+ async delete(url, headers) {
31
+ const params = headers ? { headers } : undefined;
32
+ return this.httpService.delete(url, params);
33
+ }
34
+ async deleteWithBody(url, body, headers) {
35
+ const params = headers ? { headers } : undefined;
36
+ return this.httpService.deleteJson(url, body);
37
+ }
38
+ }
39
+ exports.HttpServiceAdapter = HttpServiceAdapter;
40
+ //# sourceMappingURL=http-service-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-service-adapter.js","sourceRoot":"","sources":["../../../../src/clients/adapters/http-service-adapter.ts"],"names":[],"mappings":";;;AAoBA,MAAa,kBAAkB;IACA;IAA7B,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAEzD,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,OAAgC;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,GAAW,EAAE,IAAS,EAAE,OAAgC;QACpE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAI,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,IAAS,EAAE,OAAgC;QACnE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAI,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,KAAK,CAAI,GAAW,EAAE,IAAS,EAAE,OAAgC;QAIrE,MAAM,MAAM,GAAG;YACb,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,wBAAwB,EAAE,OAAO;aAClC;SACF,CAAC;QACF,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAI,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,MAAM,CAAI,GAAW,EAAE,OAAgC;QAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,cAAc,CAAI,GAAW,EAAE,IAAS,EAAE,OAAgC;QAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAI,GAAG,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;CACF;AAxCD,gDAwCC"}
@@ -0,0 +1,27 @@
1
+ import { HttpService } from '@edifice.io/client/dist/transport/Service';
2
+ import { HttpAdapter } from './adapters/http-adapter';
3
+ export type FetchFunction = typeof fetch;
4
+ export interface ApiClientOptions {
5
+ baseUrl?: string;
6
+ defaultHeaders?: Record<string, string>;
7
+ fetchImpl?: typeof fetch;
8
+ httpService?: HttpService;
9
+ httpAdapter?: HttpAdapter;
10
+ }
11
+ export interface RequestOptions {
12
+ headers?: Record<string, string>;
13
+ }
14
+ export declare abstract class BaseApiClient {
15
+ protected readonly baseUrl: string;
16
+ protected readonly defaultHeaders: Record<string, string>;
17
+ protected readonly httpAdapter: HttpAdapter;
18
+ constructor(options?: ApiClientOptions);
19
+ protected get<T>(endpoint: string, queryParams?: URLSearchParams, options?: RequestOptions): Promise<T>;
20
+ protected post<T, U = unknown>(endpoint: string, body: U, options?: RequestOptions): Promise<T>;
21
+ protected put<T, U = unknown>(endpoint: string, body: U, options?: RequestOptions): Promise<T>;
22
+ protected patch<T, U = unknown>(endpoint: string, body: U, options?: RequestOptions): Promise<T>;
23
+ protected delete<T = void>(endpoint: string, options?: RequestOptions): Promise<T>;
24
+ protected deleteWithBody<T, U = unknown>(endpoint: string, body: U, options?: RequestOptions): Promise<T>;
25
+ protected buildUrl(endpoint: string, queryParams?: URLSearchParams): string;
26
+ protected buildHeaders(additionalHeaders?: Record<string, string>): Record<string, string>;
27
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseApiClient = void 0;
4
+ const fetch_adapter_1 = require("./adapters/fetch-adapter");
5
+ const http_service_adapter_1 = require("./adapters/http-service-adapter");
6
+ class BaseApiClient {
7
+ baseUrl;
8
+ defaultHeaders;
9
+ httpAdapter;
10
+ constructor(options = {}) {
11
+ this.baseUrl = options.baseUrl || '';
12
+ this.defaultHeaders = options.defaultHeaders || {};
13
+ if (options.httpAdapter) {
14
+ this.httpAdapter = options.httpAdapter;
15
+ }
16
+ else if (options.httpService) {
17
+ this.httpAdapter = new http_service_adapter_1.HttpServiceAdapter(options.httpService);
18
+ }
19
+ else {
20
+ this.httpAdapter = new fetch_adapter_1.FetchAdapter(options.fetchImpl || fetch);
21
+ }
22
+ }
23
+ async get(endpoint, queryParams, options) {
24
+ const url = this.buildUrl(endpoint, queryParams);
25
+ return this.httpAdapter.get(url, this.buildHeaders(options?.headers));
26
+ }
27
+ async post(endpoint, body, options) {
28
+ const url = this.buildUrl(endpoint);
29
+ return this.httpAdapter.post(url, body, this.buildHeaders(options?.headers));
30
+ }
31
+ async put(endpoint, body, options) {
32
+ const url = this.buildUrl(endpoint);
33
+ return this.httpAdapter.put(url, body, this.buildHeaders(options?.headers));
34
+ }
35
+ async patch(endpoint, body, options) {
36
+ const url = this.buildUrl(endpoint);
37
+ return this.httpAdapter.patch(url, body, this.buildHeaders(options?.headers));
38
+ }
39
+ async delete(endpoint, options) {
40
+ const url = this.buildUrl(endpoint);
41
+ return this.httpAdapter.delete(url, this.buildHeaders(options?.headers));
42
+ }
43
+ async deleteWithBody(endpoint, body, options) {
44
+ const url = this.buildUrl(endpoint);
45
+ return this.httpAdapter.deleteWithBody(url, body, this.buildHeaders(options?.headers));
46
+ }
47
+ buildUrl(endpoint, queryParams) {
48
+ let url = `${this.baseUrl}${endpoint}`;
49
+ if (queryParams && queryParams.toString()) {
50
+ url += `?${queryParams.toString()}`;
51
+ }
52
+ return url;
53
+ }
54
+ buildHeaders(additionalHeaders) {
55
+ return {
56
+ ...this.defaultHeaders,
57
+ ...additionalHeaders,
58
+ };
59
+ }
60
+ }
61
+ exports.BaseApiClient = BaseApiClient;
62
+ //# sourceMappingURL=base-api.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-api.client.js","sourceRoot":"","sources":["../../../src/clients/base-api.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { BaseApiClient, ApiClientOptions, RequestOptions } from "./base-api.client";
2
+ import { CreateCommunityDto, UpdateCommunityDto, CommunityResponseDto, SearchCommunityRequestDto, SearchCommunityResponseDto, CommunitySecretCodeDto, CommunityStatsDto } from "../dtos";
3
+ export declare class CommunityClient extends BaseApiClient {
4
+ constructor(options?: ApiClientOptions);
5
+ getCommunities(query?: SearchCommunityRequestDto, options?: RequestOptions): Promise<SearchCommunityResponseDto>;
6
+ createCommunity(createDto: CreateCommunityDto, options?: RequestOptions): Promise<CommunityResponseDto>;
7
+ getCommunity(id: number, fields?: string, options?: RequestOptions): Promise<CommunityResponseDto>;
8
+ getSecretCode(id: number, options?: RequestOptions): Promise<CommunitySecretCodeDto>;
9
+ updateCommunity(id: number, updateDto: UpdateCommunityDto, options?: RequestOptions): Promise<CommunityResponseDto>;
10
+ deleteCommunity(id: number, options?: RequestOptions): Promise<void>;
11
+ updateWelcomeNote(id: number, welcomeNote: string, options?: RequestOptions): Promise<CommunityResponseDto>;
12
+ getCommunityStats(id: number, options?: RequestOptions): Promise<CommunityStatsDto>;
13
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommunityClient = void 0;
4
+ const base_api_client_1 = require("./base-api.client");
5
+ class CommunityClient extends base_api_client_1.BaseApiClient {
6
+ constructor(options = {}) {
7
+ super(options);
8
+ }
9
+ async getCommunities(query = {}, options) {
10
+ const queryParams = new URLSearchParams();
11
+ if (query.page)
12
+ queryParams.append("page", query.page.toString());
13
+ if (query.size)
14
+ queryParams.append("size", query.size.toString());
15
+ if (query.createdAfter)
16
+ queryParams.append("createdAfter", query.createdAfter.toISOString());
17
+ if (query.schoolYear)
18
+ queryParams.append("schoolYear", query.schoolYear.toString());
19
+ if (query.title)
20
+ queryParams.append("title", query.title);
21
+ if (query.type)
22
+ queryParams.append("type", query.type);
23
+ if (query.sortBy)
24
+ queryParams.append("sortBy", query.sortBy);
25
+ if (query.sortDirection)
26
+ queryParams.append("sortDirection", query.sortDirection);
27
+ if (query.fields && Array.isArray(query.fields)) {
28
+ for (const f of query.fields) {
29
+ queryParams.append("fields", f);
30
+ }
31
+ }
32
+ return this.get("/api/communities", queryParams, options);
33
+ }
34
+ async createCommunity(createDto, options) {
35
+ return this.post("/api/communities", createDto, options);
36
+ }
37
+ async getCommunity(id, fields, options) {
38
+ const queryParams = new URLSearchParams();
39
+ if (fields)
40
+ queryParams.append("fields", fields);
41
+ return this.get(`/api/communities/${id}`, queryParams, options);
42
+ }
43
+ async getSecretCode(id, options) {
44
+ return this.get(`/api/communities/${id}/secret-code`, undefined, options);
45
+ }
46
+ async updateCommunity(id, updateDto, options) {
47
+ return this.patch(`/api/communities/${id}`, updateDto, options);
48
+ }
49
+ async deleteCommunity(id, options) {
50
+ return this.delete(`/api/communities/${id}`, options);
51
+ }
52
+ async updateWelcomeNote(id, welcomeNote, options) {
53
+ return this.patch(`/api/communities/${id}/welcome-note`, { welcomeNote }, options);
54
+ }
55
+ async getCommunityStats(id, options) {
56
+ return this.get(`/api/communities/${id}/stats`, undefined, options);
57
+ }
58
+ }
59
+ exports.CommunityClient = CommunityClient;
60
+ //# sourceMappingURL=community.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"community.client.js","sourceRoot":"","sources":["../../../src/clients/community.client.ts"],"names":[],"mappings":";;;AAAA,uDAI2B;AA4C3B,MAAa,eAAgB,SAAQ,+BAAa;IAQhD,YAAY,UAA4B,EAAE;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAQD,KAAK,CAAC,cAAc,CAClB,QAAmC,EAAE,EACrC,OAAwB;QAExB,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAE1C,IAAI,KAAK,CAAC,IAAI;YAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,IAAI;YAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,YAAY;YACpB,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,UAAU;YAClB,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,KAAK,CAAC,KAAK;YAAE,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,IAAI;YAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvD,IAAI,KAAK,CAAC,MAAM;YAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,KAAK,CAAC,aAAa;YAAE,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAElF,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC7B,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CACb,kBAAkB,EAClB,WAAW,EACX,OAAO,CACR,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,eAAe,CACnB,SAA6B,EAC7B,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CACd,kBAAkB,EAClB,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IASD,KAAK,CAAC,YAAY,CAChB,EAAU,EACV,MAAe,EACf,OAAwB;QAExB,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,IAAI,MAAM;YAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,GAAG,CACb,oBAAoB,EAAE,EAAE,EACxB,WAAW,EACX,OAAO,CACR,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,aAAa,CACjB,EAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CACb,oBAAoB,EAAE,cAAc,EACpC,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IASD,KAAK,CAAC,eAAe,CACnB,EAAU,EACV,SAA6B,EAC7B,OAAwB;QAExB,OAAO,IAAI,CAAC,KAAK,CACf,oBAAoB,EAAE,EAAE,EACxB,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,OAAwB;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IASD,KAAK,CAAC,iBAAiB,CACrB,EAAU,EACV,WAAmB,EACnB,OAAwB;QAExB,OAAO,IAAI,CAAC,KAAK,CACf,oBAAoB,EAAE,eAAe,EACrC,EAAE,WAAW,EAAE,EACf,OAAO,CACR,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,iBAAiB,CACrB,EAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CACb,oBAAoB,EAAE,QAAQ,EAC9B,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AAxKD,0CAwKC"}
@@ -0,0 +1,3 @@
1
+ export * from './membership.client';
2
+ export * from './community.client';
3
+ export * from './invitation.client';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./membership.client"), exports);
18
+ __exportStar(require("./community.client"), exports);
19
+ __exportStar(require("./invitation.client"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,qDAAmC;AACnC,sDAAoC"}
@@ -0,0 +1,22 @@
1
+ import { BaseApiClient, ApiClientOptions, RequestOptions } from "./base-api.client";
2
+ import { InvitationResponseDto, SearchInvitationDto, SearchInvitationResponseDto, UpdateInvitationStatusDto, CreateInvitationDto, InvitationStatsDto, ListCommunityInvitationsQueryDto, DeleteInvitationsDto, CountInvitationsQueryDto, SearchInvitationAndMembersResponseDto, JoinCommunityDto, UpdateRequestStatusDto, MembershipRole } from "../dtos";
3
+ export declare class InvitationClient extends BaseApiClient {
4
+ constructor(options?: ApiClientOptions);
5
+ getUserInvitations(query?: SearchInvitationDto, options?: RequestOptions): Promise<SearchInvitationResponseDto>;
6
+ updateInvitationStatus(id: number, statusDto: UpdateInvitationStatusDto, options?: RequestOptions): Promise<InvitationResponseDto>;
7
+ updateInvitationRole({ communityId, role, userEntId, }: {
8
+ communityId: number;
9
+ role: MembershipRole;
10
+ userEntId: string;
11
+ }, options?: RequestOptions): Promise<InvitationResponseDto>;
12
+ getInvitationsAndMembers(communityId: number, query?: ListCommunityInvitationsQueryDto, options?: RequestOptions): Promise<SearchInvitationAndMembersResponseDto>;
13
+ createOrUpdateInvitations(communityId: number, createDto: CreateInvitationDto, options?: RequestOptions): Promise<InvitationResponseDto[]>;
14
+ countInvitations(communityId: number, query: CountInvitationsQueryDto, options?: RequestOptions): Promise<{
15
+ count: number;
16
+ }>;
17
+ getInvitationStats(communityId: number, options?: RequestOptions): Promise<InvitationStatsDto>;
18
+ deleteInvitation(communityId: number, invitationId: number, options?: RequestOptions): Promise<void>;
19
+ deleteInvitations(communityId: number, deleteDto: DeleteInvitationsDto, options?: RequestOptions): Promise<void>;
20
+ joinCommunity(joinDto: JoinCommunityDto, options?: RequestOptions): Promise<InvitationResponseDto>;
21
+ updateRequestStatus(communityId: number, invitationId: number, statusDto: UpdateRequestStatusDto, options?: RequestOptions): Promise<InvitationResponseDto>;
22
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvitationClient = void 0;
4
+ const base_api_client_1 = require("./base-api.client");
5
+ class InvitationClient extends base_api_client_1.BaseApiClient {
6
+ constructor(options = {}) {
7
+ super(options);
8
+ }
9
+ async getUserInvitations(query = {}, options) {
10
+ const queryParams = new URLSearchParams();
11
+ if (query.page)
12
+ queryParams.append("page", query.page.toString());
13
+ if (query.size)
14
+ queryParams.append("size", query.size.toString());
15
+ if (query.status)
16
+ queryParams.append("status", query.status);
17
+ if (query.communityId)
18
+ queryParams.append("communityId", query.communityId.toString());
19
+ if (query.fields && query.fields.length) {
20
+ query.fields.forEach((field) => {
21
+ queryParams.append("fields", field);
22
+ });
23
+ }
24
+ return this.get("/api/invitations", queryParams, options);
25
+ }
26
+ async updateInvitationStatus(id, statusDto, options) {
27
+ return this.put(`/api/invitations/${id}/status`, statusDto, options);
28
+ }
29
+ async updateInvitationRole({ communityId, role, userEntId, }, options) {
30
+ const res = await this.createOrUpdateInvitations(communityId, {
31
+ users: [
32
+ {
33
+ userId: userEntId,
34
+ role,
35
+ },
36
+ ],
37
+ }, options);
38
+ return res[0];
39
+ }
40
+ async getInvitationsAndMembers(communityId, query = {}, options) {
41
+ const queryParams = new URLSearchParams();
42
+ if (query.page)
43
+ queryParams.append("page", query.page.toString());
44
+ if (query.size)
45
+ queryParams.append("size", query.size.toString());
46
+ if (query.status)
47
+ queryParams.append("status", query.status);
48
+ if (query.searchTerm)
49
+ queryParams.append("searchTerm", query.searchTerm);
50
+ return this.get(`/api/communities/${communityId}/invitations`, queryParams, options);
51
+ }
52
+ async createOrUpdateInvitations(communityId, createDto, options) {
53
+ return this.post(`/api/communities/${communityId}/invitations`, createDto, options);
54
+ }
55
+ async countInvitations(communityId, query, options) {
56
+ const queryParams = new URLSearchParams();
57
+ if (query.sentAfter)
58
+ queryParams.append("sentAfter", query.sentAfter.toString());
59
+ return this.get(`/api/communities/${communityId}/invitations/count`, queryParams, options);
60
+ }
61
+ async getInvitationStats(communityId, options) {
62
+ return this.get(`/api/communities/${communityId}/invitations/stats`, undefined, options);
63
+ }
64
+ async deleteInvitation(communityId, invitationId, options) {
65
+ return this.delete(`/api/communities/${communityId}/invitations/${invitationId}`, options);
66
+ }
67
+ async deleteInvitations(communityId, deleteDto, options) {
68
+ await this.deleteWithBody(`/api/communities/${communityId}/invitations`, deleteDto, options);
69
+ }
70
+ async joinCommunity(joinDto, options) {
71
+ return this.post("/api/invitations/join", joinDto, options);
72
+ }
73
+ async updateRequestStatus(communityId, invitationId, statusDto, options) {
74
+ return this.put(`/api/communities/${communityId}/invitations/${invitationId}/status`, statusDto, options);
75
+ }
76
+ }
77
+ exports.InvitationClient = InvitationClient;
78
+ //# sourceMappingURL=invitation.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invitation.client.js","sourceRoot":"","sources":["../../../src/clients/invitation.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { BaseApiClient, ApiClientOptions, RequestOptions } from "./base-api.client";
2
+ import { MembershipResponseDto, PaginationQueryDto, SearchMembershipResponseDto, UpdateMembershipDto, LeaveCommunityOptionsDto, UpdateLastVisitDto, DeleteMembersDto, DeleteMembersResponseDto } from "../dtos";
3
+ export declare class MembershipClient extends BaseApiClient {
4
+ constructor(options?: ApiClientOptions);
5
+ getMembers(communityId: number, query?: PaginationQueryDto, options?: RequestOptions): Promise<SearchMembershipResponseDto>;
6
+ updateMemberRole(communityId: number, userId: number, updateDto: UpdateMembershipDto, options?: RequestOptions): Promise<MembershipResponseDto>;
7
+ removeMember(communityId: number, userId: number, options?: RequestOptions): Promise<void>;
8
+ removeMembers(communityId: number, membersDto: DeleteMembersDto, options?: RequestOptions): Promise<DeleteMembersResponseDto>;
9
+ leaveCommunity(communityId: number, leaveOptions: LeaveCommunityOptionsDto, options?: RequestOptions): Promise<void>;
10
+ updateLastVisit(communityId: number, updateVisitDto: UpdateLastVisitDto, options?: RequestOptions): Promise<MembershipResponseDto>;
11
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MembershipClient = void 0;
4
+ const base_api_client_1 = require("./base-api.client");
5
+ class MembershipClient extends base_api_client_1.BaseApiClient {
6
+ constructor(options = {}) {
7
+ super(options);
8
+ }
9
+ async getMembers(communityId, query = {}, options) {
10
+ const queryParams = new URLSearchParams();
11
+ if (query.page)
12
+ queryParams.append("page", query.page.toString());
13
+ if (query.size)
14
+ queryParams.append("size", query.size.toString());
15
+ return this.get(`/api/communities/${communityId}/members`, queryParams, options);
16
+ }
17
+ async updateMemberRole(communityId, userId, updateDto, options) {
18
+ return this.patch(`/api/communities/${communityId}/members/${userId}`, updateDto, options);
19
+ }
20
+ async removeMember(communityId, userId, options) {
21
+ return this.delete(`/api/communities/${communityId}/members/${userId}`, options);
22
+ }
23
+ async removeMembers(communityId, membersDto, options) {
24
+ return this.deleteWithBody(`/api/communities/${communityId}/members`, membersDto, options);
25
+ }
26
+ async leaveCommunity(communityId, leaveOptions, options) {
27
+ return this.post(`/api/communities/${communityId}/members/leave`, leaveOptions, options);
28
+ }
29
+ async updateLastVisit(communityId, updateVisitDto, options) {
30
+ return this.post(`/api/communities/${communityId}/members/visit`, updateVisitDto, options);
31
+ }
32
+ }
33
+ exports.MembershipClient = MembershipClient;
34
+ //# sourceMappingURL=membership.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"membership.client.js","sourceRoot":"","sources":["../../../src/clients/membership.client.ts"],"names":[],"mappings":";;;AAAA,uDAI2B;AA8C3B,MAAa,gBAAiB,SAAQ,+BAAa;IAQjD,YAAY,UAA4B,EAAE;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IASD,KAAK,CAAC,UAAU,CACd,WAAmB,EACnB,QAA4B,EAAE,EAC9B,OAAwB;QAExB,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,IAAI;YAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,IAAI;YAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,GAAG,CACb,oBAAoB,WAAW,UAAU,EACzC,WAAW,EACX,OAAO,CACR,CAAC;IACJ,CAAC;IAUD,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,MAAc,EACd,SAA8B,EAC9B,OAAwB;QAExB,OAAO,IAAI,CAAC,KAAK,CACf,oBAAoB,WAAW,YAAY,MAAM,EAAE,EACnD,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IASD,KAAK,CAAC,YAAY,CAChB,WAAmB,EACnB,MAAc,EACd,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAChB,oBAAoB,WAAW,YAAY,MAAM,EAAE,EACnD,OAAO,CACR,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,aAAa,CACjB,WAAmB,EACnB,UAA4B,EAC5B,OAAwB;QAExB,OAAO,IAAI,CAAC,cAAc,CACxB,oBAAoB,WAAW,UAAU,EACzC,UAAU,EACV,OAAO,CACR,CAAC;IACJ,CAAC;IASD,KAAK,CAAC,cAAc,CAClB,WAAmB,EACnB,YAAsC,EACtC,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CACd,oBAAoB,WAAW,gBAAgB,EAC/C,YAAY,EACZ,OAAO,CACR,CAAC;IACJ,CAAC;IASD,KAAK,CAAC,eAAe,CACnB,WAAmB,EACnB,cAAkC,EAClC,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CACd,oBAAoB,WAAW,gBAAgB,EAC/C,cAAc,EACd,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AAjID,4CAiIC"}
@@ -0,0 +1,3 @@
1
+ export declare function Type(..._args: any[]): PropertyDecorator;
2
+ export declare function ApiProperty(..._args: any[]): PropertyDecorator;
3
+ export declare function ApiPropertyOptional(..._args: any[]): PropertyDecorator;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Type = Type;
4
+ exports.ApiProperty = ApiProperty;
5
+ exports.ApiPropertyOptional = ApiPropertyOptional;
6
+ function Type(..._args) {
7
+ return () => { };
8
+ }
9
+ function ApiProperty(..._args) {
10
+ return () => { };
11
+ }
12
+ function ApiPropertyOptional(..._args) {
13
+ return () => { };
14
+ }
15
+ //# sourceMappingURL=custom-type.decorator.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-type.decorator.browser.js","sourceRoot":"","sources":["../../../src/decorators/custom-type.decorator.browser.ts"],"names":[],"mappings":";;AAGA,oBAEC;AACD,kCAEC;AACD,kDAEC;AARD,SAAgB,IAAI,CAAC,GAAG,KAAY;IAClC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;AAClB,CAAC;AACD,SAAgB,WAAW,CAAC,GAAG,KAAY;IACzC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;AAClB,CAAC;AACD,SAAgB,mBAAmB,CAAC,GAAG,KAAY;IACjD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Type } from "class-transformer";
2
+ import { ApiProperty, ApiPropertyOptions, ApiPropertyOptional } from "@nestjs/swagger";
3
+ export { Type, ApiProperty, ApiPropertyOptions, ApiPropertyOptional };
@@ -0,0 +1,22 @@
1
+ import { PaginationQueryDto } from "./base";
2
+ import { UserDto } from "./base";
3
+ export declare class AnnouncementDto {
4
+ id: number;
5
+ content: string;
6
+ publicationDate: Date;
7
+ modificationDate?: Date;
8
+ author: UserDto;
9
+ communityId: number;
10
+ }
11
+ export declare class CreateAnnouncementDto {
12
+ content: string;
13
+ }
14
+ export declare class UpdateAnnouncementDto {
15
+ content: string;
16
+ }
17
+ export declare class CountAnnouncementDto {
18
+ count: number;
19
+ }
20
+ export declare class SearchAnnouncementDto extends PaginationQueryDto {
21
+ publishedAfter?: Date;
22
+ }