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

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/LICENSE +21 -0
  2. package/cms-base-graphql.module.d.ts +9 -0
  3. package/cms-base-graphql.module.js +114 -0
  4. package/constants/enum/base-action.enum.d.ts +14 -0
  5. package/constants/enum/base-action.enum.js +17 -0
  6. package/constants/enum/base-resource.enum.d.ts +4 -0
  7. package/constants/enum/base-resource.enum.js +7 -0
  8. package/constants/option-providers.d.ts +2 -0
  9. package/constants/option-providers.js +20 -0
  10. package/data-loaders/article.dataloader.d.ts +17 -0
  11. package/data-loaders/article.dataloader.js +68 -0
  12. package/data-loaders/members.dataloader.d.ts +8 -0
  13. package/data-loaders/members.dataloader.js +56 -0
  14. package/decorators/language.decorator.d.ts +2 -0
  15. package/decorators/language.decorator.js +32 -0
  16. package/dto/article-collection.dto.d.ts +5 -0
  17. package/dto/article-collection.dto.js +27 -0
  18. package/dto/article-multi-language-content.dto.d.ts +7 -0
  19. package/dto/article-multi-language-content.dto.js +41 -0
  20. package/dto/article-signature-step.dto.d.ts +4 -0
  21. package/dto/article-signature-step.dto.js +28 -0
  22. package/dto/article-signature.dto.d.ts +7 -0
  23. package/dto/article-signature.dto.js +44 -0
  24. package/dto/article-stage-version.dto.d.ts +9 -0
  25. package/dto/article-stage-version.dto.js +59 -0
  26. package/dto/article-version-content.input.d.ts +7 -0
  27. package/dto/article-version-content.input.js +43 -0
  28. package/dto/article.dto.d.ts +7 -0
  29. package/dto/article.dto.js +37 -0
  30. package/dto/articles.args.d.ts +6 -0
  31. package/dto/articles.args.js +48 -0
  32. package/dto/backstage-article-collection.dto.d.ts +5 -0
  33. package/dto/backstage-article-collection.dto.js +27 -0
  34. package/dto/backstage-article.args.d.ts +6 -0
  35. package/dto/backstage-article.args.js +38 -0
  36. package/dto/backstage-article.dto.d.ts +6 -0
  37. package/dto/backstage-article.dto.js +38 -0
  38. package/dto/backstage-category.dto.d.ts +3 -0
  39. package/dto/backstage-category.dto.js +16 -0
  40. package/dto/base-article.dto.d.ts +7 -0
  41. package/dto/base-article.dto.js +47 -0
  42. package/dto/base-category.dto.d.ts +5 -0
  43. package/dto/base-category.dto.js +33 -0
  44. package/dto/categories.args.d.ts +8 -0
  45. package/dto/categories.args.js +62 -0
  46. package/dto/category-multi-language-name.dto.d.ts +4 -0
  47. package/dto/category-multi-language-name.dto.js +28 -0
  48. package/dto/category-multi-language-name.input.d.ts +4 -0
  49. package/dto/category-multi-language-name.input.js +30 -0
  50. package/dto/category.dto.d.ts +4 -0
  51. package/dto/category.dto.js +24 -0
  52. package/dto/collection.dto.d.ts +5 -0
  53. package/dto/collection.dto.js +33 -0
  54. package/dto/create-article.args.d.ts +11 -0
  55. package/dto/create-article.args.js +71 -0
  56. package/dto/create-category.args.d.ts +7 -0
  57. package/dto/create-category.args.js +45 -0
  58. package/dto/custom-field.input.d.ts +4 -0
  59. package/dto/custom-field.input.js +28 -0
  60. package/dto/update-article.args.d.ts +4 -0
  61. package/dto/update-article.args.js +24 -0
  62. package/dto/update-category.args.d.ts +4 -0
  63. package/dto/update-category.args.js +24 -0
  64. package/dto/user.dto.d.ts +4 -0
  65. package/dto/user.dto.js +28 -0
  66. package/index.cjs.js +2334 -0
  67. package/{src/index.ts → index.d.ts} +0 -2
  68. package/index.js +8 -0
  69. package/mutations/article.mutations.d.ts +22 -0
  70. package/mutations/article.mutations.js +338 -0
  71. package/mutations/category.mutations.d.ts +15 -0
  72. package/mutations/category.mutations.js +134 -0
  73. package/package.json +6 -10
  74. package/queries/article.queries.d.ts +16 -0
  75. package/queries/article.queries.js +132 -0
  76. package/queries/category.queries.d.ts +13 -0
  77. package/queries/category.queries.js +124 -0
  78. package/resolvers/article-signature.resolver.d.ts +10 -0
  79. package/resolvers/article-signature.resolver.js +68 -0
  80. package/resolvers/article.resolver.d.ts +14 -0
  81. package/resolvers/article.resolver.js +95 -0
  82. package/resolvers/backstage-article.resolver.d.ts +33 -0
  83. package/resolvers/backstage-article.resolver.js +296 -0
  84. package/resolvers/backstage-category.resolver.d.ts +8 -0
  85. package/resolvers/backstage-category.resolver.js +76 -0
  86. package/scalars/quadrats-element.scalar.d.ts +3 -0
  87. package/scalars/quadrats-element.scalar.js +47 -0
  88. package/typings/cms-graphql-base-providers.d.ts +3 -0
  89. package/typings/cms-graphql-base-providers.js +5 -0
  90. package/{src/typings/cms-graphql-base-root-module-async-options.dto.ts → typings/cms-graphql-base-root-module-async-options.dto.d.ts} +4 -6
  91. package/{src/typings/cms-graphql-base-root-module-option-factory.ts → typings/cms-graphql-base-root-module-option-factory.d.ts} +1 -2
  92. package/typings/cms-graphql-base-root-module-options.dto.d.ts +6 -0
  93. package/typings/dto/resolved-create-article-args.dto.d.ts +24 -0
  94. package/typings/dto/resolved-create-category-args.dto.d.ts +13 -0
  95. package/CHANGELOG.md +0 -306
  96. package/__tests__/enums.spec.ts +0 -76
  97. package/__tests__/language-decorator.spec.ts +0 -17
  98. package/__tests__/quadrats-element-scalar.spec.ts +0 -123
  99. package/llms.txt +0 -361
  100. package/project.json +0 -23
  101. package/src/cms-base-graphql.module.ts +0 -101
  102. package/src/constants/enum/base-action.enum.ts +0 -17
  103. package/src/constants/enum/base-resource.enum.ts +0 -4
  104. package/src/constants/option-providers.ts +0 -35
  105. package/src/data-loaders/article.dataloader.ts +0 -84
  106. package/src/data-loaders/members.dataloader.ts +0 -36
  107. package/src/decorators/language.decorator.ts +0 -45
  108. package/src/dto/article-collection.dto.ts +0 -9
  109. package/src/dto/article-multi-language-content.dto.ts +0 -18
  110. package/src/dto/article-signature-step.dto.ts +0 -10
  111. package/src/dto/article-signature.dto.ts +0 -21
  112. package/src/dto/article-stage-version.dto.ts +0 -23
  113. package/src/dto/article-version-content.input.ts +0 -18
  114. package/src/dto/article.dto.ts +0 -16
  115. package/src/dto/articles.args.ts +0 -16
  116. package/src/dto/backstage-article-collection.dto.ts +0 -9
  117. package/src/dto/backstage-article.args.ts +0 -20
  118. package/src/dto/backstage-article.dto.ts +0 -14
  119. package/src/dto/backstage-category.dto.ts +0 -5
  120. package/src/dto/base-article.dto.ts +0 -19
  121. package/src/dto/base-category.dto.ts +0 -13
  122. package/src/dto/categories.args.ts +0 -27
  123. package/src/dto/category-multi-language-name.dto.ts +0 -10
  124. package/src/dto/category-multi-language-name.input.ts +0 -10
  125. package/src/dto/category.dto.ts +0 -8
  126. package/src/dto/collection.dto.ts +0 -13
  127. package/src/dto/create-article.args.ts +0 -27
  128. package/src/dto/create-category.args.ts +0 -15
  129. package/src/dto/custom-field.input.ts +0 -10
  130. package/src/dto/update-article.args.ts +0 -8
  131. package/src/dto/update-category.args.ts +0 -8
  132. package/src/dto/user.dto.ts +0 -10
  133. package/src/mutations/article.mutations.ts +0 -177
  134. package/src/mutations/category.mutations.ts +0 -78
  135. package/src/queries/article.queries.ts +0 -71
  136. package/src/queries/category.queries.ts +0 -53
  137. package/src/resolvers/article-signature.resolver.ts +0 -29
  138. package/src/resolvers/article.resolver.ts +0 -41
  139. package/src/resolvers/backstage-article.resolver.ts +0 -161
  140. package/src/resolvers/backstage-category.resolver.ts +0 -40
  141. package/src/scalars/quadrats-element.scalar.ts +0 -56
  142. package/src/typings/cms-graphql-base-providers.ts +0 -3
  143. package/src/typings/cms-graphql-base-root-module-options.dto.ts +0 -11
  144. package/src/typings/dto/resolved-create-article-args.dto.ts +0 -33
  145. package/src/typings/dto/resolved-create-category-args.dto.ts +0 -19
  146. package/tsconfig.build.json +0 -8
  147. /package/{src/typings/custom-field-value.type.ts → typings/custom-field-value.type.d.ts} +0 -0
@@ -0,0 +1,132 @@
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 };
@@ -0,0 +1,13 @@
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
+ }
@@ -0,0 +1,124 @@
1
+ import { Query, Args, ID, Resolver } from '@nestjs/graphql';
2
+ import { MULTIPLE_LANGUAGE_MODE, DEFAULT_LANGUAGE, CategoryBaseService } from '@rytass/cms-base-nestjs-module';
3
+ import { CategoriesArgs } from '../dto/categories.args.js';
4
+ import { IsPublic, AllowActions } from '@rytass/member-base-nestjs-module';
5
+ import { CategoryDto } from '../dto/category.dto.js';
6
+ import { Language } from '../decorators/language.decorator.js';
7
+ import { BackstageCategoryDto } from '../dto/backstage-category.dto.js';
8
+ import { Inject } from '@nestjs/common';
9
+ import { BaseAction } from '../constants/enum/base-action.enum.js';
10
+ import { BaseResource } from '../constants/enum/base-resource.enum.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 CategoryQueries {
27
+ multiLanguage;
28
+ categoryService;
29
+ constructor(multiLanguage, categoryService){
30
+ this.multiLanguage = multiLanguage;
31
+ this.categoryService = categoryService;
32
+ }
33
+ async category(id, language = DEFAULT_LANGUAGE) {
34
+ if (this.multiLanguage) {
35
+ return this.categoryService.findById(id, language);
36
+ }
37
+ return this.categoryService.findById(id);
38
+ }
39
+ categories(args, language = DEFAULT_LANGUAGE) {
40
+ return this.categoryService.findAll({
41
+ ...args,
42
+ language: this.multiLanguage ? language : null
43
+ });
44
+ }
45
+ backstageCategory(id) {
46
+ return this.categoryService.findById(id);
47
+ }
48
+ backstageCategories(args) {
49
+ return this.categoryService.findAll(args);
50
+ }
51
+ }
52
+ _ts_decorate([
53
+ Query(()=>CategoryDto),
54
+ IsPublic(),
55
+ _ts_param(0, Args('id', {
56
+ type: ()=>ID
57
+ })),
58
+ _ts_param(1, Language()),
59
+ _ts_metadata("design:type", Function),
60
+ _ts_metadata("design:paramtypes", [
61
+ String,
62
+ String
63
+ ]),
64
+ _ts_metadata("design:returntype", Promise)
65
+ ], CategoryQueries.prototype, "category", null);
66
+ _ts_decorate([
67
+ Query(()=>[
68
+ CategoryDto
69
+ ]),
70
+ IsPublic(),
71
+ _ts_param(0, Args()),
72
+ _ts_param(1, Language()),
73
+ _ts_metadata("design:type", Function),
74
+ _ts_metadata("design:paramtypes", [
75
+ typeof CategoriesArgs === "undefined" ? Object : CategoriesArgs,
76
+ String
77
+ ]),
78
+ _ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
79
+ ], CategoryQueries.prototype, "categories", null);
80
+ _ts_decorate([
81
+ Query(()=>BackstageCategoryDto),
82
+ AllowActions([
83
+ [
84
+ BaseResource.CATEGORY,
85
+ BaseAction.READ
86
+ ]
87
+ ]),
88
+ _ts_param(0, Args('id', {
89
+ type: ()=>ID
90
+ })),
91
+ _ts_metadata("design:type", Function),
92
+ _ts_metadata("design:paramtypes", [
93
+ String
94
+ ]),
95
+ _ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
96
+ ], CategoryQueries.prototype, "backstageCategory", null);
97
+ _ts_decorate([
98
+ Query(()=>[
99
+ BackstageCategoryDto
100
+ ]),
101
+ AllowActions([
102
+ [
103
+ BaseResource.CATEGORY,
104
+ BaseAction.LIST
105
+ ]
106
+ ]),
107
+ _ts_param(0, Args()),
108
+ _ts_metadata("design:type", Function),
109
+ _ts_metadata("design:paramtypes", [
110
+ typeof CategoriesArgs === "undefined" ? Object : CategoriesArgs
111
+ ]),
112
+ _ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
113
+ ], CategoryQueries.prototype, "backstageCategories", null);
114
+ CategoryQueries = _ts_decorate([
115
+ Resolver(),
116
+ _ts_param(0, Inject(MULTIPLE_LANGUAGE_MODE)),
117
+ _ts_metadata("design:type", Function),
118
+ _ts_metadata("design:paramtypes", [
119
+ Boolean,
120
+ typeof CategoryBaseService === "undefined" ? Object : CategoryBaseService
121
+ ])
122
+ ], CategoryQueries);
123
+
124
+ export { CategoryQueries };
@@ -0,0 +1,10 @@
1
+ import { UserDto } from '../dto/user.dto';
2
+ import { MemberDataLoader } from '../data-loaders/members.dataloader';
3
+ import { ArticleSignatureEntity } from '@rytass/cms-base-nestjs-module';
4
+ import { ArticleSignatureStepDto } from '../dto/article-signature-step.dto';
5
+ export declare class ArticleSignatureResolver {
6
+ private readonly memberDataloader;
7
+ constructor(memberDataloader: MemberDataLoader);
8
+ signer(signature: ArticleSignatureEntity): Promise<UserDto | null> | null;
9
+ step(signature: ArticleSignatureEntity): ArticleSignatureStepDto;
10
+ }
@@ -0,0 +1,68 @@
1
+ import { ResolveField, Root, Resolver } from '@nestjs/graphql';
2
+ import { ArticleSignatureDto } from '../dto/article-signature.dto.js';
3
+ import { UserDto } from '../dto/user.dto.js';
4
+ import { Authenticated } from '@rytass/member-base-nestjs-module';
5
+ import { MemberDataLoader } from '../data-loaders/members.dataloader.js';
6
+ import { DEFAULT_SIGNATURE_LEVEL, ArticleSignatureEntity } from '@rytass/cms-base-nestjs-module';
7
+ import { ArticleSignatureStepDto } from '../dto/article-signature-step.dto.js';
8
+
9
+ function _ts_decorate(decorators, target, key, desc) {
10
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : 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
+ function _ts_metadata(k, v) {
16
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
17
+ }
18
+ function _ts_param(paramIndex, decorator) {
19
+ return function(target, key) {
20
+ decorator(target, key, paramIndex);
21
+ };
22
+ }
23
+ class ArticleSignatureResolver {
24
+ memberDataloader;
25
+ constructor(memberDataloader){
26
+ this.memberDataloader = memberDataloader;
27
+ }
28
+ signer(signature) {
29
+ return signature.signerId ? this.memberDataloader.loader.load(signature.signerId) : null;
30
+ }
31
+ step(signature) {
32
+ return signature.signatureLevel ?? {
33
+ id: DEFAULT_SIGNATURE_LEVEL,
34
+ name: DEFAULT_SIGNATURE_LEVEL
35
+ };
36
+ }
37
+ }
38
+ _ts_decorate([
39
+ ResolveField(()=>UserDto, {
40
+ nullable: true
41
+ }),
42
+ Authenticated(),
43
+ _ts_param(0, Root()),
44
+ _ts_metadata("design:type", Function),
45
+ _ts_metadata("design:paramtypes", [
46
+ typeof ArticleSignatureEntity === "undefined" ? Object : ArticleSignatureEntity
47
+ ]),
48
+ _ts_metadata("design:returntype", Object)
49
+ ], ArticleSignatureResolver.prototype, "signer", null);
50
+ _ts_decorate([
51
+ ResolveField(()=>ArticleSignatureStepDto),
52
+ Authenticated(),
53
+ _ts_param(0, Root()),
54
+ _ts_metadata("design:type", Function),
55
+ _ts_metadata("design:paramtypes", [
56
+ typeof ArticleSignatureEntity === "undefined" ? Object : ArticleSignatureEntity
57
+ ]),
58
+ _ts_metadata("design:returntype", typeof ArticleSignatureStepDto === "undefined" ? Object : ArticleSignatureStepDto)
59
+ ], ArticleSignatureResolver.prototype, "step", null);
60
+ ArticleSignatureResolver = _ts_decorate([
61
+ Resolver(()=>ArticleSignatureDto),
62
+ _ts_metadata("design:type", Function),
63
+ _ts_metadata("design:paramtypes", [
64
+ typeof MemberDataLoader === "undefined" ? Object : MemberDataLoader
65
+ ])
66
+ ], ArticleSignatureResolver);
67
+
68
+ export { ArticleSignatureResolver };
@@ -0,0 +1,14 @@
1
+ import { MemberDataLoader } from '../data-loaders/members.dataloader';
2
+ import { UserDto } from '../dto/user.dto';
3
+ import { type ArticleBaseDto } from '@rytass/cms-base-nestjs-module';
4
+ import { CategoryDto } from '../dto/category.dto';
5
+ import { ArticleDataLoader } from '../data-loaders/article.dataloader';
6
+ export declare class ArticleResolver {
7
+ private readonly memberDataloader;
8
+ private readonly articleDataloader;
9
+ private readonly multiLanguage;
10
+ constructor(memberDataloader: MemberDataLoader, articleDataloader: ArticleDataLoader, multiLanguage: boolean);
11
+ articleId(article: ArticleBaseDto): string;
12
+ releasedBy(article: ArticleBaseDto): Promise<UserDto | null> | null;
13
+ categories(article: ArticleBaseDto, language?: string): Promise<CategoryDto[]>;
14
+ }
@@ -0,0 +1,95 @@
1
+ import { ResolveField, Root, Resolver } from '@nestjs/graphql';
2
+ import { ArticleDto } from '../dto/article.dto.js';
3
+ import { MemberDataLoader } from '../data-loaders/members.dataloader.js';
4
+ import { UserDto } from '../dto/user.dto.js';
5
+ import { IsPublic } from '@rytass/member-base-nestjs-module';
6
+ import { MULTIPLE_LANGUAGE_MODE, DEFAULT_LANGUAGE } from '@rytass/cms-base-nestjs-module';
7
+ import { CategoryDto } from '../dto/category.dto.js';
8
+ import { ArticleDataLoader } from '../data-loaders/article.dataloader.js';
9
+ import { Language } from '../decorators/language.decorator.js';
10
+ import { Inject } from '@nestjs/common';
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 ArticleResolver {
27
+ memberDataloader;
28
+ articleDataloader;
29
+ multiLanguage;
30
+ constructor(memberDataloader, articleDataloader, multiLanguage){
31
+ this.memberDataloader = memberDataloader;
32
+ this.articleDataloader = articleDataloader;
33
+ this.multiLanguage = multiLanguage;
34
+ }
35
+ articleId(article) {
36
+ return article.id.split(':')[0];
37
+ }
38
+ releasedBy(article) {
39
+ return article.releasedBy ? this.memberDataloader.loader.load(article.releasedBy) : null;
40
+ }
41
+ categories(article, language = DEFAULT_LANGUAGE) {
42
+ return this.articleDataloader.categoriesLoader.load({
43
+ articleId: article.id,
44
+ language: this.multiLanguage ? language : DEFAULT_LANGUAGE
45
+ });
46
+ }
47
+ }
48
+ _ts_decorate([
49
+ ResolveField(()=>String),
50
+ IsPublic(),
51
+ _ts_param(0, Root()),
52
+ _ts_metadata("design:type", Function),
53
+ _ts_metadata("design:paramtypes", [
54
+ typeof ArticleBaseDto === "undefined" ? Object : ArticleBaseDto
55
+ ]),
56
+ _ts_metadata("design:returntype", String)
57
+ ], ArticleResolver.prototype, "articleId", null);
58
+ _ts_decorate([
59
+ ResolveField(()=>UserDto, {
60
+ nullable: true
61
+ }),
62
+ IsPublic(),
63
+ _ts_param(0, Root()),
64
+ _ts_metadata("design:type", Function),
65
+ _ts_metadata("design:paramtypes", [
66
+ typeof ArticleBaseDto === "undefined" ? Object : ArticleBaseDto
67
+ ]),
68
+ _ts_metadata("design:returntype", Object)
69
+ ], ArticleResolver.prototype, "releasedBy", null);
70
+ _ts_decorate([
71
+ ResolveField(()=>[
72
+ CategoryDto
73
+ ]),
74
+ IsPublic(),
75
+ _ts_param(0, Root()),
76
+ _ts_param(1, Language()),
77
+ _ts_metadata("design:type", Function),
78
+ _ts_metadata("design:paramtypes", [
79
+ typeof ArticleBaseDto === "undefined" ? Object : ArticleBaseDto,
80
+ String
81
+ ]),
82
+ _ts_metadata("design:returntype", typeof Promise === "undefined" ? Object : Promise)
83
+ ], ArticleResolver.prototype, "categories", null);
84
+ ArticleResolver = _ts_decorate([
85
+ Resolver(()=>ArticleDto),
86
+ _ts_param(2, Inject(MULTIPLE_LANGUAGE_MODE)),
87
+ _ts_metadata("design:type", Function),
88
+ _ts_metadata("design:paramtypes", [
89
+ typeof MemberDataLoader === "undefined" ? Object : MemberDataLoader,
90
+ typeof ArticleDataLoader === "undefined" ? Object : ArticleDataLoader,
91
+ Boolean
92
+ ])
93
+ ], ArticleResolver);
94
+
95
+ export { ArticleResolver };
@@ -0,0 +1,33 @@
1
+ import { MemberDataLoader } from '../data-loaders/members.dataloader';
2
+ import { UserDto } from '../dto/user.dto';
3
+ import { ArticleSignatureDataLoader, ArticleStage, ArticleVersionDataLoader, ArticleDataLoader as ModuleArticleDataLoader, type ArticleBaseDto } from '@rytass/cms-base-nestjs-module';
4
+ import { CategoryDto } from '../dto/category.dto';
5
+ import { ArticleDataLoader } from '../data-loaders/article.dataloader';
6
+ import { BackstageArticleDto } from '../dto/backstage-article.dto';
7
+ import { ArticleMultiLanguageContentDto } from '../dto/article-multi-language-content.dto';
8
+ import { QuadratsElement } from '@quadrats/core';
9
+ import { ArticleStageVersionDto } from '../dto/article-stage-version.dto';
10
+ import { ArticleSignatureDto } from '../dto/article-signature.dto';
11
+ export declare class BackstageArticleResolver {
12
+ private readonly memberDataloader;
13
+ private readonly articleDataloader;
14
+ private readonly multiLanguage;
15
+ private readonly articleVersionDataLoader;
16
+ private readonly moduleArticleDataLoader;
17
+ private readonly versionSignaturesLoader;
18
+ constructor(memberDataloader: MemberDataLoader, articleDataloader: ArticleDataLoader, multiLanguage: boolean, articleVersionDataLoader: ArticleVersionDataLoader, moduleArticleDataLoader: ModuleArticleDataLoader, versionSignaturesLoader: ArticleSignatureDataLoader);
19
+ id(article: ArticleBaseDto): string;
20
+ articleId(article: ArticleBaseDto): string;
21
+ submittedBy(article: ArticleBaseDto): Promise<UserDto | null> | null;
22
+ lastEditor(article: ArticleBaseDto): Promise<UserDto | null> | null;
23
+ releasedBy(article: ArticleBaseDto): Promise<UserDto | null> | null;
24
+ categories(article: ArticleBaseDto, language?: string): Promise<CategoryDto[]>;
25
+ title(article: ArticleBaseDto): string;
26
+ description(article: ArticleBaseDto): string | null;
27
+ content(article: ArticleBaseDto): QuadratsElement[];
28
+ multiLanguageContents(article: ArticleBaseDto): ArticleMultiLanguageContentDto[];
29
+ versions(article: ArticleBaseDto): Promise<BackstageArticleDto[]>;
30
+ stage(article: ArticleBaseDto): Promise<ArticleStage>;
31
+ signatures(article: ArticleBaseDto): Promise<ArticleSignatureDto[]>;
32
+ stageVersions(article: ArticleBaseDto): Promise<ArticleStageVersionDto>;
33
+ }