@lunejs/core 0.1.4 → 0.1.7
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/dist/src/api/admin/gql/custom-field-definition.admin.gql +0 -16
- package/dist/src/api/admin/resolvers/collection.resolver.js +1 -1
- package/dist/src/api/admin/resolvers/collection.resolver.js.map +1 -1
- package/dist/src/api/admin/resolvers/custom-field-definition.resolver.js +4 -16
- package/dist/src/api/admin/resolvers/custom-field-definition.resolver.js.map +1 -1
- package/dist/src/api/admin/resolvers/product.resolver.js +1 -1
- package/dist/src/api/admin/resolvers/product.resolver.js.map +1 -1
- package/dist/src/api/shared/gql/custom-field-definition.shared.gql +15 -0
- package/dist/src/api/shared/loaders/build-loaders.d.ts +41 -2
- package/dist/src/api/shared/loaders/build-loaders.js +17 -3
- package/dist/src/api/shared/loaders/build-loaders.js.map +1 -1
- package/dist/src/api/shared/loaders/collection/collection-custom-field-localization.loader.d.ts +3 -0
- package/dist/src/api/shared/loaders/collection/collection-custom-field-localization.loader.js +8 -0
- package/dist/src/api/shared/loaders/collection/collection-custom-field-localization.loader.js.map +1 -0
- package/dist/src/api/shared/loaders/collection/collection-custom-fields.loader.d.ts +5 -1
- package/dist/src/api/shared/loaders/collection/collection-custom-fields.loader.js +15 -5
- package/dist/src/api/shared/loaders/collection/collection-custom-fields.loader.js.map +1 -1
- package/dist/src/api/shared/loaders/custom-field/custom-field-collection-references.loader.d.ts +13 -0
- package/dist/src/api/shared/loaders/custom-field/custom-field-collection-references.loader.js +20 -0
- package/dist/src/api/shared/loaders/custom-field/custom-field-collection-references.loader.js.map +1 -0
- package/dist/src/api/shared/loaders/custom-field/custom-field-custom-object-references.loader.d.ts +13 -0
- package/dist/src/api/shared/loaders/custom-field/custom-field-custom-object-references.loader.js +20 -0
- package/dist/src/api/shared/loaders/custom-field/custom-field-custom-object-references.loader.js.map +1 -0
- package/dist/src/api/shared/loaders/custom-field/custom-field-product-references.loader.d.ts +13 -0
- package/dist/src/api/shared/loaders/custom-field/custom-field-product-references.loader.js +24 -0
- package/dist/src/api/shared/loaders/custom-field/custom-field-product-references.loader.js.map +1 -0
- package/dist/src/api/shared/loaders/custom-field/index.d.ts +3 -0
- package/dist/src/api/shared/loaders/custom-field/index.js +20 -0
- package/dist/src/api/shared/loaders/custom-field/index.js.map +1 -0
- package/dist/src/api/shared/loaders/custom-field-localization-loader-factory.d.ts +5 -0
- package/dist/src/api/shared/loaders/custom-field-localization-loader-factory.js +21 -0
- package/dist/src/api/shared/loaders/custom-field-localization-loader-factory.js.map +1 -0
- package/dist/src/api/shared/loaders/product/product-custom-field-localization.loader.d.ts +3 -0
- package/dist/src/api/shared/loaders/product/product-custom-field-localization.loader.js +8 -0
- package/dist/src/api/shared/loaders/product/product-custom-field-localization.loader.js.map +1 -0
- package/dist/src/api/shared/loaders/product/product-custom-fields.loader.d.ts +7 -3
- package/dist/src/api/shared/loaders/product/product-custom-fields.loader.js +15 -5
- package/dist/src/api/shared/loaders/product/product-custom-fields.loader.js.map +1 -1
- package/dist/src/api/shared/loaders/reference-loader-factory.d.ts +20 -0
- package/dist/src/api/shared/loaders/reference-loader-factory.js +47 -0
- package/dist/src/api/shared/loaders/reference-loader-factory.js.map +1 -0
- package/dist/src/api/shared/resolvers/enums/custom-field-definition.enums.resolver.d.ts +2 -0
- package/dist/src/api/shared/resolvers/enums/custom-field-definition.enums.resolver.js +22 -0
- package/dist/src/api/shared/resolvers/enums/custom-field-definition.enums.resolver.js.map +1 -0
- package/dist/src/api/shared/types/graphql.d.ts +209 -111
- package/dist/src/api/shared/types/graphql.js.map +1 -1
- package/dist/src/api/storefront/gql/collection.storefront.gql +4 -0
- package/dist/src/api/storefront/gql/custom-field.storefront.gql +30 -0
- package/dist/src/api/storefront/gql/custom-object.storefront.gql +22 -0
- package/dist/src/api/storefront/gql/product.storefront.gql +1 -1
- package/dist/src/api/storefront/loaders/custom-object/custom-object-entry-value-localization.loader.d.ts +4 -0
- package/dist/src/api/storefront/loaders/custom-object/custom-object-entry-value-localization.loader.js +21 -0
- package/dist/src/api/storefront/loaders/custom-object/custom-object-entry-value-localization.loader.js.map +1 -0
- package/dist/src/api/storefront/loaders/custom-object/custom-object-fields.loader.d.ts +13 -0
- package/dist/src/api/storefront/loaders/custom-object/custom-object-fields.loader.js +46 -0
- package/dist/src/api/storefront/loaders/custom-object/custom-object-fields.loader.js.map +1 -0
- package/dist/src/api/storefront/resolvers/collection.resolver.d.ts +2 -0
- package/dist/src/api/storefront/resolvers/collection.resolver.js +48 -0
- package/dist/src/api/storefront/resolvers/collection.resolver.js.map +1 -0
- package/dist/src/api/storefront/resolvers/custom-field.resolver.d.ts +2 -0
- package/dist/src/api/storefront/resolvers/custom-field.resolver.js +72 -0
- package/dist/src/api/storefront/resolvers/custom-field.resolver.js.map +1 -0
- package/dist/src/api/storefront/resolvers/custom-object.resolver.d.ts +2 -0
- package/dist/src/api/storefront/resolvers/custom-object.resolver.js +40 -0
- package/dist/src/api/storefront/resolvers/custom-object.resolver.js.map +1 -0
- package/dist/src/api/storefront/resolvers/product.resolver.js +10 -6
- package/dist/src/api/storefront/resolvers/product.resolver.js.map +1 -1
- package/dist/src/api/storefront/storefront.api.js +8 -0
- package/dist/src/api/storefront/storefront.api.js.map +1 -1
- package/dist/src/business/asset/asset.service.js +6 -0
- package/dist/src/business/asset/asset.service.js.map +1 -1
- package/dist/src/business/custom-object-entry/custom-object-entry.service.d.ts +3 -1
- package/dist/src/business/custom-object-entry/custom-object-entry.service.js +14 -2
- package/dist/src/business/custom-object-entry/custom-object-entry.service.js.map +1 -1
- package/dist/src/business/variant/variant.service.js +0 -3
- package/dist/src/business/variant/variant.service.js.map +1 -1
- package/dist/src/persistence/entities/custom-field-definition.d.ts +1 -0
- package/dist/src/persistence/entities/custom-field-definition.js +2 -1
- package/dist/src/persistence/entities/custom-field-definition.js.map +1 -1
- package/dist/src/persistence/repositories/custom-object-entry-repository/custom-object-entry.repository.d.ts +3 -0
- package/dist/src/persistence/repositories/custom-object-entry-repository/custom-object-entry.repository.js +22 -0
- package/dist/src/persistence/repositories/custom-object-entry-repository/custom-object-entry.repository.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../../../src/api/shared/types/graphql.ts"],"names":[],"mappings":";;;AAAA,oBAAoB;AACpB,mGAA2H;
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../../../src/api/shared/types/graphql.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
union CustomFieldReference = Product | Collection | CustomObject
|
|
2
|
+
|
|
3
|
+
type CustomField {
|
|
4
|
+
"""
|
|
5
|
+
A unique and readable key to make reference to the definition
|
|
6
|
+
"""
|
|
7
|
+
key: String!
|
|
8
|
+
"""
|
|
9
|
+
Custom field value in JSON type
|
|
10
|
+
"""
|
|
11
|
+
value: JSON!
|
|
12
|
+
"""
|
|
13
|
+
Type of the definition
|
|
14
|
+
"""
|
|
15
|
+
type: CustomFieldType!
|
|
16
|
+
"""
|
|
17
|
+
Weather the field is a list of values
|
|
18
|
+
"""
|
|
19
|
+
isList: Boolean!
|
|
20
|
+
"""
|
|
21
|
+
A list of reference objects if the metafield's type is a reference type.
|
|
22
|
+
"""
|
|
23
|
+
references(input: ListInput): CustomFieldReferenceList!
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
type CustomFieldReferenceList {
|
|
27
|
+
count: Int!
|
|
28
|
+
items: [CustomFieldReference!]!
|
|
29
|
+
pageInfo: PageInfo!
|
|
30
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type CustomObject {
|
|
2
|
+
id: ID!
|
|
3
|
+
"""
|
|
4
|
+
A unique and readable identifier for the entry
|
|
5
|
+
"""
|
|
6
|
+
slug: String!
|
|
7
|
+
"""
|
|
8
|
+
The fields of this entry
|
|
9
|
+
"""
|
|
10
|
+
fields(keys: [String!]!): [CustomField!]!
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type CustomObjectList {
|
|
14
|
+
items: [CustomObject!]!
|
|
15
|
+
count: Int!
|
|
16
|
+
pageInfo: PageInfo!
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
type Query {
|
|
20
|
+
customObject(id: ID, slug: String): CustomObject
|
|
21
|
+
customObjects(definitionKey: String!, input: ListInput): CustomObjectList!
|
|
22
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import DataLoader from 'dataloader';
|
|
2
|
+
import type { Transaction } from '../../../../persistence/connection/connection';
|
|
3
|
+
import type { Locale } from '../../../../persistence/entities/locale';
|
|
4
|
+
export declare function createCustomObjectEntryValueLocalizationLoader(trx: Transaction, locale: Locale | null | undefined): DataLoader<string, unknown, string>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createCustomObjectEntryValueLocalizationLoader = createCustomObjectEntryValueLocalizationLoader;
|
|
7
|
+
const dataloader_1 = __importDefault(require("dataloader"));
|
|
8
|
+
function createCustomObjectEntryValueLocalizationLoader(trx, locale) {
|
|
9
|
+
return new dataloader_1.default(async (entryValueIds) => {
|
|
10
|
+
if (!locale) {
|
|
11
|
+
return entryValueIds.map(() => null);
|
|
12
|
+
}
|
|
13
|
+
const rows = await trx("custom_object_entry_value_translation" /* Tables.CustomObjectEntryValueTranslation */)
|
|
14
|
+
.select('entry_value_id', 'value')
|
|
15
|
+
.whereIn('entry_value_id', entryValueIds)
|
|
16
|
+
.andWhere('locale', locale);
|
|
17
|
+
const byEntryValueId = new Map(rows.map(r => [r.entry_value_id, r.value]));
|
|
18
|
+
return entryValueIds.map(id => byEntryValueId.get(id) ?? null);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=custom-object-entry-value-localization.loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-object-entry-value-localization.loader.js","sourceRoot":"","sources":["../../../../../../src/api/storefront/loaders/custom-object/custom-object-entry-value-localization.loader.ts"],"names":[],"mappings":";;;;;AAMA,wGAkBC;AAxBD,4DAAoC;AAMpC,SAAgB,8CAA8C,CAC5D,GAAgB,EAChB,MAAiC;IAEjC,OAAO,IAAI,oBAAU,CAAyB,KAAK,EAAC,aAAa,EAAC,EAAE;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,wFAA0C;aAC7D,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC;aACjC,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC;aACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE9B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,KAAgB,CAAC,CAAC,CAAC,CAAC;QAEtF,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import DataLoader from 'dataloader';
|
|
2
|
+
import type { Transaction } from '../../../../persistence/connection/connection';
|
|
3
|
+
import type { CustomFieldDefinition } from '../../../../persistence/entities/custom-field-definition';
|
|
4
|
+
export type CustomObjectFieldWithDefinition = {
|
|
5
|
+
id: string;
|
|
6
|
+
value: unknown;
|
|
7
|
+
definition: CustomFieldDefinition;
|
|
8
|
+
};
|
|
9
|
+
export type CustomObjectFieldsLoaderKey = {
|
|
10
|
+
entryId: string;
|
|
11
|
+
keys: string[];
|
|
12
|
+
};
|
|
13
|
+
export declare function createCustomObjectFieldsLoader(trx: Transaction): DataLoader<CustomObjectFieldsLoaderKey, CustomObjectFieldWithDefinition[], string>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createCustomObjectFieldsLoader = createCustomObjectFieldsLoader;
|
|
7
|
+
const dataloader_1 = __importDefault(require("dataloader"));
|
|
8
|
+
const custom_field_definition_serializer_1 = require("../../../../persistence/serializers/custom-field-definition.serializer");
|
|
9
|
+
function getCacheKey(key) {
|
|
10
|
+
return `${key.entryId}:${JSON.stringify(key.keys)}`;
|
|
11
|
+
}
|
|
12
|
+
function createCustomObjectFieldsLoader(trx) {
|
|
13
|
+
return new dataloader_1.default(async (loaderKeys) => {
|
|
14
|
+
const entryIds = loaderKeys.map(k => k.entryId);
|
|
15
|
+
const filterKeys = loaderKeys[0]?.keys;
|
|
16
|
+
const query = trx
|
|
17
|
+
.from({ e: "custom_object_entry_value" /* Tables.CustomObjectEntryValue */ })
|
|
18
|
+
.innerJoin({ d: "custom_field_definition" /* Tables.CustomFieldDefinition */ }, 'd.id', 'e.field_id')
|
|
19
|
+
.select('e.entry_id', 'e.value', 'e.id as entry_value_id', 'd.*')
|
|
20
|
+
.whereIn('e.entry_id', entryIds)
|
|
21
|
+
.orderBy([
|
|
22
|
+
{ column: 'd.order', order: 'asc' },
|
|
23
|
+
{ column: 'd.created_at', order: 'asc' }
|
|
24
|
+
]);
|
|
25
|
+
if (filterKeys?.length) {
|
|
26
|
+
query.whereIn('d.key', filterKeys);
|
|
27
|
+
}
|
|
28
|
+
const rows = (await query);
|
|
29
|
+
const serializer = new custom_field_definition_serializer_1.CustomFieldDefinitionSerializer();
|
|
30
|
+
const byEntryId = new Map();
|
|
31
|
+
for (const id of entryIds) {
|
|
32
|
+
byEntryId.set(id, []);
|
|
33
|
+
}
|
|
34
|
+
for (const row of rows) {
|
|
35
|
+
const { entry_id, value, entry_value_id, ...definitionCols } = row;
|
|
36
|
+
const definition = serializer.deserialize(definitionCols);
|
|
37
|
+
byEntryId.get(entry_id)?.push({
|
|
38
|
+
id: entry_value_id,
|
|
39
|
+
value,
|
|
40
|
+
definition: definition
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return loaderKeys.map(key => byEntryId.get(key.entryId) ?? []);
|
|
44
|
+
}, { cacheKeyFn: getCacheKey });
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=custom-object-fields.loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-object-fields.loader.js","sourceRoot":"","sources":["../../../../../../src/api/storefront/loaders/custom-object/custom-object-fields.loader.ts"],"names":[],"mappings":";;;;;AA0BA,wEA8CC;AAxED,4DAAoC;AAQpC,qHAA+G;AAc/G,SAAS,WAAW,CAAC,GAAgC;IACnD,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,SAAgB,8BAA8B,CAAC,GAAgB;IAC7D,OAAO,IAAI,oBAAU,CACnB,KAAK,EAAC,UAAU,EAAC,EAAE;QACjB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAEvC,MAAM,KAAK,GAAG,GAAG;aACd,IAAI,CAAC,EAAE,CAAC,iEAA+B,EAAE,CAAC;aAC1C,SAAS,CAAC,EAAE,CAAC,8DAA8B,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC;aACpE,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,wBAAwB,EAAE,KAAK,CAAC;aAChE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC;aAC/B,OAAO,CAAC;YACP,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;YACnC,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE;SACzC,CAAC,CAAC;QAEL,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACrC,CAAC;QAKD,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAU,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,oEAA+B,EAAE,CAAC;QAEzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA6C,CAAC;QACvE,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACxB,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,CAAC;YACnE,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,cAA4C,CAAC,CAAC;YAExF,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;gBAC5B,EAAE,EAAE,cAAc;gBAClB,KAAK;gBACL,UAAU,EAAE,UAAmC;aAChD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC,EACD,EAAE,UAAU,EAAE,WAAW,EAAE,CAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CollectionResolver = void 0;
|
|
4
|
+
const common_1 = require("@lunejs/common");
|
|
5
|
+
const collection_field_resolver_1 = require("../../../api/shared/resolvers/collection-field.resolver");
|
|
6
|
+
const list_response_1 = require("../../../api/shared/utils/list-response");
|
|
7
|
+
const collection_service_1 = require("../../../business/collection/collection.service");
|
|
8
|
+
const storefront_api_key_guard_1 = require("../guards/storefront-api-key.guard");
|
|
9
|
+
async function collections(_, { input }, ctx) {
|
|
10
|
+
const collectionService = new collection_service_1.CollectionService(ctx);
|
|
11
|
+
const [products, count] = await Promise.all([
|
|
12
|
+
collectionService.find({
|
|
13
|
+
...input,
|
|
14
|
+
filters: { ...input?.filters, enabled: { equals: true } }
|
|
15
|
+
}),
|
|
16
|
+
collectionService.count({
|
|
17
|
+
...input?.filters,
|
|
18
|
+
enabled: { equals: true }
|
|
19
|
+
})
|
|
20
|
+
]);
|
|
21
|
+
return new list_response_1.ListResponse(products, products.length, { total: count });
|
|
22
|
+
}
|
|
23
|
+
async function collection(_, input, ctx) {
|
|
24
|
+
const collectionService = new collection_service_1.CollectionService(ctx);
|
|
25
|
+
const { id, slug } = (0, common_1.clean)(input);
|
|
26
|
+
return collectionService.findUnique(id, slug, { enabled: true });
|
|
27
|
+
}
|
|
28
|
+
exports.CollectionResolver = {
|
|
29
|
+
Query: {
|
|
30
|
+
collection: (0, storefront_api_key_guard_1.UseStorefrontApiKeyGuard)(collection),
|
|
31
|
+
collections: (0, storefront_api_key_guard_1.UseStorefrontApiKeyGuard)(collections)
|
|
32
|
+
},
|
|
33
|
+
Collection: {
|
|
34
|
+
...collection_field_resolver_1.CommonCollectionFieldResolver,
|
|
35
|
+
customFields: (0, storefront_api_key_guard_1.UseStorefrontApiKeyGuard)(async (parent, { keys }, ctx) => {
|
|
36
|
+
const fields = await ctx.loaders.collections.customFields.load({
|
|
37
|
+
collectionId: parent.id,
|
|
38
|
+
keys
|
|
39
|
+
});
|
|
40
|
+
return fields.map(f => ({
|
|
41
|
+
...f.definition,
|
|
42
|
+
id: f.id,
|
|
43
|
+
value: f.value
|
|
44
|
+
}));
|
|
45
|
+
})
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=collection.resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection.resolver.js","sourceRoot":"","sources":["../../../../../src/api/storefront/resolvers/collection.resolver.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AAIvC,gGAAiG;AAMjG,oEAAgE;AAChE,iFAA6E;AAG7E,iFAA8E;AAE9E,KAAK,UAAU,WAAW,CAAC,CAAC,EAAE,EAAE,KAAK,EAAwB,EAAE,GAAqB;IAClF,MAAM,iBAAiB,GAAG,IAAI,sCAAiB,CAAC,GAAG,CAAC,CAAC;IAErD,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,iBAAiB,CAAC,IAAI,CAAC;YACrB,GAAG,KAAK;YACR,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;SAC1D,CAAC;QACF,iBAAiB,CAAC,KAAK,CAAC;YACtB,GAAG,KAAK,EAAE,OAAO;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SAC1B,CAAC;KACH,CAAC,CAAC;IAEH,OAAO,IAAI,4BAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,CAAC,EAAE,KAA0B,EAAE,GAAqB;IAC5E,MAAM,iBAAiB,GAAG,IAAI,sCAAiB,CAAC,GAAG,CAAC,CAAC;IAErD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC;IAElC,OAAO,iBAAiB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACnE,CAAC;AAEY,QAAA,kBAAkB,GAAuB;IACpD,KAAK,EAAE;QACL,UAAU,EAAE,IAAA,mDAAwB,EAAC,UAAU,CAAC;QAChD,WAAW,EAAE,IAAA,mDAAwB,EAAC,WAAW,CAAC;KACnD;IACD,UAAU,EAAE;QACV,GAAG,yDAA6B;QAChC,YAAY,EAAE,IAAA,mDAAwB,EACpC,KAAK,EAAE,MAAkB,EAAE,EAAE,IAAI,EAA8B,EAAE,GAAqB,EAAE,EAAE;YACxF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC7D,YAAY,EAAE,MAAM,CAAC,EAAE;gBACvB,IAAI;aACL,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtB,GAAG,CAAC,CAAC,UAAU;gBACf,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC,CAAC;QACN,CAAC,CACF;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomFieldResolver = void 0;
|
|
4
|
+
const list_response_1 = require("../../../api/shared/utils/list-response");
|
|
5
|
+
const custom_field_definition_1 = require("../../../persistence/entities/custom-field-definition");
|
|
6
|
+
exports.CustomFieldResolver = {
|
|
7
|
+
CustomField: {
|
|
8
|
+
value: async (parent, _, ctx) => {
|
|
9
|
+
const isTranslatable = parent.type === custom_field_definition_1.CustomFieldType.SingleLineText ||
|
|
10
|
+
parent.type === custom_field_definition_1.CustomFieldType.MultiLineText;
|
|
11
|
+
if (!ctx.storefront?.locale || !isTranslatable) {
|
|
12
|
+
return parent.value;
|
|
13
|
+
}
|
|
14
|
+
if (parent.appliesToEntity === custom_field_definition_1.CustomFieldAppliesTo.Product) {
|
|
15
|
+
const value = await ctx.loaders.product.customFieldLocalization.load(parent.id);
|
|
16
|
+
return value || parent.value;
|
|
17
|
+
}
|
|
18
|
+
if (parent.appliesToEntity === custom_field_definition_1.CustomFieldAppliesTo.Collection) {
|
|
19
|
+
const value = await ctx.loaders.collections.customFieldLocalization.load(parent.id);
|
|
20
|
+
return value || parent.value;
|
|
21
|
+
}
|
|
22
|
+
if (parent.appliesToEntity === custom_field_definition_1.CustomFieldAppliesTo.CustomObject) {
|
|
23
|
+
const value = await ctx.loaders.customObjectEntry.valueLocalization.load(parent.id);
|
|
24
|
+
return value || parent.value;
|
|
25
|
+
}
|
|
26
|
+
return parent.value;
|
|
27
|
+
},
|
|
28
|
+
references: async (parent, { input }, ctx) => {
|
|
29
|
+
const { id, type, value, isList } = parent;
|
|
30
|
+
const isReferenceType = type === custom_field_definition_1.CustomFieldType.ProductReference ||
|
|
31
|
+
type === custom_field_definition_1.CustomFieldType.CollectionReference ||
|
|
32
|
+
type === custom_field_definition_1.CustomFieldType.CustomObjectReference;
|
|
33
|
+
if (!isReferenceType) {
|
|
34
|
+
return { items: [], count: 0, pageInfo: { total: 0 } };
|
|
35
|
+
}
|
|
36
|
+
const referenceIds = (isList ? value : value ? [value] : []);
|
|
37
|
+
if (!referenceIds.length) {
|
|
38
|
+
return { items: [], count: 0, pageInfo: { total: 0 } };
|
|
39
|
+
}
|
|
40
|
+
if (type === custom_field_definition_1.CustomFieldType.ProductReference) {
|
|
41
|
+
const result = await ctx.loaders.customField.productReferences.load({
|
|
42
|
+
id,
|
|
43
|
+
referenceIds,
|
|
44
|
+
input
|
|
45
|
+
});
|
|
46
|
+
return new list_response_1.ListResponse(result.items.map(p => ({ ...p, __typename: 'Product' })), result.count, result.pageInfo);
|
|
47
|
+
}
|
|
48
|
+
if (type === custom_field_definition_1.CustomFieldType.CollectionReference) {
|
|
49
|
+
const result = await ctx.loaders.customField.collectionReferences.load({
|
|
50
|
+
id,
|
|
51
|
+
referenceIds,
|
|
52
|
+
input
|
|
53
|
+
});
|
|
54
|
+
return new list_response_1.ListResponse(result.items.map(p => ({ ...p, __typename: 'Collection' })), result.count, result.pageInfo);
|
|
55
|
+
}
|
|
56
|
+
if (type === custom_field_definition_1.CustomFieldType.CustomObjectReference) {
|
|
57
|
+
const result = await ctx.loaders.customField.customObjectReferences.load({
|
|
58
|
+
id,
|
|
59
|
+
referenceIds,
|
|
60
|
+
input
|
|
61
|
+
});
|
|
62
|
+
return new list_response_1.ListResponse(result.items.map(p => ({ ...p, __typename: 'CustomObject' })), result.count, result.pageInfo);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
CustomFieldReference: {
|
|
67
|
+
__resolveType(obj) {
|
|
68
|
+
return obj.__typename;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=custom-field.resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-field.resolver.js","sourceRoot":"","sources":["../../../../../src/api/storefront/resolvers/custom-field.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomObjectResolver = void 0;
|
|
4
|
+
const common_1 = require("@lunejs/common");
|
|
5
|
+
const list_response_1 = require("../../../api/shared/utils/list-response");
|
|
6
|
+
const custom_object_entry_service_1 = require("../../../business/custom-object-entry/custom-object-entry.service");
|
|
7
|
+
const storefront_api_key_guard_1 = require("../guards/storefront-api-key.guard");
|
|
8
|
+
async function customObject(_, input, ctx) {
|
|
9
|
+
const service = new custom_object_entry_service_1.CustomObjectEntryService(ctx);
|
|
10
|
+
const { id, slug } = (0, common_1.clean)(input);
|
|
11
|
+
return await service.findUnique(id, slug);
|
|
12
|
+
}
|
|
13
|
+
async function customObjects(_, { definitionKey, input }, ctx) {
|
|
14
|
+
const service = new custom_object_entry_service_1.CustomObjectEntryService(ctx);
|
|
15
|
+
const [entries, total] = await Promise.all([
|
|
16
|
+
service.findByDefinitionKey(definitionKey, (0, common_1.clean)(input ?? {})),
|
|
17
|
+
service.countByDefinitionKey(definitionKey)
|
|
18
|
+
]);
|
|
19
|
+
return new list_response_1.ListResponse(entries, entries.length, { total });
|
|
20
|
+
}
|
|
21
|
+
exports.CustomObjectResolver = {
|
|
22
|
+
Query: {
|
|
23
|
+
customObject: (0, storefront_api_key_guard_1.UseStorefrontApiKeyGuard)(customObject),
|
|
24
|
+
customObjects: (0, storefront_api_key_guard_1.UseStorefrontApiKeyGuard)(customObjects)
|
|
25
|
+
},
|
|
26
|
+
CustomObject: {
|
|
27
|
+
fields: async (parent, { keys }, ctx) => {
|
|
28
|
+
const fields = await ctx.loaders.customObjectEntry.fields.load({
|
|
29
|
+
entryId: parent.id,
|
|
30
|
+
keys
|
|
31
|
+
});
|
|
32
|
+
return fields.map(f => ({
|
|
33
|
+
...f.definition,
|
|
34
|
+
id: f.id,
|
|
35
|
+
value: f.value
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=custom-object.resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-object.resolver.js","sourceRoot":"","sources":["../../../../../src/api/storefront/resolvers/custom-object.resolver.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AASvC,oEAAgE;AAChE,4GAAsG;AAGtG,iFAA8E;AAE9E,KAAK,UAAU,YAAY,CAAC,CAAU,EAAE,KAA4B,EAAE,GAAqB;IACzF,MAAM,OAAO,GAAG,IAAI,sDAAwB,CAAC,GAAG,CAAC,CAAC;IAElD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC;IAElC,OAAO,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,CAAU,EACV,EAAE,aAAa,EAAE,KAAK,EAA0B,EAChD,GAAqB;IAErB,MAAM,OAAO,GAAG,IAAI,sDAAwB,CAAC,GAAG,CAAC,CAAC;IAElD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAA,cAAK,EAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC;KAC5C,CAAC,CAAC;IAEH,OAAO,IAAI,4BAAY,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC9D,CAAC;AAEY,QAAA,oBAAoB,GAAuB;IACtD,KAAK,EAAE;QACL,YAAY,EAAE,IAAA,mDAAwB,EAAC,YAAY,CAAC;QACpD,aAAa,EAAE,IAAA,mDAAwB,EAAC,aAAa,CAAC;KACvD;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,KAAK,EACX,MAAyB,EACzB,EAAE,IAAI,EAA0B,EAChC,GAAqB,EACrB,EAAE;YACF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC7D,OAAO,EAAE,MAAM,CAAC,EAAE;gBAClB,IAAI;aACL,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtB,GAAG,CAAC,CAAC,UAAU;gBACf,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC,CAAC;QACN,CAAC;KACF;CACF,CAAC"}
|
|
@@ -45,12 +45,16 @@ exports.ProductResolver = {
|
|
|
45
45
|
description: async (parent, _, ctx) => {
|
|
46
46
|
return (0, get_localized_field_1.getProductLocalizedField)(ctx, parent, 'description');
|
|
47
47
|
},
|
|
48
|
-
customFields: async (parent,
|
|
49
|
-
const fields = await ctx.loaders.product.customFields.load(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
customFields: async (parent, { keys }, ctx) => {
|
|
49
|
+
const fields = await ctx.loaders.product.customFields.load({
|
|
50
|
+
productId: parent.id,
|
|
51
|
+
keys
|
|
52
|
+
});
|
|
53
|
+
return fields.map(f => ({
|
|
54
|
+
...f.definition,
|
|
55
|
+
id: f.id,
|
|
56
|
+
value: f.value
|
|
57
|
+
}));
|
|
54
58
|
}
|
|
55
59
|
},
|
|
56
60
|
Variant: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.resolver.js","sourceRoot":"","sources":["../../../../../src/api/storefront/resolvers/product.resolver.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AAIvC,oGAAoG;AACpG,0FAA2F;AAC3F,0FAA2F;
|
|
1
|
+
{"version":3,"file":"product.resolver.js","sourceRoot":"","sources":["../../../../../src/api/storefront/resolvers/product.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,13 @@ const build_context_1 = require("../shared/context/build-context");
|
|
|
13
13
|
const graphql_api_1 = require("../shared/graphql-api");
|
|
14
14
|
const use_error_logger_1 = require("../shared/plugins/use-error-logger");
|
|
15
15
|
const use_transaction_1 = require("../shared/plugins/use-transaction");
|
|
16
|
+
const custom_field_definition_enums_resolver_1 = require("../shared/resolvers/enums/custom-field-definition.enums.resolver");
|
|
16
17
|
const order_enums_resolver_1 = require("../shared/resolvers/enums/order-enums.resolver");
|
|
17
18
|
const address_resolver_1 = require("./resolvers/address.resolver");
|
|
19
|
+
const collection_resolver_1 = require("./resolvers/collection.resolver");
|
|
18
20
|
const country_resolver_1 = require("./resolvers/country.resolver");
|
|
21
|
+
const custom_field_resolver_1 = require("./resolvers/custom-field.resolver");
|
|
22
|
+
const custom_object_resolver_1 = require("./resolvers/custom-object.resolver");
|
|
19
23
|
const customer_resolver_1 = require("./resolvers/customer.resolver");
|
|
20
24
|
const order_resolver_1 = require("./resolvers/order.resolver");
|
|
21
25
|
const product_resolver_1 = require("./resolvers/product.resolver");
|
|
@@ -36,11 +40,15 @@ class StorefrontApi extends graphql_api_1.GraphqlApi {
|
|
|
36
40
|
typePaths: [SHOP_TYPE_PATH, SHARED_TYPE_PATH, ...pluginsTypePaths],
|
|
37
41
|
resolvers: [
|
|
38
42
|
product_resolver_1.ProductResolver,
|
|
43
|
+
collection_resolver_1.CollectionResolver,
|
|
39
44
|
order_resolver_1.OrderResolver,
|
|
40
45
|
country_resolver_1.CountryResolver,
|
|
41
46
|
customer_resolver_1.CustomerResolver,
|
|
42
47
|
address_resolver_1.AddressResolver,
|
|
48
|
+
custom_field_resolver_1.CustomFieldResolver,
|
|
43
49
|
order_enums_resolver_1.OrderEnumsResolver,
|
|
50
|
+
custom_field_definition_enums_resolver_1.CustomFieldDefinitionEnumsResolver,
|
|
51
|
+
custom_object_resolver_1.CustomObjectResolver,
|
|
44
52
|
...pluginsResolvers
|
|
45
53
|
],
|
|
46
54
|
context: initialContext => this.buildAdminApiContext(initialContext),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storefront.api.js","sourceRoot":"","sources":["../../../../src/api/storefront/storefront.api.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAE7B,2CAA0C;AAG1C,4CAA4C;AAG5C,wCAA4C;AAE5C,6EAAmE;AACnE,mEAA+D;AAC/D,uDAAmD;AACnD,yEAAoE;AACpE,uEAAmE;AACnE,yFAAoF;AAGpF,mEAA+D;AAC/D,mEAA+D;AAC/D,qEAAiE;AACjE,+DAA2D;AAC3D,mEAA+D;AAE/D,MAAM,gBAAgB,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;AACxE,MAAM,cAAc,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAE1D,MAAa,aAAc,SAAQ,wBAAU;IACd;IAA7B,YAA6B,QAAkB;QAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kBAAS,GAAE,CAAC;QAEhC,MAAM,gBAAgB,GAAG,OAAO;aAC7B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE,SAAS,CAAC;aACjD,MAAM,CAAC,iBAAQ,CAAC,CAAC;QAEpB,MAAM,gBAAgB,GAAG,OAAO;aAC7B,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE,SAAS,CAAC;aACjD,MAAM,CAAC,iBAAQ,CAAC,CAAC;QAEpB,KAAK,CAAC;YACJ,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAAC;YAClE,SAAS,EAAE;gBACT,kCAAe;gBACf,8BAAa;gBACb,kCAAe;gBACf,oCAAgB;gBAChB,kCAAe;gBACf,yCAAkB;gBAClB,GAAG,gBAAgB;aACpB;YACD,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;YACpE,OAAO,EAAE,CAAC,IAAA,gCAAc,GAAE,EAAE,IAAA,iCAAc,GAAE,CAAC;SAC9C,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"storefront.api.js","sourceRoot":"","sources":["../../../../src/api/storefront/storefront.api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AssetService = void 0;
|
|
4
|
+
const config_1 = require("../../config/config");
|
|
4
5
|
class AssetService {
|
|
5
6
|
repository;
|
|
6
7
|
constructor(ctx) {
|
|
@@ -16,10 +17,15 @@ class AssetService {
|
|
|
16
17
|
return await this.repository.create(input);
|
|
17
18
|
}
|
|
18
19
|
async remove(ids) {
|
|
20
|
+
const assetsToRemove = await this.repository.findMany({
|
|
21
|
+
whereIn: { field: 'id', values: ids }
|
|
22
|
+
});
|
|
19
23
|
await this.repository.removeAllFromCollection(ids);
|
|
20
24
|
await this.repository.removeAllFromProduct(ids);
|
|
21
25
|
await this.repository.removeAllFromVariant(ids);
|
|
22
26
|
await this.repository.removeMany({ whereIn: 'id', values: ids });
|
|
27
|
+
const { storageProvider } = (0, config_1.getConfig)().assets;
|
|
28
|
+
await Promise.all(assetsToRemove.map(asset => storageProvider.remove(asset.providerId)));
|
|
23
29
|
return true;
|
|
24
30
|
}
|
|
25
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.service.js","sourceRoot":"","sources":["../../../../src/business/asset/asset.service.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"asset.service.js","sourceRoot":"","sources":["../../../../src/business/asset/asset.service.ts"],"names":[],"mappings":";;;AAEA,4CAA4C;AAM5C,MAAa,YAAY;IACf,UAAU,CAAkB;IAEpC,YAAY,GAAqB;QAC/B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAsB;QAC/B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAoB;QAC9B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA6B;QACxC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAS;QACpB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACpD,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;SACtC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAEjE,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,kBAAS,GAAE,CAAC,MAAM,CAAC;QAC/C,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEzF,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAjCD,oCAiCC"}
|
|
@@ -7,9 +7,11 @@ export declare class CustomObjectEntryService {
|
|
|
7
7
|
private readonly definitionRepository;
|
|
8
8
|
private readonly valueTranslationRepository;
|
|
9
9
|
constructor(ctx: ExecutionContext);
|
|
10
|
-
findUnique(id
|
|
10
|
+
findUnique(id?: ID, slug?: string): Promise<import("../../persistence/entities/custom-object-entry").CustomObjectEntry | null | undefined>;
|
|
11
11
|
findByDefinitionId(definitionId: ID, input?: ListInput): Promise<import("../../persistence/entities/custom-object-entry").CustomObjectEntry[]>;
|
|
12
12
|
countByDefinitionId(definitionId: ID): Promise<number>;
|
|
13
|
+
findByDefinitionKey(definitionKey: string, input?: ListInput): Promise<any[]>;
|
|
14
|
+
countByDefinitionKey(definitionKey: string): Promise<number>;
|
|
13
15
|
create(definitionId: ID, input: CreateCustomObjectEntryInput): Promise<import("../../persistence/entities/custom-object-entry").CustomObjectEntry>;
|
|
14
16
|
update(id: ID, input: UpdateCustomObjectEntryInput): Promise<import("../../persistence/entities/custom-object-entry").CustomObjectEntry>;
|
|
15
17
|
remove(ids: ID[]): Promise<boolean>;
|
|
@@ -4,6 +4,7 @@ exports.CustomObjectEntryService = void 0;
|
|
|
4
4
|
const common_1 = require("@lunejs/common");
|
|
5
5
|
const nanoid_1 = require("nanoid");
|
|
6
6
|
const generateRandomSuffix = (0, nanoid_1.customAlphabet)('abcdefghijklmnopqrstuvwxyz', 6);
|
|
7
|
+
const repository_1 = require("../../persistence/repositories/repository");
|
|
7
8
|
class CustomObjectEntryService {
|
|
8
9
|
repository;
|
|
9
10
|
valueRepository;
|
|
@@ -15,18 +16,29 @@ class CustomObjectEntryService {
|
|
|
15
16
|
this.definitionRepository = ctx.repositories.customObjectDefinition;
|
|
16
17
|
this.valueTranslationRepository = ctx.repositories.customObjectEntryValueTranslation;
|
|
17
18
|
}
|
|
18
|
-
async findUnique(id) {
|
|
19
|
-
|
|
19
|
+
async findUnique(id, slug) {
|
|
20
|
+
if (id)
|
|
21
|
+
return this.repository.findOne({ where: { id } });
|
|
22
|
+
if (slug)
|
|
23
|
+
return this.repository.findOne({ where: { slug } });
|
|
24
|
+
return null;
|
|
20
25
|
}
|
|
21
26
|
async findByDefinitionId(definitionId, input) {
|
|
22
27
|
return this.repository.findMany({
|
|
23
28
|
where: { definitionId },
|
|
29
|
+
orderBy: { createdAt: repository_1.SortKey.Asc },
|
|
24
30
|
...(0, common_1.clean)(input ?? {})
|
|
25
31
|
});
|
|
26
32
|
}
|
|
27
33
|
async countByDefinitionId(definitionId) {
|
|
28
34
|
return this.repository.count({ where: { definitionId } });
|
|
29
35
|
}
|
|
36
|
+
async findByDefinitionKey(definitionKey, input) {
|
|
37
|
+
return this.repository.findByDefinitionKey(definitionKey, input);
|
|
38
|
+
}
|
|
39
|
+
async countByDefinitionKey(definitionKey) {
|
|
40
|
+
return this.repository.countByDefinitionKey(definitionKey);
|
|
41
|
+
}
|
|
30
42
|
async create(definitionId, input) {
|
|
31
43
|
const definition = await this.definitionRepository.findOneOrThrow({
|
|
32
44
|
where: { id: definitionId }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-object-entry.service.js","sourceRoot":"","sources":["../../../../src/business/custom-object-entry/custom-object-entry.service.ts"],"names":[],"mappings":";;;AAAA,2CAAkD;AAClD,mCAAwC;AAExC,MAAM,oBAAoB,GAAG,IAAA,uBAAc,EAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"custom-object-entry.service.js","sourceRoot":"","sources":["../../../../src/business/custom-object-entry/custom-object-entry.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VariantService = void 0;
|
|
4
4
|
const common_1 = require("@lunejs/common");
|
|
5
|
-
const config_1 = require("../../config/config");
|
|
6
5
|
const repository_1 = require("../../persistence/repositories/repository");
|
|
7
6
|
class VariantService {
|
|
8
7
|
ctx;
|
|
@@ -88,8 +87,6 @@ class VariantService {
|
|
|
88
87
|
.map(assetToRemoveId => assets.find(a => a.id === assetToRemoveId))
|
|
89
88
|
.filter(common_1.isTruthy);
|
|
90
89
|
await this.repository.removeAssets(variantId, assetsToRemove.map(asset => asset.id));
|
|
91
|
-
const { storageProvider } = (0, config_1.getConfig)().assets;
|
|
92
|
-
await Promise.all(assetsToRemove.map(asset => storageProvider.remove(asset.providerId)));
|
|
93
90
|
}
|
|
94
91
|
async removeMissingOptionValues(variantId, newOptionValues) {
|
|
95
92
|
if (!(0, common_1.isArray)(newOptionValues))
|