@contember/engine-system-api 0.12.0-beta.1 → 1.0.0-alpha.10
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/SystemContainer.d.ts +15 -14
- package/dist/src/SystemContainer.d.ts.map +1 -1
- package/dist/src/SystemContainer.js +7 -11
- package/dist/src/SystemContainer.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/model/ProjectInitializer.d.ts.map +1 -1
- package/dist/src/model/ProjectInitializer.js +7 -17
- package/dist/src/model/ProjectInitializer.js.map +1 -1
- package/dist/src/model/ProjectTruncateExecutor.js +3 -3
- package/dist/src/model/ProjectTruncateExecutor.js.map +1 -1
- package/dist/src/model/authorization/AuthorizationActions.d.ts +0 -20
- package/dist/src/model/authorization/AuthorizationActions.d.ts.map +1 -1
- package/dist/src/model/authorization/AuthorizationActions.js +0 -5
- package/dist/src/model/authorization/AuthorizationActions.js.map +1 -1
- package/dist/src/model/authorization/StagePermissionsFactory.d.ts.map +1 -1
- package/dist/src/model/authorization/StagePermissionsFactory.js +1 -21
- package/dist/src/model/authorization/StagePermissionsFactory.js.map +1 -1
- package/dist/src/model/commands/migrations/ModifyMigrationCommand.js +1 -1
- package/dist/src/model/commands/migrations/ModifyMigrationCommand.js.map +1 -1
- package/dist/src/model/commands/migrations/SaveMigrationCommand.js +1 -1
- package/dist/src/model/commands/migrations/SaveMigrationCommand.js.map +1 -1
- package/dist/src/model/commands/stages/CreateOrUpdateStageCommand.d.ts.map +1 -1
- package/dist/src/model/commands/stages/CreateOrUpdateStageCommand.js +2 -3
- package/dist/src/model/commands/stages/CreateOrUpdateStageCommand.js.map +1 -1
- package/dist/src/model/commands/stages/index.d.ts +0 -1
- package/dist/src/model/commands/stages/index.d.ts.map +1 -1
- package/dist/src/model/commands/stages/index.js +0 -1
- package/dist/src/model/commands/stages/index.js.map +1 -1
- package/dist/src/model/database/DatabaseContext.js +1 -1
- package/dist/src/model/database/DatabaseContext.js.map +1 -1
- package/dist/src/model/dependencies/content/index.d.ts +0 -1
- package/dist/src/model/dependencies/content/index.d.ts.map +1 -1
- package/dist/src/model/dependencies/content/index.js +0 -1
- package/dist/src/model/dependencies/content/index.js.map +1 -1
- package/dist/src/model/dependencies/index.d.ts +1 -0
- package/dist/src/model/dependencies/index.d.ts.map +1 -1
- package/dist/src/model/dependencies/index.js +1 -0
- package/dist/src/model/dependencies/index.js.map +1 -1
- package/dist/src/model/dependencies/tenant/IdentityFetcher.d.ts +2 -1
- package/dist/src/model/dependencies/tenant/IdentityFetcher.d.ts.map +1 -1
- package/dist/src/model/dependencies/tenant/index.d.ts +2 -0
- package/dist/src/model/dependencies/tenant/index.d.ts.map +1 -0
- package/dist/src/model/{events/dependency → dependencies/tenant}/index.js +1 -5
- package/dist/src/model/dependencies/tenant/index.js.map +1 -0
- package/dist/src/model/events/EventResponseBuilder.d.ts +11 -0
- package/dist/src/model/events/EventResponseBuilder.d.ts.map +1 -0
- package/dist/src/model/events/{HistoryEventResponseBuilder.js → EventResponseBuilder.js} +19 -18
- package/dist/src/model/events/EventResponseBuilder.js.map +1 -0
- package/dist/src/model/events/EventResponseHelper.d.ts +3 -3
- package/dist/src/model/events/EventResponseHelper.js +3 -3
- package/dist/src/model/events/EventResponseHelper.js.map +1 -1
- package/dist/src/model/events/identityUtils.js +1 -1
- package/dist/src/model/events/identityUtils.js.map +1 -1
- package/dist/src/model/events/index.d.ts +1 -5
- package/dist/src/model/events/index.d.ts.map +1 -1
- package/dist/src/model/events/index.js +1 -5
- package/dist/src/model/events/index.js.map +1 -1
- package/dist/src/model/helpers/modelHelpers.js +1 -1
- package/dist/src/model/helpers/modelHelpers.js.map +1 -1
- package/dist/src/model/migrations/MigrationExecutor.d.ts.map +1 -1
- package/dist/src/model/migrations/MigrationExecutor.js +2 -2
- package/dist/src/model/migrations/MigrationExecutor.js.map +1 -1
- package/dist/src/model/migrations/ProjectMigrator.d.ts.map +1 -1
- package/dist/src/model/migrations/ProjectMigrator.js +6 -12
- package/dist/src/model/migrations/ProjectMigrator.js.map +1 -1
- package/dist/src/model/migrations/SchemaVersionBuilder.js +2 -2
- package/dist/src/model/migrations/SchemaVersionBuilder.js.map +1 -1
- package/dist/src/model/queries/events/EventQueryHelpers.d.ts +4 -3
- package/dist/src/model/queries/events/EventQueryHelpers.d.ts.map +1 -1
- package/dist/src/model/queries/events/EventQueryHelpers.js +4 -5
- package/dist/src/model/queries/events/EventQueryHelpers.js.map +1 -1
- package/dist/src/model/queries/events/EventsQuery.d.ts +12 -0
- package/dist/src/model/queries/events/EventsQuery.d.ts.map +1 -0
- package/dist/src/model/queries/events/EventsQuery.js +88 -0
- package/dist/src/model/queries/events/EventsQuery.js.map +1 -0
- package/dist/src/model/queries/events/OldValuesQuery.d.ts +7 -0
- package/dist/src/model/queries/events/OldValuesQuery.d.ts.map +1 -0
- package/dist/src/model/queries/events/OldValuesQuery.js +25 -0
- package/dist/src/model/queries/events/OldValuesQuery.js.map +1 -0
- package/dist/src/model/queries/events/index.d.ts +2 -0
- package/dist/src/model/queries/events/index.d.ts.map +1 -1
- package/dist/src/model/queries/events/index.js +2 -0
- package/dist/src/model/queries/events/index.js.map +1 -1
- package/dist/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js +2 -2
- package/dist/src/model/queries/migrations/ExecutedMigrationByVersionQuery.js.map +1 -1
- package/dist/src/model/queries/migrations/ExecutedMigrationsQuery.js +1 -1
- package/dist/src/model/queries/migrations/ExecutedMigrationsQuery.js.map +1 -1
- package/dist/src/model/queries/stages/StageBySlugQuery.js +1 -1
- package/dist/src/model/queries/stages/StageBySlugQuery.js.map +1 -1
- package/dist/src/model/queries/stages/StageQueryFactory.d.ts.map +1 -1
- package/dist/src/model/queries/stages/StageQueryFactory.js +0 -1
- package/dist/src/model/queries/stages/StageQueryFactory.js.map +1 -1
- package/dist/src/model/stages/StageCreator.d.ts +1 -2
- package/dist/src/model/stages/StageCreator.d.ts.map +1 -1
- package/dist/src/model/stages/StageCreator.js +2 -10
- package/dist/src/model/stages/StageCreator.js.map +1 -1
- package/dist/src/model/stages/index.d.ts +0 -1
- package/dist/src/model/stages/index.d.ts.map +1 -1
- package/dist/src/model/stages/index.js +0 -1
- package/dist/src/model/stages/index.js.map +1 -1
- package/dist/src/resolvers/ResolverContext.d.ts +4 -3
- package/dist/src/resolvers/ResolverContext.d.ts.map +1 -1
- package/dist/src/resolvers/ResolverContext.js +2 -2
- package/dist/src/resolvers/ResolverContext.js.map +1 -1
- package/dist/src/resolvers/ResolverFactory.d.ts +7 -11
- package/dist/src/resolvers/ResolverFactory.d.ts.map +1 -1
- package/dist/src/resolvers/ResolverFactory.js +21 -14
- package/dist/src/resolvers/ResolverFactory.js.map +1 -1
- package/dist/src/resolvers/mutation/MigrateMutationResolver.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/MigrateMutationResolver.js +3 -2
- package/dist/src/resolvers/mutation/MigrateMutationResolver.js.map +1 -1
- package/dist/src/resolvers/mutation/index.d.ts +1 -0
- package/dist/src/resolvers/mutation/index.d.ts.map +1 -1
- package/dist/src/resolvers/mutation/index.js +1 -0
- package/dist/src/resolvers/mutation/index.js.map +1 -1
- package/dist/src/resolvers/query/EventsQueryResolver.d.ts +11 -0
- package/dist/src/resolvers/query/EventsQueryResolver.d.ts.map +1 -0
- package/dist/src/resolvers/query/EventsQueryResolver.js +26 -0
- package/dist/src/resolvers/query/EventsQueryResolver.js.map +1 -0
- package/dist/src/resolvers/query/index.d.ts +1 -0
- package/dist/src/resolvers/query/index.d.ts.map +1 -1
- package/dist/src/resolvers/query/index.js +1 -0
- package/dist/src/resolvers/query/index.js.map +1 -1
- package/dist/src/resolvers/types/EventOldValuesResolver.d.ts +6 -0
- package/dist/src/resolvers/types/EventOldValuesResolver.d.ts.map +1 -0
- package/dist/src/resolvers/types/EventOldValuesResolver.js +11 -0
- package/dist/src/resolvers/types/EventOldValuesResolver.js.map +1 -0
- package/dist/src/resolvers/types/OldValuesHelpers.d.ts +3 -0
- package/dist/src/resolvers/types/OldValuesHelpers.d.ts.map +1 -0
- package/dist/src/resolvers/types/OldValuesHelpers.js +10 -0
- package/dist/src/resolvers/types/OldValuesHelpers.js.map +1 -0
- package/dist/src/resolvers/types/index.d.ts +2 -0
- package/dist/src/resolvers/types/index.d.ts.map +1 -0
- package/dist/src/resolvers/types/index.js +14 -0
- package/dist/src/resolvers/types/index.js.map +1 -0
- package/dist/src/schema/dev.graphql.js +1 -1
- package/dist/src/schema/dev.graphql.js.map +1 -1
- package/dist/src/schema/system.graphql.d.ts.map +1 -1
- package/dist/src/schema/system.graphql.js +47 -43
- package/dist/src/schema/system.graphql.js.map +1 -1
- package/dist/src/schema/types.d.ts +142 -169
- package/dist/src/schema/types.d.ts.map +1 -1
- package/dist/src/schema/types.js +14 -12
- package/dist/src/schema/types.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types.d.ts +0 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/batchQuery.js +1 -1
- package/dist/src/utils/batchQuery.js.map +1 -1
- package/dist/tests/cases/integration/systemApi/projectInitializer.test.js +1 -1
- package/dist/tests/cases/integration/systemApi/projectInitializer.test.js.map +1 -1
- package/dist/tests/src/asserts.js +1 -1
- package/dist/tests/src/asserts.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/migrations/2020-05-06-150000-composed-primary.js +4 -4
- package/migrations/2020-05-06-150000-composed-primary.test.js +3 -3
- package/migrations/2020-06-01-103000-event-trigger-perf.js +1 -1
- package/migrations/2020-06-01-103000-event-trigger-perf.test.js +3 -3
- package/migrations/2021-05-07-155800-event-log-rework.js +1 -1
- package/migrations/2021-05-19-1232000-event-log-fix-constraint.js +1 -1
- package/migrations/2021-12-21-155500-events-up.sql +6 -0
- package/migrations/index.js +1 -1
- package/migrations/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -15
- package/src/SystemContainer.ts +18 -26
- package/src/index.ts +0 -1
- package/src/model/ProjectInitializer.ts +5 -16
- package/src/model/authorization/AuthorizationActions.ts +0 -8
- package/src/model/authorization/StagePermissionsFactory.ts +0 -21
- package/src/model/commands/stages/CreateOrUpdateStageCommand.ts +1 -2
- package/src/model/commands/stages/index.ts +0 -1
- package/src/model/dependencies/content/index.ts +0 -1
- package/src/model/dependencies/index.ts +1 -0
- package/src/model/dependencies/tenant/IdentityFetcher.ts +3 -1
- package/src/model/dependencies/tenant/index.ts +1 -0
- package/src/model/events/{HistoryEventResponseBuilder.ts → EventResponseBuilder.ts} +13 -17
- package/src/model/events/EventResponseHelper.ts +3 -3
- package/src/model/events/index.ts +1 -5
- package/src/model/migrations/MigrationExecutor.ts +0 -2
- package/src/model/migrations/ProjectMigrator.ts +5 -11
- package/src/model/migrations/SchemaVersionBuilder.ts +1 -1
- package/src/model/queries/events/EventQueryHelpers.ts +15 -12
- package/src/model/queries/events/EventsQuery.ts +105 -0
- package/src/model/queries/events/OldValuesQuery.ts +23 -0
- package/src/model/queries/events/index.ts +2 -0
- package/src/model/queries/stages/StageQueryFactory.ts +0 -1
- package/src/model/stages/StageCreator.ts +1 -12
- package/src/model/stages/index.ts +0 -1
- package/src/resolvers/ResolverContext.ts +5 -4
- package/src/resolvers/ResolverFactory.ts +27 -37
- package/src/resolvers/mutation/MigrateMutationResolver.ts +4 -3
- package/src/resolvers/mutation/index.ts +1 -0
- package/src/resolvers/query/EventsQueryResolver.ts +42 -0
- package/src/resolvers/query/index.ts +1 -0
- package/src/resolvers/types/EventOldValuesResolver.ts +13 -0
- package/src/resolvers/types/OldValuesHelpers.ts +11 -0
- package/src/resolvers/types/index.ts +1 -0
- package/src/schema/system.graphql.ts +46 -42
- package/src/schema/types.ts +143 -175
- package/src/types.ts +0 -1
- package/tests/src/asserts.ts +1 -1
- package/dist/src/model/commands/stages/UpdateStageEventCommand.d.ts +0 -8
- package/dist/src/model/commands/stages/UpdateStageEventCommand.d.ts.map +0 -1
- package/dist/src/model/commands/stages/UpdateStageEventCommand.js +0 -21
- package/dist/src/model/commands/stages/UpdateStageEventCommand.js.map +0 -1
- package/dist/src/model/dependencies/content/ContentEventsApplier.d.ts +0 -23
- package/dist/src/model/dependencies/content/ContentEventsApplier.d.ts.map +0 -1
- package/dist/src/model/dependencies/content/ContentEventsApplier.js +0 -3
- package/dist/src/model/dependencies/content/ContentEventsApplier.js.map +0 -1
- package/dist/src/model/events/DependencyBuilder.d.ts +0 -8
- package/dist/src/model/events/DependencyBuilder.d.ts.map +0 -1
- package/dist/src/model/events/DependencyBuilder.js +0 -3
- package/dist/src/model/events/DependencyBuilder.js.map +0 -1
- package/dist/src/model/events/DiffBuilder.d.ts +0 -48
- package/dist/src/model/events/DiffBuilder.d.ts.map +0 -1
- package/dist/src/model/events/DiffBuilder.js +0 -95
- package/dist/src/model/events/DiffBuilder.js.map +0 -1
- package/dist/src/model/events/EventFilterValidator.d.ts +0 -12
- package/dist/src/model/events/EventFilterValidator.d.ts.map +0 -1
- package/dist/src/model/events/EventFilterValidator.js +0 -50
- package/dist/src/model/events/EventFilterValidator.js.map +0 -1
- package/dist/src/model/events/HistoryEventResponseBuilder.d.ts +0 -10
- package/dist/src/model/events/HistoryEventResponseBuilder.d.ts.map +0 -1
- package/dist/src/model/events/HistoryEventResponseBuilder.js.map +0 -1
- package/dist/src/model/events/TableReferencingResolver.d.ts +0 -8
- package/dist/src/model/events/TableReferencingResolver.d.ts.map +0 -1
- package/dist/src/model/events/TableReferencingResolver.js +0 -31
- package/dist/src/model/events/TableReferencingResolver.js.map +0 -1
- package/dist/src/model/events/dependency/CreatedRowReferenceDependencyBuilder.d.ts +0 -19
- package/dist/src/model/events/dependency/CreatedRowReferenceDependencyBuilder.d.ts.map +0 -1
- package/dist/src/model/events/dependency/CreatedRowReferenceDependencyBuilder.js +0 -79
- package/dist/src/model/events/dependency/CreatedRowReferenceDependencyBuilder.js.map +0 -1
- package/dist/src/model/events/dependency/DeletedRowReferenceDependencyBuilder.d.ts +0 -17
- package/dist/src/model/events/dependency/DeletedRowReferenceDependencyBuilder.d.ts.map +0 -1
- package/dist/src/model/events/dependency/DeletedRowReferenceDependencyBuilder.js +0 -76
- package/dist/src/model/events/dependency/DeletedRowReferenceDependencyBuilder.js.map +0 -1
- package/dist/src/model/events/dependency/DependencyBuilderList.d.ts +0 -9
- package/dist/src/model/events/dependency/DependencyBuilderList.d.ts.map +0 -1
- package/dist/src/model/events/dependency/DependencyBuilderList.js +0 -20
- package/dist/src/model/events/dependency/DependencyBuilderList.js.map +0 -1
- package/dist/src/model/events/dependency/SameRowDependencyBuilder.d.ts +0 -16
- package/dist/src/model/events/dependency/SameRowDependencyBuilder.d.ts.map +0 -1
- package/dist/src/model/events/dependency/SameRowDependencyBuilder.js +0 -38
- package/dist/src/model/events/dependency/SameRowDependencyBuilder.js.map +0 -1
- package/dist/src/model/events/dependency/TransactionDependencyBuilder.d.ts +0 -15
- package/dist/src/model/events/dependency/TransactionDependencyBuilder.d.ts.map +0 -1
- package/dist/src/model/events/dependency/TransactionDependencyBuilder.js +0 -30
- package/dist/src/model/events/dependency/TransactionDependencyBuilder.js.map +0 -1
- package/dist/src/model/events/dependency/index.d.ts +0 -6
- package/dist/src/model/events/dependency/index.d.ts.map +0 -1
- package/dist/src/model/events/dependency/index.js.map +0 -1
- package/dist/src/model/stages/StageTree.d.ts +0 -14
- package/dist/src/model/stages/StageTree.d.ts.map +0 -1
- package/dist/src/model/stages/StageTree.js +0 -38
- package/dist/src/model/stages/StageTree.js.map +0 -1
- package/dist/src/resolvers/helpers/StageFetchHelper.d.ts +0 -22
- package/dist/src/resolvers/helpers/StageFetchHelper.d.ts.map +0 -1
- package/dist/src/resolvers/helpers/StageFetchHelper.js +0 -45
- package/dist/src/resolvers/helpers/StageFetchHelper.js.map +0 -1
- package/dist/tests/cases/unit/events/createdRowReference.test.d.ts +0 -2
- package/dist/tests/cases/unit/events/createdRowReference.test.d.ts.map +0 -1
- package/dist/tests/cases/unit/events/createdRowReference.test.js +0 -138
- package/dist/tests/cases/unit/events/createdRowReference.test.js.map +0 -1
- package/dist/tests/cases/unit/events/deletedRowReference.test.d.ts +0 -2
- package/dist/tests/cases/unit/events/deletedRowReference.test.d.ts.map +0 -1
- package/dist/tests/cases/unit/events/deletedRowReference.test.js +0 -103
- package/dist/tests/cases/unit/events/deletedRowReference.test.js.map +0 -1
- package/dist/tests/cases/unit/events/sameRowDependency.test.d.ts +0 -2
- package/dist/tests/cases/unit/events/sameRowDependency.test.d.ts.map +0 -1
- package/dist/tests/cases/unit/events/sameRowDependency.test.js +0 -63
- package/dist/tests/cases/unit/events/sameRowDependency.test.js.map +0 -1
- package/dist/tests/cases/unit/events/transactionDependency.test.d.ts +0 -2
- package/dist/tests/cases/unit/events/transactionDependency.test.d.ts.map +0 -1
- package/dist/tests/cases/unit/events/transactionDependency.test.js +0 -62
- package/dist/tests/cases/unit/events/transactionDependency.test.js.map +0 -1
- package/src/model/commands/stages/UpdateStageEventCommand.ts +0 -16
- package/src/model/dependencies/content/ContentEventsApplier.ts +0 -27
- package/src/model/events/DependencyBuilder.ts +0 -9
- package/src/model/events/DiffBuilder.ts +0 -150
- package/src/model/events/EventFilterValidator.ts +0 -52
- package/src/model/events/TableReferencingResolver.ts +0 -45
- package/src/model/events/dependency/CreatedRowReferenceDependencyBuilder.ts +0 -80
- package/src/model/events/dependency/DeletedRowReferenceDependencyBuilder.ts +0 -75
- package/src/model/events/dependency/DependencyBuilderList.ts +0 -18
- package/src/model/events/dependency/SameRowDependencyBuilder.ts +0 -36
- package/src/model/events/dependency/TransactionDependencyBuilder.ts +0 -31
- package/src/model/events/dependency/index.ts +0 -5
- package/src/model/stages/StageTree.ts +0 -36
- package/src/resolvers/helpers/StageFetchHelper.ts +0 -48
- package/tests/cases/unit/events/createdRowReference.test.ts +0 -131
- package/tests/cases/unit/events/deletedRowReference.test.ts +0 -95
- package/tests/cases/unit/events/sameRowDependency.test.ts +0 -48
- package/tests/cases/unit/events/transactionDependency.test.ts +0 -47
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { suite } from 'uvu'
|
|
2
|
-
import { CreatedRowReferenceDependencyBuilder } from '../../../../src/model/events/dependency'
|
|
3
|
-
import { SchemaBuilder } from '@contember/schema-definition'
|
|
4
|
-
import { emptySchema } from '@contember/schema-utils'
|
|
5
|
-
import { CreateEvent, UpdateEvent } from '@contember/engine-common'
|
|
6
|
-
import { testUuid } from '@contember/engine-api-tester'
|
|
7
|
-
import { unnamedIdentity } from '../../../../src'
|
|
8
|
-
import * as assert from '../../../src/asserts'
|
|
9
|
-
|
|
10
|
-
const test = suite('Created row reference dependency builder')
|
|
11
|
-
|
|
12
|
-
const now = new Date('2020-10-28 10:00')
|
|
13
|
-
|
|
14
|
-
test('basic reference', async () => {
|
|
15
|
-
const model = new SchemaBuilder()
|
|
16
|
-
.entity('Post', e => e.column('title').manyHasOne('author', r => r.target('Author')))
|
|
17
|
-
.entity('Author', e => e.column('name'))
|
|
18
|
-
.buildSchema()
|
|
19
|
-
const dependencyBuilder = new CreatedRowReferenceDependencyBuilder()
|
|
20
|
-
const authorEventId = testUuid(10)
|
|
21
|
-
const authorEntityId = testUuid(11)
|
|
22
|
-
const trxId = testUuid(500)
|
|
23
|
-
const postEventId = testUuid(20)
|
|
24
|
-
const events = [
|
|
25
|
-
new CreateEvent(authorEventId, now, unnamedIdentity, trxId, [authorEntityId], 'author', {
|
|
26
|
-
name: 'John doe',
|
|
27
|
-
}),
|
|
28
|
-
new CreateEvent(postEventId, now, unnamedIdentity, trxId, [postEventId], 'post', {
|
|
29
|
-
title: 'foo',
|
|
30
|
-
author_id: authorEntityId,
|
|
31
|
-
}),
|
|
32
|
-
]
|
|
33
|
-
const deps = await dependencyBuilder.build({ ...emptySchema, model }, events)
|
|
34
|
-
assert.is(deps.size, 1)
|
|
35
|
-
assert.ok(deps.has(postEventId))
|
|
36
|
-
assert.not.ok(deps.has(authorEventId))
|
|
37
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
38
|
-
const postDeps = deps.get(postEventId)!
|
|
39
|
-
assert.is(postDeps.size, 1)
|
|
40
|
-
assert.ok(postDeps.has(authorEventId))
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
test('uuid collision in different table', async () => {
|
|
44
|
-
const model = new SchemaBuilder()
|
|
45
|
-
.entity('Post', e => e.column('title').manyHasOne('author', r => r.target('Author')))
|
|
46
|
-
.entity('Author', e => e.column('name'))
|
|
47
|
-
.buildSchema()
|
|
48
|
-
const dependencyBuilder = new CreatedRowReferenceDependencyBuilder()
|
|
49
|
-
const authorEventId = testUuid(10)
|
|
50
|
-
const authorEntityId = testUuid(11)
|
|
51
|
-
const trxId = testUuid(500)
|
|
52
|
-
const postEventId = testUuid(20)
|
|
53
|
-
const events = [
|
|
54
|
-
new CreateEvent(authorEventId, now, unnamedIdentity, trxId, [authorEntityId], 'authorXXX', {}),
|
|
55
|
-
new CreateEvent(postEventId, now, unnamedIdentity, trxId, [postEventId], 'post', {
|
|
56
|
-
title: 'foo',
|
|
57
|
-
author_id: authorEntityId,
|
|
58
|
-
}),
|
|
59
|
-
]
|
|
60
|
-
const deps = await dependencyBuilder.build({ ...emptySchema, model }, events)
|
|
61
|
-
assert.is(deps.size, 0)
|
|
62
|
-
})
|
|
63
|
-
|
|
64
|
-
test('update of created row', async () => {
|
|
65
|
-
const model = new SchemaBuilder()
|
|
66
|
-
.entity('Post', e => e.column('title').manyHasOne('author', r => r.target('Author')))
|
|
67
|
-
.entity('Author', e => e.column('name'))
|
|
68
|
-
.buildSchema()
|
|
69
|
-
const dependencyBuilder = new CreatedRowReferenceDependencyBuilder()
|
|
70
|
-
const authorEventId = testUuid(10)
|
|
71
|
-
const authorEventId2 = testUuid(12)
|
|
72
|
-
const authorEntityId = testUuid(11)
|
|
73
|
-
const trxId = testUuid(500)
|
|
74
|
-
const postEventId = testUuid(20)
|
|
75
|
-
const events = [
|
|
76
|
-
new CreateEvent(authorEventId, now, unnamedIdentity, trxId, [authorEntityId], 'author', {
|
|
77
|
-
name: 'John doe',
|
|
78
|
-
}),
|
|
79
|
-
new UpdateEvent(authorEventId2, now, unnamedIdentity, trxId, [authorEntityId], 'author', {
|
|
80
|
-
name: 'Jack black',
|
|
81
|
-
}),
|
|
82
|
-
new CreateEvent(postEventId, now, unnamedIdentity, trxId, [postEventId], 'post', {
|
|
83
|
-
title: 'foo',
|
|
84
|
-
author_id: authorEntityId,
|
|
85
|
-
}),
|
|
86
|
-
]
|
|
87
|
-
const deps = await dependencyBuilder.build({ ...emptySchema, model }, events)
|
|
88
|
-
assert.is(deps.size, 1)
|
|
89
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
90
|
-
const postDeps = deps.get(postEventId)!
|
|
91
|
-
assert.is(postDeps.size, 1)
|
|
92
|
-
assert.ok(postDeps.has(authorEventId2))
|
|
93
|
-
})
|
|
94
|
-
|
|
95
|
-
test('junction table', async () => {
|
|
96
|
-
const model = new SchemaBuilder()
|
|
97
|
-
.entity('Post', e => e.column('title').manyHasMany('categories', r => r.target('Category')))
|
|
98
|
-
.entity('Category', e => e.column('name'))
|
|
99
|
-
.buildSchema()
|
|
100
|
-
const dependencyBuilder = new CreatedRowReferenceDependencyBuilder()
|
|
101
|
-
const categoryEventId = testUuid(10)
|
|
102
|
-
const trxId = testUuid(500)
|
|
103
|
-
const postEventId = testUuid(20)
|
|
104
|
-
const junctionEventId = testUuid(30)
|
|
105
|
-
const events = [
|
|
106
|
-
new CreateEvent(categoryEventId, now, unnamedIdentity, trxId, [categoryEventId], 'category', {
|
|
107
|
-
name: 'lorem',
|
|
108
|
-
}),
|
|
109
|
-
new CreateEvent(postEventId, now, unnamedIdentity, trxId, [postEventId], 'post', {
|
|
110
|
-
title: 'foo',
|
|
111
|
-
}),
|
|
112
|
-
new CreateEvent(
|
|
113
|
-
junctionEventId,
|
|
114
|
-
now,
|
|
115
|
-
unnamedIdentity,
|
|
116
|
-
trxId,
|
|
117
|
-
[postEventId, categoryEventId],
|
|
118
|
-
'post_categories',
|
|
119
|
-
{},
|
|
120
|
-
),
|
|
121
|
-
]
|
|
122
|
-
const deps = await dependencyBuilder.build({ ...emptySchema, model }, events)
|
|
123
|
-
assert.is(deps.size, 1)
|
|
124
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
125
|
-
const junctionDeps = deps.get(junctionEventId)!
|
|
126
|
-
assert.is(junctionDeps.size, 2)
|
|
127
|
-
assert.ok(junctionDeps.has(categoryEventId))
|
|
128
|
-
assert.ok(junctionDeps.has(postEventId))
|
|
129
|
-
})
|
|
130
|
-
|
|
131
|
-
test.run()
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { suite } from 'uvu'
|
|
2
|
-
import { DeletedRowReferenceDependencyBuilder } from '../../../../src/model/events/dependency'
|
|
3
|
-
import { SchemaBuilder } from '@contember/schema-definition'
|
|
4
|
-
import { emptySchema } from '@contember/schema-utils'
|
|
5
|
-
import { CreateEvent, DeleteEvent, UpdateEvent } from '@contember/engine-common'
|
|
6
|
-
import { testUuid } from '@contember/engine-api-tester'
|
|
7
|
-
import { unnamedIdentity } from '../../../../src'
|
|
8
|
-
import * as assert from '../../../src/asserts'
|
|
9
|
-
|
|
10
|
-
const test = suite('Deleted row reference dependency builder')
|
|
11
|
-
|
|
12
|
-
const now = new Date('2020-10-28 10:00')
|
|
13
|
-
|
|
14
|
-
test('basic reference', async () => {
|
|
15
|
-
const model = new SchemaBuilder()
|
|
16
|
-
.entity('Post', e => e.column('title').manyHasOne('author', r => r.target('Author')))
|
|
17
|
-
.entity('Author', e => e.column('name'))
|
|
18
|
-
.buildSchema()
|
|
19
|
-
const dependencyBuilder = new DeletedRowReferenceDependencyBuilder()
|
|
20
|
-
const authorEventId = testUuid(10)
|
|
21
|
-
const authorEntityId = testUuid(11)
|
|
22
|
-
const trxId = testUuid(500)
|
|
23
|
-
const postEventId = testUuid(20)
|
|
24
|
-
const events = [
|
|
25
|
-
new UpdateEvent(postEventId, now, unnamedIdentity, trxId, [postEventId], 'post', {
|
|
26
|
-
author_id: authorEntityId,
|
|
27
|
-
}),
|
|
28
|
-
new DeleteEvent(authorEventId, now, unnamedIdentity, trxId, [authorEntityId], 'author'),
|
|
29
|
-
]
|
|
30
|
-
const deps = await dependencyBuilder.build({ ...emptySchema, model }, events)
|
|
31
|
-
assert.is(deps.size, 1)
|
|
32
|
-
assert.ok(deps.has(authorEventId))
|
|
33
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
34
|
-
const authorDeps = deps.get(authorEventId)!
|
|
35
|
-
assert.is(authorDeps.size, 1)
|
|
36
|
-
assert.ok(authorDeps.has(postEventId))
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
-
test('uuid collision in different table', async () => {
|
|
40
|
-
const model = new SchemaBuilder()
|
|
41
|
-
.entity('Post', e => e.column('title').manyHasOne('author', r => r.target('Author')))
|
|
42
|
-
.entity('Author', e => e.column('name'))
|
|
43
|
-
.buildSchema()
|
|
44
|
-
const dependencyBuilder = new DeletedRowReferenceDependencyBuilder()
|
|
45
|
-
const authorEventId = testUuid(10)
|
|
46
|
-
const authorEntityId = testUuid(11)
|
|
47
|
-
const trxId = testUuid(500)
|
|
48
|
-
const postEventId = testUuid(20)
|
|
49
|
-
const events = [
|
|
50
|
-
new UpdateEvent(postEventId, now, unnamedIdentity, trxId, [postEventId], 'post', {
|
|
51
|
-
author_id: authorEntityId,
|
|
52
|
-
}),
|
|
53
|
-
new DeleteEvent(authorEventId, now, unnamedIdentity, trxId, [authorEntityId], 'authorX'),
|
|
54
|
-
]
|
|
55
|
-
const deps = await dependencyBuilder.build({ ...emptySchema, model }, events)
|
|
56
|
-
assert.is(deps.size, 0)
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
test('junction table', async () => {
|
|
60
|
-
const model = new SchemaBuilder()
|
|
61
|
-
.entity('Post', e => e.column('title').manyHasMany('categories', r => r.target('Category')))
|
|
62
|
-
.entity('Category', e => e.column('name'))
|
|
63
|
-
.buildSchema()
|
|
64
|
-
const dependencyBuilder = new DeletedRowReferenceDependencyBuilder()
|
|
65
|
-
const categoryEventId = testUuid(10)
|
|
66
|
-
const trxId = testUuid(500)
|
|
67
|
-
const postEventId = testUuid(20)
|
|
68
|
-
const junctionEventId = testUuid(30)
|
|
69
|
-
const events = [
|
|
70
|
-
new CreateEvent(
|
|
71
|
-
junctionEventId,
|
|
72
|
-
now,
|
|
73
|
-
unnamedIdentity,
|
|
74
|
-
trxId,
|
|
75
|
-
[postEventId, categoryEventId],
|
|
76
|
-
'post_categories',
|
|
77
|
-
{},
|
|
78
|
-
),
|
|
79
|
-
new DeleteEvent(categoryEventId, now, unnamedIdentity, trxId, [categoryEventId], 'category'),
|
|
80
|
-
new DeleteEvent(postEventId, now, unnamedIdentity, trxId, [postEventId], 'post'),
|
|
81
|
-
]
|
|
82
|
-
const deps = await dependencyBuilder.build({ ...emptySchema, model }, events)
|
|
83
|
-
assert.is(deps.size, 2)
|
|
84
|
-
assert.ok(deps.has(categoryEventId))
|
|
85
|
-
assert.ok(deps.has(postEventId))
|
|
86
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
87
|
-
const categoryEventDeps = deps.get(categoryEventId)!
|
|
88
|
-
assert.is(categoryEventDeps.size, 1)
|
|
89
|
-
assert.ok(categoryEventDeps.has(junctionEventId))
|
|
90
|
-
const postEventDeps = deps.get(postEventId)!
|
|
91
|
-
assert.is(postEventDeps.size, 1)
|
|
92
|
-
assert.ok(postEventDeps.has(junctionEventId))
|
|
93
|
-
})
|
|
94
|
-
|
|
95
|
-
test.run()
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { suite } from 'uvu'
|
|
2
|
-
import { SameRowDependencyBuilder, TransactionDependencyBuilder } from '../../../../src/model/events/dependency'
|
|
3
|
-
import { SchemaBuilder } from '@contember/schema-definition'
|
|
4
|
-
import { emptySchema } from '@contember/schema-utils'
|
|
5
|
-
import { UpdateEvent } from '@contember/engine-common'
|
|
6
|
-
import { testUuid } from '@contember/engine-api-tester'
|
|
7
|
-
import { unnamedIdentity } from '../../../../src'
|
|
8
|
-
import * as assert from '../../../src/asserts'
|
|
9
|
-
|
|
10
|
-
const test = suite('Same row dependency builder')
|
|
11
|
-
|
|
12
|
-
const now = new Date('2020-10-28 10:00')
|
|
13
|
-
|
|
14
|
-
test('basic deps', async () => {
|
|
15
|
-
const model = new SchemaBuilder().entity('Author', e => e.column('name')).buildSchema()
|
|
16
|
-
|
|
17
|
-
const dependencyBuilder = new SameRowDependencyBuilder()
|
|
18
|
-
const event1 = testUuid(30)
|
|
19
|
-
const event2 = testUuid(31)
|
|
20
|
-
const event3 = testUuid(32)
|
|
21
|
-
const authorEntityId = testUuid(10)
|
|
22
|
-
|
|
23
|
-
const trxId1 = testUuid(500)
|
|
24
|
-
const events = [
|
|
25
|
-
new UpdateEvent(event1, now, unnamedIdentity, trxId1, [authorEntityId], 'author', {}),
|
|
26
|
-
new UpdateEvent(event2, now, unnamedIdentity, trxId1, [authorEntityId], 'author', {}),
|
|
27
|
-
new UpdateEvent(event3, now, unnamedIdentity, trxId1, [authorEntityId], 'author', {}),
|
|
28
|
-
]
|
|
29
|
-
const deps = await dependencyBuilder.build({ ...emptySchema, model }, events)
|
|
30
|
-
assert.is(deps.size, 3)
|
|
31
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
32
|
-
const event1deps = deps.get(event1)!
|
|
33
|
-
// it also includes self-dep
|
|
34
|
-
assert.is(event1deps.size, 3)
|
|
35
|
-
assert.ok(event1deps.has(event2))
|
|
36
|
-
assert.ok(event1deps.has(event3))
|
|
37
|
-
const event2deps = deps.get(event2)!
|
|
38
|
-
assert.is(event2deps.size, 3)
|
|
39
|
-
assert.ok(event2deps.has(event1))
|
|
40
|
-
assert.ok(event2deps.has(event3))
|
|
41
|
-
|
|
42
|
-
const event3deps = deps.get(event3)!
|
|
43
|
-
assert.is(event3deps.size, 3)
|
|
44
|
-
assert.ok(event3deps.has(event1))
|
|
45
|
-
assert.ok(event3deps.has(event2))
|
|
46
|
-
})
|
|
47
|
-
|
|
48
|
-
test.run()
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { suite } from 'uvu'
|
|
2
|
-
import { TransactionDependencyBuilder } from '../../../../src/model/events/dependency'
|
|
3
|
-
import { SchemaBuilder } from '@contember/schema-definition'
|
|
4
|
-
import { emptySchema } from '@contember/schema-utils'
|
|
5
|
-
import { UpdateEvent } from '@contember/engine-common'
|
|
6
|
-
import { testUuid } from '@contember/engine-api-tester'
|
|
7
|
-
import { unnamedIdentity } from '../../../../src'
|
|
8
|
-
import * as assert from '../../../src/asserts'
|
|
9
|
-
|
|
10
|
-
const test = suite('Same transaction dependency builder')
|
|
11
|
-
|
|
12
|
-
const now = new Date('2020-10-28 10:00')
|
|
13
|
-
|
|
14
|
-
test('basic deps', async () => {
|
|
15
|
-
const model = new SchemaBuilder().entity('Author', e => e.column('name')).buildSchema()
|
|
16
|
-
|
|
17
|
-
const dependencyBuilder = new TransactionDependencyBuilder()
|
|
18
|
-
const event1 = testUuid(30)
|
|
19
|
-
const event2 = testUuid(31)
|
|
20
|
-
const event3 = testUuid(32)
|
|
21
|
-
const authorEntityId = testUuid(10)
|
|
22
|
-
|
|
23
|
-
const trxId1 = testUuid(500)
|
|
24
|
-
const trxId2 = testUuid(501)
|
|
25
|
-
const events = [
|
|
26
|
-
new UpdateEvent(event1, now, unnamedIdentity, trxId1, [authorEntityId], 'author', {}),
|
|
27
|
-
new UpdateEvent(event2, now, unnamedIdentity, trxId1, [authorEntityId], 'author', {}),
|
|
28
|
-
new UpdateEvent(event3, now, unnamedIdentity, trxId2, [authorEntityId], 'author', {}),
|
|
29
|
-
]
|
|
30
|
-
const deps = await dependencyBuilder.build({ ...emptySchema, model }, events)
|
|
31
|
-
assert.is(deps.size, 3)
|
|
32
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
33
|
-
const event1deps = deps.get(event1)!
|
|
34
|
-
// it also includes self-dep
|
|
35
|
-
assert.is(event1deps.size, 2)
|
|
36
|
-
assert.ok(event1deps.has(event2))
|
|
37
|
-
const event2deps = deps.get(event2)!
|
|
38
|
-
assert.is(event2deps.size, 2)
|
|
39
|
-
assert.ok(event2deps.has(event1))
|
|
40
|
-
|
|
41
|
-
const event3deps = deps.get(event3)!
|
|
42
|
-
assert.is(event3deps.size, 1)
|
|
43
|
-
assert.not.ok(event3deps.has(event1))
|
|
44
|
-
assert.not.ok(event3deps.has(event2))
|
|
45
|
-
})
|
|
46
|
-
|
|
47
|
-
test.run()
|