@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.
- package/dist/browser/clients/adapters/fetch-adapter.d.ts +12 -0
- package/dist/browser/clients/adapters/fetch-adapter.js +85 -0
- package/dist/browser/clients/adapters/fetch-adapter.js.map +1 -0
- package/dist/browser/clients/adapters/http-adapter.d.ts +8 -0
- package/dist/browser/clients/adapters/http-adapter.js +3 -0
- package/dist/browser/clients/adapters/http-adapter.js.map +1 -0
- package/dist/browser/clients/adapters/http-service-adapter.d.ts +12 -0
- package/dist/browser/clients/adapters/http-service-adapter.js +40 -0
- package/dist/browser/clients/adapters/http-service-adapter.js.map +1 -0
- package/dist/browser/clients/base-api.client.d.ts +27 -0
- package/dist/browser/clients/base-api.client.js +62 -0
- package/dist/browser/clients/base-api.client.js.map +1 -0
- package/dist/browser/clients/community.client.d.ts +13 -0
- package/dist/browser/clients/community.client.js +60 -0
- package/dist/browser/clients/community.client.js.map +1 -0
- package/dist/browser/clients/index.d.ts +3 -0
- package/dist/browser/clients/index.js +20 -0
- package/dist/browser/clients/index.js.map +1 -0
- package/dist/browser/clients/invitation.client.d.ts +22 -0
- package/dist/browser/clients/invitation.client.js +78 -0
- package/dist/browser/clients/invitation.client.js.map +1 -0
- package/dist/browser/clients/membership.client.d.ts +11 -0
- package/dist/browser/clients/membership.client.js +34 -0
- package/dist/browser/clients/membership.client.js.map +1 -0
- package/dist/browser/decorators/custom-type.decorator.browser.d.ts +3 -0
- package/dist/browser/decorators/custom-type.decorator.browser.js +15 -0
- package/dist/browser/decorators/custom-type.decorator.browser.js.map +1 -0
- package/dist/browser/decorators/custom-type.decorator.node.d.ts +3 -0
- package/dist/browser/decorators/custom-type.decorator.node.js +9 -0
- package/dist/browser/decorators/custom-type.decorator.node.js.map +1 -0
- package/dist/browser/dtos/announcement.d.ts +22 -0
- package/dist/browser/dtos/announcement.js +99 -0
- package/dist/browser/dtos/announcement.js.map +1 -0
- package/dist/browser/dtos/base.d.ts +24 -0
- package/dist/browser/dtos/base.js +118 -0
- package/dist/browser/dtos/base.js.map +1 -0
- package/dist/browser/dtos/community.d.ts +78 -0
- package/dist/browser/dtos/community.js +472 -0
- package/dist/browser/dtos/community.js.map +1 -0
- package/dist/browser/dtos/discussion.d.ts +6 -0
- package/dist/browser/dtos/discussion.js +30 -0
- package/dist/browser/dtos/discussion.js.map +1 -0
- package/dist/browser/dtos/folder.d.ts +36 -0
- package/dist/browser/dtos/folder.js +190 -0
- package/dist/browser/dtos/folder.js.map +1 -0
- package/dist/browser/dtos/index.d.ts +9 -0
- package/dist/browser/dtos/index.js +26 -0
- package/dist/browser/dtos/index.js.map +1 -0
- package/dist/browser/dtos/invitation.d.ts +101 -0
- package/dist/browser/dtos/invitation.js +486 -0
- package/dist/browser/dtos/invitation.js.map +1 -0
- package/dist/browser/dtos/membership.d.ts +54 -0
- package/dist/browser/dtos/membership.js +219 -0
- package/dist/browser/dtos/membership.js.map +1 -0
- package/dist/browser/dtos/resource.d.ts +69 -0
- package/dist/browser/dtos/resource.js +326 -0
- package/dist/browser/dtos/resource.js.map +1 -0
- package/dist/browser/dtos/wiki.d.ts +3 -0
- package/dist/browser/dtos/wiki.js +22 -0
- package/dist/browser/dtos/wiki.js.map +1 -0
- package/dist/browser/index.d.ts +3 -0
- package/dist/browser/index.js +21 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/mocks/index.d.ts +1 -0
- package/dist/browser/mocks/index.js +18 -0
- package/dist/browser/mocks/index.js.map +1 -0
- package/dist/browser/mocks/search-community-response.mock.d.ts +10 -0
- package/dist/browser/mocks/search-community-response.mock.js +96 -0
- package/dist/browser/mocks/search-community-response.mock.js.map +1 -0
- package/dist/node/clients/adapters/fetch-adapter.d.ts +12 -0
- package/dist/node/clients/adapters/fetch-adapter.js +85 -0
- package/dist/node/clients/adapters/fetch-adapter.js.map +1 -0
- package/dist/node/clients/adapters/http-adapter.d.ts +8 -0
- package/dist/node/clients/adapters/http-adapter.js +3 -0
- package/dist/node/clients/adapters/http-adapter.js.map +1 -0
- package/dist/node/clients/adapters/http-service-adapter.d.ts +12 -0
- package/dist/node/clients/adapters/http-service-adapter.js +40 -0
- package/dist/node/clients/adapters/http-service-adapter.js.map +1 -0
- package/dist/node/clients/base-api.client.d.ts +27 -0
- package/dist/node/clients/base-api.client.js +62 -0
- package/dist/node/clients/base-api.client.js.map +1 -0
- package/dist/node/clients/community.client.d.ts +13 -0
- package/dist/node/clients/community.client.js +60 -0
- package/dist/node/clients/community.client.js.map +1 -0
- package/dist/node/clients/index.d.ts +3 -0
- package/dist/node/clients/index.js +20 -0
- package/dist/node/clients/index.js.map +1 -0
- package/dist/node/clients/invitation.client.d.ts +22 -0
- package/dist/node/clients/invitation.client.js +78 -0
- package/dist/node/clients/invitation.client.js.map +1 -0
- package/dist/node/clients/membership.client.d.ts +11 -0
- package/dist/node/clients/membership.client.js +34 -0
- package/dist/node/clients/membership.client.js.map +1 -0
- package/dist/node/decorators/custom-type.decorator.browser.d.ts +3 -0
- package/dist/node/decorators/custom-type.decorator.browser.js +15 -0
- package/dist/node/decorators/custom-type.decorator.browser.js.map +1 -0
- package/dist/node/decorators/custom-type.decorator.node.d.ts +3 -0
- package/dist/node/decorators/custom-type.decorator.node.js +9 -0
- package/dist/node/decorators/custom-type.decorator.node.js.map +1 -0
- package/dist/node/dtos/announcement.d.ts +22 -0
- package/dist/node/dtos/announcement.js +99 -0
- package/dist/node/dtos/announcement.js.map +1 -0
- package/dist/node/dtos/base.d.ts +24 -0
- package/dist/node/dtos/base.js +118 -0
- package/dist/node/dtos/base.js.map +1 -0
- package/dist/node/dtos/community.d.ts +78 -0
- package/dist/node/dtos/community.js +472 -0
- package/dist/node/dtos/community.js.map +1 -0
- package/dist/node/dtos/discussion.d.ts +6 -0
- package/dist/node/dtos/discussion.js +30 -0
- package/dist/node/dtos/discussion.js.map +1 -0
- package/dist/node/dtos/folder.d.ts +36 -0
- package/dist/node/dtos/folder.js +190 -0
- package/dist/node/dtos/folder.js.map +1 -0
- package/dist/node/dtos/index.d.ts +9 -0
- package/dist/node/dtos/index.js +26 -0
- package/dist/node/dtos/index.js.map +1 -0
- package/dist/node/dtos/invitation.d.ts +101 -0
- package/dist/node/dtos/invitation.js +486 -0
- package/dist/node/dtos/invitation.js.map +1 -0
- package/dist/node/dtos/membership.d.ts +54 -0
- package/dist/node/dtos/membership.js +219 -0
- package/dist/node/dtos/membership.js.map +1 -0
- package/dist/node/dtos/resource.d.ts +69 -0
- package/dist/node/dtos/resource.js +326 -0
- package/dist/node/dtos/resource.js.map +1 -0
- package/dist/node/dtos/wiki.d.ts +3 -0
- package/dist/node/dtos/wiki.js +22 -0
- package/dist/node/dtos/wiki.js.map +1 -0
- package/dist/node/index.d.ts +3 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/mocks/index.d.ts +1 -0
- package/dist/node/mocks/index.js +18 -0
- package/dist/node/mocks/index.js.map +1 -0
- package/dist/node/mocks/search-community-response.mock.d.ts +10 -0
- package/dist/node/mocks/search-community-response.mock.js +96 -0
- package/dist/node/mocks/search-community-response.mock.js.map +1 -0
- 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":";;;AAaA,gCAEC;AACD,oCAEC;AAMD,wCAOC;AAMD,4DAOC;AAOD,kDAkDC;AAOD,8EAkBC;AA9HD,kCAMiB;AACjB,+BAAoC;AAMpC,SAAgB,UAAU;IACxB,OAAO,IAAA,SAAM,GAAE,CAAC;AAClB,CAAC;AACD,SAAgB,YAAY;IAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACrE,CAAC;AAMD,SAAgB,cAAc,CAAC,EAAU;IACvC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;QACd,WAAW,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;QACpC,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE;QACpB,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC;AAMD,SAAgB,wBAAwB;IACtC,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;QAChD,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;QACnD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;QAC9C,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;KAClD,CAAC;AACJ,CAAC;AAOD,SAAgB,mBAAmB,CAAC,EAAU;IAC5C,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAEvC,MAAM,aAAa,GACjB,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,oBAAa,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAa,CAAC,KAAK,CAAC;IAGjE,MAAM,SAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;IAG7C,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,SAAS,CAAC,KAAK,GAAG,aAAa,EAAE,EAAE,CAAC;IACpC,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC;IACnC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC;IAC/B,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IAClD,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;IAG5B,IAAI,aAAa,KAAK,oBAAa,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,SAAS,CAAC,eAAe,GAAG,WAAW,CAAC;QACxC,SAAS,CAAC,aAAa,GAAG,WAAW,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;QACxB,SAAS,CAAC,KAAK,GAAG,4BAA4B,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC;IAC3E,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;QACxB,SAAS,CAAC,WAAW,GAAG,wBAAwB,EAAE,gCAAgC,CAAC;IACrF,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;QACxB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACxC,SAAS,CAAC,YAAY,GAAG,WAAW,CAAC;QACrC,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;QACxB,SAAS,CAAC,QAAQ,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,CAAC,KAAK,GAAG,wBAAwB,EAAE,CAAC;IAE7C,OAAO,SAAS,CAAC;AACnB,CAAC;AAOD,SAAgB,iCAAiC,CAC/C,QAAgB,EAAE;IAElB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzD,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAC3B,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,iCAA0B,EAAE,CAAC;IAClD,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,GAAG;QACd,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,WAAW,CAAC,MAAM;QAC7B,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,CAAC;KACd,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAKY,QAAA,2BAA2B,GACtC,iCAAiC,EAAE,CAAC;AAKzB,QAAA,gCAAgC,GAC3C,iCAAiC,CAAC,EAAE,CAAC,CAAC;AAK3B,QAAA,gCAAgC,GAA+B;IAC1E,KAAK,EAAE,EAAE;IACT,IAAI,EAAE;QACJ,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;KACd;CACF,CAAC"}
|
|
@@ -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 @@
|
|
|
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,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
|
+
}
|