@rytass/cms-base-nestjs-graphql-module 0.1.25 → 0.1.26

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 (147) hide show
  1. package/CHANGELOG.md +306 -0
  2. package/__tests__/enums.spec.ts +76 -0
  3. package/__tests__/language-decorator.spec.ts +17 -0
  4. package/__tests__/quadrats-element-scalar.spec.ts +123 -0
  5. package/llms.txt +361 -0
  6. package/package.json +10 -6
  7. package/project.json +23 -0
  8. package/src/cms-base-graphql.module.ts +101 -0
  9. package/src/constants/enum/base-action.enum.ts +17 -0
  10. package/src/constants/enum/base-resource.enum.ts +4 -0
  11. package/src/constants/option-providers.ts +35 -0
  12. package/src/data-loaders/article.dataloader.ts +84 -0
  13. package/src/data-loaders/members.dataloader.ts +36 -0
  14. package/src/decorators/language.decorator.ts +45 -0
  15. package/src/dto/article-collection.dto.ts +9 -0
  16. package/src/dto/article-multi-language-content.dto.ts +18 -0
  17. package/src/dto/article-signature-step.dto.ts +10 -0
  18. package/src/dto/article-signature.dto.ts +21 -0
  19. package/src/dto/article-stage-version.dto.ts +23 -0
  20. package/src/dto/article-version-content.input.ts +18 -0
  21. package/src/dto/article.dto.ts +16 -0
  22. package/src/dto/articles.args.ts +16 -0
  23. package/src/dto/backstage-article-collection.dto.ts +9 -0
  24. package/src/dto/backstage-article.args.ts +20 -0
  25. package/src/dto/backstage-article.dto.ts +14 -0
  26. package/src/dto/backstage-category.dto.ts +5 -0
  27. package/src/dto/base-article.dto.ts +19 -0
  28. package/src/dto/base-category.dto.ts +13 -0
  29. package/src/dto/categories.args.ts +27 -0
  30. package/src/dto/category-multi-language-name.dto.ts +10 -0
  31. package/src/dto/category-multi-language-name.input.ts +10 -0
  32. package/src/dto/category.dto.ts +8 -0
  33. package/src/dto/collection.dto.ts +13 -0
  34. package/src/dto/create-article.args.ts +27 -0
  35. package/src/dto/create-category.args.ts +15 -0
  36. package/src/dto/custom-field.input.ts +10 -0
  37. package/src/dto/update-article.args.ts +8 -0
  38. package/src/dto/update-category.args.ts +8 -0
  39. package/src/dto/user.dto.ts +10 -0
  40. package/{index.d.ts → src/index.ts} +2 -0
  41. package/src/mutations/article.mutations.ts +177 -0
  42. package/src/mutations/category.mutations.ts +78 -0
  43. package/src/queries/article.queries.ts +71 -0
  44. package/src/queries/category.queries.ts +53 -0
  45. package/src/resolvers/article-signature.resolver.ts +29 -0
  46. package/src/resolvers/article.resolver.ts +41 -0
  47. package/src/resolvers/backstage-article.resolver.ts +161 -0
  48. package/src/resolvers/backstage-category.resolver.ts +40 -0
  49. package/src/scalars/quadrats-element.scalar.ts +56 -0
  50. package/src/typings/cms-graphql-base-providers.ts +3 -0
  51. package/{typings/cms-graphql-base-root-module-async-options.dto.d.ts → src/typings/cms-graphql-base-root-module-async-options.dto.ts} +6 -4
  52. package/{typings/cms-graphql-base-root-module-option-factory.d.ts → src/typings/cms-graphql-base-root-module-option-factory.ts} +2 -1
  53. package/src/typings/cms-graphql-base-root-module-options.dto.ts +11 -0
  54. package/src/typings/dto/resolved-create-article-args.dto.ts +33 -0
  55. package/src/typings/dto/resolved-create-category-args.dto.ts +19 -0
  56. package/tsconfig.build.json +8 -0
  57. package/LICENSE +0 -21
  58. package/cms-base-graphql.module.d.ts +0 -9
  59. package/cms-base-graphql.module.js +0 -114
  60. package/constants/enum/base-action.enum.d.ts +0 -14
  61. package/constants/enum/base-action.enum.js +0 -17
  62. package/constants/enum/base-resource.enum.d.ts +0 -4
  63. package/constants/enum/base-resource.enum.js +0 -7
  64. package/constants/option-providers.d.ts +0 -2
  65. package/constants/option-providers.js +0 -20
  66. package/data-loaders/article.dataloader.d.ts +0 -17
  67. package/data-loaders/article.dataloader.js +0 -68
  68. package/data-loaders/members.dataloader.d.ts +0 -8
  69. package/data-loaders/members.dataloader.js +0 -56
  70. package/decorators/language.decorator.d.ts +0 -2
  71. package/decorators/language.decorator.js +0 -32
  72. package/dto/article-collection.dto.d.ts +0 -5
  73. package/dto/article-collection.dto.js +0 -27
  74. package/dto/article-multi-language-content.dto.d.ts +0 -7
  75. package/dto/article-multi-language-content.dto.js +0 -41
  76. package/dto/article-signature-step.dto.d.ts +0 -4
  77. package/dto/article-signature-step.dto.js +0 -28
  78. package/dto/article-signature.dto.d.ts +0 -7
  79. package/dto/article-signature.dto.js +0 -44
  80. package/dto/article-stage-version.dto.d.ts +0 -9
  81. package/dto/article-stage-version.dto.js +0 -59
  82. package/dto/article-version-content.input.d.ts +0 -7
  83. package/dto/article-version-content.input.js +0 -43
  84. package/dto/article.dto.d.ts +0 -7
  85. package/dto/article.dto.js +0 -37
  86. package/dto/articles.args.d.ts +0 -6
  87. package/dto/articles.args.js +0 -48
  88. package/dto/backstage-article-collection.dto.d.ts +0 -5
  89. package/dto/backstage-article-collection.dto.js +0 -27
  90. package/dto/backstage-article.args.d.ts +0 -6
  91. package/dto/backstage-article.args.js +0 -38
  92. package/dto/backstage-article.dto.d.ts +0 -6
  93. package/dto/backstage-article.dto.js +0 -38
  94. package/dto/backstage-category.dto.d.ts +0 -3
  95. package/dto/backstage-category.dto.js +0 -16
  96. package/dto/base-article.dto.d.ts +0 -7
  97. package/dto/base-article.dto.js +0 -47
  98. package/dto/base-category.dto.d.ts +0 -5
  99. package/dto/base-category.dto.js +0 -33
  100. package/dto/categories.args.d.ts +0 -8
  101. package/dto/categories.args.js +0 -62
  102. package/dto/category-multi-language-name.dto.d.ts +0 -4
  103. package/dto/category-multi-language-name.dto.js +0 -28
  104. package/dto/category-multi-language-name.input.d.ts +0 -4
  105. package/dto/category-multi-language-name.input.js +0 -30
  106. package/dto/category.dto.d.ts +0 -4
  107. package/dto/category.dto.js +0 -24
  108. package/dto/collection.dto.d.ts +0 -5
  109. package/dto/collection.dto.js +0 -33
  110. package/dto/create-article.args.d.ts +0 -11
  111. package/dto/create-article.args.js +0 -71
  112. package/dto/create-category.args.d.ts +0 -7
  113. package/dto/create-category.args.js +0 -45
  114. package/dto/custom-field.input.d.ts +0 -4
  115. package/dto/custom-field.input.js +0 -28
  116. package/dto/update-article.args.d.ts +0 -4
  117. package/dto/update-article.args.js +0 -24
  118. package/dto/update-category.args.d.ts +0 -4
  119. package/dto/update-category.args.js +0 -24
  120. package/dto/user.dto.d.ts +0 -4
  121. package/dto/user.dto.js +0 -28
  122. package/index.cjs.js +0 -2334
  123. package/index.js +0 -8
  124. package/mutations/article.mutations.d.ts +0 -22
  125. package/mutations/article.mutations.js +0 -338
  126. package/mutations/category.mutations.d.ts +0 -15
  127. package/mutations/category.mutations.js +0 -134
  128. package/queries/article.queries.d.ts +0 -16
  129. package/queries/article.queries.js +0 -132
  130. package/queries/category.queries.d.ts +0 -13
  131. package/queries/category.queries.js +0 -124
  132. package/resolvers/article-signature.resolver.d.ts +0 -10
  133. package/resolvers/article-signature.resolver.js +0 -68
  134. package/resolvers/article.resolver.d.ts +0 -14
  135. package/resolvers/article.resolver.js +0 -95
  136. package/resolvers/backstage-article.resolver.d.ts +0 -33
  137. package/resolvers/backstage-article.resolver.js +0 -296
  138. package/resolvers/backstage-category.resolver.d.ts +0 -8
  139. package/resolvers/backstage-category.resolver.js +0 -76
  140. package/scalars/quadrats-element.scalar.d.ts +0 -3
  141. package/scalars/quadrats-element.scalar.js +0 -47
  142. package/typings/cms-graphql-base-providers.d.ts +0 -3
  143. package/typings/cms-graphql-base-providers.js +0 -5
  144. package/typings/cms-graphql-base-root-module-options.dto.d.ts +0 -6
  145. package/typings/dto/resolved-create-article-args.dto.d.ts +0 -24
  146. package/typings/dto/resolved-create-category-args.dto.d.ts +0 -13
  147. /package/{typings/custom-field-value.type.d.ts → src/typings/custom-field-value.type.ts} +0 -0
package/index.js DELETED
@@ -1,8 +0,0 @@
1
- export { CMSBaseGraphQLModule } from './cms-base-graphql.module.js';
2
- export { BackstageArticleDto } from './dto/backstage-article.dto.js';
3
- export { ArticleDto } from './dto/article.dto.js';
4
- export { ArticleCollectionDto } from './dto/article-collection.dto.js';
5
- export { BackstageArticleCollectionDto } from './dto/backstage-article-collection.dto.js';
6
- export { CategoryDto } from './dto/category.dto.js';
7
- export { BackstageCategoryDto } from './dto/backstage-category.dto.js';
8
- export { CustomFieldInput } from './dto/custom-field.input.js';
@@ -1,22 +0,0 @@
1
- import { ArticleBaseService } from '@rytass/cms-base-nestjs-module';
2
- import { BackstageArticleDto } from '../dto/backstage-article.dto';
3
- import { CreateArticleArgs } from '../dto/create-article.args';
4
- import { UpdateArticleArgs } from '../dto/update-article.args';
5
- import { CustomFieldInput } from '../dto/custom-field.input';
6
- export declare class ArticleMutations {
7
- private readonly multiLanguage;
8
- private readonly mapArticleCustomFieldsToEntityColumns;
9
- private readonly articleService;
10
- constructor(multiLanguage: boolean, mapArticleCustomFieldsToEntityColumns: (customFields: CustomFieldInput[]) => Promise<Record<string, string>>, articleService: ArticleBaseService);
11
- private resolveCreateArticleArgs;
12
- createArticle(memberId: string, args: CreateArticleArgs): Promise<BackstageArticleDto>;
13
- updateArticle(memberId: string, args: UpdateArticleArgs): Promise<BackstageArticleDto>;
14
- deleteArticle(id: string): Promise<boolean>;
15
- deleteArticleVersion(id: string, version: number): Promise<boolean>;
16
- submitArticle(memberId: string, id: string): Promise<BackstageArticleDto>;
17
- putBackArticle(_memberId: string, id: string): Promise<BackstageArticleDto>;
18
- approveArticle(id: string, version?: number | null): Promise<BackstageArticleDto>;
19
- rejectArticle(id: string, reason?: string | null): Promise<BackstageArticleDto>;
20
- releaseArticle(userId: string, id: string, releasedAt: Date, version?: number | null): Promise<BackstageArticleDto>;
21
- withdrawArticle(id: string, version: number): Promise<BackstageArticleDto>;
22
- }
@@ -1,338 +0,0 @@
1
- import { MULTIPLE_LANGUAGE_MODE, DEFAULT_LANGUAGE, ArticleBaseService } from '@rytass/cms-base-nestjs-module';
2
- import { Mutation, Args, ID, Int, Resolver } from '@nestjs/graphql';
3
- import { BackstageArticleDto } from '../dto/backstage-article.dto.js';
4
- import { CreateArticleArgs } from '../dto/create-article.args.js';
5
- import { AllowActions, MemberId } from '@rytass/member-base-nestjs-module';
6
- import { UpdateArticleArgs } from '../dto/update-article.args.js';
7
- import { Inject } from '@nestjs/common';
8
- import { BaseAction } from '../constants/enum/base-action.enum.js';
9
- import { BaseResource } from '../constants/enum/base-resource.enum.js';
10
- import { MAP_ARTICLE_CUSTOM_FIELDS_TO_ENTITY_COLUMNS } from '../typings/cms-graphql-base-providers.js';
11
-
12
- function _ts_decorate(decorators, target, key, desc) {
13
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15
- 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;
16
- return c > 3 && r && Object.defineProperty(target, key, r), r;
17
- }
18
- function _ts_metadata(k, v) {
19
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
20
- }
21
- function _ts_param(paramIndex, decorator) {
22
- return function(target, key) {
23
- decorator(target, key, paramIndex);
24
- };
25
- }
26
- class ArticleMutations {
27
- multiLanguage;
28
- mapArticleCustomFieldsToEntityColumns;
29
- articleService;
30
- constructor(multiLanguage, mapArticleCustomFieldsToEntityColumns, articleService){
31
- this.multiLanguage = multiLanguage;
32
- this.mapArticleCustomFieldsToEntityColumns = mapArticleCustomFieldsToEntityColumns;
33
- this.articleService = articleService;
34
- }
35
- async resolveCreateArticleArgs(args) {
36
- const extraArgsInput = {};
37
- if (args.customFields?.length) {
38
- Object.assign(extraArgsInput, await this.mapArticleCustomFieldsToEntityColumns(args.customFields));
39
- }
40
- const basePayload = {
41
- categoryIds: args.categoryIds,
42
- tags: args.tags,
43
- submitted: args.submitted ?? undefined,
44
- signatureLevel: args.signatureLevel ?? null,
45
- releasedAt: args.releasedAt ?? null,
46
- ...extraArgsInput
47
- };
48
- if (!this.multiLanguage) {
49
- const [content] = args.multiLanguageContents;
50
- return {
51
- ...basePayload,
52
- title: content.title,
53
- content: content.content,
54
- description: content.description ?? undefined
55
- };
56
- }
57
- const multiLanguageContents = args.multiLanguageContents.reduce((vars, content)=>({
58
- ...vars,
59
- [content.language ?? DEFAULT_LANGUAGE]: {
60
- title: content.title,
61
- description: content.description,
62
- content: content.content
63
- }
64
- }), {});
65
- return {
66
- ...basePayload,
67
- multiLanguageContents
68
- };
69
- }
70
- async createArticle(memberId, args) {
71
- return this.articleService.create({
72
- ...await this.resolveCreateArticleArgs(args),
73
- userId: memberId
74
- });
75
- }
76
- async updateArticle(memberId, args) {
77
- return this.articleService.addVersion(args.id, {
78
- ...await this.resolveCreateArticleArgs(args),
79
- userId: memberId
80
- });
81
- }
82
- async deleteArticle(id) {
83
- await this.articleService.archive(id);
84
- return true;
85
- }
86
- async deleteArticleVersion(id, version) {
87
- await this.articleService.deleteVersion(id, version);
88
- return true;
89
- }
90
- async submitArticle(memberId, id) {
91
- return this.articleService.submit(id, {
92
- userId: memberId
93
- });
94
- }
95
- async putBackArticle(_memberId, id) {
96
- return this.articleService.putBack(id);
97
- }
98
- async approveArticle(id, version) {
99
- const article = await this.articleService.findById(id);
100
- return this.articleService.approveVersion({
101
- id,
102
- version: version ?? article.version
103
- });
104
- }
105
- async rejectArticle(id, reason) {
106
- return this.articleService.rejectVersion({
107
- id
108
- }, {
109
- reason
110
- });
111
- }
112
- releaseArticle(userId, id, releasedAt, version) {
113
- return this.articleService.release(id, {
114
- releasedAt,
115
- userId,
116
- version: version ?? undefined
117
- });
118
- }
119
- withdrawArticle(id, version) {
120
- return this.articleService.withdraw(id, version);
121
- }
122
- }
123
- _ts_decorate([
124
- Mutation(()=>BackstageArticleDto),
125
- AllowActions([
126
- [
127
- BaseResource.ARTICLE,
128
- BaseAction.CREATE
129
- ]
130
- ]),
131
- _ts_param(0, MemberId()),
132
- _ts_param(1, Args()),
133
- _ts_metadata("design:type", Function),
134
- _ts_metadata("design:paramtypes", [
135
- String,
136
- typeof CreateArticleArgs === "undefined" ? Object : CreateArticleArgs
137
- ]),
138
- _ts_metadata("design:returntype", Promise)
139
- ], ArticleMutations.prototype, "createArticle", null);
140
- _ts_decorate([
141
- Mutation(()=>BackstageArticleDto),
142
- AllowActions([
143
- [
144
- BaseResource.ARTICLE,
145
- BaseAction.UPDATE
146
- ]
147
- ]),
148
- _ts_param(0, MemberId()),
149
- _ts_param(1, Args()),
150
- _ts_metadata("design:type", Function),
151
- _ts_metadata("design:paramtypes", [
152
- String,
153
- typeof UpdateArticleArgs === "undefined" ? Object : UpdateArticleArgs
154
- ]),
155
- _ts_metadata("design:returntype", Promise)
156
- ], ArticleMutations.prototype, "updateArticle", null);
157
- _ts_decorate([
158
- Mutation(()=>Boolean),
159
- AllowActions([
160
- [
161
- BaseResource.ARTICLE,
162
- BaseAction.DELETE
163
- ]
164
- ]),
165
- _ts_param(0, Args('id', {
166
- type: ()=>ID
167
- })),
168
- _ts_metadata("design:type", Function),
169
- _ts_metadata("design:paramtypes", [
170
- String
171
- ]),
172
- _ts_metadata("design:returntype", Promise)
173
- ], ArticleMutations.prototype, "deleteArticle", null);
174
- _ts_decorate([
175
- Mutation(()=>Boolean),
176
- AllowActions([
177
- [
178
- BaseResource.ARTICLE,
179
- BaseAction.DELETE_VERSION
180
- ]
181
- ]),
182
- _ts_param(0, Args('id', {
183
- type: ()=>ID
184
- })),
185
- _ts_param(1, Args('version', {
186
- type: ()=>Int
187
- })),
188
- _ts_metadata("design:type", Function),
189
- _ts_metadata("design:paramtypes", [
190
- String,
191
- Number
192
- ]),
193
- _ts_metadata("design:returntype", Promise)
194
- ], ArticleMutations.prototype, "deleteArticleVersion", null);
195
- _ts_decorate([
196
- Mutation(()=>BackstageArticleDto),
197
- AllowActions([
198
- [
199
- BaseResource.ARTICLE,
200
- BaseAction.SUBMIT
201
- ]
202
- ]),
203
- _ts_param(0, MemberId()),
204
- _ts_param(1, Args('id', {
205
- type: ()=>ID
206
- })),
207
- _ts_metadata("design:type", Function),
208
- _ts_metadata("design:paramtypes", [
209
- String,
210
- String
211
- ]),
212
- _ts_metadata("design:returntype", Promise)
213
- ], ArticleMutations.prototype, "submitArticle", null);
214
- _ts_decorate([
215
- Mutation(()=>BackstageArticleDto),
216
- AllowActions([
217
- [
218
- BaseResource.ARTICLE,
219
- BaseAction.PUT_BACK
220
- ]
221
- ]),
222
- _ts_param(0, MemberId()),
223
- _ts_param(1, Args('id', {
224
- type: ()=>ID
225
- })),
226
- _ts_metadata("design:type", Function),
227
- _ts_metadata("design:paramtypes", [
228
- String,
229
- String
230
- ]),
231
- _ts_metadata("design:returntype", Promise)
232
- ], ArticleMutations.prototype, "putBackArticle", null);
233
- _ts_decorate([
234
- Mutation(()=>BackstageArticleDto),
235
- AllowActions([
236
- [
237
- BaseResource.ARTICLE,
238
- BaseAction.APPROVE
239
- ]
240
- ]),
241
- _ts_param(0, Args('id', {
242
- type: ()=>ID
243
- })),
244
- _ts_param(1, Args('version', {
245
- type: ()=>Int,
246
- nullable: true
247
- })),
248
- _ts_metadata("design:type", Function),
249
- _ts_metadata("design:paramtypes", [
250
- String,
251
- Object
252
- ]),
253
- _ts_metadata("design:returntype", Promise)
254
- ], ArticleMutations.prototype, "approveArticle", null);
255
- _ts_decorate([
256
- Mutation(()=>BackstageArticleDto),
257
- AllowActions([
258
- [
259
- BaseResource.ARTICLE,
260
- BaseAction.REJECT
261
- ]
262
- ]),
263
- _ts_param(0, Args('id', {
264
- type: ()=>ID
265
- })),
266
- _ts_param(1, Args('reason', {
267
- type: ()=>String,
268
- nullable: true
269
- })),
270
- _ts_metadata("design:type", Function),
271
- _ts_metadata("design:paramtypes", [
272
- String,
273
- Object
274
- ]),
275
- _ts_metadata("design:returntype", Promise)
276
- ], ArticleMutations.prototype, "rejectArticle", null);
277
- _ts_decorate([
278
- Mutation(()=>BackstageArticleDto),
279
- AllowActions([
280
- [
281
- BaseResource.ARTICLE,
282
- BaseAction.RELEASE
283
- ]
284
- ]),
285
- _ts_param(0, MemberId()),
286
- _ts_param(1, Args('id', {
287
- type: ()=>ID
288
- })),
289
- _ts_param(2, Args('releasedAt', {
290
- type: ()=>Date
291
- })),
292
- _ts_param(3, Args('version', {
293
- type: ()=>Int,
294
- nullable: true
295
- })),
296
- _ts_metadata("design:type", Function),
297
- _ts_metadata("design:paramtypes", [
298
- String,
299
- String,
300
- typeof Date === "undefined" ? Object : Date,
301
- Object
302
- ]),
303
- _ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
304
- ], ArticleMutations.prototype, "releaseArticle", null);
305
- _ts_decorate([
306
- Mutation(()=>BackstageArticleDto),
307
- AllowActions([
308
- [
309
- BaseResource.ARTICLE,
310
- BaseAction.WITHDRAW
311
- ]
312
- ]),
313
- _ts_param(0, Args('id', {
314
- type: ()=>ID
315
- })),
316
- _ts_param(1, Args('version', {
317
- type: ()=>Int
318
- })),
319
- _ts_metadata("design:type", Function),
320
- _ts_metadata("design:paramtypes", [
321
- String,
322
- Number
323
- ]),
324
- _ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
325
- ], ArticleMutations.prototype, "withdrawArticle", null);
326
- ArticleMutations = _ts_decorate([
327
- Resolver(),
328
- _ts_param(0, Inject(MULTIPLE_LANGUAGE_MODE)),
329
- _ts_param(1, Inject(MAP_ARTICLE_CUSTOM_FIELDS_TO_ENTITY_COLUMNS)),
330
- _ts_metadata("design:type", Function),
331
- _ts_metadata("design:paramtypes", [
332
- Boolean,
333
- Function,
334
- typeof ArticleBaseService === "undefined" ? Object : ArticleBaseService
335
- ])
336
- ], ArticleMutations);
337
-
338
- export { ArticleMutations };
@@ -1,15 +0,0 @@
1
- import { CategoryBaseService } from '@rytass/cms-base-nestjs-module';
2
- import { CreateCategoryArgs } from '../dto/create-category.args';
3
- import { BackstageCategoryDto } from '../dto/backstage-category.dto';
4
- import { UpdateCategoryArgs } from '../dto/update-category.args';
5
- import { CustomFieldInput } from '../dto/custom-field.input';
6
- export declare class CategoryMutations {
7
- private readonly multiLanguage;
8
- private readonly mapCategoryCustomFieldsToEntityColumns;
9
- private readonly categoryService;
10
- constructor(multiLanguage: boolean, mapCategoryCustomFieldsToEntityColumns: (customFields: CustomFieldInput[]) => Promise<Record<string, string>>, categoryService: CategoryBaseService);
11
- private resolveCreateCategoryArgs;
12
- createCategory(args: CreateCategoryArgs): Promise<BackstageCategoryDto>;
13
- updateCategory(args: UpdateCategoryArgs): Promise<BackstageCategoryDto>;
14
- deleteCategory(id: string): Promise<boolean>;
15
- }
@@ -1,134 +0,0 @@
1
- import { Mutation, Args, ID, Resolver } from '@nestjs/graphql';
2
- import { MULTIPLE_LANGUAGE_MODE, CategoryBaseService } from '@rytass/cms-base-nestjs-module';
3
- import { CreateCategoryArgs } from '../dto/create-category.args.js';
4
- import { AllowActions } from '@rytass/member-base-nestjs-module';
5
- import { BackstageCategoryDto } from '../dto/backstage-category.dto.js';
6
- import { UpdateCategoryArgs } from '../dto/update-category.args.js';
7
- import { Inject } from '@nestjs/common';
8
- import { BaseAction } from '../constants/enum/base-action.enum.js';
9
- import { BaseResource } from '../constants/enum/base-resource.enum.js';
10
- import { MAP_CATEGORY_CUSTOM_FIELDS_TO_ENTITY_COLUMNS } from '../typings/cms-graphql-base-providers.js';
11
-
12
- function _ts_decorate(decorators, target, key, desc) {
13
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15
- 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;
16
- return c > 3 && r && Object.defineProperty(target, key, r), r;
17
- }
18
- function _ts_metadata(k, v) {
19
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
20
- }
21
- function _ts_param(paramIndex, decorator) {
22
- return function(target, key) {
23
- decorator(target, key, paramIndex);
24
- };
25
- }
26
- class CategoryMutations {
27
- multiLanguage;
28
- mapCategoryCustomFieldsToEntityColumns;
29
- categoryService;
30
- constructor(multiLanguage, mapCategoryCustomFieldsToEntityColumns, categoryService){
31
- this.multiLanguage = multiLanguage;
32
- this.mapCategoryCustomFieldsToEntityColumns = mapCategoryCustomFieldsToEntityColumns;
33
- this.categoryService = categoryService;
34
- }
35
- async resolveCreateCategoryArgs(args) {
36
- const extraArgsInput = {};
37
- if (args.customFields?.length) {
38
- Object.assign(extraArgsInput, await this.mapCategoryCustomFieldsToEntityColumns(args.customFields));
39
- }
40
- const basePayload = {
41
- parentIds: args.parentIds,
42
- ...extraArgsInput
43
- };
44
- if (!this.multiLanguage) {
45
- const [content] = args.multiLanguageNames;
46
- return {
47
- ...basePayload,
48
- name: content.name
49
- };
50
- }
51
- const multiLanguageNames = Object.fromEntries(args.multiLanguageNames.map((name)=>[
52
- name.language,
53
- name.name
54
- ]));
55
- return {
56
- ...basePayload,
57
- multiLanguageNames
58
- };
59
- }
60
- async createCategory(args) {
61
- return this.categoryService.create({
62
- ...await this.resolveCreateCategoryArgs(args)
63
- });
64
- }
65
- async updateCategory(args) {
66
- return this.categoryService.update(args.id, {
67
- ...await this.resolveCreateCategoryArgs(args)
68
- });
69
- }
70
- async deleteCategory(id) {
71
- await this.categoryService.archive(id);
72
- return true;
73
- }
74
- }
75
- _ts_decorate([
76
- Mutation(()=>BackstageCategoryDto),
77
- AllowActions([
78
- [
79
- BaseResource.CATEGORY,
80
- BaseAction.CREATE
81
- ]
82
- ]),
83
- _ts_param(0, Args()),
84
- _ts_metadata("design:type", Function),
85
- _ts_metadata("design:paramtypes", [
86
- typeof CreateCategoryArgs === "undefined" ? Object : CreateCategoryArgs
87
- ]),
88
- _ts_metadata("design:returntype", Promise)
89
- ], CategoryMutations.prototype, "createCategory", null);
90
- _ts_decorate([
91
- Mutation(()=>BackstageCategoryDto),
92
- AllowActions([
93
- [
94
- BaseResource.CATEGORY,
95
- BaseAction.UPDATE
96
- ]
97
- ]),
98
- _ts_param(0, Args()),
99
- _ts_metadata("design:type", Function),
100
- _ts_metadata("design:paramtypes", [
101
- typeof UpdateCategoryArgs === "undefined" ? Object : UpdateCategoryArgs
102
- ]),
103
- _ts_metadata("design:returntype", Promise)
104
- ], CategoryMutations.prototype, "updateCategory", null);
105
- _ts_decorate([
106
- Mutation(()=>Boolean),
107
- AllowActions([
108
- [
109
- BaseResource.CATEGORY,
110
- BaseAction.DELETE
111
- ]
112
- ]),
113
- _ts_param(0, Args('id', {
114
- type: ()=>ID
115
- })),
116
- _ts_metadata("design:type", Function),
117
- _ts_metadata("design:paramtypes", [
118
- String
119
- ]),
120
- _ts_metadata("design:returntype", Promise)
121
- ], CategoryMutations.prototype, "deleteCategory", null);
122
- CategoryMutations = _ts_decorate([
123
- Resolver(),
124
- _ts_param(0, Inject(MULTIPLE_LANGUAGE_MODE)),
125
- _ts_param(1, Inject(MAP_CATEGORY_CUSTOM_FIELDS_TO_ENTITY_COLUMNS)),
126
- _ts_metadata("design:type", Function),
127
- _ts_metadata("design:paramtypes", [
128
- Boolean,
129
- Function,
130
- typeof CategoryBaseService === "undefined" ? Object : CategoryBaseService
131
- ])
132
- ], CategoryMutations);
133
-
134
- export { CategoryMutations };
@@ -1,16 +0,0 @@
1
- import { ArticleBaseService } from '@rytass/cms-base-nestjs-module';
2
- import { ArticlesArgs } from '../dto/articles.args';
3
- import { ArticleCollectionDto } from '../dto/article-collection.dto';
4
- import { ArticleDto } from '../dto/article.dto';
5
- import { BackstageArticleDto } from '../dto/backstage-article.dto';
6
- import { BackstageArticleCollectionDto } from '../dto/backstage-article-collection.dto';
7
- import { BackstageArticleArgs } from '../dto/backstage-article.args';
8
- export declare class ArticleQueries {
9
- private readonly articleService;
10
- private readonly multiLanguage;
11
- constructor(articleService: ArticleBaseService, multiLanguage: boolean);
12
- article(id: string, language?: string): Promise<ArticleDto>;
13
- articles(args: ArticlesArgs, language?: string): Promise<ArticleCollectionDto>;
14
- backstageArticle(id: string, version?: number | null): Promise<BackstageArticleDto>;
15
- backstageArticles(args: BackstageArticleArgs): Promise<BackstageArticleCollectionDto>;
16
- }
@@ -1,132 +0,0 @@
1
- import { Query, Args, ID, Int, Resolver } from '@nestjs/graphql';
2
- import { MULTIPLE_LANGUAGE_MODE, DEFAULT_LANGUAGE, ArticleStage, ArticleSorter, ArticleBaseService } from '@rytass/cms-base-nestjs-module';
3
- import { ArticlesArgs } from '../dto/articles.args.js';
4
- import { IsPublic, AllowActions } from '@rytass/member-base-nestjs-module';
5
- import { Language } from '../decorators/language.decorator.js';
6
- import { ArticleCollectionDto } from '../dto/article-collection.dto.js';
7
- import { ArticleDto } from '../dto/article.dto.js';
8
- import { BackstageArticleDto } from '../dto/backstage-article.dto.js';
9
- import { BackstageArticleCollectionDto } from '../dto/backstage-article-collection.dto.js';
10
- import { Inject } from '@nestjs/common';
11
- import { BackstageArticleArgs } from '../dto/backstage-article.args.js';
12
- import { BaseAction } from '../constants/enum/base-action.enum.js';
13
- import { BaseResource } from '../constants/enum/base-resource.enum.js';
14
-
15
- function _ts_decorate(decorators, target, key, desc) {
16
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
17
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
18
- 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;
19
- return c > 3 && r && Object.defineProperty(target, key, r), r;
20
- }
21
- function _ts_metadata(k, v) {
22
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
23
- }
24
- function _ts_param(paramIndex, decorator) {
25
- return function(target, key) {
26
- decorator(target, key, paramIndex);
27
- };
28
- }
29
- class ArticleQueries {
30
- articleService;
31
- multiLanguage;
32
- constructor(articleService, multiLanguage){
33
- this.articleService = articleService;
34
- this.multiLanguage = multiLanguage;
35
- }
36
- article(id, language = DEFAULT_LANGUAGE) {
37
- return this.articleService.findById(id, {
38
- stage: ArticleStage.RELEASED,
39
- language: this.multiLanguage ? language ?? DEFAULT_LANGUAGE : undefined
40
- });
41
- }
42
- async articles(args, language = DEFAULT_LANGUAGE) {
43
- return this.articleService.findCollection({
44
- ...args,
45
- stage: ArticleStage.RELEASED,
46
- language: this.multiLanguage ? language ?? DEFAULT_LANGUAGE : undefined,
47
- sorter: ArticleSorter.RELEASED_AT_DESC
48
- });
49
- }
50
- async backstageArticle(id, version) {
51
- return this.articleService.findById(id, {
52
- version
53
- });
54
- }
55
- backstageArticles(args) {
56
- return this.articleService.findCollection(args);
57
- }
58
- }
59
- _ts_decorate([
60
- Query(()=>ArticleDto),
61
- IsPublic(),
62
- _ts_param(0, Args('id', {
63
- type: ()=>ID
64
- })),
65
- _ts_param(1, Language()),
66
- _ts_metadata("design:type", Function),
67
- _ts_metadata("design:paramtypes", [
68
- String,
69
- String
70
- ]),
71
- _ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
72
- ], ArticleQueries.prototype, "article", null);
73
- _ts_decorate([
74
- Query(()=>ArticleCollectionDto),
75
- IsPublic(),
76
- _ts_param(0, Args()),
77
- _ts_param(1, Language()),
78
- _ts_metadata("design:type", Function),
79
- _ts_metadata("design:paramtypes", [
80
- typeof ArticlesArgs === "undefined" ? Object : ArticlesArgs,
81
- String
82
- ]),
83
- _ts_metadata("design:returntype", Promise)
84
- ], ArticleQueries.prototype, "articles", null);
85
- _ts_decorate([
86
- Query(()=>BackstageArticleDto),
87
- AllowActions([
88
- [
89
- BaseResource.ARTICLE,
90
- BaseAction.READ
91
- ]
92
- ]),
93
- _ts_param(0, Args('id', {
94
- type: ()=>ID
95
- })),
96
- _ts_param(1, Args('version', {
97
- type: ()=>Int,
98
- nullable: true
99
- })),
100
- _ts_metadata("design:type", Function),
101
- _ts_metadata("design:paramtypes", [
102
- String,
103
- Object
104
- ]),
105
- _ts_metadata("design:returntype", Promise)
106
- ], ArticleQueries.prototype, "backstageArticle", null);
107
- _ts_decorate([
108
- Query(()=>BackstageArticleCollectionDto),
109
- AllowActions([
110
- [
111
- BaseResource.ARTICLE,
112
- BaseAction.LIST
113
- ]
114
- ]),
115
- _ts_param(0, Args()),
116
- _ts_metadata("design:type", Function),
117
- _ts_metadata("design:paramtypes", [
118
- typeof BackstageArticleArgs === "undefined" ? Object : BackstageArticleArgs
119
- ]),
120
- _ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
121
- ], ArticleQueries.prototype, "backstageArticles", null);
122
- ArticleQueries = _ts_decorate([
123
- Resolver(),
124
- _ts_param(1, Inject(MULTIPLE_LANGUAGE_MODE)),
125
- _ts_metadata("design:type", Function),
126
- _ts_metadata("design:paramtypes", [
127
- typeof ArticleBaseService === "undefined" ? Object : ArticleBaseService,
128
- Boolean
129
- ])
130
- ], ArticleQueries);
131
-
132
- export { ArticleQueries };
@@ -1,13 +0,0 @@
1
- import { CategoryBaseService } from '@rytass/cms-base-nestjs-module';
2
- import { CategoriesArgs } from '../dto/categories.args';
3
- import { CategoryDto } from '../dto/category.dto';
4
- import { BackstageCategoryDto } from '../dto/backstage-category.dto';
5
- export declare class CategoryQueries {
6
- private readonly multiLanguage;
7
- private readonly categoryService;
8
- constructor(multiLanguage: boolean, categoryService: CategoryBaseService);
9
- category(id: string, language?: string): Promise<CategoryDto>;
10
- categories(args: CategoriesArgs, language?: string): Promise<CategoryDto[]>;
11
- backstageCategory(id: string): Promise<BackstageCategoryDto>;
12
- backstageCategories(args: CategoriesArgs): Promise<BackstageCategoryDto[]>;
13
- }