@carlonicora/nestjs-neo4jsonapi 1.31.2 → 1.32.1
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/common/helpers/define-entity.d.ts +29 -0
- package/dist/common/helpers/define-entity.d.ts.map +1 -1
- package/dist/common/helpers/define-entity.js +42 -1
- package/dist/common/helpers/define-entity.js.map +1 -1
- package/dist/common/interfaces/entity.descriptor.interface.d.ts +2 -2
- package/dist/common/interfaces/entity.descriptor.interface.d.ts.map +1 -1
- package/dist/common/interfaces/entity.descriptor.interface.js +2 -1
- package/dist/common/interfaces/entity.descriptor.interface.js.map +1 -1
- package/dist/common/interfaces/entity.schema.interface.d.ts +19 -1
- package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
- package/dist/core/email/templates/en/paymentFailure.hbs +56 -0
- package/dist/core/email/templates/en/paymentSuccessAdmin.hbs +31 -0
- package/dist/core/email/templates/en/paymentSuccessCustomer.hbs +51 -0
- package/dist/core/email/templates/en/subscriptionStatusChange.hbs +48 -0
- package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.d.ts.map +1 -1
- package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.js +13 -0
- package/dist/core/jsonapi/serialisers/descriptor.based.serialiser.js.map +1 -1
- package/dist/core/jsonapi/serialisers/jsonapi.paginator.d.ts +3 -0
- package/dist/core/jsonapi/serialisers/jsonapi.paginator.d.ts.map +1 -1
- package/dist/core/jsonapi/serialisers/jsonapi.paginator.js +6 -0
- package/dist/core/jsonapi/serialisers/jsonapi.paginator.js.map +1 -1
- package/dist/core/jsonapi/services/jsonapi.service.d.ts.map +1 -1
- package/dist/core/jsonapi/services/jsonapi.service.js +6 -0
- package/dist/core/jsonapi/services/jsonapi.service.js.map +1 -1
- package/dist/core/neo4j/abstracts/abstract.service.d.ts +2 -0
- package/dist/core/neo4j/abstracts/abstract.service.d.ts.map +1 -1
- package/dist/core/neo4j/abstracts/abstract.service.js +8 -4
- package/dist/core/neo4j/abstracts/abstract.service.js.map +1 -1
- package/dist/core/neo4j/services/neo4j.service.d.ts +9 -0
- package/dist/core/neo4j/services/neo4j.service.d.ts.map +1 -1
- package/dist/core/neo4j/services/neo4j.service.js +95 -1
- package/dist/core/neo4j/services/neo4j.service.js.map +1 -1
- package/dist/foundations/audit/entities/audit.entity.d.ts +1 -1
- package/dist/foundations/audit/entities/audit.entity.d.ts.map +1 -1
- package/dist/foundations/audit/serialisers/audit.serialiser.js +2 -2
- package/dist/foundations/audit/serialisers/audit.serialiser.js.map +1 -1
- package/dist/foundations/auth/entities/auth.entity.d.ts +1 -1
- package/dist/foundations/auth/entities/auth.entity.d.ts.map +1 -1
- package/dist/foundations/auth/repositories/auth.repository.d.ts +1 -1
- package/dist/foundations/auth/repositories/auth.repository.d.ts.map +1 -1
- package/dist/foundations/auth/repositories/auth.repository.js +31 -13
- package/dist/foundations/auth/repositories/auth.repository.js.map +1 -1
- package/dist/foundations/auth/serialisers/auth.serialiser.js +2 -2
- package/dist/foundations/auth/serialisers/auth.serialiser.js.map +1 -1
- package/dist/foundations/auth/services/auth.service.d.ts +1 -1
- package/dist/foundations/auth/services/auth.service.d.ts.map +1 -1
- package/dist/foundations/company/company.module.d.ts.map +1 -1
- package/dist/foundations/company/company.module.js +9 -5
- package/dist/foundations/company/company.module.js.map +1 -1
- package/dist/foundations/company/entities/company.d.ts +44 -0
- package/dist/foundations/company/entities/company.d.ts.map +1 -0
- package/dist/foundations/company/entities/company.js +47 -0
- package/dist/foundations/company/entities/company.js.map +1 -0
- package/dist/foundations/company/entities/company.meta.d.ts +1 -1
- package/dist/foundations/company/entities/company.meta.d.ts.map +1 -1
- package/dist/foundations/company/index.d.ts +1 -2
- package/dist/foundations/company/index.d.ts.map +1 -1
- package/dist/foundations/company/index.js +3 -3
- package/dist/foundations/company/index.js.map +1 -1
- package/dist/foundations/company/repositories/company.repository.d.ts +26 -1
- package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -1
- package/dist/foundations/company/repositories/company.repository.js +67 -11
- package/dist/foundations/company/repositories/company.repository.js.map +1 -1
- package/dist/foundations/company/services/company.service.d.ts +4 -1
- package/dist/foundations/company/services/company.service.d.ts.map +1 -1
- package/dist/foundations/company/services/company.service.js +11 -6
- package/dist/foundations/company/services/company.service.js.map +1 -1
- package/dist/foundations/content/entities/content.entity.d.ts +1 -1
- package/dist/foundations/content/entities/content.entity.d.ts.map +1 -1
- package/dist/foundations/content/serialisers/content.serialiser.js +3 -3
- package/dist/foundations/content/serialisers/content.serialiser.js.map +1 -1
- package/dist/foundations/module/queries/feature.module.query.d.ts +3 -1
- package/dist/foundations/module/queries/feature.module.query.d.ts.map +1 -1
- package/dist/foundations/module/queries/feature.module.query.js +27 -15
- package/dist/foundations/module/queries/feature.module.query.js.map +1 -1
- package/dist/foundations/notification/entities/notification.entity.d.ts +1 -1
- package/dist/foundations/notification/entities/notification.entity.d.ts.map +1 -1
- package/dist/foundations/notification/serialisers/notifications.serialiser.js +2 -2
- package/dist/foundations/notification/serialisers/notifications.serialiser.js.map +1 -1
- package/dist/foundations/oauth/entities/oauth.client.entity.d.ts +2 -2
- package/dist/foundations/oauth/entities/oauth.client.entity.d.ts.map +1 -1
- package/dist/foundations/relevancy/repositories/relevancy.repository.d.ts.map +1 -1
- package/dist/foundations/relevancy/repositories/relevancy.repository.js +1 -1
- package/dist/foundations/relevancy/repositories/relevancy.repository.js.map +1 -1
- package/dist/foundations/relevancy/services/relevancy.service.js +1 -1
- package/dist/foundations/relevancy/services/relevancy.service.js.map +1 -1
- package/dist/foundations/role/entities/role.d.ts +28 -0
- package/dist/foundations/role/entities/role.d.ts.map +1 -0
- package/dist/foundations/role/entities/role.js +33 -0
- package/dist/foundations/role/entities/role.js.map +1 -0
- package/dist/foundations/role/entities/role.meta.d.ts +1 -1
- package/dist/foundations/role/entities/role.meta.d.ts.map +1 -1
- package/dist/foundations/role/repositories/role.repository.d.ts +1 -1
- package/dist/foundations/role/repositories/role.repository.d.ts.map +1 -1
- package/dist/foundations/role/repositories/role.repository.js +7 -7
- package/dist/foundations/role/repositories/role.repository.js.map +1 -1
- package/dist/foundations/role/role.module.d.ts.map +1 -1
- package/dist/foundations/role/role.module.js +3 -4
- package/dist/foundations/role/role.module.js.map +1 -1
- package/dist/foundations/role/services/role.service.js +5 -5
- package/dist/foundations/role/services/role.service.js.map +1 -1
- package/dist/foundations/stripe-customer/entities/stripe-customer.entity.d.ts +1 -1
- package/dist/foundations/stripe-customer/entities/stripe-customer.entity.d.ts.map +1 -1
- package/dist/foundations/stripe-price/dtos/stripe-price.dto.d.ts +12 -0
- package/dist/foundations/stripe-price/dtos/stripe-price.dto.d.ts.map +1 -1
- package/dist/foundations/stripe-price/dtos/stripe-price.dto.js +47 -1
- package/dist/foundations/stripe-price/dtos/stripe-price.dto.js.map +1 -1
- package/dist/foundations/stripe-price/entities/stripe-price.entity.d.ts +2 -0
- package/dist/foundations/stripe-price/entities/stripe-price.entity.d.ts.map +1 -1
- package/dist/foundations/stripe-price/entities/stripe-price.map.d.ts.map +1 -1
- package/dist/foundations/stripe-price/entities/stripe-price.map.js +1 -0
- package/dist/foundations/stripe-price/entities/stripe-price.map.js.map +1 -1
- package/dist/foundations/stripe-price/entities/stripe-price.model.d.ts.map +1 -1
- package/dist/foundations/stripe-price/entities/stripe-price.model.js +2 -1
- package/dist/foundations/stripe-price/entities/stripe-price.model.js.map +1 -1
- package/dist/foundations/stripe-price/repositories/stripe-price.repository.d.ts +3 -0
- package/dist/foundations/stripe-price/repositories/stripe-price.repository.d.ts.map +1 -1
- package/dist/foundations/stripe-price/repositories/stripe-price.repository.js +64 -4
- package/dist/foundations/stripe-price/repositories/stripe-price.repository.js.map +1 -1
- package/dist/foundations/stripe-price/serialisers/stripe-price.serialiser.d.ts.map +1 -1
- package/dist/foundations/stripe-price/serialisers/stripe-price.serialiser.js +5 -0
- package/dist/foundations/stripe-price/serialisers/stripe-price.serialiser.js.map +1 -1
- package/dist/foundations/stripe-price/services/stripe-price-admin.service.d.ts.map +1 -1
- package/dist/foundations/stripe-price/services/stripe-price-admin.service.js +10 -0
- package/dist/foundations/stripe-price/services/stripe-price-admin.service.js.map +1 -1
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.d.ts +11 -0
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.js +22 -0
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.js.map +1 -1
- package/dist/foundations/stripe-subscription/services/feature-sync.service.d.ts +33 -0
- package/dist/foundations/stripe-subscription/services/feature-sync.service.d.ts.map +1 -0
- package/dist/foundations/stripe-subscription/services/feature-sync.service.js +155 -0
- package/dist/foundations/stripe-subscription/services/feature-sync.service.js.map +1 -0
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js +11 -0
- package/dist/foundations/stripe-subscription/services/stripe-subscription-admin.service.js.map +1 -1
- package/dist/foundations/stripe-subscription/stripe-subscription.module.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/stripe-subscription.module.js +3 -0
- package/dist/foundations/stripe-subscription/stripe-subscription.module.js.map +1 -1
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.d.ts +3 -1
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.d.ts.map +1 -1
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js +79 -9
- package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js.map +1 -1
- package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.d.ts +26 -1
- package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.d.ts.map +1 -1
- package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.js +124 -2
- package/dist/foundations/stripe-webhook/services/stripe-webhook-notification.service.js.map +1 -1
- package/dist/foundations/stripe-webhook/stripe-webhook.module.d.ts.map +1 -1
- package/dist/foundations/stripe-webhook/stripe-webhook.module.js +2 -0
- package/dist/foundations/stripe-webhook/stripe-webhook.module.js.map +1 -1
- package/dist/foundations/tokenusage/entities/tokenusage.entity.d.ts +1 -1
- package/dist/foundations/tokenusage/entities/tokenusage.entity.d.ts.map +1 -1
- package/dist/foundations/user/controllers/user.controller.d.ts +1 -1
- package/dist/foundations/user/controllers/user.controller.d.ts.map +1 -1
- package/dist/foundations/user/entities/user.d.ts +124 -0
- package/dist/foundations/user/entities/user.d.ts.map +1 -0
- package/dist/foundations/user/entities/user.js +81 -0
- package/dist/foundations/user/entities/user.js.map +1 -0
- package/dist/foundations/user/entities/user.meta.d.ts +1 -1
- package/dist/foundations/user/entities/user.meta.d.ts.map +1 -1
- package/dist/foundations/user/index.d.ts +1 -4
- package/dist/foundations/user/index.d.ts.map +1 -1
- package/dist/foundations/user/index.js +6 -23
- package/dist/foundations/user/index.js.map +1 -1
- package/dist/foundations/user/repositories/user.repository.d.ts +13 -1
- package/dist/foundations/user/repositories/user.repository.d.ts.map +1 -1
- package/dist/foundations/user/repositories/user.repository.js +85 -21
- package/dist/foundations/user/repositories/user.repository.js.map +1 -1
- package/dist/foundations/user/services/user.service.d.ts.map +1 -1
- package/dist/foundations/user/services/user.service.js +12 -12
- package/dist/foundations/user/services/user.service.js.map +1 -1
- package/dist/foundations/user/user.module.d.ts.map +1 -1
- package/dist/foundations/user/user.module.js +7 -8
- package/dist/foundations/user/user.module.js.map +1 -1
- package/dist/openapi/factories/entity-schema.factory.js +12 -0
- package/dist/openapi/factories/entity-schema.factory.js.map +1 -1
- package/dist/openapi/schemas/jsonapi-base.schemas.d.ts +1 -0
- package/dist/openapi/schemas/jsonapi-base.schemas.d.ts.map +1 -1
- package/dist/openapi/schemas/jsonapi-base.schemas.js.map +1 -1
- package/dist/tools/migrate-entity/__tests__/ast-parser.spec.js +331 -0
- package/dist/tools/migrate-entity/__tests__/descriptor-generator.spec.js +482 -0
- package/dist/tools/migrate-entity/__tests__/file-discovery.spec.js +190 -0
- package/dist/tools/migrate-entity/__tests__/integration.spec.js +261 -0
- package/dist/tools/migrate-entity/index.js +2 -2
- package/dist/tools/migrate-entity/lib/ast-parser.js +255 -10
- package/dist/tools/migrate-entity/lib/descriptor-generator.js +384 -55
- package/dist/tools/migrate-entity/lib/entity-migrator.js +112 -9
- package/dist/tools/migrate-entity/lib/module-updater.js +25 -9
- package/dist/tools/migrate-entity/lib/reference-updater.js +110 -24
- package/package.json +2 -2
- package/dist/foundations/company/entities/company.entity.d.ts +0 -18
- package/dist/foundations/company/entities/company.entity.d.ts.map +0 -1
- package/dist/foundations/company/entities/company.entity.js +0 -3
- package/dist/foundations/company/entities/company.entity.js.map +0 -1
- package/dist/foundations/company/entities/company.map.d.ts +0 -8
- package/dist/foundations/company/entities/company.map.d.ts.map +0 -1
- package/dist/foundations/company/entities/company.map.js +0 -23
- package/dist/foundations/company/entities/company.map.js.map +0 -1
- package/dist/foundations/company/entities/company.model.d.ts +0 -4
- package/dist/foundations/company/entities/company.model.d.ts.map +0 -1
- package/dist/foundations/company/entities/company.model.js +0 -17
- package/dist/foundations/company/entities/company.model.js.map +0 -1
- package/dist/foundations/company/serialisers/company.serialiser.d.ts +0 -14
- package/dist/foundations/company/serialisers/company.serialiser.d.ts.map +0 -1
- package/dist/foundations/company/serialisers/company.serialiser.js +0 -76
- package/dist/foundations/company/serialisers/company.serialiser.js.map +0 -1
- package/dist/foundations/role/entities/role.entity.d.ts +0 -9
- package/dist/foundations/role/entities/role.entity.d.ts.map +0 -1
- package/dist/foundations/role/entities/role.entity.js +0 -3
- package/dist/foundations/role/entities/role.entity.js.map +0 -1
- package/dist/foundations/role/entities/role.map.d.ts +0 -8
- package/dist/foundations/role/entities/role.map.d.ts.map +0 -1
- package/dist/foundations/role/entities/role.map.js +0 -15
- package/dist/foundations/role/entities/role.map.js.map +0 -1
- package/dist/foundations/role/entities/role.model.d.ts +0 -4
- package/dist/foundations/role/entities/role.model.d.ts.map +0 -1
- package/dist/foundations/role/entities/role.model.js +0 -15
- package/dist/foundations/role/entities/role.model.js.map +0 -1
- package/dist/foundations/role/serialisers/role.serialiser.d.ts +0 -12
- package/dist/foundations/role/serialisers/role.serialiser.d.ts.map +0 -1
- package/dist/foundations/role/serialisers/role.serialiser.js +0 -46
- package/dist/foundations/role/serialisers/role.serialiser.js.map +0 -1
- package/dist/foundations/user/entities/user.entity.d.ts +0 -26
- package/dist/foundations/user/entities/user.entity.d.ts.map +0 -1
- package/dist/foundations/user/entities/user.entity.js +0 -3
- package/dist/foundations/user/entities/user.entity.js.map +0 -1
- package/dist/foundations/user/entities/user.map.d.ts +0 -8
- package/dist/foundations/user/entities/user.map.d.ts.map +0 -1
- package/dist/foundations/user/entities/user.map.js +0 -27
- package/dist/foundations/user/entities/user.map.js.map +0 -1
- package/dist/foundations/user/entities/user.model.d.ts +0 -7
- package/dist/foundations/user/entities/user.model.d.ts.map +0 -1
- package/dist/foundations/user/entities/user.model.js +0 -30
- package/dist/foundations/user/entities/user.model.js.map +0 -1
- package/dist/foundations/user/serialisers/user.serialiser.d.ts +0 -14
- package/dist/foundations/user/serialisers/user.serialiser.d.ts.map +0 -1
- package/dist/foundations/user/serialisers/user.serialiser.js +0 -80
- package/dist/foundations/user/serialisers/user.serialiser.js.map +0 -1
|
@@ -47,4 +47,33 @@ import { EntityDescriptor, EntitySchemaInput, RelationshipDef } from "../interfa
|
|
|
47
47
|
* ```
|
|
48
48
|
*/
|
|
49
49
|
export declare function defineEntity<T>(): <R extends Record<string, RelationshipDef>>(schema: EntitySchemaInput<T, R>) => EntityDescriptor<T, R>;
|
|
50
|
+
/**
|
|
51
|
+
* Create an alias descriptor from a base descriptor with different meta.
|
|
52
|
+
*
|
|
53
|
+
* Alias descriptors share the same entity type, fields, computed, and relationships
|
|
54
|
+
* as the base descriptor, but have different type/endpoint/nodeName/labelName.
|
|
55
|
+
*
|
|
56
|
+
* This is useful for entities like User that have aliases (Owner, Author, Assignee)
|
|
57
|
+
* which represent the same entity but appear as different relationship endpoints.
|
|
58
|
+
*
|
|
59
|
+
* @param baseDescriptor - The base EntityDescriptor to alias
|
|
60
|
+
* @param aliasMeta - The DataMeta for the alias (type, endpoint, nodeName, labelName)
|
|
61
|
+
* @returns A new EntityDescriptor with the alias meta
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* // In user.ts:
|
|
66
|
+
* export const UserDescriptor = defineEntity<User>()({ ... });
|
|
67
|
+
*
|
|
68
|
+
* export const OwnerDescriptor = defineEntityAlias(UserDescriptor, ownerMeta);
|
|
69
|
+
* export const AuthorDescriptor = defineEntityAlias(UserDescriptor, authorMeta);
|
|
70
|
+
* export const AssigneeDescriptor = defineEntityAlias(UserDescriptor, assigneeMeta);
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export declare function defineEntityAlias<T, R extends Record<string, RelationshipDef>>(baseDescriptor: EntityDescriptor<T, R>, aliasMeta: {
|
|
74
|
+
type: string;
|
|
75
|
+
endpoint: string;
|
|
76
|
+
nodeName: string;
|
|
77
|
+
labelName: string;
|
|
78
|
+
}): EntityDescriptor<T, R>;
|
|
50
79
|
//# sourceMappingURL=define-entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-entity.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/define-entity.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,gBAAgB,EAChB,iBAAiB,EAEjB,eAAe,
|
|
1
|
+
{"version":3,"file":"define-entity.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/define-entity.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,gBAAgB,EAChB,iBAAiB,EAEjB,eAAe,EAEhB,MAAM,uCAAuC,CAAC;AAuG/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,YAAY,CAAC,CAAC,MACX,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,QAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CA4KrH;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC5E,cAAc,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EACtC,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACjF,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAYxB"}
|
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.defineEntity = defineEntity;
|
|
13
|
+
exports.defineEntityAlias = defineEntityAlias;
|
|
13
14
|
const common_1 = require("@nestjs/common");
|
|
14
15
|
const config_1 = require("@nestjs/config");
|
|
15
16
|
const core_1 = require("@nestjs/core");
|
|
@@ -151,7 +152,7 @@ function createSerialiserForDescriptor(descriptor, labelName) {
|
|
|
151
152
|
*/
|
|
152
153
|
function defineEntity() {
|
|
153
154
|
return function (schema) {
|
|
154
|
-
const { type, endpoint, nodeName, labelName, fields, relationships, computed = {}, serialiser: customSerialiser, injectServices = [], isCompanyScoped = true, } = schema;
|
|
155
|
+
const { type, endpoint, nodeName, labelName, fields, relationships, computed = {}, virtualFields = {}, serialiser: customSerialiser, injectServices = [], isCompanyScoped = true, } = schema;
|
|
155
156
|
// Extract field information
|
|
156
157
|
const fieldEntries = Object.entries(fields);
|
|
157
158
|
const fieldNames = fieldEntries.map(([name]) => name);
|
|
@@ -222,6 +223,10 @@ function defineEntity() {
|
|
|
222
223
|
for (const [fieldName, def] of Object.entries(mergedComputed)) {
|
|
223
224
|
result[fieldName] = def.compute(params);
|
|
224
225
|
}
|
|
226
|
+
// Evaluate virtual fields (output-only computed values with arbitrary names)
|
|
227
|
+
for (const [fieldName, def] of Object.entries(virtualFields)) {
|
|
228
|
+
result[fieldName] = def.compute(params);
|
|
229
|
+
}
|
|
225
230
|
// Initialize relationship placeholders
|
|
226
231
|
if (isCompanyScoped) {
|
|
227
232
|
result.company = undefined;
|
|
@@ -244,6 +249,7 @@ function defineEntity() {
|
|
|
244
249
|
fieldDefaults,
|
|
245
250
|
fields: fields,
|
|
246
251
|
computed: mergedComputed,
|
|
252
|
+
virtualFields,
|
|
247
253
|
injectServices,
|
|
248
254
|
// Auto-generated database config
|
|
249
255
|
constraints: [{ property: "id", type: "UNIQUE" }],
|
|
@@ -278,4 +284,39 @@ function defineEntity() {
|
|
|
278
284
|
return descriptor;
|
|
279
285
|
};
|
|
280
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* Create an alias descriptor from a base descriptor with different meta.
|
|
289
|
+
*
|
|
290
|
+
* Alias descriptors share the same entity type, fields, computed, and relationships
|
|
291
|
+
* as the base descriptor, but have different type/endpoint/nodeName/labelName.
|
|
292
|
+
*
|
|
293
|
+
* This is useful for entities like User that have aliases (Owner, Author, Assignee)
|
|
294
|
+
* which represent the same entity but appear as different relationship endpoints.
|
|
295
|
+
*
|
|
296
|
+
* @param baseDescriptor - The base EntityDescriptor to alias
|
|
297
|
+
* @param aliasMeta - The DataMeta for the alias (type, endpoint, nodeName, labelName)
|
|
298
|
+
* @returns A new EntityDescriptor with the alias meta
|
|
299
|
+
*
|
|
300
|
+
* @example
|
|
301
|
+
* ```typescript
|
|
302
|
+
* // In user.ts:
|
|
303
|
+
* export const UserDescriptor = defineEntity<User>()({ ... });
|
|
304
|
+
*
|
|
305
|
+
* export const OwnerDescriptor = defineEntityAlias(UserDescriptor, ownerMeta);
|
|
306
|
+
* export const AuthorDescriptor = defineEntityAlias(UserDescriptor, authorMeta);
|
|
307
|
+
* export const AssigneeDescriptor = defineEntityAlias(UserDescriptor, assigneeMeta);
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
function defineEntityAlias(baseDescriptor, aliasMeta) {
|
|
311
|
+
// Create a new model with the alias meta
|
|
312
|
+
const aliasModel = {
|
|
313
|
+
...baseDescriptor.model,
|
|
314
|
+
...aliasMeta,
|
|
315
|
+
};
|
|
316
|
+
// Create a new descriptor that shares everything except the model
|
|
317
|
+
return {
|
|
318
|
+
...baseDescriptor,
|
|
319
|
+
model: aliasModel,
|
|
320
|
+
};
|
|
321
|
+
}
|
|
281
322
|
//# sourceMappingURL=define-entity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-entity.js","sourceRoot":"","sources":["../../../src/common/helpers/define-entity.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"define-entity.js","sourceRoot":"","sources":["../../../src/common/helpers/define-entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,6 @@
|
|
|
29
29
|
* GlossaryDescriptor.stringFields
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
|
-
export type { CypherType, EntityDescriptor, EntitySchemaInput, FieldDef, RelationshipDef, } from "./entity.schema.interface";
|
|
33
|
-
export { defineEntity } from "../helpers/define-entity";
|
|
32
|
+
export type { CypherType, EntityDescriptor, EntitySchemaInput, FieldDef, RelationshipDef, VirtualFieldDef, } from "./entity.schema.interface";
|
|
33
|
+
export { defineEntity, defineEntityAlias } from "../helpers/define-entity";
|
|
34
34
|
//# sourceMappingURL=entity.descriptor.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.descriptor.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/entity.descriptor.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"entity.descriptor.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/entity.descriptor.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineEntity = void 0;
|
|
3
|
+
exports.defineEntityAlias = exports.defineEntity = void 0;
|
|
4
4
|
var define_entity_1 = require("../helpers/define-entity");
|
|
5
5
|
Object.defineProperty(exports, "defineEntity", { enumerable: true, get: function () { return define_entity_1.defineEntity; } });
|
|
6
|
+
Object.defineProperty(exports, "defineEntityAlias", { enumerable: true, get: function () { return define_entity_1.defineEntityAlias; } });
|
|
6
7
|
//# sourceMappingURL=entity.descriptor.interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.descriptor.interface.js","sourceRoot":"","sources":["../../../src/common/interfaces/entity.descriptor.interface.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"entity.descriptor.interface.js","sourceRoot":"","sources":["../../../src/common/interfaces/entity.descriptor.interface.ts"],"names":[],"mappings":";;;AAwCA,0DAA2E;AAAlE,6GAAA,YAAY,OAAA;AAAE,kHAAA,iBAAiB,OAAA"}
|
|
@@ -56,6 +56,19 @@ export interface ComputedFieldDef<T = any> {
|
|
|
56
56
|
/** If true, field goes to JSON:API meta instead of attributes (default: false) */
|
|
57
57
|
meta?: boolean;
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Virtual field definition for output-only computed values.
|
|
61
|
+
* Unlike computed fields, virtual fields can have arbitrary names that
|
|
62
|
+
* don't exist in the entity type. They appear in JSON:API attributes by default.
|
|
63
|
+
*
|
|
64
|
+
* Example: avatarUrl returns the raw S3 key while avatar returns the signed URL.
|
|
65
|
+
*/
|
|
66
|
+
export interface VirtualFieldDef {
|
|
67
|
+
/** Function to compute the field value */
|
|
68
|
+
compute: ComputedFieldFn<any>;
|
|
69
|
+
/** If true, field goes to JSON:API meta instead of attributes (default: false) */
|
|
70
|
+
meta?: boolean;
|
|
71
|
+
}
|
|
59
72
|
/**
|
|
60
73
|
* Field definition for relationship properties
|
|
61
74
|
* These are stored on the Neo4j relationship (edge), not on nodes
|
|
@@ -116,10 +129,13 @@ export interface EntitySchemaInput<T, R extends Record<string, RelationshipDef>
|
|
|
116
129
|
};
|
|
117
130
|
/** Relationship definitions with named keys for autocomplete */
|
|
118
131
|
relationships: R;
|
|
119
|
-
/** Computed fields - calculated at runtime from Neo4j record data */
|
|
132
|
+
/** Computed fields - calculated at runtime from Neo4j record data. Keys must be valid entity properties. */
|
|
120
133
|
computed?: {
|
|
121
134
|
[K in keyof Partial<T>]?: ComputedFieldDef;
|
|
122
135
|
};
|
|
136
|
+
/** Virtual fields - output-only computed values with arbitrary names (e.g., avatarUrl).
|
|
137
|
+
* Unlike computed fields, virtual field keys don't need to exist in the entity type. */
|
|
138
|
+
virtualFields?: Record<string, VirtualFieldDef>;
|
|
123
139
|
/** Custom serializer class (only needed for special transformations like S3 URL signing) */
|
|
124
140
|
serialiser?: new (...args: any[]) => any;
|
|
125
141
|
/** Services to inject into auto-generated serialiser for field transformers */
|
|
@@ -159,6 +175,8 @@ export interface EntityDescriptor<T, R extends Record<string, RelationshipDef> =
|
|
|
159
175
|
computed: {
|
|
160
176
|
[K in keyof Partial<T>]?: ComputedFieldDef;
|
|
161
177
|
};
|
|
178
|
+
/** Virtual field definitions - output-only computed values with arbitrary names */
|
|
179
|
+
virtualFields: Record<string, VirtualFieldDef>;
|
|
162
180
|
/** Services to inject into auto-generated serialiser for field transformers */
|
|
163
181
|
injectServices: Type<any>[];
|
|
164
182
|
/** Always: [{ property: 'id', type: 'UNIQUE' }] */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.schema.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/entity.schema.interface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"entity.schema.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/entity.schema.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Payment Failed - Action Required</title>
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
{{> header}}
|
|
10
|
+
|
|
11
|
+
<div style="padding: 20px; font-family: Arial, sans-serif; color: #333;">
|
|
12
|
+
<h1 style="color: #d9534f;">Payment Failed</h1>
|
|
13
|
+
|
|
14
|
+
<p>Hi {{customerName}},</p>
|
|
15
|
+
|
|
16
|
+
<p>We were unable to process your payment{{#if stripeInvoiceId}} for invoice <strong>{{invoiceNumber}}</strong>{{/if}}.</p>
|
|
17
|
+
|
|
18
|
+
{{#if amount}}
|
|
19
|
+
<div style="background: #f8f9fa; padding: 15px; border-radius: 5px; margin: 20px 0;">
|
|
20
|
+
<p style="margin: 5px 0;"><strong>Amount Due:</strong> {{amount}} {{currency}}</p>
|
|
21
|
+
{{#if stripeInvoiceId}}<p style="margin: 5px 0;"><strong>Invoice:</strong> {{invoiceNumber}}</p>{{/if}}
|
|
22
|
+
{{#if errorMessage}}<p style="margin: 5px 0; color: #d9534f;"><strong>Error:</strong> {{errorMessage}}</p>{{/if}}
|
|
23
|
+
</div>
|
|
24
|
+
{{/if}}
|
|
25
|
+
|
|
26
|
+
<p><strong>What you need to do:</strong></p>
|
|
27
|
+
<ul>
|
|
28
|
+
<li>Verify your payment method is up to date</li>
|
|
29
|
+
<li>Ensure sufficient funds are available</li>
|
|
30
|
+
<li>Update your payment information if needed</li>
|
|
31
|
+
</ul>
|
|
32
|
+
|
|
33
|
+
{{#if invoiceUrl}}
|
|
34
|
+
<p style="margin: 30px 0;">
|
|
35
|
+
<a href="{{invoiceUrl}}" style="background: #007bff; color: white; padding: 12px 24px; text-decoration: none; border-radius: 4px; display: inline-block;">
|
|
36
|
+
View Invoice
|
|
37
|
+
</a>
|
|
38
|
+
</p>
|
|
39
|
+
{{/if}}
|
|
40
|
+
|
|
41
|
+
{{#if updatePaymentUrl}}
|
|
42
|
+
<p style="margin: 30px 0;">
|
|
43
|
+
<a href="{{updatePaymentUrl}}" style="background: #28a745; color: white; padding: 12px 24px; text-decoration: none; border-radius: 4px; display: inline-block;">
|
|
44
|
+
Update Payment Method
|
|
45
|
+
</a>
|
|
46
|
+
</p>
|
|
47
|
+
{{/if}}
|
|
48
|
+
|
|
49
|
+
<p style="color: #6c757d; font-size: 14px; margin-top: 40px;">
|
|
50
|
+
If you believe this is an error or need assistance, please contact our support team.
|
|
51
|
+
</p>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
{{> footer}}
|
|
55
|
+
</body>
|
|
56
|
+
</html>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Payment Received - Internal Notification</title>
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
{{> header}}
|
|
10
|
+
|
|
11
|
+
<div style="padding: 20px; font-family: Arial, sans-serif; color: #333;">
|
|
12
|
+
<h1 style="color: #17a2b8;">Payment Notification</h1>
|
|
13
|
+
|
|
14
|
+
<p>Hi {{adminName}},</p>
|
|
15
|
+
|
|
16
|
+
<p>A payment has been received:</p>
|
|
17
|
+
|
|
18
|
+
<div style="background: #f8f9fa; padding: 15px; border-radius: 5px; margin: 20px 0;">
|
|
19
|
+
<p style="margin: 5px 0;"><strong>Company:</strong> {{companyName}}</p>
|
|
20
|
+
<p style="margin: 5px 0;"><strong>Amount:</strong> {{amount}} {{currency}}</p>
|
|
21
|
+
{{#if isOneTimePurchase}}<p style="margin: 5px 0;"><strong>Type:</strong> One-time purchase</p>{{else}}<p style="margin: 5px 0;"><strong>Type:</strong> Subscription payment</p>{{/if}}
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<p style="color: #6c757d; font-size: 14px; margin-top: 40px;">
|
|
25
|
+
This is an automated internal notification. For detailed transaction information, please check the Stripe dashboard.
|
|
26
|
+
</p>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
{{> footer}}
|
|
30
|
+
</body>
|
|
31
|
+
</html>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Payment Confirmation - Thank You!</title>
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
{{> header}}
|
|
10
|
+
|
|
11
|
+
<div style="padding: 20px; font-family: Arial, sans-serif; color: #333;">
|
|
12
|
+
<h1 style="color: #28a745;">Payment Successful</h1>
|
|
13
|
+
|
|
14
|
+
<p>Hi {{customerName}},</p>
|
|
15
|
+
|
|
16
|
+
<p>Thank you for your {{#if isOneTimePurchase}}purchase{{else}}payment{{/if}}! We've successfully processed your transaction.</p>
|
|
17
|
+
|
|
18
|
+
<div style="background: #f8f9fa; padding: 15px; border-radius: 5px; margin: 20px 0;">
|
|
19
|
+
<p style="margin: 5px 0;"><strong>Amount Paid:</strong> {{amount}} {{currency}}</p>
|
|
20
|
+
{{#if invoiceNumber}}<p style="margin: 5px 0;"><strong>Invoice:</strong> {{invoiceNumber}}</p>{{/if}}
|
|
21
|
+
{{#if isOneTimePurchase}}<p style="margin: 5px 0;"><strong>Type:</strong> One-time purchase</p>{{/if}}
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
{{#if invoiceUrl}}
|
|
25
|
+
<p style="margin: 30px 0;">
|
|
26
|
+
<a href="{{invoiceUrl}}" style="background: #007bff; color: white; padding: 12px 24px; text-decoration: none; border-radius: 4px; display: inline-block;">
|
|
27
|
+
View Invoice
|
|
28
|
+
</a>
|
|
29
|
+
</p>
|
|
30
|
+
{{/if}}
|
|
31
|
+
|
|
32
|
+
{{#if billingDashboardUrl}}
|
|
33
|
+
<p style="margin: 20px 0;">
|
|
34
|
+
<a href="{{billingDashboardUrl}}" style="color: #007bff; text-decoration: none;">
|
|
35
|
+
Go to Billing Dashboard
|
|
36
|
+
</a>
|
|
37
|
+
</p>
|
|
38
|
+
{{/if}}
|
|
39
|
+
|
|
40
|
+
<p style="margin-top: 30px;">
|
|
41
|
+
Thank you for being a valued customer!
|
|
42
|
+
</p>
|
|
43
|
+
|
|
44
|
+
<p style="color: #6c757d; font-size: 14px; margin-top: 40px;">
|
|
45
|
+
If you have any questions about this payment, please contact our support team.
|
|
46
|
+
</p>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
{{> footer}}
|
|
50
|
+
</body>
|
|
51
|
+
</html>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Subscription Status Update</title>
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
{{> header}}
|
|
10
|
+
|
|
11
|
+
<div style="padding: 20px; font-family: Arial, sans-serif; color: #333;">
|
|
12
|
+
<h1>Subscription Update</h1>
|
|
13
|
+
|
|
14
|
+
<p>Hi {{customerName}},</p>
|
|
15
|
+
|
|
16
|
+
<p>Your subscription status has been updated.</p>
|
|
17
|
+
|
|
18
|
+
<div style="background: #f8f9fa; padding: 15px; border-radius: 5px; margin: 20px 0;">
|
|
19
|
+
<p style="margin: 5px 0;"><strong>New Status:</strong> <span style="text-transform: uppercase;">{{status}}</span></p>
|
|
20
|
+
{{#if subscriptionId}}<p style="margin: 5px 0;"><strong>Subscription ID:</strong> {{subscriptionId}}</p>{{/if}}
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
{{#if (eq status "canceled")}}
|
|
24
|
+
<p>Your subscription has been canceled. You will continue to have access until the end of your current billing period.</p>
|
|
25
|
+
{{else if (eq status "active")}}
|
|
26
|
+
<p>Your subscription is now active. Thank you for your continued support!</p>
|
|
27
|
+
{{else if (eq status "past_due")}}
|
|
28
|
+
<p>Your subscription payment is past due. Please update your payment method to avoid service interruption.</p>
|
|
29
|
+
{{else}}
|
|
30
|
+
<p>Your subscription status has changed to {{status}}.</p>
|
|
31
|
+
{{/if}}
|
|
32
|
+
|
|
33
|
+
{{#if dashboardUrl}}
|
|
34
|
+
<p style="margin: 30px 0;">
|
|
35
|
+
<a href="{{dashboardUrl}}" style="background: #007bff; color: white; padding: 12px 24px; text-decoration: none; border-radius: 4px; display: inline-block;">
|
|
36
|
+
View Subscription Details
|
|
37
|
+
</a>
|
|
38
|
+
</p>
|
|
39
|
+
{{/if}}
|
|
40
|
+
|
|
41
|
+
<p style="color: #6c757d; font-size: 14px; margin-top: 40px;">
|
|
42
|
+
If you have any questions, please contact our support team.
|
|
43
|
+
</p>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
{{> footer}}
|
|
47
|
+
</body>
|
|
48
|
+
</html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor.based.serialiser.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/serialisers/descriptor.based.serialiser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,oDAAoD,CAAC;AAEvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF;;;;;GAKG;AACH,qBACa,yBAA0B,SAAQ,yBAA0B,YAAW,uBAAuB;IAMvG,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS;IALzC,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;gBAGnD,iBAAiB,EAAE,wBAAwB,EACxB,SAAS,EAAE,SAAS,EACvC,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAKnD;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;IAcrE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,oBAAoB;
|
|
1
|
+
{"version":3,"file":"descriptor.based.serialiser.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/serialisers/descriptor.based.serialiser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,oDAAoD,CAAC;AAEvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF;;;;;GAKG;AACH,qBACa,yBAA0B,SAAQ,yBAA0B,YAAW,uBAAuB;IAMvG,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS;IALzC,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;gBAGnD,iBAAiB,EAAE,wBAAwB,EACxB,SAAS,EAAE,SAAS,EACvC,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAKnD;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;IAcrE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,oBAAoB;CA4F/B"}
|
|
@@ -67,6 +67,13 @@ let DescriptorBasedSerialiser = class DescriptorBasedSerialiser extends abstract
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
+
// 1b. Add virtual fields to attributes (or meta if specified)
|
|
71
|
+
for (const [fieldName, virtualDef] of Object.entries(this.descriptor.virtualFields || {})) {
|
|
72
|
+
if (!virtualDef.meta) {
|
|
73
|
+
// Virtual field value already computed by mapper, direct mapping
|
|
74
|
+
attributes[fieldName] = fieldName;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
70
77
|
this.attributes = attributes;
|
|
71
78
|
// 2. Build meta from fields + computed (where meta: true)
|
|
72
79
|
const meta = {};
|
|
@@ -90,6 +97,12 @@ let DescriptorBasedSerialiser = class DescriptorBasedSerialiser extends abstract
|
|
|
90
97
|
meta[fieldName] = fieldName;
|
|
91
98
|
}
|
|
92
99
|
}
|
|
100
|
+
// Add virtual fields with meta: true to meta section
|
|
101
|
+
for (const [fieldName, virtualDef] of Object.entries(this.descriptor.virtualFields || {})) {
|
|
102
|
+
if (virtualDef.meta) {
|
|
103
|
+
meta[fieldName] = fieldName;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
93
106
|
this.meta = meta;
|
|
94
107
|
// 3. Build relationships - resolve Models from registry at serialisation time
|
|
95
108
|
const relationships = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor.based.serialiser.js","sourceRoot":"","sources":["../../../../src/core/jsonapi/serialisers/descriptor.based.serialiser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"descriptor.based.serialiser.js","sourceRoot":"","sources":["../../../../src/core/jsonapi/serialisers/descriptor.based.serialiser.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export declare class JsonApiPaginator {
|
|
|
9
9
|
private _includedFields;
|
|
10
10
|
private _includeSpecified;
|
|
11
11
|
private _fetchAll;
|
|
12
|
+
private _total?;
|
|
12
13
|
constructor(query?: any);
|
|
13
14
|
set forceNext(forceNext: string);
|
|
14
15
|
generateLinks(data: any[], url: string): {
|
|
@@ -24,6 +25,8 @@ export declare class JsonApiPaginator {
|
|
|
24
25
|
get includedType(): string[];
|
|
25
26
|
get includeSpecified(): boolean;
|
|
26
27
|
get fetchAll(): boolean;
|
|
28
|
+
get total(): number | undefined;
|
|
29
|
+
set total(value: number | undefined);
|
|
27
30
|
generateCursor(): JsonApiCursorInterface | undefined;
|
|
28
31
|
}
|
|
29
32
|
//# sourceMappingURL=jsonapi.paginator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonapi.paginator.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/serialisers/jsonapi.paginator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,WAAW,CAMjB;IACF,OAAO,CAAC,iBAAiB,CAAc;IAEvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,SAAS,CAAkB;
|
|
1
|
+
{"version":3,"file":"jsonapi.paginator.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/serialisers/jsonapi.paginator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,WAAW,CAMjB;IACF,OAAO,CAAC,iBAAiB,CAAc;IAEvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,KAAK,CAAC,EAAE,GAAG;IAwCvB,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,EAE9B;IAED,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAsD3F,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IASnC,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,UAAU,IAAI,0BAA0B,CAE3C;IAED,IAAI,cAAc,IAAI,qBAAqB,EAAE,CAE5C;IAED,IAAI,YAAY,IAAI,MAAM,EAAE,CAE3B;IAED,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAElC;IAED,cAAc,IAAI,sBAAsB,GAAG,SAAS;CAYrD"}
|
|
@@ -168,6 +168,12 @@ class JsonApiPaginator {
|
|
|
168
168
|
get fetchAll() {
|
|
169
169
|
return this._fetchAll;
|
|
170
170
|
}
|
|
171
|
+
get total() {
|
|
172
|
+
return this._total;
|
|
173
|
+
}
|
|
174
|
+
set total(value) {
|
|
175
|
+
this._total = value;
|
|
176
|
+
}
|
|
171
177
|
generateCursor() {
|
|
172
178
|
if (this._fetchAll) {
|
|
173
179
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonapi.paginator.js","sourceRoot":"","sources":["../../../../src/core/jsonapi/serialisers/jsonapi.paginator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AAKzB,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"jsonapi.paginator.js","sourceRoot":"","sources":["../../../../src/core/jsonapi/serialisers/jsonapi.paginator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonapi.service.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/services/jsonapi.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAsB,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5C,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC9C;AAED,qBACa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,iBAAiB,EAAE,wBAAwB,EAC3C,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAGpE,OAAO,KAAK,SAAS,GAEpB;IAEK,WAAW,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBnF,SAAS,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAC/C,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,GAAG,EAAE,EACd,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,GAAG,CAAC;IAUf,OAAO,CAAC,cAAc;IAqBhB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,oBAAoB,EAC/C,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EACb,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"jsonapi.service.d.ts","sourceRoot":"","sources":["../../../../src/core/jsonapi/services/jsonapi.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAsB,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5C,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC9C;AAED,qBACa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,iBAAiB,EAAE,wBAAwB,EAC3C,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAGpE,OAAO,KAAK,SAAS,GAEpB;IAEK,WAAW,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBnF,SAAS,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAC/C,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,GAAG,EAAE,EACd,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,GAAG,CAAC;IAUf,OAAO,CAAC,cAAc;IAqBhB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,oBAAoB,EAC/C,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EACb,OAAO,EAAE,CAAC,EACV,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;YAiDlB,aAAa;YAsKb,qBAAqB;IA6EnC;;;OAGG;IACH,OAAO,CAAC,+BAA+B;CAoBxC"}
|
|
@@ -62,6 +62,12 @@ let JsonApiService = class JsonApiService {
|
|
|
62
62
|
},
|
|
63
63
|
data: undefined,
|
|
64
64
|
};
|
|
65
|
+
// Add meta.total - check CLS first (auto-computed by Neo4jService), then paginator (manually set)
|
|
66
|
+
const queryTotal = this.clsService?.get("queryTotal");
|
|
67
|
+
const total = queryTotal ?? paginator?.total;
|
|
68
|
+
if (total !== undefined) {
|
|
69
|
+
response.meta = { total };
|
|
70
|
+
}
|
|
65
71
|
if (paginator && Array.isArray(data)) {
|
|
66
72
|
if (url) {
|
|
67
73
|
const links = paginator.generateLinks(data, url);
|