@edifice.io/community-client-rest 1.0.0-develop-pedago.2 → 1.0.0-develop-pedago.3

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 (138) hide show
  1. package/dist/browser/clients/adapters/fetch-adapter.d.ts +12 -0
  2. package/dist/browser/clients/adapters/fetch-adapter.js +85 -0
  3. package/dist/browser/clients/adapters/fetch-adapter.js.map +1 -0
  4. package/dist/browser/clients/adapters/http-adapter.d.ts +8 -0
  5. package/dist/browser/clients/adapters/http-adapter.js +3 -0
  6. package/dist/browser/clients/adapters/http-adapter.js.map +1 -0
  7. package/dist/browser/clients/adapters/http-service-adapter.d.ts +12 -0
  8. package/dist/browser/clients/adapters/http-service-adapter.js +40 -0
  9. package/dist/browser/clients/adapters/http-service-adapter.js.map +1 -0
  10. package/dist/browser/clients/base-api.client.d.ts +27 -0
  11. package/dist/browser/clients/base-api.client.js +62 -0
  12. package/dist/browser/clients/base-api.client.js.map +1 -0
  13. package/dist/browser/clients/community.client.d.ts +13 -0
  14. package/dist/browser/clients/community.client.js +60 -0
  15. package/dist/browser/clients/community.client.js.map +1 -0
  16. package/dist/browser/clients/index.d.ts +3 -0
  17. package/dist/browser/clients/index.js +20 -0
  18. package/dist/browser/clients/index.js.map +1 -0
  19. package/dist/browser/clients/invitation.client.d.ts +22 -0
  20. package/dist/browser/clients/invitation.client.js +78 -0
  21. package/dist/browser/clients/invitation.client.js.map +1 -0
  22. package/dist/browser/clients/membership.client.d.ts +11 -0
  23. package/dist/browser/clients/membership.client.js +34 -0
  24. package/dist/browser/clients/membership.client.js.map +1 -0
  25. package/dist/browser/decorators/custom-type.decorator.browser.d.ts +3 -0
  26. package/dist/browser/decorators/custom-type.decorator.browser.js +15 -0
  27. package/dist/browser/decorators/custom-type.decorator.browser.js.map +1 -0
  28. package/dist/browser/decorators/custom-type.decorator.node.d.ts +3 -0
  29. package/dist/browser/decorators/custom-type.decorator.node.js +9 -0
  30. package/dist/browser/decorators/custom-type.decorator.node.js.map +1 -0
  31. package/dist/browser/dtos/announcement.d.ts +22 -0
  32. package/dist/browser/dtos/announcement.js +99 -0
  33. package/dist/browser/dtos/announcement.js.map +1 -0
  34. package/dist/browser/dtos/base.d.ts +24 -0
  35. package/dist/browser/dtos/base.js +118 -0
  36. package/dist/browser/dtos/base.js.map +1 -0
  37. package/dist/browser/dtos/community.d.ts +78 -0
  38. package/dist/browser/dtos/community.js +472 -0
  39. package/dist/browser/dtos/community.js.map +1 -0
  40. package/dist/browser/dtos/discussion.d.ts +6 -0
  41. package/dist/browser/dtos/discussion.js +30 -0
  42. package/dist/browser/dtos/discussion.js.map +1 -0
  43. package/dist/browser/dtos/folder.d.ts +36 -0
  44. package/dist/browser/dtos/folder.js +190 -0
  45. package/dist/browser/dtos/folder.js.map +1 -0
  46. package/dist/browser/dtos/index.d.ts +9 -0
  47. package/dist/browser/dtos/index.js +26 -0
  48. package/dist/browser/dtos/index.js.map +1 -0
  49. package/dist/browser/dtos/invitation.d.ts +101 -0
  50. package/dist/browser/dtos/invitation.js +486 -0
  51. package/dist/browser/dtos/invitation.js.map +1 -0
  52. package/dist/browser/dtos/membership.d.ts +54 -0
  53. package/dist/browser/dtos/membership.js +219 -0
  54. package/dist/browser/dtos/membership.js.map +1 -0
  55. package/dist/browser/dtos/resource.d.ts +69 -0
  56. package/dist/browser/dtos/resource.js +326 -0
  57. package/dist/browser/dtos/resource.js.map +1 -0
  58. package/dist/browser/dtos/wiki.d.ts +3 -0
  59. package/dist/browser/dtos/wiki.js +22 -0
  60. package/dist/browser/dtos/wiki.js.map +1 -0
  61. package/dist/browser/index.d.ts +3 -0
  62. package/dist/browser/index.js +21 -0
  63. package/dist/browser/index.js.map +1 -0
  64. package/dist/browser/mocks/index.d.ts +1 -0
  65. package/dist/browser/mocks/index.js +18 -0
  66. package/dist/browser/mocks/index.js.map +1 -0
  67. package/dist/browser/mocks/search-community-response.mock.d.ts +10 -0
  68. package/dist/browser/mocks/search-community-response.mock.js +96 -0
  69. package/dist/browser/mocks/search-community-response.mock.js.map +1 -0
  70. package/dist/node/clients/adapters/fetch-adapter.d.ts +12 -0
  71. package/dist/node/clients/adapters/fetch-adapter.js +85 -0
  72. package/dist/node/clients/adapters/fetch-adapter.js.map +1 -0
  73. package/dist/node/clients/adapters/http-adapter.d.ts +8 -0
  74. package/dist/node/clients/adapters/http-adapter.js +3 -0
  75. package/dist/node/clients/adapters/http-adapter.js.map +1 -0
  76. package/dist/node/clients/adapters/http-service-adapter.d.ts +12 -0
  77. package/dist/node/clients/adapters/http-service-adapter.js +40 -0
  78. package/dist/node/clients/adapters/http-service-adapter.js.map +1 -0
  79. package/dist/node/clients/base-api.client.d.ts +27 -0
  80. package/dist/node/clients/base-api.client.js +62 -0
  81. package/dist/node/clients/base-api.client.js.map +1 -0
  82. package/dist/node/clients/community.client.d.ts +13 -0
  83. package/dist/node/clients/community.client.js +60 -0
  84. package/dist/node/clients/community.client.js.map +1 -0
  85. package/dist/node/clients/index.d.ts +3 -0
  86. package/dist/node/clients/index.js +20 -0
  87. package/dist/node/clients/index.js.map +1 -0
  88. package/dist/node/clients/invitation.client.d.ts +22 -0
  89. package/dist/node/clients/invitation.client.js +78 -0
  90. package/dist/node/clients/invitation.client.js.map +1 -0
  91. package/dist/node/clients/membership.client.d.ts +11 -0
  92. package/dist/node/clients/membership.client.js +34 -0
  93. package/dist/node/clients/membership.client.js.map +1 -0
  94. package/dist/node/decorators/custom-type.decorator.browser.d.ts +3 -0
  95. package/dist/node/decorators/custom-type.decorator.browser.js +15 -0
  96. package/dist/node/decorators/custom-type.decorator.browser.js.map +1 -0
  97. package/dist/node/decorators/custom-type.decorator.node.d.ts +3 -0
  98. package/dist/node/decorators/custom-type.decorator.node.js +9 -0
  99. package/dist/node/decorators/custom-type.decorator.node.js.map +1 -0
  100. package/dist/node/dtos/announcement.d.ts +22 -0
  101. package/dist/node/dtos/announcement.js +99 -0
  102. package/dist/node/dtos/announcement.js.map +1 -0
  103. package/dist/node/dtos/base.d.ts +24 -0
  104. package/dist/node/dtos/base.js +118 -0
  105. package/dist/node/dtos/base.js.map +1 -0
  106. package/dist/node/dtos/community.d.ts +78 -0
  107. package/dist/node/dtos/community.js +472 -0
  108. package/dist/node/dtos/community.js.map +1 -0
  109. package/dist/node/dtos/discussion.d.ts +6 -0
  110. package/dist/node/dtos/discussion.js +30 -0
  111. package/dist/node/dtos/discussion.js.map +1 -0
  112. package/dist/node/dtos/folder.d.ts +36 -0
  113. package/dist/node/dtos/folder.js +190 -0
  114. package/dist/node/dtos/folder.js.map +1 -0
  115. package/dist/node/dtos/index.d.ts +9 -0
  116. package/dist/node/dtos/index.js +26 -0
  117. package/dist/node/dtos/index.js.map +1 -0
  118. package/dist/node/dtos/invitation.d.ts +101 -0
  119. package/dist/node/dtos/invitation.js +486 -0
  120. package/dist/node/dtos/invitation.js.map +1 -0
  121. package/dist/node/dtos/membership.d.ts +54 -0
  122. package/dist/node/dtos/membership.js +219 -0
  123. package/dist/node/dtos/membership.js.map +1 -0
  124. package/dist/node/dtos/resource.d.ts +69 -0
  125. package/dist/node/dtos/resource.js +326 -0
  126. package/dist/node/dtos/resource.js.map +1 -0
  127. package/dist/node/dtos/wiki.d.ts +3 -0
  128. package/dist/node/dtos/wiki.js +22 -0
  129. package/dist/node/dtos/wiki.js.map +1 -0
  130. package/dist/node/index.d.ts +3 -0
  131. package/dist/node/index.js.map +1 -0
  132. package/dist/node/mocks/index.d.ts +1 -0
  133. package/dist/node/mocks/index.js +18 -0
  134. package/dist/node/mocks/index.js.map +1 -0
  135. package/dist/node/mocks/search-community-response.mock.d.ts +10 -0
  136. package/dist/node/mocks/search-community-response.mock.js +96 -0
  137. package/dist/node/mocks/search-community-response.mock.js.map +1 -0
  138. package/package.json +1 -1
@@ -0,0 +1,21 @@
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
+ exports.mocks = void 0;
18
+ __exportStar(require("./clients"), exports);
19
+ __exportStar(require("./dtos"), exports);
20
+ exports.mocks = require("./mocks");
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,yCAAuB;AACvB,mCAAiC"}
@@ -0,0 +1 @@
1
+ export * from "./search-community-response.mock";
@@ -0,0 +1,18 @@
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("./search-community-response.mock"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAiD"}
@@ -0,0 +1,10 @@
1
+ import { CommunityResponseDto, CommunityStatsDto, SearchCommunityResponseDto, UserDto } from "../dtos";
2
+ export declare function randomUuid(): string;
3
+ export declare function randomBigInt(): bigint;
4
+ export declare function createMockUser(id: bigint): UserDto;
5
+ export declare function createMockCommunityStats(): CommunityStatsDto;
6
+ export declare function createMockCommunity(id: number): CommunityResponseDto;
7
+ export declare function createMockSearchCommunityResponse(count?: number): SearchCommunityResponseDto;
8
+ export declare const mockSearchCommunityResponse: SearchCommunityResponseDto;
9
+ export declare const mockLargeSearchCommunityResponse: SearchCommunityResponseDto;
10
+ export declare const mockEmptySearchCommunityResponse: SearchCommunityResponseDto;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mockEmptySearchCommunityResponse = exports.mockLargeSearchCommunityResponse = exports.mockSearchCommunityResponse = void 0;
4
+ exports.randomUuid = randomUuid;
5
+ exports.randomBigInt = randomBigInt;
6
+ exports.createMockUser = createMockUser;
7
+ exports.createMockCommunityStats = createMockCommunityStats;
8
+ exports.createMockCommunity = createMockCommunity;
9
+ exports.createMockSearchCommunityResponse = createMockSearchCommunityResponse;
10
+ const dtos_1 = require("../dtos");
11
+ const uuid_1 = require("uuid");
12
+ function randomUuid() {
13
+ return (0, uuid_1.v4)();
14
+ }
15
+ function randomBigInt() {
16
+ return BigInt(Math.floor(Math.random() * Number.MAX_SAFE_INTEGER));
17
+ }
18
+ function createMockUser(id) {
19
+ return {
20
+ id: Number(id),
21
+ displayName: `User ${id.toString()}`,
22
+ entId: id.toString(),
23
+ profile: "Student",
24
+ };
25
+ }
26
+ function createMockCommunityStats() {
27
+ return {
28
+ totalMembers: Math.floor(Math.random() * 50) + 5,
29
+ acceptedMembers: Math.floor(Math.random() * 40) + 3,
30
+ totalAdmins: Math.floor(Math.random() * 3) + 1,
31
+ acceptedAdmins: Math.floor(Math.random() * 3) + 1,
32
+ };
33
+ }
34
+ function createMockCommunity(id) {
35
+ const creator = createMockUser(randomBigInt());
36
+ const now = new Date();
37
+ const lastMonth = new Date(now);
38
+ lastMonth.setMonth(now.getMonth() - 1);
39
+ const communityType = Math.random() > 0.5 ? dtos_1.CommunityType.FREE : dtos_1.CommunityType.CLASS;
40
+ const community = new dtos_1.CommunityResponseDto();
41
+ community.id = id;
42
+ community.title = `Community ${id}`;
43
+ community.creationDate = lastMonth;
44
+ community.updateDate = Math.random() > 0.7 ? now : undefined;
45
+ community.type = communityType;
46
+ community.discussionEnabled = Math.random() > 0.2;
47
+ community.creator = creator;
48
+ if (communityType === dtos_1.CommunityType.CLASS) {
49
+ const currentYear = new Date().getFullYear();
50
+ community.schoolYearStart = currentYear;
51
+ community.schoolYearEnd = currentYear + 1;
52
+ }
53
+ if (Math.random() > 0.7) {
54
+ community.image = `https://picsum.photos/id/${(id % 100) + 100}/200/200`;
55
+ }
56
+ if (Math.random() > 0.5) {
57
+ community.welcomeNote = `Welcome to Community ${id}! We're glad to have you here.`;
58
+ }
59
+ if (Math.random() > 0.9) {
60
+ const archiveDate = new Date(now);
61
+ archiveDate.setDate(now.getDate() - 15);
62
+ community.archivedDate = archiveDate;
63
+ community.archiver = createMockUser(randomBigInt());
64
+ }
65
+ if (Math.random() > 0.6) {
66
+ community.modifier = createMockUser(randomBigInt());
67
+ }
68
+ community.stats = createMockCommunityStats();
69
+ return community;
70
+ }
71
+ function createMockSearchCommunityResponse(count = 10) {
72
+ const communities = Array.from({ length: count }, (_, i) => createMockCommunity(i + 1));
73
+ const response = new dtos_1.SearchCommunityResponseDto();
74
+ response.items = communities;
75
+ response.meta = {
76
+ currentPage: 1,
77
+ itemCount: communities.length,
78
+ itemsPerPage: count,
79
+ totalItems: count,
80
+ totalPages: 1,
81
+ };
82
+ return response;
83
+ }
84
+ exports.mockSearchCommunityResponse = createMockSearchCommunityResponse();
85
+ exports.mockLargeSearchCommunityResponse = createMockSearchCommunityResponse(50);
86
+ exports.mockEmptySearchCommunityResponse = {
87
+ items: [],
88
+ meta: {
89
+ currentPage: 1,
90
+ itemCount: 0,
91
+ itemsPerPage: 0,
92
+ totalItems: 0,
93
+ totalPages: 1,
94
+ },
95
+ };
96
+ //# sourceMappingURL=search-community-response.mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-community-response.mock.js","sourceRoot":"","sources":["../../../src/mocks/search-community-response.mock.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
@@ -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":"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"}
@@ -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
+ }