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

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 (228) hide show
  1. package/dist/browser/clients/adapters/fetch-adapter.js +2 -1
  2. package/dist/browser/clients/adapters/fetch-adapter.js.map +1 -1
  3. package/dist/browser/clients/adapters/http-service-adapter.d.ts +2 -2
  4. package/dist/browser/clients/adapters/http-service-adapter.js +2 -7
  5. package/dist/browser/clients/adapters/http-service-adapter.js.map +1 -1
  6. package/dist/browser/clients/announcement.client.d.ts +13 -0
  7. package/dist/browser/clients/announcement.client.js +42 -0
  8. package/dist/browser/clients/announcement.client.js.map +1 -0
  9. package/dist/browser/clients/base-api.client.d.ts +7 -7
  10. package/dist/browser/clients/base-api.client.js +14 -11
  11. package/dist/browser/clients/base-api.client.js.map +1 -1
  12. package/dist/browser/clients/community.client.js +8 -8
  13. package/dist/browser/clients/community.client.js.map +1 -1
  14. package/dist/browser/clients/discussion.client.d.ts +10 -0
  15. package/dist/browser/clients/discussion.client.js +29 -0
  16. package/dist/browser/clients/discussion.client.js.map +1 -0
  17. package/dist/browser/clients/errors/api-error.d.ts +11 -0
  18. package/dist/browser/clients/errors/api-error.js +49 -0
  19. package/dist/browser/clients/errors/api-error.js.map +1 -0
  20. package/dist/browser/clients/index.d.ts +8 -0
  21. package/dist/browser/clients/index.js +8 -0
  22. package/dist/browser/clients/index.js.map +1 -1
  23. package/dist/browser/clients/invitation.client.d.ts +2 -1
  24. package/dist/browser/clients/invitation.client.js +27 -9
  25. package/dist/browser/clients/invitation.client.js.map +1 -1
  26. package/dist/browser/clients/membership.client.d.ts +3 -2
  27. package/dist/browser/clients/membership.client.js +19 -5
  28. package/dist/browser/clients/membership.client.js.map +1 -1
  29. package/dist/browser/clients/resource.client.d.ts +14 -0
  30. package/dist/browser/clients/resource.client.js +51 -0
  31. package/dist/browser/clients/resource.client.js.map +1 -0
  32. package/dist/browser/clients/wiki.client.d.ts +10 -0
  33. package/dist/browser/clients/wiki.client.js +35 -0
  34. package/dist/browser/clients/wiki.client.js.map +1 -0
  35. package/dist/browser/dtos/announcement.d.ts +14 -1
  36. package/dist/browser/dtos/announcement.js +61 -1
  37. package/dist/browser/dtos/announcement.js.map +1 -1
  38. package/dist/browser/dtos/community.d.ts +1 -1
  39. package/dist/browser/dtos/community.js +28 -23
  40. package/dist/browser/dtos/community.js.map +1 -1
  41. package/dist/browser/dtos/discussion.d.ts +30 -0
  42. package/dist/browser/dtos/discussion.js +112 -1
  43. package/dist/browser/dtos/discussion.js.map +1 -1
  44. package/dist/browser/dtos/invitation.d.ts +12 -4
  45. package/dist/browser/dtos/invitation.js +107 -18
  46. package/dist/browser/dtos/invitation.js.map +1 -1
  47. package/dist/browser/dtos/membership.d.ts +4 -1
  48. package/dist/browser/dtos/membership.js +16 -1
  49. package/dist/browser/dtos/membership.js.map +1 -1
  50. package/dist/browser/dtos/resource.d.ts +8 -2
  51. package/dist/browser/dtos/resource.js +51 -2
  52. package/dist/browser/dtos/resource.js.map +1 -1
  53. package/dist/browser/dtos/wiki.d.ts +14 -0
  54. package/dist/browser/dtos/wiki.js +66 -1
  55. package/dist/browser/dtos/wiki.js.map +1 -1
  56. package/dist/browser/index.d.ts +1 -0
  57. package/dist/browser/index.js +2 -1
  58. package/dist/browser/index.js.map +1 -1
  59. package/dist/browser/utils/index.d.ts +2 -0
  60. package/dist/browser/utils/index.js +19 -0
  61. package/dist/browser/utils/index.js.map +1 -0
  62. package/dist/browser/utils/resource-url.util.d.ts +2 -0
  63. package/dist/browser/utils/resource-url.util.js +38 -0
  64. package/dist/browser/utils/resource-url.util.js.map +1 -0
  65. package/dist/browser/utils/rights.utils.d.ts +4 -0
  66. package/dist/browser/utils/rights.utils.js +8 -0
  67. package/dist/browser/utils/rights.utils.js.map +1 -0
  68. package/dist/node/clients/adapters/fetch-adapter.js +2 -1
  69. package/dist/node/clients/adapters/fetch-adapter.js.map +1 -1
  70. package/dist/node/clients/adapters/http-service-adapter.d.ts +2 -2
  71. package/dist/node/clients/adapters/http-service-adapter.js +2 -7
  72. package/dist/node/clients/adapters/http-service-adapter.js.map +1 -1
  73. package/dist/node/clients/announcement.client.d.ts +13 -0
  74. package/dist/node/clients/announcement.client.js +42 -0
  75. package/dist/node/clients/announcement.client.js.map +1 -0
  76. package/dist/node/clients/base-api.client.d.ts +7 -7
  77. package/dist/node/clients/base-api.client.js +14 -11
  78. package/dist/node/clients/base-api.client.js.map +1 -1
  79. package/dist/node/clients/community.client.js +8 -8
  80. package/dist/node/clients/community.client.js.map +1 -1
  81. package/dist/node/clients/discussion.client.d.ts +10 -0
  82. package/dist/node/clients/discussion.client.js +29 -0
  83. package/dist/node/clients/discussion.client.js.map +1 -0
  84. package/dist/node/clients/errors/api-error.d.ts +11 -0
  85. package/dist/node/clients/errors/api-error.js +49 -0
  86. package/dist/node/clients/errors/api-error.js.map +1 -0
  87. package/dist/node/clients/index.d.ts +8 -0
  88. package/dist/node/clients/index.js +8 -0
  89. package/dist/node/clients/index.js.map +1 -1
  90. package/dist/node/clients/invitation.client.d.ts +2 -1
  91. package/dist/node/clients/invitation.client.js +27 -9
  92. package/dist/node/clients/invitation.client.js.map +1 -1
  93. package/dist/node/clients/membership.client.d.ts +3 -2
  94. package/dist/node/clients/membership.client.js +19 -5
  95. package/dist/node/clients/membership.client.js.map +1 -1
  96. package/dist/node/clients/resource.client.d.ts +14 -0
  97. package/dist/node/clients/resource.client.js +51 -0
  98. package/dist/node/clients/resource.client.js.map +1 -0
  99. package/dist/node/clients/wiki.client.d.ts +10 -0
  100. package/dist/node/clients/wiki.client.js +35 -0
  101. package/dist/node/clients/wiki.client.js.map +1 -0
  102. package/dist/node/dtos/announcement.d.ts +14 -1
  103. package/dist/node/dtos/announcement.js +61 -1
  104. package/dist/node/dtos/announcement.js.map +1 -1
  105. package/dist/node/dtos/community.d.ts +1 -1
  106. package/dist/node/dtos/community.js +28 -23
  107. package/dist/node/dtos/community.js.map +1 -1
  108. package/dist/node/dtos/discussion.d.ts +30 -0
  109. package/dist/node/dtos/discussion.js +112 -1
  110. package/dist/node/dtos/discussion.js.map +1 -1
  111. package/dist/node/dtos/invitation.d.ts +12 -4
  112. package/dist/node/dtos/invitation.js +107 -18
  113. package/dist/node/dtos/invitation.js.map +1 -1
  114. package/dist/node/dtos/membership.d.ts +4 -1
  115. package/dist/node/dtos/membership.js +16 -1
  116. package/dist/node/dtos/membership.js.map +1 -1
  117. package/dist/node/dtos/resource.d.ts +8 -2
  118. package/dist/node/dtos/resource.js +51 -2
  119. package/dist/node/dtos/resource.js.map +1 -1
  120. package/dist/node/dtos/wiki.d.ts +14 -0
  121. package/dist/node/dtos/wiki.js +66 -1
  122. package/dist/node/dtos/wiki.js.map +1 -1
  123. package/dist/node/index.d.ts +1 -0
  124. package/dist/node/index.js +2 -1
  125. package/dist/node/index.js.map +1 -1
  126. package/dist/node/utils/index.d.ts +2 -0
  127. package/dist/node/utils/index.js +19 -0
  128. package/dist/node/utils/index.js.map +1 -0
  129. package/dist/node/utils/resource-url.util.d.ts +2 -0
  130. package/dist/node/utils/resource-url.util.js +38 -0
  131. package/dist/node/utils/resource-url.util.js.map +1 -0
  132. package/dist/node/utils/rights.utils.d.ts +4 -0
  133. package/dist/node/utils/rights.utils.js +8 -0
  134. package/dist/node/utils/rights.utils.js.map +1 -0
  135. package/dist/react-native/clients/adapters/fetch-adapter.d.ts +12 -0
  136. package/dist/react-native/clients/adapters/fetch-adapter.js +86 -0
  137. package/dist/react-native/clients/adapters/fetch-adapter.js.map +1 -0
  138. package/dist/react-native/clients/adapters/http-adapter.d.ts +8 -0
  139. package/dist/react-native/clients/adapters/http-adapter.js +3 -0
  140. package/dist/react-native/clients/adapters/http-adapter.js.map +1 -0
  141. package/dist/react-native/clients/adapters/http-service-adapter.d.ts +12 -0
  142. package/dist/react-native/clients/adapters/http-service-adapter.js +35 -0
  143. package/dist/react-native/clients/adapters/http-service-adapter.js.map +1 -0
  144. package/dist/react-native/clients/announcement.client.d.ts +13 -0
  145. package/dist/react-native/clients/announcement.client.js +42 -0
  146. package/dist/react-native/clients/announcement.client.js.map +1 -0
  147. package/dist/react-native/clients/base-api.client.d.ts +27 -0
  148. package/dist/react-native/clients/base-api.client.js +65 -0
  149. package/dist/react-native/clients/base-api.client.js.map +1 -0
  150. package/dist/react-native/clients/community.client.d.ts +13 -0
  151. package/dist/react-native/clients/community.client.js +60 -0
  152. package/dist/react-native/clients/community.client.js.map +1 -0
  153. package/dist/react-native/clients/discussion.client.d.ts +10 -0
  154. package/dist/react-native/clients/discussion.client.js +29 -0
  155. package/dist/react-native/clients/discussion.client.js.map +1 -0
  156. package/dist/react-native/clients/errors/api-error.d.ts +11 -0
  157. package/dist/react-native/clients/errors/api-error.js +49 -0
  158. package/dist/react-native/clients/errors/api-error.js.map +1 -0
  159. package/dist/react-native/clients/index.d.ts +11 -0
  160. package/dist/react-native/clients/index.js +28 -0
  161. package/dist/react-native/clients/index.js.map +1 -0
  162. package/dist/react-native/clients/invitation.client.d.ts +23 -0
  163. package/dist/react-native/clients/invitation.client.js +96 -0
  164. package/dist/react-native/clients/invitation.client.js.map +1 -0
  165. package/dist/react-native/clients/membership.client.d.ts +12 -0
  166. package/dist/react-native/clients/membership.client.js +48 -0
  167. package/dist/react-native/clients/membership.client.js.map +1 -0
  168. package/dist/react-native/clients/resource.client.d.ts +14 -0
  169. package/dist/react-native/clients/resource.client.js +51 -0
  170. package/dist/react-native/clients/resource.client.js.map +1 -0
  171. package/dist/react-native/clients/wiki.client.d.ts +10 -0
  172. package/dist/react-native/clients/wiki.client.js +35 -0
  173. package/dist/react-native/clients/wiki.client.js.map +1 -0
  174. package/dist/react-native/decorators/custom-type.decorator.browser.d.ts +3 -0
  175. package/dist/react-native/decorators/custom-type.decorator.browser.js +15 -0
  176. package/dist/react-native/decorators/custom-type.decorator.browser.js.map +1 -0
  177. package/dist/react-native/decorators/custom-type.decorator.node.d.ts +3 -0
  178. package/dist/react-native/dtos/announcement.d.ts +35 -0
  179. package/dist/react-native/dtos/announcement.js +159 -0
  180. package/dist/react-native/dtos/announcement.js.map +1 -0
  181. package/dist/react-native/dtos/base.d.ts +24 -0
  182. package/dist/react-native/dtos/base.js +118 -0
  183. package/dist/react-native/dtos/base.js.map +1 -0
  184. package/dist/react-native/dtos/community.d.ts +78 -0
  185. package/dist/react-native/dtos/community.js +477 -0
  186. package/dist/react-native/dtos/community.js.map +1 -0
  187. package/dist/react-native/dtos/discussion.d.ts +36 -0
  188. package/dist/react-native/dtos/discussion.js +141 -0
  189. package/dist/react-native/dtos/discussion.js.map +1 -0
  190. package/dist/react-native/dtos/folder.d.ts +36 -0
  191. package/dist/react-native/dtos/folder.js +190 -0
  192. package/dist/react-native/dtos/folder.js.map +1 -0
  193. package/dist/react-native/dtos/index.d.ts +9 -0
  194. package/dist/react-native/dtos/index.js +26 -0
  195. package/dist/react-native/dtos/index.js.map +1 -0
  196. package/dist/react-native/dtos/invitation.d.ts +109 -0
  197. package/dist/react-native/dtos/invitation.js +575 -0
  198. package/dist/react-native/dtos/invitation.js.map +1 -0
  199. package/dist/react-native/dtos/membership.d.ts +57 -0
  200. package/dist/react-native/dtos/membership.js +234 -0
  201. package/dist/react-native/dtos/membership.js.map +1 -0
  202. package/dist/react-native/dtos/resource.d.ts +75 -0
  203. package/dist/react-native/dtos/resource.js +375 -0
  204. package/dist/react-native/dtos/resource.js.map +1 -0
  205. package/dist/react-native/dtos/wiki.d.ts +17 -0
  206. package/dist/react-native/dtos/wiki.js +87 -0
  207. package/dist/react-native/dtos/wiki.js.map +1 -0
  208. package/dist/react-native/index.d.ts +4 -0
  209. package/dist/react-native/index.js +22 -0
  210. package/dist/react-native/index.js.map +1 -0
  211. package/dist/react-native/mocks/index.d.ts +1 -0
  212. package/dist/react-native/mocks/index.js +18 -0
  213. package/dist/react-native/mocks/index.js.map +1 -0
  214. package/dist/react-native/mocks/search-community-response.mock.d.ts +10 -0
  215. package/dist/react-native/mocks/search-community-response.mock.js +96 -0
  216. package/dist/react-native/mocks/search-community-response.mock.js.map +1 -0
  217. package/dist/react-native/package.json +14 -0
  218. package/dist/react-native/utils/index.d.ts +2 -0
  219. package/dist/react-native/utils/index.js +19 -0
  220. package/dist/react-native/utils/index.js.map +1 -0
  221. package/dist/react-native/utils/resource-url.util.d.ts +2 -0
  222. package/dist/react-native/utils/resource-url.util.js +38 -0
  223. package/dist/react-native/utils/resource-url.util.js.map +1 -0
  224. package/dist/react-native/utils/rights.utils.d.ts +4 -0
  225. package/dist/react-native/utils/rights.utils.js +8 -0
  226. package/dist/react-native/utils/rights.utils.js.map +1 -0
  227. package/package.json +14 -13
  228. package/package.json.rn +14 -0
@@ -0,0 +1,234 @@
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.SearchMembershipQueryDto = exports.DeleteMembersResponseDto = exports.DeleteMembersDto = exports.CreateMembershipBatchDto = exports.SearchMembershipResponseDto = exports.LeaveCommunityOptionsDto = exports.UpdateLastVisitDto = exports.MembershipResponseDto = exports.UpdateMembershipDto = exports.CreateMembershipDto = exports.JoinCommunityDto = exports.CommunitySection = exports.MembershipRole = void 0;
13
+ const custom_type_decorator_1 = require("../decorators/custom-type.decorator.browser");
14
+ const class_validator_1 = require("class-validator");
15
+ const base_1 = require("./base");
16
+ const base_2 = require("./base");
17
+ const custom_type_decorator_2 = require("../decorators/custom-type.decorator.browser");
18
+ const class_transformer_1 = require("class-transformer");
19
+ var MembershipRole;
20
+ (function (MembershipRole) {
21
+ MembershipRole["ADMIN"] = "ADMIN";
22
+ MembershipRole["MEMBER"] = "MEMBER";
23
+ })(MembershipRole || (exports.MembershipRole = MembershipRole = {}));
24
+ var CommunitySection;
25
+ (function (CommunitySection) {
26
+ CommunitySection["ANNOUNCEMENTS"] = "ANNOUNCEMENTS";
27
+ CommunitySection["RESOURCES"] = "RESOURCES";
28
+ CommunitySection["WIKI"] = "WIKI";
29
+ CommunitySection["DISCUSSIONS"] = "DISCUSSIONS";
30
+ })(CommunitySection || (exports.CommunitySection = CommunitySection = {}));
31
+ class JoinCommunityDto {
32
+ secretCode;
33
+ }
34
+ exports.JoinCommunityDto = JoinCommunityDto;
35
+ __decorate([
36
+ (0, custom_type_decorator_1.ApiProperty)({
37
+ description: "Secret code to join the community",
38
+ }),
39
+ (0, class_validator_1.IsString)(),
40
+ __metadata("design:type", String)
41
+ ], JoinCommunityDto.prototype, "secretCode", void 0);
42
+ class CreateMembershipDto {
43
+ userId;
44
+ role = MembershipRole.MEMBER;
45
+ }
46
+ exports.CreateMembershipDto = CreateMembershipDto;
47
+ __decorate([
48
+ (0, custom_type_decorator_1.ApiProperty)({
49
+ description: "User ID",
50
+ example: 1,
51
+ }),
52
+ __metadata("design:type", String)
53
+ ], CreateMembershipDto.prototype, "userId", void 0);
54
+ __decorate([
55
+ (0, custom_type_decorator_1.ApiProperty)({
56
+ description: "Role in the community",
57
+ enum: MembershipRole,
58
+ default: MembershipRole.MEMBER,
59
+ }),
60
+ (0, class_validator_1.IsEnum)(MembershipRole),
61
+ __metadata("design:type", String)
62
+ ], CreateMembershipDto.prototype, "role", void 0);
63
+ class UpdateMembershipDto {
64
+ role;
65
+ }
66
+ exports.UpdateMembershipDto = UpdateMembershipDto;
67
+ __decorate([
68
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
69
+ description: "Role in the community",
70
+ enum: MembershipRole,
71
+ }),
72
+ (0, class_validator_1.IsOptional)(),
73
+ (0, class_validator_1.IsEnum)(MembershipRole),
74
+ __metadata("design:type", String)
75
+ ], UpdateMembershipDto.prototype, "role", void 0);
76
+ class MembershipResponseDto {
77
+ id;
78
+ joinDate;
79
+ role;
80
+ lastVisitAnnouncementsDate;
81
+ lastVisitResourcesDate;
82
+ lastVisitWikiDate;
83
+ lastVisitDiscussionsDate;
84
+ communityId;
85
+ user;
86
+ inviter;
87
+ }
88
+ exports.MembershipResponseDto = MembershipResponseDto;
89
+ __decorate([
90
+ (0, custom_type_decorator_1.ApiProperty)(),
91
+ __metadata("design:type", Number)
92
+ ], MembershipResponseDto.prototype, "id", void 0);
93
+ __decorate([
94
+ (0, custom_type_decorator_1.ApiProperty)(),
95
+ __metadata("design:type", Date)
96
+ ], MembershipResponseDto.prototype, "joinDate", void 0);
97
+ __decorate([
98
+ (0, custom_type_decorator_1.ApiProperty)({ enum: MembershipRole }),
99
+ __metadata("design:type", String)
100
+ ], MembershipResponseDto.prototype, "role", void 0);
101
+ __decorate([
102
+ (0, custom_type_decorator_1.ApiPropertyOptional)(),
103
+ __metadata("design:type", Date)
104
+ ], MembershipResponseDto.prototype, "lastVisitAnnouncementsDate", void 0);
105
+ __decorate([
106
+ (0, custom_type_decorator_1.ApiPropertyOptional)(),
107
+ __metadata("design:type", Date)
108
+ ], MembershipResponseDto.prototype, "lastVisitResourcesDate", void 0);
109
+ __decorate([
110
+ (0, custom_type_decorator_1.ApiPropertyOptional)(),
111
+ __metadata("design:type", Date)
112
+ ], MembershipResponseDto.prototype, "lastVisitWikiDate", void 0);
113
+ __decorate([
114
+ (0, custom_type_decorator_1.ApiPropertyOptional)(),
115
+ __metadata("design:type", Date)
116
+ ], MembershipResponseDto.prototype, "lastVisitDiscussionsDate", void 0);
117
+ __decorate([
118
+ (0, custom_type_decorator_1.ApiProperty)(),
119
+ __metadata("design:type", Number)
120
+ ], MembershipResponseDto.prototype, "communityId", void 0);
121
+ __decorate([
122
+ (0, custom_type_decorator_1.ApiProperty)(),
123
+ __metadata("design:type", base_1.UserDto)
124
+ ], MembershipResponseDto.prototype, "user", void 0);
125
+ __decorate([
126
+ (0, custom_type_decorator_1.ApiPropertyOptional)(),
127
+ __metadata("design:type", base_1.UserDto)
128
+ ], MembershipResponseDto.prototype, "inviter", void 0);
129
+ class UpdateLastVisitDto {
130
+ section;
131
+ }
132
+ exports.UpdateLastVisitDto = UpdateLastVisitDto;
133
+ __decorate([
134
+ (0, custom_type_decorator_1.ApiProperty)({
135
+ description: "Community section that was visited",
136
+ enum: CommunitySection,
137
+ example: CommunitySection.ANNOUNCEMENTS
138
+ }),
139
+ (0, class_validator_1.IsEnum)(CommunitySection),
140
+ (0, class_validator_1.IsNotEmpty)(),
141
+ __metadata("design:type", String)
142
+ ], UpdateLastVisitDto.prototype, "section", void 0);
143
+ class LeaveCommunityOptionsDto {
144
+ removeSharedResources = false;
145
+ }
146
+ exports.LeaveCommunityOptionsDto = LeaveCommunityOptionsDto;
147
+ __decorate([
148
+ (0, custom_type_decorator_1.ApiProperty)({
149
+ description: "Whether to remove shared resources",
150
+ default: false,
151
+ }),
152
+ __metadata("design:type", Boolean)
153
+ ], LeaveCommunityOptionsDto.prototype, "removeSharedResources", void 0);
154
+ class SearchMembershipResponseDto {
155
+ items;
156
+ meta;
157
+ }
158
+ exports.SearchMembershipResponseDto = SearchMembershipResponseDto;
159
+ __decorate([
160
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
161
+ description: "List of memberships matching the search criteria",
162
+ isArray: true,
163
+ type: () => MembershipResponseDto,
164
+ }),
165
+ __metadata("design:type", Array)
166
+ ], SearchMembershipResponseDto.prototype, "items", void 0);
167
+ __decorate([
168
+ (0, custom_type_decorator_1.ApiPropertyOptional)(),
169
+ __metadata("design:type", base_2.PageMetadataDto)
170
+ ], SearchMembershipResponseDto.prototype, "meta", void 0);
171
+ class CreateMembershipBatchDto {
172
+ members;
173
+ }
174
+ exports.CreateMembershipBatchDto = CreateMembershipBatchDto;
175
+ __decorate([
176
+ (0, custom_type_decorator_1.ApiProperty)({
177
+ description: "List of members to add to the community",
178
+ isArray: true,
179
+ type: () => CreateMembershipDto,
180
+ }),
181
+ (0, class_validator_1.IsArray)(),
182
+ (0, class_validator_1.ArrayMinSize)(1),
183
+ (0, class_validator_1.ValidateNested)({ each: true }),
184
+ (0, custom_type_decorator_2.Type)(() => CreateMembershipDto),
185
+ __metadata("design:type", Array)
186
+ ], CreateMembershipBatchDto.prototype, "members", void 0);
187
+ class DeleteMembersDto {
188
+ userIds;
189
+ }
190
+ exports.DeleteMembersDto = DeleteMembersDto;
191
+ __decorate([
192
+ (0, custom_type_decorator_1.ApiProperty)({
193
+ description: "List of user IDs to remove from the community",
194
+ isArray: true,
195
+ example: [1, 2, 3],
196
+ }),
197
+ (0, class_validator_1.IsArray)(),
198
+ (0, class_validator_1.ArrayMinSize)(1),
199
+ __metadata("design:type", Array)
200
+ ], DeleteMembersDto.prototype, "userIds", void 0);
201
+ class DeleteMembersResponseDto {
202
+ numberOfMembersRemoved;
203
+ numberOfInvitationsRemoved;
204
+ }
205
+ exports.DeleteMembersResponseDto = DeleteMembersResponseDto;
206
+ __decorate([
207
+ (0, custom_type_decorator_1.ApiProperty)({
208
+ description: "Number of members removed",
209
+ example: 3,
210
+ }),
211
+ __metadata("design:type", Number)
212
+ ], DeleteMembersResponseDto.prototype, "numberOfMembersRemoved", void 0);
213
+ __decorate([
214
+ (0, custom_type_decorator_1.ApiProperty)({
215
+ description: "Number of invitations removed",
216
+ example: 2,
217
+ }),
218
+ __metadata("design:type", Number)
219
+ ], DeleteMembersResponseDto.prototype, "numberOfInvitationsRemoved", void 0);
220
+ class SearchMembershipQueryDto extends base_1.PaginationQueryDto {
221
+ userEntId;
222
+ }
223
+ exports.SearchMembershipQueryDto = SearchMembershipQueryDto;
224
+ __decorate([
225
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
226
+ description: "Filter memberships by user's ENT ID",
227
+ example: "auth0|12345"
228
+ }),
229
+ (0, class_validator_1.IsOptional)(),
230
+ (0, class_validator_1.IsString)(),
231
+ (0, class_transformer_1.Expose)({ name: "userentid" }),
232
+ __metadata("design:type", String)
233
+ ], SearchMembershipQueryDto.prototype, "userEntId", void 0);
234
+ //# sourceMappingURL=membership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"membership.js","sourceRoot":"","sources":["../../../src/dtos/membership.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { PageMetadataDto, SortDirection, UserDto } from "./base";
2
+ import { PaginationQueryDto } from "./base";
3
+ export declare enum AppName {
4
+ WORKSPACE = "workspace",
5
+ BLOG = "blog",
6
+ TIMELINEGENERATOR = "timelinegenerator",
7
+ SCRAPBOOK = "scrapbook",
8
+ MINDMAP = "mindmap",
9
+ WIKI = "wiki",
10
+ EXERCIZER = "exercizer",
11
+ FORM = "form",
12
+ COLLABORATIVEWALL = "collaborativewall",
13
+ COLLABORATIVEDITOR = "collaborativeeditor",
14
+ EXTERNAL_LINK = "external_link"
15
+ }
16
+ export declare enum ResourceType {
17
+ IMAGE = "IMAGE",
18
+ VIDEO = "VIDEO",
19
+ SOUND = "SOUND",
20
+ ENT = "ENT",
21
+ EXTERNAL_LINK = "EXTERNAL_LINK",
22
+ FILE = "FILE"
23
+ }
24
+ export declare class ResourceDto {
25
+ id: number;
26
+ url: string;
27
+ title: string;
28
+ addedDate: Date;
29
+ addedBy?: UserDto;
30
+ openInNewTab?: boolean;
31
+ appName: AppName;
32
+ type: ResourceType;
33
+ thumbnail?: string;
34
+ updatedAt: Date;
35
+ updatedBy?: UserDto;
36
+ markedForDeletion: boolean;
37
+ author: UserDto;
38
+ communityId: number;
39
+ folderIds?: number[];
40
+ resourceEntId: string;
41
+ }
42
+ export declare class CountResourceDto {
43
+ count: number;
44
+ }
45
+ export declare class CreateResourceDto {
46
+ resourceEntId?: string;
47
+ resourceUrl?: string;
48
+ title?: string;
49
+ openInNewTab?: boolean;
50
+ appName: AppName;
51
+ type: ResourceType;
52
+ folderIds?: number[];
53
+ allowContribution?: boolean;
54
+ }
55
+ export type ResourceSortField = "title" | "addedDate";
56
+ export declare class SearchResourceDto extends PaginationQueryDto {
57
+ type?: ResourceType;
58
+ addedAfter?: Date;
59
+ search?: string;
60
+ sortBy?: ResourceSortField;
61
+ sortDirection?: SortDirection;
62
+ }
63
+ export declare class SearchResourceResponseDto {
64
+ items: ResourceDto[];
65
+ meta: PageMetadataDto;
66
+ }
67
+ export declare class UpdateResourceDto {
68
+ title?: string;
69
+ openInNewTab?: boolean;
70
+ resourceUrl?: string;
71
+ allowContribution?: boolean;
72
+ }
73
+ export declare class CountResourceQueryDto {
74
+ addedAfter?: Date;
75
+ }
@@ -0,0 +1,375 @@
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.CountResourceQueryDto = exports.UpdateResourceDto = exports.SearchResourceResponseDto = exports.SearchResourceDto = exports.CreateResourceDto = exports.CountResourceDto = exports.ResourceDto = exports.ResourceType = exports.AppName = void 0;
13
+ const custom_type_decorator_1 = require("../decorators/custom-type.decorator.browser");
14
+ const custom_type_decorator_2 = require("../decorators/custom-type.decorator.browser");
15
+ const class_validator_1 = require("class-validator");
16
+ const base_1 = require("./base");
17
+ const base_2 = require("./base");
18
+ const class_transformer_1 = require("class-transformer");
19
+ var AppName;
20
+ (function (AppName) {
21
+ AppName["WORKSPACE"] = "workspace";
22
+ AppName["BLOG"] = "blog";
23
+ AppName["TIMELINEGENERATOR"] = "timelinegenerator";
24
+ AppName["SCRAPBOOK"] = "scrapbook";
25
+ AppName["MINDMAP"] = "mindmap";
26
+ AppName["WIKI"] = "wiki";
27
+ AppName["EXERCIZER"] = "exercizer";
28
+ AppName["FORM"] = "form";
29
+ AppName["COLLABORATIVEWALL"] = "collaborativewall";
30
+ AppName["COLLABORATIVEDITOR"] = "collaborativeeditor";
31
+ AppName["EXTERNAL_LINK"] = "external_link";
32
+ })(AppName || (exports.AppName = AppName = {}));
33
+ var ResourceType;
34
+ (function (ResourceType) {
35
+ ResourceType["IMAGE"] = "IMAGE";
36
+ ResourceType["VIDEO"] = "VIDEO";
37
+ ResourceType["SOUND"] = "SOUND";
38
+ ResourceType["ENT"] = "ENT";
39
+ ResourceType["EXTERNAL_LINK"] = "EXTERNAL_LINK";
40
+ ResourceType["FILE"] = "FILE";
41
+ })(ResourceType || (exports.ResourceType = ResourceType = {}));
42
+ class ResourceDto {
43
+ id;
44
+ url;
45
+ title;
46
+ addedDate;
47
+ addedBy;
48
+ openInNewTab;
49
+ appName;
50
+ type;
51
+ thumbnail;
52
+ updatedAt;
53
+ updatedBy;
54
+ markedForDeletion;
55
+ author;
56
+ communityId;
57
+ folderIds;
58
+ resourceEntId;
59
+ }
60
+ exports.ResourceDto = ResourceDto;
61
+ __decorate([
62
+ (0, custom_type_decorator_1.ApiProperty)(),
63
+ __metadata("design:type", Number)
64
+ ], ResourceDto.prototype, "id", void 0);
65
+ __decorate([
66
+ (0, custom_type_decorator_1.ApiProperty)(),
67
+ __metadata("design:type", String)
68
+ ], ResourceDto.prototype, "url", void 0);
69
+ __decorate([
70
+ (0, custom_type_decorator_1.ApiProperty)(),
71
+ __metadata("design:type", String)
72
+ ], ResourceDto.prototype, "title", void 0);
73
+ __decorate([
74
+ (0, custom_type_decorator_1.ApiProperty)(),
75
+ __metadata("design:type", Date)
76
+ ], ResourceDto.prototype, "addedDate", void 0);
77
+ __decorate([
78
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
79
+ description: "User who added the resource to the community",
80
+ }),
81
+ __metadata("design:type", base_1.UserDto)
82
+ ], ResourceDto.prototype, "addedBy", void 0);
83
+ __decorate([
84
+ (0, custom_type_decorator_1.ApiPropertyOptional)(),
85
+ __metadata("design:type", Boolean)
86
+ ], ResourceDto.prototype, "openInNewTab", void 0);
87
+ __decorate([
88
+ (0, custom_type_decorator_1.ApiProperty)(),
89
+ __metadata("design:type", String)
90
+ ], ResourceDto.prototype, "appName", void 0);
91
+ __decorate([
92
+ (0, custom_type_decorator_1.ApiProperty)({
93
+ enum: ResourceType,
94
+ description: "Type of resource",
95
+ }),
96
+ __metadata("design:type", String)
97
+ ], ResourceDto.prototype, "type", void 0);
98
+ __decorate([
99
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
100
+ description: "URL to the resource thumbnail image",
101
+ }),
102
+ __metadata("design:type", String)
103
+ ], ResourceDto.prototype, "thumbnail", void 0);
104
+ __decorate([
105
+ (0, custom_type_decorator_1.ApiProperty)({
106
+ description: "Date when the resource was last updated",
107
+ }),
108
+ __metadata("design:type", Date)
109
+ ], ResourceDto.prototype, "updatedAt", void 0);
110
+ __decorate([
111
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
112
+ description: "User who last updated the resource",
113
+ }),
114
+ __metadata("design:type", base_1.UserDto)
115
+ ], ResourceDto.prototype, "updatedBy", void 0);
116
+ __decorate([
117
+ (0, custom_type_decorator_1.ApiProperty)({
118
+ description: "Flag indicating if the resource is marked for deletion",
119
+ default: false,
120
+ }),
121
+ __metadata("design:type", Boolean)
122
+ ], ResourceDto.prototype, "markedForDeletion", void 0);
123
+ __decorate([
124
+ (0, custom_type_decorator_1.ApiProperty)(),
125
+ __metadata("design:type", base_1.UserDto)
126
+ ], ResourceDto.prototype, "author", void 0);
127
+ __decorate([
128
+ (0, custom_type_decorator_1.ApiProperty)(),
129
+ __metadata("design:type", Number)
130
+ ], ResourceDto.prototype, "communityId", void 0);
131
+ __decorate([
132
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
133
+ type: [Number],
134
+ description: "IDs of folders containing this resource",
135
+ }),
136
+ __metadata("design:type", Array)
137
+ ], ResourceDto.prototype, "folderIds", void 0);
138
+ __decorate([
139
+ (0, custom_type_decorator_1.ApiProperty)({
140
+ description: "Original identifier of the resource in its source application",
141
+ }),
142
+ __metadata("design:type", String)
143
+ ], ResourceDto.prototype, "resourceEntId", void 0);
144
+ class CountResourceDto {
145
+ count;
146
+ }
147
+ exports.CountResourceDto = CountResourceDto;
148
+ __decorate([
149
+ (0, custom_type_decorator_1.ApiProperty)(),
150
+ __metadata("design:type", Number)
151
+ ], CountResourceDto.prototype, "count", void 0);
152
+ class CreateResourceDto {
153
+ resourceEntId;
154
+ resourceUrl;
155
+ title;
156
+ openInNewTab = true;
157
+ appName;
158
+ type;
159
+ folderIds;
160
+ allowContribution = false;
161
+ }
162
+ exports.CreateResourceDto = CreateResourceDto;
163
+ __decorate([
164
+ (0, custom_type_decorator_1.ApiProperty)({
165
+ description: "Resource ID (required for ENT resources, not for external links)",
166
+ example: "12345",
167
+ required: false,
168
+ }),
169
+ (0, class_validator_1.ValidateIf)((o) => o.appName !== AppName.EXTERNAL_LINK),
170
+ (0, class_validator_1.IsNotEmpty)({ message: "Resource ID is required for ENT resources" }),
171
+ (0, class_validator_1.IsString)(),
172
+ __metadata("design:type", String)
173
+ ], CreateResourceDto.prototype, "resourceEntId", void 0);
174
+ __decorate([
175
+ (0, custom_type_decorator_1.ApiProperty)({
176
+ description: "Resource URL (required for external links)",
177
+ example: "https://example.com/resource",
178
+ required: false,
179
+ }),
180
+ (0, class_validator_1.ValidateIf)((o) => o.appName === AppName.EXTERNAL_LINK),
181
+ (0, class_validator_1.IsNotEmpty)({ message: "URL is required for external links" }),
182
+ (0, class_validator_1.IsUrl)(),
183
+ __metadata("design:type", String)
184
+ ], CreateResourceDto.prototype, "resourceUrl", void 0);
185
+ __decorate([
186
+ (0, custom_type_decorator_1.ApiProperty)({
187
+ description: "Title of the resource (required for external links)",
188
+ required: false,
189
+ }),
190
+ (0, class_validator_1.ValidateIf)((o) => o.appName === AppName.EXTERNAL_LINK),
191
+ (0, class_validator_1.IsNotEmpty)({ message: "Title is required for external links" }),
192
+ (0, class_validator_1.IsString)(),
193
+ __metadata("design:type", String)
194
+ ], CreateResourceDto.prototype, "title", void 0);
195
+ __decorate([
196
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
197
+ description: "Whether to open in new tab (for links)",
198
+ default: true,
199
+ }),
200
+ (0, class_validator_1.IsOptional)(),
201
+ (0, class_validator_1.IsBoolean)(),
202
+ __metadata("design:type", Boolean)
203
+ ], CreateResourceDto.prototype, "openInNewTab", void 0);
204
+ __decorate([
205
+ (0, custom_type_decorator_1.ApiProperty)({
206
+ description: "Application name (for ENT resources)",
207
+ enum: AppName,
208
+ }),
209
+ (0, class_validator_1.IsEnum)(AppName),
210
+ __metadata("design:type", String)
211
+ ], CreateResourceDto.prototype, "appName", void 0);
212
+ __decorate([
213
+ (0, custom_type_decorator_1.ApiProperty)({
214
+ enum: ResourceType,
215
+ description: "Type of resource (sound, image, video, etc.)",
216
+ }),
217
+ (0, class_validator_1.IsEnum)(ResourceType),
218
+ __metadata("design:type", String)
219
+ ], CreateResourceDto.prototype, "type", void 0);
220
+ __decorate([
221
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
222
+ description: "Folder IDs to add this resource to",
223
+ type: [Number],
224
+ }),
225
+ (0, class_validator_1.IsOptional)(),
226
+ (0, class_validator_1.IsArray)(),
227
+ (0, class_validator_1.IsInt)({ each: true }),
228
+ __metadata("design:type", Array)
229
+ ], CreateResourceDto.prototype, "folderIds", void 0);
230
+ __decorate([
231
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
232
+ description: "Allow community members to contribute to the resource",
233
+ default: false,
234
+ type: Boolean,
235
+ }),
236
+ (0, class_validator_1.ValidateIf)((o) => o.appName !== AppName.EXTERNAL_LINK),
237
+ (0, class_validator_1.IsOptional)(),
238
+ (0, class_validator_1.IsBoolean)(),
239
+ __metadata("design:type", Boolean)
240
+ ], CreateResourceDto.prototype, "allowContribution", void 0);
241
+ class SearchResourceDto extends base_2.PaginationQueryDto {
242
+ type;
243
+ addedAfter;
244
+ search;
245
+ sortBy;
246
+ sortDirection;
247
+ }
248
+ exports.SearchResourceDto = SearchResourceDto;
249
+ __decorate([
250
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
251
+ description: "Filter resources by resource type (sound, image, video, ent, etc.)",
252
+ enum: ResourceType,
253
+ }),
254
+ (0, class_validator_1.IsOptional)(),
255
+ (0, class_validator_1.IsEnum)(ResourceType),
256
+ __metadata("design:type", String)
257
+ ], SearchResourceDto.prototype, "type", void 0);
258
+ __decorate([
259
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
260
+ description: "Filter resources added after this date",
261
+ type: Date,
262
+ }),
263
+ (0, class_validator_1.IsOptional)(),
264
+ (0, custom_type_decorator_2.Type)(() => Date),
265
+ (0, class_validator_1.IsDate)(),
266
+ (0, class_transformer_1.Expose)({ name: "addedafter" }),
267
+ __metadata("design:type", Date)
268
+ ], SearchResourceDto.prototype, "addedAfter", void 0);
269
+ __decorate([
270
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
271
+ description: "Search term to filter resources by title",
272
+ type: String,
273
+ }),
274
+ (0, class_validator_1.IsOptional)(),
275
+ (0, class_validator_1.IsString)(),
276
+ __metadata("design:type", String)
277
+ ], SearchResourceDto.prototype, "search", void 0);
278
+ __decorate([
279
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
280
+ description: "Field to sort results by",
281
+ enum: ["title", "addedDate"],
282
+ default: "addedDate",
283
+ }),
284
+ (0, class_validator_1.IsOptional)(),
285
+ (0, class_validator_1.IsEnum)(["title", "addedDate"]),
286
+ (0, class_transformer_1.Expose)({ name: "sortby" }),
287
+ __metadata("design:type", String)
288
+ ], SearchResourceDto.prototype, "sortBy", void 0);
289
+ __decorate([
290
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
291
+ description: "Sort direction",
292
+ enum: base_1.SortDirection,
293
+ default: base_1.SortDirection.ASC,
294
+ }),
295
+ (0, class_validator_1.IsOptional)(),
296
+ (0, class_validator_1.IsEnum)(base_1.SortDirection),
297
+ (0, class_transformer_1.Expose)({ name: "sortdirection" }),
298
+ __metadata("design:type", String)
299
+ ], SearchResourceDto.prototype, "sortDirection", void 0);
300
+ class SearchResourceResponseDto {
301
+ items;
302
+ meta;
303
+ }
304
+ exports.SearchResourceResponseDto = SearchResourceResponseDto;
305
+ __decorate([
306
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
307
+ description: "List of resources matching the search criteria",
308
+ isArray: true,
309
+ type: () => ResourceDto,
310
+ }),
311
+ __metadata("design:type", Array)
312
+ ], SearchResourceResponseDto.prototype, "items", void 0);
313
+ __decorate([
314
+ (0, custom_type_decorator_1.ApiProperty)({
315
+ description: "Metadata about the pagination",
316
+ }),
317
+ __metadata("design:type", base_1.PageMetadataDto)
318
+ ], SearchResourceResponseDto.prototype, "meta", void 0);
319
+ class UpdateResourceDto {
320
+ title;
321
+ openInNewTab;
322
+ resourceUrl;
323
+ allowContribution;
324
+ }
325
+ exports.UpdateResourceDto = UpdateResourceDto;
326
+ __decorate([
327
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
328
+ description: "Updated title of the resource",
329
+ }),
330
+ (0, class_validator_1.IsOptional)(),
331
+ (0, class_validator_1.IsString)(),
332
+ __metadata("design:type", String)
333
+ ], UpdateResourceDto.prototype, "title", void 0);
334
+ __decorate([
335
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
336
+ description: "Whether to open resource in a new tab",
337
+ }),
338
+ (0, class_validator_1.IsOptional)(),
339
+ (0, class_validator_1.IsBoolean)(),
340
+ __metadata("design:type", Boolean)
341
+ ], UpdateResourceDto.prototype, "openInNewTab", void 0);
342
+ __decorate([
343
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
344
+ description: "Updated URL for the resource (only for external links)",
345
+ }),
346
+ (0, class_validator_1.IsOptional)(),
347
+ (0, class_validator_1.IsUrl)(),
348
+ __metadata("design:type", String)
349
+ ], UpdateResourceDto.prototype, "resourceUrl", void 0);
350
+ __decorate([
351
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
352
+ description: "Allow community members to contribute to the resource",
353
+ type: Boolean,
354
+ }),
355
+ (0, class_validator_1.ValidateIf)((o) => o.appName !== AppName.EXTERNAL_LINK),
356
+ (0, class_validator_1.IsOptional)(),
357
+ (0, class_validator_1.IsBoolean)(),
358
+ __metadata("design:type", Boolean)
359
+ ], UpdateResourceDto.prototype, "allowContribution", void 0);
360
+ class CountResourceQueryDto {
361
+ addedAfter;
362
+ }
363
+ exports.CountResourceQueryDto = CountResourceQueryDto;
364
+ __decorate([
365
+ (0, custom_type_decorator_1.ApiPropertyOptional)({
366
+ description: "Count resources added after this date",
367
+ type: Date,
368
+ }),
369
+ (0, class_validator_1.IsOptional)(),
370
+ (0, custom_type_decorator_2.Type)(() => Date),
371
+ (0, class_validator_1.IsDate)(),
372
+ (0, class_transformer_1.Expose)({ name: "addedafter" }),
373
+ __metadata("design:type", Date)
374
+ ], CountResourceQueryDto.prototype, "addedAfter", void 0);
375
+ //# sourceMappingURL=resource.js.map