@rytass/cms-base-nestjs-graphql-module 0.0.24 → 0.0.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.
- package/cms-base-graphql.module.d.ts +6 -3
- package/cms-base-graphql.module.js +46 -2
- package/constants/option-providers.d.ts +2 -0
- package/constants/option-providers.js +20 -0
- package/dto/backstage-article.args.d.ts +2 -1
- package/dto/backstage-article.args.js +11 -1
- package/dto/categories.args.d.ts +3 -0
- package/dto/categories.args.js +20 -1
- package/dto/category-multi-language-name.dto.d.ts +4 -0
- package/dto/category-multi-language-name.dto.js +28 -0
- package/dto/create-article.args.d.ts +2 -0
- package/dto/create-article.args.js +10 -0
- package/dto/create-category.args.d.ts +2 -0
- package/dto/create-category.args.js +10 -0
- package/dto/custom-field.input.d.ts +4 -0
- package/dto/custom-field.input.js +28 -0
- package/index.cjs.js +731 -486
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/mutations/article.mutations.d.ts +3 -1
- package/mutations/article.mutations.js +15 -5
- package/mutations/category.mutations.d.ts +3 -1
- package/mutations/category.mutations.js +19 -9
- package/package.json +2 -2
- package/resolvers/backstage-category.resolver.d.ts +8 -0
- package/resolvers/backstage-category.resolver.js +76 -0
- package/typings/cms-graphql-base-providers.d.ts +3 -0
- package/typings/cms-graphql-base-providers.js +5 -0
- package/typings/cms-graphql-base-root-module-async-options.dto.d.ts +9 -0
- package/typings/cms-graphql-base-root-module-option-factory.d.ts +4 -0
- package/typings/cms-graphql-base-root-module-options.dto.d.ts +6 -0
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { DynamicModule } from '@nestjs/common';
|
|
2
|
-
import {
|
|
2
|
+
import { CMSGraphqlBaseModuleOptionsDto } from './typings/cms-graphql-base-root-module-options.dto';
|
|
3
|
+
import { CMSGraphqlBaseModuleAsyncOptionsDto } from './typings/cms-graphql-base-root-module-async-options.dto';
|
|
3
4
|
export declare class CMSBaseGraphQLModule {
|
|
4
|
-
static forRootAsync(options:
|
|
5
|
-
static forRoot(options
|
|
5
|
+
static forRootAsync(options: CMSGraphqlBaseModuleAsyncOptionsDto): DynamicModule;
|
|
6
|
+
static forRoot(options: CMSGraphqlBaseModuleOptionsDto): DynamicModule;
|
|
7
|
+
private static createAsyncProvider;
|
|
8
|
+
private static createAsyncOptionsProvider;
|
|
6
9
|
}
|
|
@@ -9,6 +9,9 @@ import { ArticleDataLoader } from './data-loaders/article.dataloader.js';
|
|
|
9
9
|
import { ArticleResolver } from './resolvers/article.resolver.js';
|
|
10
10
|
import { BackstageArticleResolver } from './resolvers/backstage-article.resolver.js';
|
|
11
11
|
import { ArticleSignatureResolver } from './resolvers/article-signature.resolver.js';
|
|
12
|
+
import { BackstageCategoryResolver } from './resolvers/backstage-category.resolver.js';
|
|
13
|
+
import { OptionProviders } from './constants/option-providers.js';
|
|
14
|
+
import { CMS_BASE_GRAPHQL_MODULE_OPTIONS } from './typings/cms-graphql-base-providers.js';
|
|
12
15
|
|
|
13
16
|
function _ts_decorate(decorators, target, key, desc) {
|
|
14
17
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -28,6 +31,8 @@ class CMSBaseGraphQLModule {
|
|
|
28
31
|
CMSBaseModule
|
|
29
32
|
],
|
|
30
33
|
providers: [
|
|
34
|
+
...this.createAsyncProvider(options),
|
|
35
|
+
...OptionProviders,
|
|
31
36
|
MemberDataLoader,
|
|
32
37
|
ArticleDataLoader,
|
|
33
38
|
ArticleResolver,
|
|
@@ -36,7 +41,8 @@ class CMSBaseGraphQLModule {
|
|
|
36
41
|
ArticleQueries,
|
|
37
42
|
ArticleMutations,
|
|
38
43
|
CategoryQueries,
|
|
39
|
-
CategoryMutations
|
|
44
|
+
CategoryMutations,
|
|
45
|
+
BackstageCategoryResolver
|
|
40
46
|
]
|
|
41
47
|
};
|
|
42
48
|
}
|
|
@@ -50,6 +56,11 @@ class CMSBaseGraphQLModule {
|
|
|
50
56
|
CMSBaseModule
|
|
51
57
|
],
|
|
52
58
|
providers: [
|
|
59
|
+
{
|
|
60
|
+
provide: CMS_BASE_GRAPHQL_MODULE_OPTIONS,
|
|
61
|
+
useValue: options
|
|
62
|
+
},
|
|
63
|
+
...OptionProviders,
|
|
53
64
|
MemberDataLoader,
|
|
54
65
|
ArticleDataLoader,
|
|
55
66
|
ArticleResolver,
|
|
@@ -58,7 +69,40 @@ class CMSBaseGraphQLModule {
|
|
|
58
69
|
ArticleQueries,
|
|
59
70
|
ArticleMutations,
|
|
60
71
|
CategoryQueries,
|
|
61
|
-
CategoryMutations
|
|
72
|
+
CategoryMutations,
|
|
73
|
+
BackstageCategoryResolver
|
|
74
|
+
]
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
static createAsyncProvider(options) {
|
|
78
|
+
if (options.useExisting || options.useFactory) {
|
|
79
|
+
return [
|
|
80
|
+
this.createAsyncOptionsProvider(options)
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
return [
|
|
84
|
+
this.createAsyncOptionsProvider(options),
|
|
85
|
+
...options.useClass ? [
|
|
86
|
+
{
|
|
87
|
+
provide: options.useClass,
|
|
88
|
+
useClass: options.useClass
|
|
89
|
+
}
|
|
90
|
+
] : []
|
|
91
|
+
];
|
|
92
|
+
}
|
|
93
|
+
static createAsyncOptionsProvider(options) {
|
|
94
|
+
if (options.useFactory) {
|
|
95
|
+
return {
|
|
96
|
+
provide: CMS_BASE_GRAPHQL_MODULE_OPTIONS,
|
|
97
|
+
useFactory: options.useFactory,
|
|
98
|
+
inject: options.inject || []
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
provide: CMS_BASE_GRAPHQL_MODULE_OPTIONS,
|
|
103
|
+
useFactory: async (optionsFactory)=>await optionsFactory.createCMSOptions(),
|
|
104
|
+
inject: [
|
|
105
|
+
options.useExisting || options.useClass
|
|
62
106
|
]
|
|
63
107
|
};
|
|
64
108
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { MAP_ARTICLE_CUSTOM_FIELDS_TO_ENTITY_COLUMNS, CMS_BASE_GRAPHQL_MODULE_OPTIONS, MAP_CATEGORY_CUSTOM_FIELDS_TO_ENTITY_COLUMNS } from '../typings/cms-graphql-base-providers.js';
|
|
2
|
+
|
|
3
|
+
const OptionProviders = [
|
|
4
|
+
{
|
|
5
|
+
provide: MAP_ARTICLE_CUSTOM_FIELDS_TO_ENTITY_COLUMNS,
|
|
6
|
+
useFactory: async (options)=>options?.mapArticleCustomFieldsToEntityColumns ? options.mapArticleCustomFieldsToEntityColumns : ()=>({}),
|
|
7
|
+
inject: [
|
|
8
|
+
CMS_BASE_GRAPHQL_MODULE_OPTIONS
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
provide: MAP_CATEGORY_CUSTOM_FIELDS_TO_ENTITY_COLUMNS,
|
|
13
|
+
useFactory: async (options)=>options?.mapCategoryCustomFieldsToEntityColumns ? options.mapCategoryCustomFieldsToEntityColumns : ()=>({}),
|
|
14
|
+
inject: [
|
|
15
|
+
CMS_BASE_GRAPHQL_MODULE_OPTIONS
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
export { OptionProviders };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ArticleStage } from '@rytass/cms-base-nestjs-module';
|
|
1
|
+
import { ArticleSorter, ArticleStage } from '@rytass/cms-base-nestjs-module';
|
|
2
2
|
import { ArticlesArgs } from './articles.args';
|
|
3
3
|
export declare class BackstageArticleArgs extends ArticlesArgs {
|
|
4
4
|
stage: ArticleStage;
|
|
5
|
+
sorter?: ArticleSorter | null;
|
|
5
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Field, ArgsType, registerEnumType } from '@nestjs/graphql';
|
|
2
|
-
import { ArticleStage } from '@rytass/cms-base-nestjs-module';
|
|
2
|
+
import { ArticleStage, ArticleSorter } from '@rytass/cms-base-nestjs-module';
|
|
3
3
|
import { ArticlesArgs } from './articles.args.js';
|
|
4
4
|
|
|
5
5
|
function _ts_decorate(decorators, target, key, desc) {
|
|
@@ -13,16 +13,26 @@ function _ts_metadata(k, v) {
|
|
|
13
13
|
}
|
|
14
14
|
class BackstageArticleArgs extends ArticlesArgs {
|
|
15
15
|
stage;
|
|
16
|
+
sorter;
|
|
16
17
|
}
|
|
17
18
|
_ts_decorate([
|
|
18
19
|
Field(()=>ArticleStage),
|
|
19
20
|
_ts_metadata("design:type", typeof ArticleStage === "undefined" ? Object : ArticleStage)
|
|
20
21
|
], BackstageArticleArgs.prototype, "stage", void 0);
|
|
22
|
+
_ts_decorate([
|
|
23
|
+
Field(()=>ArticleSorter, {
|
|
24
|
+
nullable: true
|
|
25
|
+
}),
|
|
26
|
+
_ts_metadata("design:type", Object)
|
|
27
|
+
], BackstageArticleArgs.prototype, "sorter", void 0);
|
|
21
28
|
BackstageArticleArgs = _ts_decorate([
|
|
22
29
|
ArgsType()
|
|
23
30
|
], BackstageArticleArgs);
|
|
24
31
|
registerEnumType(ArticleStage, {
|
|
25
32
|
name: 'ArticleStage'
|
|
26
33
|
});
|
|
34
|
+
registerEnumType(ArticleSorter, {
|
|
35
|
+
name: 'ArticleSorter'
|
|
36
|
+
});
|
|
27
37
|
|
|
28
38
|
export { BackstageArticleArgs };
|
package/dto/categories.args.d.ts
CHANGED
package/dto/categories.args.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Field, ArgsType } from '@nestjs/graphql';
|
|
1
|
+
import { Field, ArgsType, registerEnumType } from '@nestjs/graphql';
|
|
2
|
+
import { CategorySorter } from '@rytass/cms-base-nestjs-module';
|
|
2
3
|
|
|
3
4
|
function _ts_decorate(decorators, target, key, desc) {
|
|
4
5
|
var c = arguments.length, r = c < 3 ? target : desc, d;
|
|
@@ -13,6 +14,8 @@ class CategoriesArgs {
|
|
|
13
14
|
parentIds;
|
|
14
15
|
ids;
|
|
15
16
|
searchTerm;
|
|
17
|
+
fromTop;
|
|
18
|
+
sorter;
|
|
16
19
|
}
|
|
17
20
|
_ts_decorate([
|
|
18
21
|
Field(()=>[
|
|
@@ -36,8 +39,24 @@ _ts_decorate([
|
|
|
36
39
|
}),
|
|
37
40
|
_ts_metadata("design:type", Object)
|
|
38
41
|
], CategoriesArgs.prototype, "searchTerm", void 0);
|
|
42
|
+
_ts_decorate([
|
|
43
|
+
Field(()=>Boolean, {
|
|
44
|
+
description: 'If true, return only top level categories',
|
|
45
|
+
nullable: true
|
|
46
|
+
}),
|
|
47
|
+
_ts_metadata("design:type", Object)
|
|
48
|
+
], CategoriesArgs.prototype, "fromTop", void 0);
|
|
49
|
+
_ts_decorate([
|
|
50
|
+
Field(()=>CategorySorter, {
|
|
51
|
+
nullable: true
|
|
52
|
+
}),
|
|
53
|
+
_ts_metadata("design:type", Object)
|
|
54
|
+
], CategoriesArgs.prototype, "sorter", void 0);
|
|
39
55
|
CategoriesArgs = _ts_decorate([
|
|
40
56
|
ArgsType()
|
|
41
57
|
], CategoriesArgs);
|
|
58
|
+
registerEnumType(CategorySorter, {
|
|
59
|
+
name: 'CategorySorter'
|
|
60
|
+
});
|
|
42
61
|
|
|
43
62
|
export { CategoriesArgs };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Field, ObjectType } from '@nestjs/graphql';
|
|
2
|
+
|
|
3
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
4
|
+
var c = arguments.length, r = c < 3 ? target : desc, d;
|
|
5
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6
|
+
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;
|
|
7
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8
|
+
}
|
|
9
|
+
function _ts_metadata(k, v) {
|
|
10
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
11
|
+
}
|
|
12
|
+
class CategoryMultiLanguageNameDto {
|
|
13
|
+
language;
|
|
14
|
+
name;
|
|
15
|
+
}
|
|
16
|
+
_ts_decorate([
|
|
17
|
+
Field(()=>String),
|
|
18
|
+
_ts_metadata("design:type", String)
|
|
19
|
+
], CategoryMultiLanguageNameDto.prototype, "language", void 0);
|
|
20
|
+
_ts_decorate([
|
|
21
|
+
Field(()=>String),
|
|
22
|
+
_ts_metadata("design:type", String)
|
|
23
|
+
], CategoryMultiLanguageNameDto.prototype, "name", void 0);
|
|
24
|
+
CategoryMultiLanguageNameDto = _ts_decorate([
|
|
25
|
+
ObjectType('CategoryMultiLanguageName')
|
|
26
|
+
], CategoryMultiLanguageNameDto);
|
|
27
|
+
|
|
28
|
+
export { CategoryMultiLanguageNameDto };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ArticleVersionContentInput } from './article-version-content.input';
|
|
2
|
+
import { CustomFieldInput } from './custom-field.input';
|
|
2
3
|
export declare class CreateArticleArgs {
|
|
3
4
|
categoryIds: string[];
|
|
4
5
|
tags: string[];
|
|
@@ -6,4 +7,5 @@ export declare class CreateArticleArgs {
|
|
|
6
7
|
releasedAt?: Date | null;
|
|
7
8
|
submitted?: boolean | null;
|
|
8
9
|
signatureLevel?: string | null;
|
|
10
|
+
customFields?: CustomFieldInput[];
|
|
9
11
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Field, ID, ArgsType } from '@nestjs/graphql';
|
|
2
2
|
import { ArticleVersionContentInput } from './article-version-content.input.js';
|
|
3
|
+
import { CustomFieldInput } from './custom-field.input.js';
|
|
3
4
|
|
|
4
5
|
function _ts_decorate(decorators, target, key, desc) {
|
|
5
6
|
var c = arguments.length, r = c < 3 ? target : desc, d;
|
|
@@ -17,6 +18,7 @@ class CreateArticleArgs {
|
|
|
17
18
|
releasedAt;
|
|
18
19
|
submitted;
|
|
19
20
|
signatureLevel;
|
|
21
|
+
customFields;
|
|
20
22
|
}
|
|
21
23
|
_ts_decorate([
|
|
22
24
|
Field(()=>[
|
|
@@ -54,6 +56,14 @@ _ts_decorate([
|
|
|
54
56
|
}),
|
|
55
57
|
_ts_metadata("design:type", Object)
|
|
56
58
|
], CreateArticleArgs.prototype, "signatureLevel", void 0);
|
|
59
|
+
_ts_decorate([
|
|
60
|
+
Field(()=>[
|
|
61
|
+
CustomFieldInput
|
|
62
|
+
], {
|
|
63
|
+
nullable: true
|
|
64
|
+
}),
|
|
65
|
+
_ts_metadata("design:type", Array)
|
|
66
|
+
], CreateArticleArgs.prototype, "customFields", void 0);
|
|
57
67
|
CreateArticleArgs = _ts_decorate([
|
|
58
68
|
ArgsType()
|
|
59
69
|
], CreateArticleArgs);
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { CategoryMultiLanguageNameInput } from './category-multi-language-name.input';
|
|
2
|
+
import { CustomFieldInput } from './custom-field.input';
|
|
2
3
|
export declare class CreateCategoryArgs {
|
|
3
4
|
parentIds?: string[] | null;
|
|
4
5
|
multiLanguageNames: CategoryMultiLanguageNameInput[];
|
|
6
|
+
customFields?: CustomFieldInput[];
|
|
5
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Field, ID, ArgsType } from '@nestjs/graphql';
|
|
2
2
|
import { CategoryMultiLanguageNameInput } from './category-multi-language-name.input.js';
|
|
3
|
+
import { CustomFieldInput } from './custom-field.input.js';
|
|
3
4
|
|
|
4
5
|
function _ts_decorate(decorators, target, key, desc) {
|
|
5
6
|
var c = arguments.length, r = c < 3 ? target : desc, d;
|
|
@@ -13,6 +14,7 @@ function _ts_metadata(k, v) {
|
|
|
13
14
|
class CreateCategoryArgs {
|
|
14
15
|
parentIds;
|
|
15
16
|
multiLanguageNames;
|
|
17
|
+
customFields;
|
|
16
18
|
}
|
|
17
19
|
_ts_decorate([
|
|
18
20
|
Field(()=>[
|
|
@@ -28,6 +30,14 @@ _ts_decorate([
|
|
|
28
30
|
]),
|
|
29
31
|
_ts_metadata("design:type", Array)
|
|
30
32
|
], CreateCategoryArgs.prototype, "multiLanguageNames", void 0);
|
|
33
|
+
_ts_decorate([
|
|
34
|
+
Field(()=>[
|
|
35
|
+
CustomFieldInput
|
|
36
|
+
], {
|
|
37
|
+
nullable: true
|
|
38
|
+
}),
|
|
39
|
+
_ts_metadata("design:type", Array)
|
|
40
|
+
], CreateCategoryArgs.prototype, "customFields", void 0);
|
|
31
41
|
CreateCategoryArgs = _ts_decorate([
|
|
32
42
|
ArgsType()
|
|
33
43
|
], CreateCategoryArgs);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Field, ID, InputType } from '@nestjs/graphql';
|
|
2
|
+
|
|
3
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
4
|
+
var c = arguments.length, r = c < 3 ? target : desc, d;
|
|
5
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6
|
+
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;
|
|
7
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8
|
+
}
|
|
9
|
+
function _ts_metadata(k, v) {
|
|
10
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
11
|
+
}
|
|
12
|
+
class CustomFieldInput {
|
|
13
|
+
key;
|
|
14
|
+
value;
|
|
15
|
+
}
|
|
16
|
+
_ts_decorate([
|
|
17
|
+
Field(()=>ID),
|
|
18
|
+
_ts_metadata("design:type", String)
|
|
19
|
+
], CustomFieldInput.prototype, "key", void 0);
|
|
20
|
+
_ts_decorate([
|
|
21
|
+
Field(()=>String),
|
|
22
|
+
_ts_metadata("design:type", String)
|
|
23
|
+
], CustomFieldInput.prototype, "value", void 0);
|
|
24
|
+
CustomFieldInput = _ts_decorate([
|
|
25
|
+
InputType('CustomFieldInput')
|
|
26
|
+
], CustomFieldInput);
|
|
27
|
+
|
|
28
|
+
export { CustomFieldInput };
|