@rytass/cms-base-nestjs-graphql-module 0.0.2

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 (50) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/cms-base-graphql.module.d.ts +6 -0
  4. package/cms-base-graphql.module.js +61 -0
  5. package/data-loaders/article-stage.dataloader.d.ts +11 -0
  6. package/data-loaders/article.dataloader.d.ts +13 -0
  7. package/data-loaders/category.dataloader.d.ts +10 -0
  8. package/data-loaders/members.dataloader.d.ts +8 -0
  9. package/decorators/language.decorator.d.ts +1 -0
  10. package/decorators/language.decorator.js +25 -0
  11. package/dto/article-backstage.dto.d.ts +3 -0
  12. package/dto/article-backstage.dto.js +20 -0
  13. package/dto/article-collection.dto.d.ts +5 -0
  14. package/dto/article-collection.dto.js +23 -0
  15. package/dto/article.dto.d.ts +3 -0
  16. package/dto/article.dto.js +20 -0
  17. package/dto/articles.args.d.ts +8 -0
  18. package/dto/base-article.dto.d.ts +5 -0
  19. package/dto/base-article.dto.js +29 -0
  20. package/dto/base-category.dto.d.ts +3 -0
  21. package/dto/base-category.dto.js +19 -0
  22. package/dto/categories.args.d.ts +5 -0
  23. package/dto/category-backstage.dto.d.ts +3 -0
  24. package/dto/category-backstage.dto.js +20 -0
  25. package/dto/category-multi-language-name.dto.d.ts +4 -0
  26. package/dto/category.dto.d.ts +3 -0
  27. package/dto/collection.dto.d.ts +5 -0
  28. package/dto/collection.dto.js +27 -0
  29. package/dto/create-article.args.d.ts +14 -0
  30. package/dto/create-category.args.d.ts +11 -0
  31. package/dto/update-article.args.d.ts +4 -0
  32. package/dto/user.dto.d.ts +4 -0
  33. package/index.cjs.js +617 -0
  34. package/index.d.ts +1 -0
  35. package/index.js +1 -0
  36. package/mutations/article.mutations.d.ts +16 -0
  37. package/mutations/article.mutations.js +158 -0
  38. package/mutations/category.mutations.d.ts +10 -0
  39. package/mutations/category.mutations.js +65 -0
  40. package/package.json +37 -0
  41. package/quadrats-element.scalar.d.ts +3 -0
  42. package/quadrats-element.scalar.js +44 -0
  43. package/queries/article.queries.d.ts +10 -0
  44. package/queries/article.queries.js +50 -0
  45. package/queries/category.queries.d.ts +9 -0
  46. package/queries/category.queries.js +46 -0
  47. package/resolvers/article-backstage.resolver.d.ts +5 -0
  48. package/resolvers/article-backstage.resolver.js +40 -0
  49. package/resolvers/article.resolver.d.ts +6 -0
  50. package/resolvers/article.resolver.js +39 -0
package/index.cjs.js ADDED
@@ -0,0 +1,617 @@
1
+ 'use strict';
2
+
3
+ var common = require('@nestjs/common');
4
+ var cmsBaseNestjsModule = require('@rytass/cms-base-nestjs-module');
5
+ var graphql = require('@nestjs/graphql');
6
+ var memberBaseNestjsModule = require('@rytass/member-base-nestjs-module');
7
+ var graphql$1 = require('graphql');
8
+
9
+ function _ts_decorate$d(decorators, target, key, desc) {
10
+ var c = arguments.length, r = c < 3 ? target : desc, d;
11
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
12
+ 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;
13
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14
+ }
15
+ class BaseArticleDto {
16
+ id;
17
+ tags;
18
+ createdAt;
19
+ }
20
+ _ts_decorate$d([
21
+ graphql.Field(()=>graphql.ID)
22
+ ], BaseArticleDto.prototype, "id", void 0);
23
+ _ts_decorate$d([
24
+ graphql.Field(()=>[
25
+ String
26
+ ])
27
+ ], BaseArticleDto.prototype, "tags", void 0);
28
+ _ts_decorate$d([
29
+ graphql.Field(()=>Date)
30
+ ], BaseArticleDto.prototype, "createdAt", void 0);
31
+ BaseArticleDto = _ts_decorate$d([
32
+ graphql.InterfaceType('BaseArticle')
33
+ ], BaseArticleDto);
34
+
35
+ function _ts_decorate$c(decorators, target, key, desc) {
36
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
37
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
38
+ 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;
39
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
40
+ }
41
+ class ArticleBackstageDto extends BaseArticleDto {
42
+ }
43
+ ArticleBackstageDto = _ts_decorate$c([
44
+ graphql.ObjectType('ArticleBackstage', {
45
+ implements: [
46
+ BaseArticleDto
47
+ ]
48
+ })
49
+ ], ArticleBackstageDto);
50
+
51
+ function _ts_decorate$b(decorators, target, key, desc) {
52
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
53
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
54
+ 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;
55
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
56
+ }
57
+ function _ts_param$5(paramIndex, decorator) {
58
+ return function(target, key) {
59
+ decorator(target, key, paramIndex);
60
+ };
61
+ }
62
+ class ArticleMutations {
63
+ articleService;
64
+ constructor(articleService){
65
+ this.articleService = articleService;
66
+ }
67
+ async createArticle(memberId, args) {
68
+ return this.articleService.create({
69
+ categoryIds: args.categoryIds,
70
+ tags: args.tags,
71
+ multiLanguageContents: args.multiLanguageContents.reduce((vars, content)=>({
72
+ ...vars,
73
+ [content.language ?? cmsBaseNestjsModule.DEFAULT_LANGUAGE]: {
74
+ title: content.title,
75
+ description: content.description,
76
+ content: content.content
77
+ }
78
+ }), {}),
79
+ userId: memberId,
80
+ submitted: args.submitted ?? undefined,
81
+ signatureLevel: args.signatureLevel ?? null,
82
+ releasedAt: args.releasedAt ?? null
83
+ });
84
+ }
85
+ async updateArticle(memberId, args) {
86
+ return this.articleService.addVersion(args.id, {
87
+ categoryIds: args.categoryIds,
88
+ tags: args.tags,
89
+ multiLanguageContents: args.multiLanguageContents.reduce((vars, content)=>({
90
+ ...vars,
91
+ [content.language ?? cmsBaseNestjsModule.DEFAULT_LANGUAGE]: {
92
+ title: content.title,
93
+ description: content.description,
94
+ content: content.content
95
+ }
96
+ }), {}),
97
+ userId: memberId,
98
+ submitted: args.submitted ?? undefined,
99
+ signatureLevel: args.signatureLevel ?? null,
100
+ releasedAt: args.releasedAt ?? null
101
+ });
102
+ }
103
+ async deleteArticle(id) {
104
+ await this.articleService.archive(id);
105
+ return true;
106
+ }
107
+ async submitArticle(memberId, id, version) {
108
+ return this.articleService.submit(id, {
109
+ version,
110
+ userId: memberId
111
+ });
112
+ }
113
+ async approveArticle(id) {
114
+ const article = await this.articleService.findById(id);
115
+ return this.articleService.approveVersion(article);
116
+ }
117
+ async rejectArticle(id, reason) {
118
+ const article = await this.articleService.findById(id);
119
+ return this.articleService.rejectVersion(article, {
120
+ reason
121
+ });
122
+ }
123
+ releaseArticle(userId, id, releasedAt) {
124
+ return this.articleService.release(id, {
125
+ releasedAt,
126
+ userId
127
+ });
128
+ }
129
+ withdrawArticle(id) {
130
+ return this.articleService.withdraw(id);
131
+ }
132
+ }
133
+ _ts_decorate$b([
134
+ graphql.Mutation(()=>ArticleBackstageDto),
135
+ memberBaseNestjsModule.IsPublic(),
136
+ _ts_param$5(0, memberBaseNestjsModule.MemberId()),
137
+ _ts_param$5(1, graphql.Args())
138
+ ], ArticleMutations.prototype, "createArticle", null);
139
+ _ts_decorate$b([
140
+ graphql.Mutation(()=>ArticleBackstageDto),
141
+ memberBaseNestjsModule.IsPublic(),
142
+ _ts_param$5(0, memberBaseNestjsModule.MemberId()),
143
+ _ts_param$5(1, graphql.Args())
144
+ ], ArticleMutations.prototype, "updateArticle", null);
145
+ _ts_decorate$b([
146
+ graphql.Mutation(()=>Boolean),
147
+ memberBaseNestjsModule.IsPublic(),
148
+ _ts_param$5(0, graphql.Args('id', {
149
+ type: ()=>graphql.ID
150
+ }))
151
+ ], ArticleMutations.prototype, "deleteArticle", null);
152
+ _ts_decorate$b([
153
+ graphql.Mutation(()=>ArticleBackstageDto),
154
+ memberBaseNestjsModule.IsPublic(),
155
+ _ts_param$5(0, memberBaseNestjsModule.MemberId()),
156
+ _ts_param$5(1, graphql.Args('id', {
157
+ type: ()=>graphql.ID
158
+ })),
159
+ _ts_param$5(2, graphql.Args('version', {
160
+ type: ()=>graphql.Int
161
+ }))
162
+ ], ArticleMutations.prototype, "submitArticle", null);
163
+ _ts_decorate$b([
164
+ graphql.Mutation(()=>ArticleBackstageDto),
165
+ memberBaseNestjsModule.IsPublic(),
166
+ _ts_param$5(0, graphql.Args('id', {
167
+ type: ()=>graphql.ID
168
+ }))
169
+ ], ArticleMutations.prototype, "approveArticle", null);
170
+ _ts_decorate$b([
171
+ graphql.Mutation(()=>ArticleBackstageDto),
172
+ memberBaseNestjsModule.IsPublic(),
173
+ _ts_param$5(0, graphql.Args('id', {
174
+ type: ()=>graphql.ID
175
+ })),
176
+ _ts_param$5(1, graphql.Args('reason', {
177
+ type: ()=>String,
178
+ nullable: true
179
+ }))
180
+ ], ArticleMutations.prototype, "rejectArticle", null);
181
+ _ts_decorate$b([
182
+ graphql.Mutation(()=>ArticleBackstageDto),
183
+ memberBaseNestjsModule.IsPublic(),
184
+ _ts_param$5(0, memberBaseNestjsModule.MemberId()),
185
+ _ts_param$5(1, graphql.Args('id', {
186
+ type: ()=>graphql.ID
187
+ })),
188
+ _ts_param$5(2, graphql.Args('releasedAt', {
189
+ type: ()=>Date
190
+ }))
191
+ ], ArticleMutations.prototype, "releaseArticle", null);
192
+ _ts_decorate$b([
193
+ graphql.Mutation(()=>ArticleBackstageDto),
194
+ memberBaseNestjsModule.IsPublic(),
195
+ _ts_param$5(0, graphql.Args('id', {
196
+ type: ()=>graphql.ID
197
+ }))
198
+ ], ArticleMutations.prototype, "withdrawArticle", null);
199
+ ArticleMutations = _ts_decorate$b([
200
+ graphql.Resolver()
201
+ ], ArticleMutations);
202
+
203
+ function _ts_decorate$a(decorators, target, key, desc) {
204
+ var c = arguments.length, r = c < 3 ? target : desc, d;
205
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
206
+ 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;
207
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
208
+ }
209
+ class BaseCategoryDto {
210
+ id;
211
+ }
212
+ _ts_decorate$a([
213
+ graphql.Field(()=>graphql.ID)
214
+ ], BaseCategoryDto.prototype, "id", void 0);
215
+ BaseCategoryDto = _ts_decorate$a([
216
+ graphql.InterfaceType('BaseCategory')
217
+ ], BaseCategoryDto);
218
+
219
+ function _ts_decorate$9(decorators, target, key, desc) {
220
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
221
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
222
+ 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;
223
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
224
+ }
225
+ class CategoryBackstageDto extends BaseCategoryDto {
226
+ }
227
+ CategoryBackstageDto = _ts_decorate$9([
228
+ graphql.ObjectType('CategoryBackstage', {
229
+ implements: ()=>[
230
+ BaseCategoryDto
231
+ ]
232
+ })
233
+ ], CategoryBackstageDto);
234
+
235
+ function _ts_decorate$8(decorators, target, key, desc) {
236
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
237
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
238
+ 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;
239
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
240
+ }
241
+ function _ts_param$4(paramIndex, decorator) {
242
+ return function(target, key) {
243
+ decorator(target, key, paramIndex);
244
+ };
245
+ }
246
+ class CategoryMutations {
247
+ categoryService;
248
+ constructor(categoryService){
249
+ this.categoryService = categoryService;
250
+ }
251
+ createCategory(args) {
252
+ return this.categoryService.create({
253
+ ...args,
254
+ multiLanguageNames: Object.fromEntries(args.multiLanguageNames.map((name)=>[
255
+ name.language,
256
+ name.name
257
+ ]))
258
+ });
259
+ }
260
+ updateCategory(args) {
261
+ return this.categoryService.update(args.id, {
262
+ ...args,
263
+ multiLanguageNames: Object.fromEntries(args.multiLanguageNames.map((name)=>[
264
+ name.language,
265
+ name.name
266
+ ]))
267
+ });
268
+ }
269
+ async deleteCategory(id) {
270
+ await this.categoryService.archive(id);
271
+ return true;
272
+ }
273
+ }
274
+ _ts_decorate$8([
275
+ graphql.Mutation(()=>CategoryBackstageDto),
276
+ memberBaseNestjsModule.IsPublic(),
277
+ _ts_param$4(0, graphql.Args())
278
+ ], CategoryMutations.prototype, "createCategory", null);
279
+ _ts_decorate$8([
280
+ graphql.Mutation(()=>CategoryBackstageDto),
281
+ memberBaseNestjsModule.IsPublic(),
282
+ _ts_param$4(0, graphql.Args())
283
+ ], CategoryMutations.prototype, "updateCategory", null);
284
+ _ts_decorate$8([
285
+ graphql.Mutation(()=>Boolean),
286
+ memberBaseNestjsModule.IsPublic(),
287
+ _ts_param$4(0, graphql.Args('id', {
288
+ type: ()=>graphql.ID
289
+ }))
290
+ ], CategoryMutations.prototype, "deleteCategory", null);
291
+ CategoryMutations = _ts_decorate$8([
292
+ graphql.Resolver()
293
+ ], CategoryMutations);
294
+
295
+ const Language = common.createParamDecorator(async (data, context)=>{
296
+ const contextType = context.getType();
297
+ let language;
298
+ switch(contextType){
299
+ case 'graphql':
300
+ {
301
+ const { GqlExecutionContext } = await import('@nestjs/graphql');
302
+ const ctx = GqlExecutionContext.create(context).getContext();
303
+ language = (ctx.req.headers['accept-language'] ?? '').trim();
304
+ break;
305
+ }
306
+ case 'http':
307
+ default:
308
+ language = (context.switchToHttp().getRequest().headers['accept-language'] ?? '').trim();
309
+ break;
310
+ }
311
+ if (!language) {
312
+ return 'zh-tw';
313
+ }
314
+ return language.split(',')[0].split(';')[0].trim().toLowerCase();
315
+ });
316
+
317
+ function _ts_decorate$7(decorators, target, key, desc) {
318
+ var c = arguments.length, r = c < 3 ? target : desc, d;
319
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
320
+ 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;
321
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
322
+ }
323
+ class Collection {
324
+ total;
325
+ offset;
326
+ limit;
327
+ }
328
+ _ts_decorate$7([
329
+ graphql.Field(()=>graphql.Int)
330
+ ], Collection.prototype, "total", void 0);
331
+ _ts_decorate$7([
332
+ graphql.Field(()=>graphql.Int)
333
+ ], Collection.prototype, "offset", void 0);
334
+ _ts_decorate$7([
335
+ graphql.Field(()=>graphql.Int)
336
+ ], Collection.prototype, "limit", void 0);
337
+ Collection = _ts_decorate$7([
338
+ graphql.ObjectType('Collection')
339
+ ], Collection);
340
+
341
+ function _ts_decorate$6(decorators, target, key, desc) {
342
+ var c = arguments.length, r = c < 3 ? target : desc, d;
343
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
344
+ 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;
345
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
346
+ }
347
+ class ArticleCollectionDto extends Collection {
348
+ articles;
349
+ }
350
+ _ts_decorate$6([
351
+ graphql.Field(()=>[
352
+ BaseArticleDto
353
+ ])
354
+ ], ArticleCollectionDto.prototype, "articles", void 0);
355
+ ArticleCollectionDto = _ts_decorate$6([
356
+ graphql.ObjectType('ArticleCollection')
357
+ ], ArticleCollectionDto);
358
+
359
+ function _ts_decorate$5(decorators, target, key, desc) {
360
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
361
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
362
+ 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;
363
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
364
+ }
365
+ function _ts_param$3(paramIndex, decorator) {
366
+ return function(target, key) {
367
+ decorator(target, key, paramIndex);
368
+ };
369
+ }
370
+ class ArticleQueries {
371
+ articleService;
372
+ constructor(articleService){
373
+ this.articleService = articleService;
374
+ }
375
+ article(id, language = cmsBaseNestjsModule.DEFAULT_LANGUAGE) {
376
+ return this.articleService.findById(id, {
377
+ language: language ?? cmsBaseNestjsModule.DEFAULT_LANGUAGE
378
+ });
379
+ }
380
+ async articles(args) {
381
+ return this.articleService.findCollection(args);
382
+ }
383
+ }
384
+ _ts_decorate$5([
385
+ graphql.Query(()=>BaseArticleDto),
386
+ memberBaseNestjsModule.IsPublic(),
387
+ _ts_param$3(0, graphql.Args('id', {
388
+ type: ()=>graphql.ID
389
+ })),
390
+ _ts_param$3(1, Language())
391
+ ], ArticleQueries.prototype, "article", null);
392
+ _ts_decorate$5([
393
+ graphql.Query(()=>ArticleCollectionDto),
394
+ memberBaseNestjsModule.IsPublic(),
395
+ _ts_param$3(0, graphql.Args())
396
+ ], ArticleQueries.prototype, "articles", null);
397
+ ArticleQueries = _ts_decorate$5([
398
+ graphql.Resolver()
399
+ ], ArticleQueries);
400
+
401
+ function _ts_decorate$4(decorators, target, key, desc) {
402
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
403
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
404
+ 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;
405
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
406
+ }
407
+ function _ts_param$2(paramIndex, decorator) {
408
+ return function(target, key) {
409
+ decorator(target, key, paramIndex);
410
+ };
411
+ }
412
+ class CategoryQueries {
413
+ categoryService;
414
+ constructor(categoryService){
415
+ this.categoryService = categoryService;
416
+ }
417
+ category(id) {
418
+ return this.categoryService.findById(id);
419
+ }
420
+ categories(args) {
421
+ return this.categoryService.findAll(args);
422
+ }
423
+ }
424
+ _ts_decorate$4([
425
+ graphql.Query(()=>BaseCategoryDto),
426
+ memberBaseNestjsModule.IsPublic(),
427
+ _ts_param$2(0, graphql.Args('id', {
428
+ type: ()=>graphql.ID
429
+ }))
430
+ ], CategoryQueries.prototype, "category", null);
431
+ _ts_decorate$4([
432
+ graphql.Query(()=>[
433
+ BaseCategoryDto
434
+ ]),
435
+ memberBaseNestjsModule.IsPublic(),
436
+ _ts_param$2(0, graphql.Args())
437
+ ], CategoryQueries.prototype, "categories", null);
438
+ CategoryQueries = _ts_decorate$4([
439
+ graphql.Resolver()
440
+ ], CategoryQueries);
441
+
442
+ function _ts_decorate$3(decorators, target, key, desc) {
443
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
444
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
445
+ 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;
446
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
447
+ }
448
+ class ArticleDto extends BaseArticleDto {
449
+ }
450
+ ArticleDto = _ts_decorate$3([
451
+ graphql.ObjectType('Article', {
452
+ implements: [
453
+ BaseArticleDto
454
+ ]
455
+ })
456
+ ], ArticleDto);
457
+
458
+ const QuadratsContentScalar = new graphql$1.GraphQLScalarType({
459
+ name: 'QuadratsContent',
460
+ description: 'QuadratsContent custom scalar type (as JSON string)',
461
+ parseValue: (value)=>{
462
+ if (typeof value === 'string') {
463
+ let parsedValue;
464
+ try {
465
+ parsedValue = JSON.parse(value);
466
+ } catch (error) {
467
+ common.Logger.error(`Error parsing QuadratsContent (parseValue): ${error}`);
468
+ throw new common.InternalServerErrorException('Invalid QuadratsElement value');
469
+ }
470
+ if (!Array.isArray(parsedValue)) {
471
+ throw new common.BadRequestException('Expected a JSON string for QuadratsContent');
472
+ }
473
+ return parsedValue;
474
+ }
475
+ throw new common.BadRequestException('Expected a JSON string for QuadratsContent');
476
+ },
477
+ serialize: (value)=>{
478
+ try {
479
+ return JSON.stringify(value);
480
+ } catch (error) {
481
+ common.Logger.error(`Error serializing QuadratsContent: ${error}`);
482
+ throw new common.InternalServerErrorException('Error serializing QuadratsElement');
483
+ }
484
+ },
485
+ parseLiteral: (ast)=>{
486
+ try {
487
+ if (ast.kind === graphql$1.Kind.STRING) {
488
+ return JSON.parse(ast.value);
489
+ }
490
+ } catch (error) {
491
+ common.Logger.error(`Error parsing QuadratsContent (parseLiteral): ${error}`);
492
+ throw new common.InternalServerErrorException('Invalid QuadratsElement value');
493
+ }
494
+ throw new Error('Expected string literal for QuadratsContent');
495
+ }
496
+ });
497
+
498
+ function _ts_decorate$2(decorators, target, key, desc) {
499
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
500
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
501
+ 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;
502
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
503
+ }
504
+ function _ts_param$1(paramIndex, decorator) {
505
+ return function(target, key) {
506
+ decorator(target, key, paramIndex);
507
+ };
508
+ }
509
+ class ArticleResolver {
510
+ title(article) {
511
+ return article.title;
512
+ }
513
+ content(article) {
514
+ return article.content;
515
+ }
516
+ }
517
+ _ts_decorate$2([
518
+ graphql.ResolveField(()=>String),
519
+ memberBaseNestjsModule.IsPublic(),
520
+ _ts_param$1(0, graphql.Root())
521
+ ], ArticleResolver.prototype, "title", null);
522
+ _ts_decorate$2([
523
+ graphql.ResolveField(()=>QuadratsContentScalar),
524
+ memberBaseNestjsModule.IsPublic(),
525
+ _ts_param$1(0, graphql.Root())
526
+ ], ArticleResolver.prototype, "content", null);
527
+ ArticleResolver = _ts_decorate$2([
528
+ graphql.Resolver(()=>ArticleDto)
529
+ ], ArticleResolver);
530
+
531
+ function _ts_decorate$1(decorators, target, key, desc) {
532
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
533
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
534
+ 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;
535
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
536
+ }
537
+ function _ts_param(paramIndex, decorator) {
538
+ return function(target, key) {
539
+ decorator(target, key, paramIndex);
540
+ };
541
+ }
542
+ class ArticleBackstageResolver {
543
+ version(article) {
544
+ return article.version;
545
+ }
546
+ deletedAt(article) {
547
+ return article.deletedAt ?? null;
548
+ }
549
+ }
550
+ _ts_decorate$1([
551
+ graphql.ResolveField(()=>graphql.Int),
552
+ memberBaseNestjsModule.IsPublic(),
553
+ _ts_param(0, graphql.Root())
554
+ ], ArticleBackstageResolver.prototype, "version", null);
555
+ _ts_decorate$1([
556
+ graphql.ResolveField(()=>Date, {
557
+ nullable: true
558
+ }),
559
+ memberBaseNestjsModule.IsPublic(),
560
+ _ts_param(0, graphql.Root())
561
+ ], ArticleBackstageResolver.prototype, "deletedAt", null);
562
+ ArticleBackstageResolver = _ts_decorate$1([
563
+ graphql.Resolver(()=>ArticleBackstageDto)
564
+ ], ArticleBackstageResolver);
565
+
566
+ function _ts_decorate(decorators, target, key, desc) {
567
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
568
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
569
+ 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;
570
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
571
+ }
572
+ class CMSBaseGraphQLModule {
573
+ static forRootAsync(options) {
574
+ return {
575
+ module: CMSBaseGraphQLModule,
576
+ imports: [
577
+ ...options.imports || [],
578
+ cmsBaseNestjsModule.CMSBaseModule.forRootAsync(options)
579
+ ],
580
+ exports: [
581
+ cmsBaseNestjsModule.CMSBaseModule
582
+ ],
583
+ providers: [
584
+ ArticleQueries,
585
+ ArticleMutations,
586
+ ArticleResolver,
587
+ ArticleBackstageResolver,
588
+ CategoryQueries,
589
+ CategoryMutations
590
+ ]
591
+ };
592
+ }
593
+ static forRoot(options) {
594
+ return {
595
+ module: CMSBaseGraphQLModule,
596
+ imports: [
597
+ cmsBaseNestjsModule.CMSBaseModule.forRoot(options)
598
+ ],
599
+ exports: [
600
+ cmsBaseNestjsModule.CMSBaseModule
601
+ ],
602
+ providers: [
603
+ ArticleQueries,
604
+ ArticleMutations,
605
+ ArticleResolver,
606
+ ArticleBackstageResolver,
607
+ CategoryQueries,
608
+ CategoryMutations
609
+ ]
610
+ };
611
+ }
612
+ }
613
+ CMSBaseGraphQLModule = _ts_decorate([
614
+ common.Module({})
615
+ ], CMSBaseGraphQLModule);
616
+
617
+ exports.CMSBaseGraphQLModule = CMSBaseGraphQLModule;
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './cms-base-graphql.module';
package/index.js ADDED
@@ -0,0 +1 @@
1
+ export { CMSBaseGraphQLModule } from './cms-base-graphql.module.js';
@@ -0,0 +1,16 @@
1
+ import { ArticleBaseService } from '@rytass/cms-base-nestjs-module';
2
+ import { ArticleBackstageDto } from '../dto/article-backstage.dto';
3
+ import { CreateArticleArgs } from '../dto/create-article.args';
4
+ import { UpdateArticleArgs } from '../dto/update-article.args';
5
+ export declare class ArticleMutations {
6
+ private readonly articleService;
7
+ constructor(articleService: ArticleBaseService);
8
+ createArticle(memberId: string, args: CreateArticleArgs): Promise<ArticleBackstageDto>;
9
+ updateArticle(memberId: string, args: UpdateArticleArgs): Promise<ArticleBackstageDto>;
10
+ deleteArticle(id: string): Promise<boolean>;
11
+ submitArticle(memberId: string, id: string, version: number): Promise<ArticleBackstageDto>;
12
+ approveArticle(id: string): Promise<ArticleBackstageDto>;
13
+ rejectArticle(id: string, reason?: string | null): Promise<ArticleBackstageDto>;
14
+ releaseArticle(userId: string, id: string, releasedAt: Date): Promise<ArticleBackstageDto>;
15
+ withdrawArticle(id: string): Promise<ArticleBackstageDto>;
16
+ }