@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,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,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiPropertyOptional = exports.ApiProperty = exports.Type = void 0;
4
+ const class_transformer_1 = require("class-transformer");
5
+ Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return class_transformer_1.Type; } });
6
+ const swagger_1 = require("@nestjs/swagger");
7
+ Object.defineProperty(exports, "ApiProperty", { enumerable: true, get: function () { return swagger_1.ApiProperty; } });
8
+ Object.defineProperty(exports, "ApiPropertyOptional", { enumerable: true, get: function () { return swagger_1.ApiPropertyOptional; } });
9
+ //# sourceMappingURL=custom-type.decorator.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-type.decorator.node.js","sourceRoot":"","sources":["../../../src/decorators/custom-type.decorator.node.ts"],"names":[],"mappings":";;;AAAA,yDAAyC;AAMhC,qFANA,wBAAI,OAMA;AALb,6CAAuF;AAKxE,4FALN,qBAAW,OAKM;AAAsB,oGALN,6BAAmB,OAKM"}
@@ -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
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SearchAnnouncementDto = exports.CountAnnouncementDto = exports.UpdateAnnouncementDto = exports.CreateAnnouncementDto = exports.AnnouncementDto = void 0;
13
+ const custom_type_decorator_1 = require("../decorators/custom-type.decorator.node");
14
+ const custom_type_decorator_2 = require("../decorators/custom-type.decorator.node");
15
+ const class_validator_1 = require("class-validator");
16
+ const base_1 = require("./base");
17
+ const base_2 = require("./base");
18
+ const custom_type_decorator_3 = require("../decorators/custom-type.decorator.node");
19
+ class AnnouncementDto {
20
+ id;
21
+ content;
22
+ publicationDate;
23
+ modificationDate;
24
+ author;
25
+ communityId;
26
+ }
27
+ exports.AnnouncementDto = AnnouncementDto;
28
+ __decorate([
29
+ (0, custom_type_decorator_2.ApiProperty)(),
30
+ __metadata("design:type", Number)
31
+ ], AnnouncementDto.prototype, "id", void 0);
32
+ __decorate([
33
+ (0, custom_type_decorator_2.ApiProperty)(),
34
+ __metadata("design:type", String)
35
+ ], AnnouncementDto.prototype, "content", void 0);
36
+ __decorate([
37
+ (0, custom_type_decorator_2.ApiProperty)(),
38
+ __metadata("design:type", Date)
39
+ ], AnnouncementDto.prototype, "publicationDate", void 0);
40
+ __decorate([
41
+ (0, custom_type_decorator_1.ApiPropertyOptional)(),
42
+ __metadata("design:type", Date)
43
+ ], AnnouncementDto.prototype, "modificationDate", void 0);
44
+ __decorate([
45
+ (0, custom_type_decorator_2.ApiProperty)(),
46
+ __metadata("design:type", base_2.UserDto)
47
+ ], AnnouncementDto.prototype, "author", void 0);
48
+ __decorate([
49
+ (0, custom_type_decorator_2.ApiProperty)(),
50
+ __metadata("design:type", Number)
51
+ ], AnnouncementDto.prototype, "communityId", void 0);
52
+ class CreateAnnouncementDto {
53
+ content;
54
+ }
55
+ exports.CreateAnnouncementDto = CreateAnnouncementDto;
56
+ __decorate([
57
+ (0, custom_type_decorator_2.ApiProperty)({
58
+ description: "Announcement content",
59
+ example: "Important information about our next class meeting",
60
+ }),
61
+ (0, class_validator_1.IsNotEmpty)(),
62
+ (0, class_validator_1.IsString)(),
63
+ __metadata("design:type", String)
64
+ ], CreateAnnouncementDto.prototype, "content", void 0);
65
+ class UpdateAnnouncementDto {
66
+ content;
67
+ }
68
+ exports.UpdateAnnouncementDto = UpdateAnnouncementDto;
69
+ __decorate([
70
+ (0, custom_type_decorator_2.ApiProperty)({
71
+ description: "Updated announcement content",
72
+ example: "Important information about our rescheduled class meeting",
73
+ }),
74
+ (0, class_validator_1.IsNotEmpty)(),
75
+ (0, class_validator_1.IsString)(),
76
+ __metadata("design:type", String)
77
+ ], UpdateAnnouncementDto.prototype, "content", void 0);
78
+ class CountAnnouncementDto {
79
+ count;
80
+ }
81
+ exports.CountAnnouncementDto = CountAnnouncementDto;
82
+ __decorate([
83
+ (0, custom_type_decorator_2.ApiProperty)(),
84
+ __metadata("design:type", Number)
85
+ ], CountAnnouncementDto.prototype, "count", void 0);
86
+ class SearchAnnouncementDto extends base_1.PaginationQueryDto {
87
+ publishedAfter;
88
+ }
89
+ exports.SearchAnnouncementDto = SearchAnnouncementDto;
90
+ __decorate([
91
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
92
+ description: "Filter announcements published after this date",
93
+ }),
94
+ (0, class_validator_1.IsOptional)(),
95
+ (0, custom_type_decorator_3.Type)(() => Date),
96
+ (0, class_validator_1.IsDate)(),
97
+ __metadata("design:type", Date)
98
+ ], SearchAnnouncementDto.prototype, "publishedAfter", void 0);
99
+ //# sourceMappingURL=announcement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"announcement.js","sourceRoot":"","sources":["../../../src/dtos/announcement.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6EAAwE;AACxE,6EAAgE;AAChE,qDAA2E;AAC3E,iCAA4C;AAC5C,iCAAiC;AACjC,6EAAyD;AAEzD,MAAa,eAAe;IAE1B,EAAE,CAAS;IAGX,OAAO,CAAS;IAGhB,eAAe,CAAO;IAGtB,gBAAgB,CAAQ;IAGxB,MAAM,CAAU;IAGhB,WAAW,CAAS;CACrB;AAlBD,0CAkBC;AAhBC;IADC,IAAA,mCAAW,GAAE;;2CACH;AAGX;IADC,IAAA,mCAAW,GAAE;;gDACE;AAGhB;IADC,IAAA,mCAAW,GAAE;8BACG,IAAI;wDAAC;AAGtB;IADC,IAAA,2CAAmB,GAAE;8BACH,IAAI;yDAAC;AAGxB;IADC,IAAA,mCAAW,GAAE;8BACN,cAAO;+CAAC;AAGhB;IADC,IAAA,mCAAW,GAAE;;oDACM;AAEtB,MAAa,qBAAqB;IAOhC,OAAO,CAAS;CACjB;AARD,sDAQC;AADC;IANC,IAAA,mCAAW,EAAC;QACX,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,oDAAoD;KAC9D,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;sDACK;AAGlB,MAAa,qBAAqB;IAOhC,OAAO,CAAS;CACjB;AARD,sDAQC;AADC;IANC,IAAA,mCAAW,EAAC;QACX,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,2DAA2D;KACrE,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;sDACK;AAGlB,MAAa,oBAAoB;IAE/B,KAAK,CAAS;CACf;AAHD,oDAGC;AADC;IADC,IAAA,mCAAW,GAAE;;mDACA;AAGhB,MAAa,qBAAsB,SAAQ,yBAAkB;IAO3D,cAAc,CAAQ;CACvB;AARD,sDAQC;AADC;IANC,IAAA,2CAAmB,EAAC;QACnB,WAAW,EAAE,gDAAgD;KAC9D,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IAChB,IAAA,wBAAM,GAAE;8BACQ,IAAI;6DAAC"}
@@ -0,0 +1,24 @@
1
+ export declare enum SortDirection {
2
+ ASC = "ASC",
3
+ DESC = "DESC"
4
+ }
5
+ export declare class PaginationQueryDto {
6
+ page?: number;
7
+ size?: number;
8
+ }
9
+ export declare class PageMetadataDto {
10
+ totalItems: number;
11
+ itemCount: number;
12
+ itemsPerPage: number;
13
+ totalPages: number;
14
+ currentPage: number;
15
+ }
16
+ export declare class FieldSelectionDto {
17
+ fields?: string;
18
+ }
19
+ export declare class UserDto {
20
+ id: number;
21
+ displayName: string;
22
+ entId: string;
23
+ profile: string;
24
+ }
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UserDto = exports.FieldSelectionDto = exports.PageMetadataDto = exports.PaginationQueryDto = exports.SortDirection = void 0;
13
+ const custom_type_decorator_1 = require("../decorators/custom-type.decorator.node");
14
+ const custom_type_decorator_2 = require("../decorators/custom-type.decorator.node");
15
+ const class_validator_1 = require("class-validator");
16
+ var SortDirection;
17
+ (function (SortDirection) {
18
+ SortDirection["ASC"] = "ASC";
19
+ SortDirection["DESC"] = "DESC";
20
+ })(SortDirection || (exports.SortDirection = SortDirection = {}));
21
+ class PaginationQueryDto {
22
+ page = 0;
23
+ size = 20;
24
+ }
25
+ exports.PaginationQueryDto = PaginationQueryDto;
26
+ __decorate([
27
+ (0, custom_type_decorator_1.ApiProperty)({
28
+ description: 'Page number (zero-indexed)',
29
+ default: 0,
30
+ required: false,
31
+ }),
32
+ (0, class_validator_1.IsOptional)(),
33
+ (0, custom_type_decorator_2.Type)(() => Number),
34
+ (0, class_validator_1.IsInt)(),
35
+ (0, class_validator_1.Min)(0),
36
+ __metadata("design:type", Number)
37
+ ], PaginationQueryDto.prototype, "page", void 0);
38
+ __decorate([
39
+ (0, custom_type_decorator_1.ApiProperty)({
40
+ description: 'Number of items per page',
41
+ default: 20,
42
+ required: false,
43
+ }),
44
+ (0, class_validator_1.IsOptional)(),
45
+ (0, custom_type_decorator_2.Type)(() => Number),
46
+ (0, class_validator_1.IsInt)(),
47
+ (0, class_validator_1.Min)(1),
48
+ __metadata("design:type", Number)
49
+ ], PaginationQueryDto.prototype, "size", void 0);
50
+ class PageMetadataDto {
51
+ totalItems;
52
+ itemCount;
53
+ itemsPerPage;
54
+ totalPages;
55
+ currentPage;
56
+ }
57
+ exports.PageMetadataDto = PageMetadataDto;
58
+ __decorate([
59
+ (0, custom_type_decorator_1.ApiProperty)(),
60
+ __metadata("design:type", Number)
61
+ ], PageMetadataDto.prototype, "totalItems", void 0);
62
+ __decorate([
63
+ (0, custom_type_decorator_1.ApiProperty)(),
64
+ __metadata("design:type", Number)
65
+ ], PageMetadataDto.prototype, "itemCount", void 0);
66
+ __decorate([
67
+ (0, custom_type_decorator_1.ApiProperty)(),
68
+ __metadata("design:type", Number)
69
+ ], PageMetadataDto.prototype, "itemsPerPage", void 0);
70
+ __decorate([
71
+ (0, custom_type_decorator_1.ApiProperty)(),
72
+ __metadata("design:type", Number)
73
+ ], PageMetadataDto.prototype, "totalPages", void 0);
74
+ __decorate([
75
+ (0, custom_type_decorator_1.ApiProperty)(),
76
+ __metadata("design:type", Number)
77
+ ], PageMetadataDto.prototype, "currentPage", void 0);
78
+ class FieldSelectionDto {
79
+ fields;
80
+ }
81
+ exports.FieldSelectionDto = FieldSelectionDto;
82
+ __decorate([
83
+ (0, custom_type_decorator_1.ApiProperty)({
84
+ description: 'Comma-separated list of fields to include in the response',
85
+ example: 'id,title,type',
86
+ required: false,
87
+ }),
88
+ (0, class_validator_1.IsOptional)(),
89
+ (0, class_validator_1.IsString)(),
90
+ __metadata("design:type", String)
91
+ ], FieldSelectionDto.prototype, "fields", void 0);
92
+ class UserDto {
93
+ id;
94
+ displayName;
95
+ entId;
96
+ profile = '';
97
+ }
98
+ exports.UserDto = UserDto;
99
+ __decorate([
100
+ (0, custom_type_decorator_1.ApiProperty)(),
101
+ __metadata("design:type", Number)
102
+ ], UserDto.prototype, "id", void 0);
103
+ __decorate([
104
+ (0, custom_type_decorator_1.ApiProperty)(),
105
+ __metadata("design:type", String)
106
+ ], UserDto.prototype, "displayName", void 0);
107
+ __decorate([
108
+ (0, custom_type_decorator_1.ApiProperty)(),
109
+ __metadata("design:type", String)
110
+ ], UserDto.prototype, "entId", void 0);
111
+ __decorate([
112
+ (0, custom_type_decorator_1.ApiProperty)({
113
+ description: 'User profile (e.g., Student, Teacher)',
114
+ example: 'Student',
115
+ }),
116
+ __metadata("design:type", String)
117
+ ], UserDto.prototype, "profile", void 0);
118
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/dtos/base.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6EAAgE;AAChE,6EAAyD;AACzD,qDAAmE;AAEnE,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,8BAAa,CAAA;AACf,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED,MAAa,kBAAkB;IAU7B,IAAI,GAAY,CAAC,CAAC;IAWlB,IAAI,GAAY,EAAE,CAAC;CACpB;AAtBD,gDAsBC;AAZC;IATC,IAAA,mCAAW,EAAC;QACX,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;gDACW;AAWlB;IATC,IAAA,mCAAW,EAAC;QACX,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;gDACY;AAIrB,MAAa,eAAe;IAE1B,UAAU,CAAS;IAGnB,SAAS,CAAS;IAGlB,YAAY,CAAS;IAGrB,UAAU,CAAS;IAGnB,WAAW,CAAS;CACrB;AAfD,0CAeC;AAbC;IADC,IAAA,mCAAW,GAAE;;mDACK;AAGnB;IADC,IAAA,mCAAW,GAAE;;kDACI;AAGlB;IADC,IAAA,mCAAW,GAAE;;qDACO;AAGrB;IADC,IAAA,mCAAW,GAAE;;mDACK;AAGnB;IADC,IAAA,mCAAW,GAAE;;oDACM;AAGtB,MAAa,iBAAiB;IAQ5B,MAAM,CAAU;CACjB;AATD,8CASC;AADC;IAPC,IAAA,mCAAW,EAAC;QACX,WAAW,EAAE,2DAA2D;QACxE,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACK;AAGlB,MAAa,OAAO;IAElB,EAAE,CAAS;IAGX,WAAW,CAAS;IAGpB,KAAK,CAAS;IAMd,OAAO,GAAW,EAAE,CAAC;CACtB;AAfD,0BAeC;AAbC;IADC,IAAA,mCAAW,GAAE;;mCACH;AAGX;IADC,IAAA,mCAAW,GAAE;;4CACM;AAGpB;IADC,IAAA,mCAAW,GAAE;;sCACA;AAMd;IAJC,IAAA,mCAAW,EAAC;QACX,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,SAAS;KACnB,CAAC;;wCACmB"}
@@ -0,0 +1,78 @@
1
+ import { SortDirection } from './base';
2
+ import { PageMetadataDto, PaginationQueryDto, UserDto } from "./base";
3
+ import { InvitedUserDto } from "./invitation";
4
+ export declare enum CommunityType {
5
+ CLASS = "CLASS",
6
+ FREE = "FREE"
7
+ }
8
+ export declare class InitialInvitationDto {
9
+ users: InvitedUserDto[];
10
+ }
11
+ export declare class CreateCommunityDto {
12
+ image?: string;
13
+ title: string;
14
+ type: CommunityType;
15
+ schoolYearStart?: number;
16
+ schoolYearEnd?: number;
17
+ welcomeNote?: string;
18
+ discussionEnabled: boolean;
19
+ secretCode?: string;
20
+ invitations?: InitialInvitationDto;
21
+ colour?: string;
22
+ }
23
+ export declare class UpdateCommunityDto {
24
+ image?: string;
25
+ title: string;
26
+ type: CommunityType;
27
+ schoolYearStart?: number;
28
+ schoolYearEnd?: number;
29
+ welcomeNote?: string;
30
+ discussionEnabled: boolean;
31
+ secretCode?: string;
32
+ colour?: string;
33
+ }
34
+ export declare enum CommunitySortField {
35
+ TITLE = "TITLE"
36
+ }
37
+ export declare class SearchCommunityRequestDto extends PaginationQueryDto {
38
+ title?: string;
39
+ type?: CommunityType;
40
+ createdAfter?: Date;
41
+ schoolYear?: number;
42
+ fields?: CommunityFields[];
43
+ sortBy?: CommunitySortField;
44
+ sortDirection?: SortDirection;
45
+ }
46
+ export type CommunityFields = "basic" | "stats";
47
+ export declare class SearchCommunityResponseDto {
48
+ items: CommunityResponseDto[];
49
+ meta: PageMetadataDto;
50
+ }
51
+ export declare class CommunityStatsDto {
52
+ totalMembers: number;
53
+ acceptedMembers: number;
54
+ totalAdmins: number;
55
+ acceptedAdmins: number;
56
+ }
57
+ export declare class CommunityResponseDto {
58
+ id: number;
59
+ image?: string;
60
+ title: string;
61
+ creationDate: Date;
62
+ updateDate?: Date;
63
+ type: CommunityType;
64
+ schoolYearStart?: number;
65
+ schoolYearEnd?: number;
66
+ welcomeNote?: string;
67
+ discussionEnabled: boolean;
68
+ archivedDate?: Date;
69
+ creator: UserDto;
70
+ modifier?: UserDto;
71
+ archiver?: UserDto;
72
+ stats?: CommunityStatsDto;
73
+ colour?: string;
74
+ }
75
+ export declare class CommunitySecretCodeDto {
76
+ id: number;
77
+ secretCode: string;
78
+ }