@finos/legend-extension-dsl-persistence 0.0.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/LICENSE +201 -0
- package/README.md +3 -0
- package/lib/DSLPersistence_Extension.d.ts +22 -0
- package/lib/DSLPersistence_Extension.d.ts.map +1 -0
- package/lib/DSLPersistence_Extension.js +31 -0
- package/lib/DSLPersistence_Extension.js.map +1 -0
- package/lib/components/studio/DSLPersistence_LegendStudioPlugin.d.ts +27 -0
- package/lib/components/studio/DSLPersistence_LegendStudioPlugin.d.ts.map +1 -0
- package/lib/components/studio/DSLPersistence_LegendStudioPlugin.js +84 -0
- package/lib/components/studio/DSLPersistence_LegendStudioPlugin.js.map +1 -0
- package/lib/graph/DSLPersistence_PureGraphPlugin.d.ts +22 -0
- package/lib/graph/DSLPersistence_PureGraphPlugin.d.ts.map +1 -0
- package/lib/graph/DSLPersistence_PureGraphPlugin.js +27 -0
- package/lib/graph/DSLPersistence_PureGraphPlugin.js.map +1 -0
- package/lib/graphManager/DSLPersistence_GraphManagerHelper.d.ts +19 -0
- package/lib/graphManager/DSLPersistence_GraphManagerHelper.d.ts.map +1 -0
- package/lib/graphManager/DSLPersistence_GraphManagerHelper.js +18 -0
- package/lib/graphManager/DSLPersistence_GraphManagerHelper.js.map +1 -0
- package/lib/graphManager/DSLPersistence_PureGraphManagerPlugin.d.ts +24 -0
- package/lib/graphManager/DSLPersistence_PureGraphManagerPlugin.d.ts.map +1 -0
- package/lib/graphManager/DSLPersistence_PureGraphManagerPlugin.js +53 -0
- package/lib/graphManager/DSLPersistence_PureGraphManagerPlugin.js.map +1 -0
- package/lib/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.d.ts +18 -0
- package/lib/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.d.ts.map +1 -0
- package/lib/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.js +30 -0
- package/lib/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.js.map +1 -0
- package/lib/index.css +17 -0
- package/lib/index.css.map +1 -0
- package/lib/index.d.ts +18 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +18 -0
- package/lib/index.js.map +1 -0
- package/lib/models/DSLPersistence_ModelUtils.d.ts +52 -0
- package/lib/models/DSLPersistence_ModelUtils.d.ts.map +1 -0
- package/lib/models/DSLPersistence_ModelUtils.js +65 -0
- package/lib/models/DSLPersistence_ModelUtils.js.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Auditing.d.ts +27 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Auditing.d.ts.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Auditing.js +34 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Auditing.js.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.d.ts +34 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.d.ts.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.js +50 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.js.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.d.ts +57 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.d.ts.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.js +98 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.js.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.d.ts +28 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.d.ts.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.js +36 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.js.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.d.ts +58 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.d.ts.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.js +97 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.js.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Notifier.d.ts +32 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Notifier.d.ts.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Notifier.js +44 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Notifier.js.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence.d.ts +30 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence.d.ts.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence.js +39 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence.js.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persister.d.ts +33 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persister.d.ts.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persister.js +42 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persister.js.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Sink.d.ts +30 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Sink.d.ts.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Sink.js +40 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Sink.js.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.d.ts +46 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.d.ts.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.js +68 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.js.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.d.ts +31 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.d.ts.map +1 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.js +42 -0
- package/lib/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.js.map +1 -0
- package/lib/models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin.d.ts +26 -0
- package/lib/models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin.d.ts.map +1 -0
- package/lib/models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin.js +90 -0
- package/lib/models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.d.ts +27 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.js +34 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.d.ts +34 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.js +50 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.d.ts +57 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.js +98 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.d.ts +28 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.js +36 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.d.ts +58 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.js +97 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.d.ts +32 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.js +44 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.d.ts +30 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.js +39 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.d.ts +33 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.js +42 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.d.ts +30 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.js +40 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.d.ts +45 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.js +68 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.js.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.d.ts +31 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.js +42 -0
- package/lib/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.d.ts +98 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.js +343 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.d.ts +101 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.js +347 -0
- package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.js.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.d.ts +24 -0
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.d.ts.map +1 -0
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.js +565 -0
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.js.map +1 -0
- package/lib/package.json +77 -0
- package/package.json +77 -0
- package/src/DSLPersistence_Extension.ts +36 -0
- package/src/components/studio/DSLPersistence_LegendStudioPlugin.tsx +120 -0
- package/src/graph/DSLPersistence_PureGraphPlugin.ts +30 -0
- package/src/graphManager/DSLPersistence_GraphManagerHelper.ts +25 -0
- package/src/graphManager/DSLPersistence_PureGraphManagerPlugin.ts +68 -0
- package/src/graphManager/action/changeDetection/DSLPersistence_ObserverHelper.ts +39 -0
- package/src/index.ts +18 -0
- package/src/models/DSLPersistence_ModelUtils.ts +76 -0
- package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Auditing.ts +39 -0
- package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_DeduplicationStrategy.ts +70 -0
- package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_IngestMode.ts +123 -0
- package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_MergeStrategy.ts +44 -0
- package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Milestoning.ts +136 -0
- package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Notifier.ts +52 -0
- package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence.ts +52 -0
- package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persister.ts +51 -0
- package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Sink.ts +51 -0
- package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_TargetShape.ts +78 -0
- package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.ts +47 -0
- package/src/models/protocols/pure/DSLPersistence_PureProtocolProcessorPlugin.ts +138 -0
- package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Auditing.ts +39 -0
- package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_DeduplicationStrategy.ts +70 -0
- package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_IngestMode.ts +123 -0
- package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_MergeStrategy.ts +47 -0
- package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Milestoning.ts +136 -0
- package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Notifier.ts +52 -0
- package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence.ts +50 -0
- package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Persister.ts +51 -0
- package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Sink.ts +47 -0
- package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_TargetShape.ts +77 -0
- package/src/models/protocols/pure/v1/model/packageableElements/persistence/V1_DSLPersistence_Trigger.ts +47 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_PersistenceTransformer.ts +604 -0
- package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_PersistenceBuilder.ts +616 -0
- package/src/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper.ts +971 -0
- package/tsconfig.json +85 -0
- package/tsconfig.package.json +41 -0
package/src/models/metamodels/pure/model/packageableElements/persistence/DSLPersistence_Trigger.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../DSLPersistence_ModelUtils';
|
|
18
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
|
+
|
|
20
|
+
export abstract class Trigger implements Hashable {
|
|
21
|
+
abstract get hashCode(): string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class ManualTrigger extends Trigger implements Hashable {
|
|
25
|
+
override get hashCode(): string {
|
|
26
|
+
return hashArray([PERSISTENCE_HASH_STRUCTURE.MANUAL_TRIGGER]);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export class CronTrigger extends Trigger implements Hashable {
|
|
31
|
+
minutes!: string;
|
|
32
|
+
hours!: string;
|
|
33
|
+
dayOfMonth!: string;
|
|
34
|
+
month!: string;
|
|
35
|
+
dayOfWeek!: string;
|
|
36
|
+
|
|
37
|
+
override get hashCode(): string {
|
|
38
|
+
return hashArray([
|
|
39
|
+
PERSISTENCE_HASH_STRUCTURE.CRON_TRIGGER,
|
|
40
|
+
this.minutes,
|
|
41
|
+
this.hours,
|
|
42
|
+
this.dayOfMonth,
|
|
43
|
+
this.month,
|
|
44
|
+
this.dayOfWeek,
|
|
45
|
+
]);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import packageJson from '../../../../package.json';
|
|
18
|
+
|
|
19
|
+
import { Persistence } from '../../metamodels/pure/model/packageableElements/persistence/DSLPersistence_Persistence';
|
|
20
|
+
import { V1_Persistence } from './v1/model/packageableElements/persistence/V1_DSLPersistence_Persistence';
|
|
21
|
+
import {
|
|
22
|
+
V1_PERSISTENCE_ELEMENT_PROTOCOL_TYPE,
|
|
23
|
+
V1_persistenceModelSchema,
|
|
24
|
+
} from './v1/transformation/pureProtocol/V1_DSLPersistence_ProtocolHelper';
|
|
25
|
+
import { V1_buildPersistence } from './v1/transformation/pureGraph/to/V1_PersistenceBuilder';
|
|
26
|
+
import { V1_transformPersistence } from './v1/transformation/pureGraph/from/V1_PersistenceTransformer';
|
|
27
|
+
import {
|
|
28
|
+
type PackageableElement,
|
|
29
|
+
PureProtocolProcessorPlugin,
|
|
30
|
+
V1_ElementBuilder,
|
|
31
|
+
type V1_ElementProtocolClassifierPathGetter,
|
|
32
|
+
type V1_ElementProtocolDeserializer,
|
|
33
|
+
type V1_ElementProtocolSerializer,
|
|
34
|
+
type V1_ElementTransformer,
|
|
35
|
+
type V1_GraphBuilderContext,
|
|
36
|
+
type V1_GraphTransformerContext,
|
|
37
|
+
type V1_PackageableElement,
|
|
38
|
+
} from '@finos/legend-graph';
|
|
39
|
+
import { assertType, type PlainObject } from '@finos/legend-shared';
|
|
40
|
+
import { deserialize, serialize } from 'serializr';
|
|
41
|
+
|
|
42
|
+
export const PERSISTENCE_ELEMENT_CLASSIFIER_PATH =
|
|
43
|
+
'meta::pure::persistence::metamodel::Persistence';
|
|
44
|
+
|
|
45
|
+
export class DSLPersistence_PureProtocolProcessorPlugin extends PureProtocolProcessorPlugin {
|
|
46
|
+
constructor() {
|
|
47
|
+
super(
|
|
48
|
+
packageJson.extensions.pureProtocolProcessorPlugin,
|
|
49
|
+
packageJson.version,
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
override V1_getExtraElementBuilders(): V1_ElementBuilder<V1_PackageableElement>[] {
|
|
54
|
+
return [
|
|
55
|
+
new V1_ElementBuilder<V1_Persistence>({
|
|
56
|
+
elementClassName: 'Persistence',
|
|
57
|
+
_class: V1_Persistence,
|
|
58
|
+
firstPass: (
|
|
59
|
+
elementProtocol: V1_PackageableElement,
|
|
60
|
+
context: V1_GraphBuilderContext,
|
|
61
|
+
): PackageableElement => {
|
|
62
|
+
assertType(elementProtocol, V1_Persistence);
|
|
63
|
+
const element = new Persistence(elementProtocol.name);
|
|
64
|
+
const path = context.currentSubGraph.buildPath(
|
|
65
|
+
elementProtocol.package,
|
|
66
|
+
elementProtocol.name,
|
|
67
|
+
);
|
|
68
|
+
context.currentSubGraph.setOwnElementInExtension(
|
|
69
|
+
path,
|
|
70
|
+
element,
|
|
71
|
+
Persistence,
|
|
72
|
+
);
|
|
73
|
+
return element;
|
|
74
|
+
},
|
|
75
|
+
secondPass: (
|
|
76
|
+
elementProtocol: V1_PackageableElement,
|
|
77
|
+
context: V1_GraphBuilderContext,
|
|
78
|
+
): void => {
|
|
79
|
+
assertType(elementProtocol, V1_Persistence);
|
|
80
|
+
V1_buildPersistence(elementProtocol, context);
|
|
81
|
+
},
|
|
82
|
+
}),
|
|
83
|
+
];
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
override V1_getExtraElementClassifierPathGetters(): V1_ElementProtocolClassifierPathGetter[] {
|
|
87
|
+
return [
|
|
88
|
+
(elementProtocol: V1_PackageableElement): string | undefined => {
|
|
89
|
+
if (elementProtocol instanceof V1_Persistence) {
|
|
90
|
+
return PERSISTENCE_ELEMENT_CLASSIFIER_PATH;
|
|
91
|
+
}
|
|
92
|
+
return undefined;
|
|
93
|
+
},
|
|
94
|
+
];
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
override V1_getExtraElementProtocolSerializers(): V1_ElementProtocolSerializer[] {
|
|
98
|
+
return [
|
|
99
|
+
(
|
|
100
|
+
elementProtocol: V1_PackageableElement,
|
|
101
|
+
plugins: PureProtocolProcessorPlugin[],
|
|
102
|
+
): PlainObject<V1_PackageableElement> | undefined => {
|
|
103
|
+
if (elementProtocol instanceof V1_Persistence) {
|
|
104
|
+
return serialize(V1_persistenceModelSchema(plugins), elementProtocol);
|
|
105
|
+
}
|
|
106
|
+
return undefined;
|
|
107
|
+
},
|
|
108
|
+
];
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
override V1_getExtraElementProtocolDeserializers(): V1_ElementProtocolDeserializer[] {
|
|
112
|
+
return [
|
|
113
|
+
(
|
|
114
|
+
json: PlainObject<V1_PackageableElement>,
|
|
115
|
+
plugins: PureProtocolProcessorPlugin[],
|
|
116
|
+
): V1_PackageableElement | undefined => {
|
|
117
|
+
if (json._type === V1_PERSISTENCE_ELEMENT_PROTOCOL_TYPE) {
|
|
118
|
+
return deserialize(V1_persistenceModelSchema(plugins), json);
|
|
119
|
+
}
|
|
120
|
+
return undefined;
|
|
121
|
+
},
|
|
122
|
+
];
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
override V1_getExtraElementTransformers(): V1_ElementTransformer[] {
|
|
126
|
+
return [
|
|
127
|
+
(
|
|
128
|
+
metamodel: PackageableElement,
|
|
129
|
+
context: V1_GraphTransformerContext,
|
|
130
|
+
): V1_PackageableElement | undefined => {
|
|
131
|
+
if (metamodel instanceof Persistence) {
|
|
132
|
+
return V1_transformPersistence(metamodel, context);
|
|
133
|
+
}
|
|
134
|
+
return undefined;
|
|
135
|
+
},
|
|
136
|
+
];
|
|
137
|
+
}
|
|
138
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../../DSLPersistence_ModelUtils';
|
|
18
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
|
+
|
|
20
|
+
export abstract class V1_Auditing implements Hashable {
|
|
21
|
+
abstract get hashCode(): string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class V1_NoAuditing extends V1_Auditing implements Hashable {
|
|
25
|
+
override get hashCode(): string {
|
|
26
|
+
return hashArray([PERSISTENCE_HASH_STRUCTURE.NO_AUDITING]);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export class V1_DateTimeAuditing extends V1_Auditing implements Hashable {
|
|
31
|
+
dateTimeField!: string;
|
|
32
|
+
|
|
33
|
+
override get hashCode(): string {
|
|
34
|
+
return hashArray([
|
|
35
|
+
PERSISTENCE_HASH_STRUCTURE.DATE_TIME_AUDITING,
|
|
36
|
+
this.dateTimeField,
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../../DSLPersistence_ModelUtils';
|
|
18
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
|
+
|
|
20
|
+
export abstract class V1_DeduplicationStrategy implements Hashable {
|
|
21
|
+
abstract get hashCode(): string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class V1_NoDeduplicationStrategy
|
|
25
|
+
extends V1_DeduplicationStrategy
|
|
26
|
+
implements Hashable
|
|
27
|
+
{
|
|
28
|
+
override get hashCode(): string {
|
|
29
|
+
return hashArray([PERSISTENCE_HASH_STRUCTURE.NO_DEDUPLICATION_STRATEGY]);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export class V1_AnyVersionDeduplicationStrategy
|
|
34
|
+
extends V1_DeduplicationStrategy
|
|
35
|
+
implements Hashable
|
|
36
|
+
{
|
|
37
|
+
override get hashCode(): string {
|
|
38
|
+
return hashArray([
|
|
39
|
+
PERSISTENCE_HASH_STRUCTURE.ANY_VERSION_DEDUPLICATION_STRATEGY,
|
|
40
|
+
]);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export class V1_MaxVersionDeduplicationStrategy
|
|
45
|
+
extends V1_DeduplicationStrategy
|
|
46
|
+
implements Hashable
|
|
47
|
+
{
|
|
48
|
+
versionField!: string;
|
|
49
|
+
|
|
50
|
+
override get hashCode(): string {
|
|
51
|
+
return hashArray([
|
|
52
|
+
PERSISTENCE_HASH_STRUCTURE.MAX_VERSION_DEDUPLICATION_STRATEGY,
|
|
53
|
+
this.versionField,
|
|
54
|
+
]);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export class V1_DuplicateCountDeduplicationStrategy
|
|
59
|
+
extends V1_DeduplicationStrategy
|
|
60
|
+
implements Hashable
|
|
61
|
+
{
|
|
62
|
+
duplicateCountName!: string;
|
|
63
|
+
|
|
64
|
+
override get hashCode(): string {
|
|
65
|
+
return hashArray([
|
|
66
|
+
PERSISTENCE_HASH_STRUCTURE.DUPLICATE_COUNT_DEDUPLICATION_STRATEGY,
|
|
67
|
+
this.duplicateCountName,
|
|
68
|
+
]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import type { V1_Auditing } from './V1_DSLPersistence_Auditing';
|
|
18
|
+
import type { V1_MergeStrategy } from './V1_DSLPersistence_MergeStrategy';
|
|
19
|
+
import type {
|
|
20
|
+
V1_TransactionMilestoning,
|
|
21
|
+
V1_ValidityMilestoning,
|
|
22
|
+
} from './V1_DSLPersistence_Milestoning';
|
|
23
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../../DSLPersistence_ModelUtils';
|
|
24
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
25
|
+
|
|
26
|
+
export abstract class V1_IngestMode implements Hashable {
|
|
27
|
+
abstract get hashCode(): string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// snapshot
|
|
31
|
+
|
|
32
|
+
export class V1_NontemporalSnapshot extends V1_IngestMode implements Hashable {
|
|
33
|
+
auditing!: V1_Auditing;
|
|
34
|
+
|
|
35
|
+
override get hashCode(): string {
|
|
36
|
+
return hashArray([
|
|
37
|
+
PERSISTENCE_HASH_STRUCTURE.NONTEMPORAL_SNAPSHOT,
|
|
38
|
+
this.auditing,
|
|
39
|
+
]);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export class V1_UnitemporalSnapshot extends V1_IngestMode implements Hashable {
|
|
44
|
+
transactionMilestoning!: V1_TransactionMilestoning;
|
|
45
|
+
|
|
46
|
+
override get hashCode(): string {
|
|
47
|
+
return hashArray([
|
|
48
|
+
PERSISTENCE_HASH_STRUCTURE.UNITEMPORAL_SNAPSHOT,
|
|
49
|
+
this.transactionMilestoning,
|
|
50
|
+
]);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export class V1_BitemporalSnapshot extends V1_IngestMode implements Hashable {
|
|
55
|
+
transactionMilestoning!: V1_TransactionMilestoning;
|
|
56
|
+
validityMilestoning!: V1_ValidityMilestoning;
|
|
57
|
+
|
|
58
|
+
override get hashCode(): string {
|
|
59
|
+
return hashArray([
|
|
60
|
+
PERSISTENCE_HASH_STRUCTURE.BITEMPORAL_SNAPSHOT,
|
|
61
|
+
this.transactionMilestoning,
|
|
62
|
+
this.validityMilestoning,
|
|
63
|
+
]);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// delta
|
|
68
|
+
|
|
69
|
+
export class V1_NontemporalDelta extends V1_IngestMode implements Hashable {
|
|
70
|
+
mergeStrategy!: V1_MergeStrategy;
|
|
71
|
+
auditing!: V1_Auditing;
|
|
72
|
+
|
|
73
|
+
override get hashCode(): string {
|
|
74
|
+
return hashArray([
|
|
75
|
+
PERSISTENCE_HASH_STRUCTURE.NONTEMPORAL_DELTA,
|
|
76
|
+
this.mergeStrategy,
|
|
77
|
+
this.auditing,
|
|
78
|
+
]);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export class V1_UnitemporalDelta extends V1_IngestMode implements Hashable {
|
|
83
|
+
mergeStrategy!: V1_MergeStrategy;
|
|
84
|
+
transactionMilestoning!: V1_TransactionMilestoning;
|
|
85
|
+
|
|
86
|
+
override get hashCode(): string {
|
|
87
|
+
return hashArray([
|
|
88
|
+
PERSISTENCE_HASH_STRUCTURE.UNITEMPORAL_DELTA,
|
|
89
|
+
this.mergeStrategy,
|
|
90
|
+
this.transactionMilestoning,
|
|
91
|
+
]);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export class V1_BitemporalDelta extends V1_IngestMode implements Hashable {
|
|
96
|
+
mergeStrategy!: V1_MergeStrategy;
|
|
97
|
+
transactionMilestoning!: V1_TransactionMilestoning;
|
|
98
|
+
validityMilestoning!: V1_ValidityMilestoning;
|
|
99
|
+
|
|
100
|
+
override get hashCode(): string {
|
|
101
|
+
return hashArray([
|
|
102
|
+
PERSISTENCE_HASH_STRUCTURE.BITEMPORAL_DELTA,
|
|
103
|
+
this.mergeStrategy,
|
|
104
|
+
this.transactionMilestoning,
|
|
105
|
+
this.validityMilestoning,
|
|
106
|
+
]);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// append only
|
|
111
|
+
|
|
112
|
+
export class V1_AppendOnly extends V1_IngestMode implements Hashable {
|
|
113
|
+
auditing!: V1_Auditing;
|
|
114
|
+
filterDuplicates!: boolean;
|
|
115
|
+
|
|
116
|
+
override get hashCode(): string {
|
|
117
|
+
return hashArray([
|
|
118
|
+
PERSISTENCE_HASH_STRUCTURE.APPEND_ONLY,
|
|
119
|
+
this.auditing,
|
|
120
|
+
this.filterDuplicates.toString(),
|
|
121
|
+
]);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../../DSLPersistence_ModelUtils';
|
|
18
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
|
+
|
|
20
|
+
export abstract class V1_MergeStrategy implements Hashable {
|
|
21
|
+
abstract get hashCode(): string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class V1_NoDeletesMergeStrategy
|
|
25
|
+
extends V1_MergeStrategy
|
|
26
|
+
implements Hashable
|
|
27
|
+
{
|
|
28
|
+
override get hashCode(): string {
|
|
29
|
+
return hashArray([PERSISTENCE_HASH_STRUCTURE.NO_DELETES_MERGE_STRATEGY]);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export class V1_DeleteIndicatorMergeStrategy
|
|
34
|
+
extends V1_MergeStrategy
|
|
35
|
+
implements Hashable
|
|
36
|
+
{
|
|
37
|
+
deleteField!: string;
|
|
38
|
+
deleteValues: string[] = [];
|
|
39
|
+
|
|
40
|
+
override get hashCode(): string {
|
|
41
|
+
return hashArray([
|
|
42
|
+
PERSISTENCE_HASH_STRUCTURE.DELETE_INDICATOR_MERGE_STRATEGY,
|
|
43
|
+
this.deleteField,
|
|
44
|
+
hashArray(this.deleteValues),
|
|
45
|
+
]);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../../DSLPersistence_ModelUtils';
|
|
18
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
|
+
|
|
20
|
+
// transaction milestoning
|
|
21
|
+
|
|
22
|
+
export abstract class V1_TransactionMilestoning implements Hashable {
|
|
23
|
+
abstract get hashCode(): string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export class V1_BatchIdTransactionMilestoning
|
|
27
|
+
extends V1_TransactionMilestoning
|
|
28
|
+
implements Hashable
|
|
29
|
+
{
|
|
30
|
+
batchIdInName!: string;
|
|
31
|
+
batchIdOutName!: string;
|
|
32
|
+
|
|
33
|
+
override get hashCode(): string {
|
|
34
|
+
return hashArray([
|
|
35
|
+
PERSISTENCE_HASH_STRUCTURE.BATCH_ID_TRANSACTION_MILESTONING,
|
|
36
|
+
this.batchIdInName,
|
|
37
|
+
this.batchIdOutName,
|
|
38
|
+
]);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export class V1_DateTimeTransactionMilestoning
|
|
43
|
+
extends V1_TransactionMilestoning
|
|
44
|
+
implements Hashable
|
|
45
|
+
{
|
|
46
|
+
dateTimeInName!: string;
|
|
47
|
+
dateTimeOutName!: string;
|
|
48
|
+
|
|
49
|
+
override get hashCode(): string {
|
|
50
|
+
return hashArray([
|
|
51
|
+
PERSISTENCE_HASH_STRUCTURE.DATE_TIME_TRANSACTION_MILESTONING,
|
|
52
|
+
this.dateTimeInName,
|
|
53
|
+
this.dateTimeOutName,
|
|
54
|
+
]);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export class V1_BatchIdAndDateTimeTransactionMilestoning
|
|
59
|
+
extends V1_TransactionMilestoning
|
|
60
|
+
implements Hashable
|
|
61
|
+
{
|
|
62
|
+
batchIdInName!: string;
|
|
63
|
+
batchIdOutName!: string;
|
|
64
|
+
dateTimeInName!: string;
|
|
65
|
+
dateTimeOutName!: string;
|
|
66
|
+
|
|
67
|
+
override get hashCode(): string {
|
|
68
|
+
return hashArray([
|
|
69
|
+
PERSISTENCE_HASH_STRUCTURE.BATCH_ID_AND_DATE_TIME_TRANSACTION_MILESTONING,
|
|
70
|
+
this.batchIdInName,
|
|
71
|
+
this.batchIdOutName,
|
|
72
|
+
this.dateTimeInName,
|
|
73
|
+
this.dateTimeOutName,
|
|
74
|
+
]);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// validity milestoning
|
|
79
|
+
|
|
80
|
+
export abstract class V1_ValidityMilestoning implements Hashable {
|
|
81
|
+
abstract get hashCode(): string;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export class V1_DateTimeValidityMilestoning
|
|
85
|
+
extends V1_ValidityMilestoning
|
|
86
|
+
implements Hashable
|
|
87
|
+
{
|
|
88
|
+
dateTimeFromName!: string;
|
|
89
|
+
dateTimeThruName!: string;
|
|
90
|
+
derivation!: V1_ValidityDerivation;
|
|
91
|
+
|
|
92
|
+
override get hashCode(): string {
|
|
93
|
+
return hashArray([
|
|
94
|
+
PERSISTENCE_HASH_STRUCTURE.DATE_TIME_VALIDITY_MILESTONING,
|
|
95
|
+
this.dateTimeFromName,
|
|
96
|
+
this.dateTimeThruName,
|
|
97
|
+
this.derivation,
|
|
98
|
+
]);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// validity derivation
|
|
103
|
+
|
|
104
|
+
export abstract class V1_ValidityDerivation implements Hashable {
|
|
105
|
+
abstract get hashCode(): string;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export class V1_SourceSpecifiesFromDateTime
|
|
109
|
+
extends V1_ValidityDerivation
|
|
110
|
+
implements Hashable
|
|
111
|
+
{
|
|
112
|
+
sourceDateTimeFromField!: string;
|
|
113
|
+
|
|
114
|
+
override get hashCode(): string {
|
|
115
|
+
return hashArray([
|
|
116
|
+
PERSISTENCE_HASH_STRUCTURE.SOURCE_SPECIFIES_FROM_DATE_TIME,
|
|
117
|
+
this.sourceDateTimeFromField,
|
|
118
|
+
]);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export class V1_SourceSpecifiesFromAndThruDateTime
|
|
123
|
+
extends V1_ValidityDerivation
|
|
124
|
+
implements Hashable
|
|
125
|
+
{
|
|
126
|
+
sourceDateTimeFromField!: string;
|
|
127
|
+
sourceDateTimeThruField!: string;
|
|
128
|
+
|
|
129
|
+
override get hashCode(): string {
|
|
130
|
+
return hashArray([
|
|
131
|
+
PERSISTENCE_HASH_STRUCTURE.SOURCE_SPECIFIES_FROM_AND_THRU_DATE_TIME,
|
|
132
|
+
this.sourceDateTimeFromField,
|
|
133
|
+
this.sourceDateTimeThruField,
|
|
134
|
+
]);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { PERSISTENCE_HASH_STRUCTURE } from '../../../../../../DSLPersistence_ModelUtils';
|
|
18
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
19
|
+
|
|
20
|
+
export class V1_Notifier implements Hashable {
|
|
21
|
+
notifyees: V1_Notifyee[] = [];
|
|
22
|
+
|
|
23
|
+
get hashCode(): string {
|
|
24
|
+
return hashArray([
|
|
25
|
+
PERSISTENCE_HASH_STRUCTURE.NOTIFIER,
|
|
26
|
+
hashArray(this.notifyees),
|
|
27
|
+
]);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export abstract class V1_Notifyee implements Hashable {
|
|
32
|
+
abstract get hashCode(): string;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export class V1_EmailNotifyee extends V1_Notifyee implements Hashable {
|
|
36
|
+
address!: string;
|
|
37
|
+
|
|
38
|
+
override get hashCode(): string {
|
|
39
|
+
return hashArray([PERSISTENCE_HASH_STRUCTURE.EMAIL_NOTIFYEE, this.address]);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export class V1_PagerDutyNotifyee extends V1_Notifyee implements Hashable {
|
|
44
|
+
url!: string;
|
|
45
|
+
|
|
46
|
+
override get hashCode(): string {
|
|
47
|
+
return hashArray([
|
|
48
|
+
PERSISTENCE_HASH_STRUCTURE.PAGER_DUTY_NOTIFYEE,
|
|
49
|
+
this.url,
|
|
50
|
+
]);
|
|
51
|
+
}
|
|
52
|
+
}
|