@finos/legend-graph 31.7.3 → 31.8.0

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.
Files changed (116) hide show
  1. package/lib/graph/Core_HashUtils.d.ts +1 -0
  2. package/lib/graph/Core_HashUtils.d.ts.map +1 -1
  3. package/lib/graph/Core_HashUtils.js +1 -0
  4. package/lib/graph/Core_HashUtils.js.map +1 -1
  5. package/lib/graph/metamodel/pure/packageableElements/domain/DefaultValue.d.ts +26 -0
  6. package/lib/graph/metamodel/pure/packageableElements/domain/DefaultValue.d.ts.map +1 -0
  7. package/lib/graph/metamodel/pure/packageableElements/domain/DefaultValue.js +32 -0
  8. package/lib/graph/metamodel/pure/packageableElements/domain/DefaultValue.js.map +1 -0
  9. package/lib/graph/metamodel/pure/packageableElements/domain/DerivedProperty.d.ts +1 -0
  10. package/lib/graph/metamodel/pure/packageableElements/domain/DerivedProperty.d.ts.map +1 -1
  11. package/lib/graph/metamodel/pure/packageableElements/domain/DerivedProperty.js +1 -0
  12. package/lib/graph/metamodel/pure/packageableElements/domain/DerivedProperty.js.map +1 -1
  13. package/lib/graph/metamodel/pure/packageableElements/domain/Property.d.ts +2 -0
  14. package/lib/graph/metamodel/pure/packageableElements/domain/Property.d.ts.map +1 -1
  15. package/lib/graph/metamodel/pure/packageableElements/domain/Property.js +2 -0
  16. package/lib/graph/metamodel/pure/packageableElements/domain/Property.js.map +1 -1
  17. package/lib/graph/metamodel/pure/packageableElements/function/FunctionActivator.d.ts +2 -0
  18. package/lib/graph/metamodel/pure/packageableElements/function/FunctionActivator.d.ts.map +1 -1
  19. package/lib/graph/metamodel/pure/packageableElements/function/FunctionActivator.js +1 -0
  20. package/lib/graph/metamodel/pure/packageableElements/function/FunctionActivator.js.map +1 -1
  21. package/lib/graph/metamodel/pure/packageableElements/function/Ownership.d.ts +33 -0
  22. package/lib/graph/metamodel/pure/packageableElements/function/Ownership.d.ts.map +1 -0
  23. package/lib/graph/metamodel/pure/packageableElements/function/Ownership.js +47 -0
  24. package/lib/graph/metamodel/pure/packageableElements/function/Ownership.js.map +1 -0
  25. package/lib/graph/metamodel/pure/packageableElements/function/SnowflakeApp.d.ts +2 -1
  26. package/lib/graph/metamodel/pure/packageableElements/function/SnowflakeApp.d.ts.map +1 -1
  27. package/lib/graph/metamodel/pure/packageableElements/function/SnowflakeApp.js +1 -2
  28. package/lib/graph/metamodel/pure/packageableElements/function/SnowflakeApp.js.map +1 -1
  29. package/lib/graph-manager/action/changeDetection/DSL_FunctionActivatorObserverHelper.d.ts +2 -0
  30. package/lib/graph-manager/action/changeDetection/DSL_FunctionActivatorObserverHelper.d.ts.map +1 -1
  31. package/lib/graph-manager/action/changeDetection/DSL_FunctionActivatorObserverHelper.js +8 -1
  32. package/lib/graph-manager/action/changeDetection/DSL_FunctionActivatorObserverHelper.js.map +1 -1
  33. package/lib/graph-manager/action/changeDetection/DomainObserverHelper.js +1 -1
  34. package/lib/graph-manager/action/changeDetection/DomainObserverHelper.js.map +1 -1
  35. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_DefaultValue.d.ts +26 -0
  36. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_DefaultValue.d.ts.map +1 -0
  37. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_DefaultValue.js +32 -0
  38. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_DefaultValue.js.map +1 -0
  39. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_Property.d.ts +2 -0
  40. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_Property.d.ts.map +1 -1
  41. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_Property.js +2 -0
  42. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_Property.js.map +1 -1
  43. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_FunctionActivator.d.ts +2 -0
  44. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_FunctionActivator.d.ts.map +1 -1
  45. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_FunctionActivator.js +1 -0
  46. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_FunctionActivator.js.map +1 -1
  47. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_Ownership.d.ts +28 -0
  48. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_Ownership.d.ts.map +1 -0
  49. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_Ownership.js +35 -0
  50. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_Ownership.js.map +1 -0
  51. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_SnowflakeApp.d.ts +2 -1
  52. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_SnowflakeApp.d.ts.map +1 -1
  53. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_SnowflakeApp.js +1 -2
  54. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_SnowflakeApp.js.map +1 -1
  55. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.d.ts.map +1 -1
  56. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.js +6 -0
  57. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.js.map +1 -1
  58. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_FunctionActivatorTransformer.d.ts +3 -0
  59. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_FunctionActivatorTransformer.d.ts.map +1 -1
  60. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_FunctionActivatorTransformer.js +14 -0
  61. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_FunctionActivatorTransformer.js.map +1 -1
  62. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.d.ts.map +1 -1
  63. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js +2 -2
  64. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js.map +1 -1
  65. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -1
  66. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js +0 -1
  67. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -1
  68. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -1
  69. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js +2 -1
  70. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -1
  71. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.d.ts.map +1 -1
  72. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js +6 -0
  73. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js.map +1 -1
  74. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_FunctionActivatorBuilderHelper.d.ts +4 -0
  75. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_FunctionActivatorBuilderHelper.d.ts.map +1 -1
  76. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_FunctionActivatorBuilderHelper.js +9 -1
  77. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_FunctionActivatorBuilderHelper.js.map +1 -1
  78. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper.d.ts +2 -0
  79. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper.d.ts.map +1 -1
  80. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper.js +8 -3
  81. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper.js.map +1 -1
  82. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_FunctionActivatorSerializationHelper.d.ts +4 -0
  83. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_FunctionActivatorSerializationHelper.d.ts.map +1 -1
  84. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_FunctionActivatorSerializationHelper.js +26 -2
  85. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_FunctionActivatorSerializationHelper.js.map +1 -1
  86. package/lib/index.d.ts +1 -0
  87. package/lib/index.d.ts.map +1 -1
  88. package/lib/index.js +1 -0
  89. package/lib/index.js.map +1 -1
  90. package/lib/package.json +1 -1
  91. package/package.json +1 -1
  92. package/src/graph/Core_HashUtils.ts +1 -0
  93. package/src/graph/metamodel/pure/packageableElements/domain/DefaultValue.ts +37 -0
  94. package/src/graph/metamodel/pure/packageableElements/domain/DerivedProperty.ts +2 -0
  95. package/src/graph/metamodel/pure/packageableElements/domain/Property.ts +3 -0
  96. package/src/graph/metamodel/pure/packageableElements/function/FunctionActivator.ts +2 -0
  97. package/src/graph/metamodel/pure/packageableElements/function/Ownership.ts +56 -0
  98. package/src/graph/metamodel/pure/packageableElements/function/SnowflakeApp.ts +3 -3
  99. package/src/graph-manager/action/changeDetection/DSL_FunctionActivatorObserverHelper.ts +12 -1
  100. package/src/graph-manager/action/changeDetection/DomainObserverHelper.ts +1 -1
  101. package/src/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_DefaultValue.ts +37 -0
  102. package/src/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_Property.ts +3 -0
  103. package/src/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_FunctionActivator.ts +2 -0
  104. package/src/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_Ownership.ts +41 -0
  105. package/src/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_SnowflakeApp.ts +3 -2
  106. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.ts +6 -0
  107. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_FunctionActivatorTransformer.ts +24 -0
  108. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.ts +5 -2
  109. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.ts +0 -1
  110. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.ts +8 -1
  111. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.ts +6 -0
  112. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_FunctionActivatorBuilderHelper.ts +20 -1
  113. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper.ts +15 -2
  114. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_FunctionActivatorSerializationHelper.ts +47 -1
  115. package/src/index.ts +4 -0
  116. package/tsconfig.json +4 -0
@@ -0,0 +1,56 @@
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 { hashArray, type Hashable } from '@finos/legend-shared';
18
+ import { CORE_HASH_STRUCTURE } from '../../../../../graph/Core_HashUtils.js';
19
+ import type { FunctionActivator } from './FunctionActivator.js';
20
+
21
+ export abstract class Ownership implements Hashable {
22
+ abstract get hashCode(): string;
23
+ }
24
+
25
+ export class DeploymentOwner extends Ownership implements Hashable {
26
+ readonly _OWNER: FunctionActivator;
27
+ id: string;
28
+
29
+ constructor(id: string, owner: FunctionActivator) {
30
+ super();
31
+ this.id = id;
32
+ this._OWNER = owner;
33
+ }
34
+
35
+ get hashCode(): string {
36
+ return hashArray([CORE_HASH_STRUCTURE.SERVICE_OWNER, this.id]);
37
+ }
38
+ }
39
+
40
+ export class UserList extends Ownership implements Hashable {
41
+ readonly _OWNER: FunctionActivator;
42
+ users: string[] = [];
43
+
44
+ constructor(users: string[], owner: FunctionActivator) {
45
+ super();
46
+ this.users = users;
47
+ this._OWNER = owner;
48
+ }
49
+
50
+ get hashCode(): string {
51
+ return hashArray([
52
+ CORE_HASH_STRUCTURE.SERVICE_OWNER,
53
+ hashArray(this.users),
54
+ ]);
55
+ }
56
+ }
@@ -18,13 +18,13 @@ import { CORE_HASH_STRUCTURE } from '../../../../Core_HashUtils.js';
18
18
  import type { PackageableElementVisitor } from '../PackageableElement.js';
19
19
  import { FunctionActivator } from './FunctionActivator.js';
20
20
  import type { SnowflakeAppDeploymentConfiguration } from '../../functionActivator/SnowflakeAppDeploymentConfiguration.js';
21
+ import type { DeploymentOwner } from './Ownership.js';
21
22
 
22
23
  export class SnowflakeApp extends FunctionActivator {
23
24
  applicationName!: string;
24
25
  description: string | undefined;
25
- owner: string | undefined;
26
+ declare ownership: DeploymentOwner;
26
27
  declare activationConfiguration: SnowflakeAppDeploymentConfiguration;
27
-
28
28
  accept_PackageableElementVisitor<T>(
29
29
  visitor: PackageableElementVisitor<T>,
30
30
  ): T {
@@ -36,7 +36,7 @@ export class SnowflakeApp extends FunctionActivator {
36
36
  CORE_HASH_STRUCTURE.SNOWFLAKE_APP,
37
37
  this.applicationName,
38
38
  this.description ?? '',
39
- this.owner ?? '',
39
+ this.ownership,
40
40
  this.activationConfiguration,
41
41
  ]);
42
42
  }
@@ -14,10 +14,11 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { makeObservable, observable } from 'mobx';
17
+ import { computed, makeObservable, observable } from 'mobx';
18
18
  import type { SnowflakeAppDeploymentConfiguration } from '../../../graph/metamodel/pure/functionActivator/SnowflakeAppDeploymentConfiguration.js';
19
19
  import { skipObserved } from './CoreObserverHelper.js';
20
20
  import { observe_ConnectionPointer } from './DSL_Mapping_ObserverHelper.js';
21
+ import type { DeploymentOwner } from '../../../graph/metamodel/pure/packageableElements/function/Ownership.js';
21
22
 
22
23
  export const observe_SnowflakeAppDeploymentConfiguration = skipObserved(
23
24
  (
@@ -34,3 +35,13 @@ export const observe_SnowflakeAppDeploymentConfiguration = skipObserved(
34
35
  return metamodel;
35
36
  },
36
37
  );
38
+
39
+ export const observe_DeploymentOwnership = skipObserved(
40
+ (metamodel: DeploymentOwner): DeploymentOwner => {
41
+ makeObservable(metamodel, {
42
+ id: observable,
43
+ hashCode: computed,
44
+ });
45
+ return metamodel;
46
+ },
47
+ );
@@ -564,7 +564,7 @@ export const observe_SnowflakeApp = skipObserved(
564
564
  makeObservable<SnowflakeApp, '_elementHashCode'>(metamodel, {
565
565
  applicationName: observable,
566
566
  description: observable,
567
- owner: observable,
567
+ ownership: observable,
568
568
  activationConfiguration: observable,
569
569
  _elementHashCode: override,
570
570
  });
@@ -0,0 +1,37 @@
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 { hashArray, type Hashable } from '@finos/legend-shared';
18
+ import {
19
+ CORE_HASH_STRUCTURE,
20
+ hashObjectWithoutSourceInformation,
21
+ } from '../../../../../../../graph/Core_HashUtils.js';
22
+
23
+ export class V1_DefaultValue implements Hashable {
24
+ /**
25
+ * Studio does not process value specification, they are left in raw JSON form
26
+ *
27
+ * @discrepancy model
28
+ */
29
+ value!: object;
30
+
31
+ get hashCode(): string {
32
+ return hashArray([
33
+ CORE_HASH_STRUCTURE.PROPERTY_DEFAULT_VALUE,
34
+ hashObjectWithoutSourceInformation(this.value),
35
+ ]);
36
+ }
37
+ }
@@ -19,12 +19,14 @@ import { CORE_HASH_STRUCTURE } from '../../../../../../../graph/Core_HashUtils.j
19
19
  import type { V1_Multiplicity } from './V1_Multiplicity.js';
20
20
  import type { V1_StereotypePtr } from '../../../model/packageableElements/domain/V1_StereotypePtr.js';
21
21
  import type { V1_TaggedValue } from '../../../model/packageableElements/domain/V1_TaggedValue.js';
22
+ import type { V1_DefaultValue } from './V1_DefaultValue.js';
22
23
 
23
24
  export class V1_Property implements Hashable {
24
25
  name!: string;
25
26
  type!: string;
26
27
  multiplicity!: V1_Multiplicity;
27
28
  aggregation?: string | undefined;
29
+ defaultValue: V1_DefaultValue | undefined;
28
30
  stereotypes: V1_StereotypePtr[] = [];
29
31
  taggedValues: V1_TaggedValue[] = [];
30
32
 
@@ -35,6 +37,7 @@ export class V1_Property implements Hashable {
35
37
  this.multiplicity,
36
38
  this.type,
37
39
  this.aggregation ?? '',
40
+ this.defaultValue ?? '',
38
41
  hashArray(this.stereotypes),
39
42
  hashArray(this.taggedValues),
40
43
  ]);
@@ -22,6 +22,7 @@ import {
22
22
  import type { V1_TaggedValue } from '../domain/V1_TaggedValue.js';
23
23
  import type { V1_StereotypePtr } from '../domain/V1_StereotypePtr.js';
24
24
  import type { V1_DeploymentConfiguration } from '../../../engine/functionActivator/V1_DeploymentConfiguration.js';
25
+ import type { V1_Ownership } from './V1_Ownership.js';
25
26
 
26
27
  export abstract class V1_FunctionActivator
27
28
  extends V1_PackageableElement
@@ -29,6 +30,7 @@ export abstract class V1_FunctionActivator
29
30
  {
30
31
  function!: V1_PackageableElementPointer;
31
32
  activationConfiguration: V1_DeploymentConfiguration | undefined;
33
+ ownership?: V1_Ownership;
32
34
  stereotypes: V1_StereotypePtr[] = [];
33
35
  taggedValues: V1_TaggedValue[] = [];
34
36
  }
@@ -0,0 +1,41 @@
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 { hashArray, type Hashable } from '@finos/legend-shared';
18
+ import { CORE_HASH_STRUCTURE } from '../../../../../../../graph/Core_HashUtils.js';
19
+
20
+ export abstract class V1_Ownership implements Hashable {
21
+ abstract get hashCode(): string;
22
+ }
23
+
24
+ export class V1_DeploymentOwner extends V1_Ownership implements Hashable {
25
+ id!: string;
26
+
27
+ get hashCode(): string {
28
+ return hashArray([CORE_HASH_STRUCTURE.SERVICE_OWNER, this.id]);
29
+ }
30
+ }
31
+
32
+ export class V1_UserList extends V1_Ownership implements Hashable {
33
+ users: string[] = [];
34
+
35
+ get hashCode(): string {
36
+ return hashArray([
37
+ CORE_HASH_STRUCTURE.SERVICE_OWNER,
38
+ hashArray(this.users),
39
+ ]);
40
+ }
41
+ }
@@ -19,11 +19,12 @@ import { V1_FunctionActivator } from './V1_FunctionActivator.js';
19
19
  import type { V1_PackageableElementVisitor } from '../V1_PackageableElement.js';
20
20
  import { CORE_HASH_STRUCTURE } from '../../../../../../../graph/Core_HashUtils.js';
21
21
  import type { V1_SnowflakeAppDeploymentConfiguration } from '../../../engine/functionActivator/V1_SnowflakeAppDeploymentConfiguration.js';
22
+ import type { V1_DeploymentOwner } from './V1_Ownership.js';
22
23
 
23
24
  export class V1_SnowflakeApp extends V1_FunctionActivator {
24
25
  applicationName!: string;
25
26
  description: string | undefined;
26
- owner: string | undefined;
27
+ declare ownership: V1_DeploymentOwner;
27
28
  declare activationConfiguration: V1_SnowflakeAppDeploymentConfiguration;
28
29
 
29
30
  accept_PackageableElementVisitor<T>(
@@ -37,7 +38,7 @@ export class V1_SnowflakeApp extends V1_FunctionActivator {
37
38
  CORE_HASH_STRUCTURE.SNOWFLAKE_APP,
38
39
  this.applicationName,
39
40
  this.description ?? '',
40
- this.owner ?? '',
41
+ this.ownership,
41
42
  this.activationConfiguration,
42
43
  ]);
43
44
  }
@@ -65,6 +65,7 @@ import { UnsupportedOperationError } from '@finos/legend-shared';
65
65
  import { V1_FunctionStoreTestData } from '../../../model/packageableElements/function/test/V1_FunctionStoreTestData.js';
66
66
  import { V1_transformEmbeddedData } from './V1_DataElementTransformer.js';
67
67
  import { V1_transformTestAssertion } from './V1_TestTransformer.js';
68
+ import { V1_DefaultValue } from '../../../model/packageableElements/domain/V1_DefaultValue.js';
68
69
 
69
70
  export const V1_transformProfile = (element: Profile): V1_Profile => {
70
71
  const profile = new V1_Profile();
@@ -176,6 +177,11 @@ const transformProperty = (element: Property): V1_Property => {
176
177
  property.type =
177
178
  element.genericType.ownerReference.valueForSerialization ?? '';
178
179
  property.aggregation = element.aggregation;
180
+ if (element.defaultValue) {
181
+ const defaultVal = new V1_DefaultValue();
182
+ defaultVal.value = element.defaultValue.value;
183
+ property.defaultValue = defaultVal;
184
+ }
179
185
  return property;
180
186
  };
181
187
 
@@ -14,8 +14,14 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
+ import { UnsupportedOperationError } from '@finos/legend-shared';
17
18
  import type { SnowflakeAppDeploymentConfiguration } from '../../../../../../../graph/metamodel/pure/functionActivator/SnowflakeAppDeploymentConfiguration.js';
19
+ import {
20
+ DeploymentOwner,
21
+ type Ownership,
22
+ } from '../../../../../../../graph/metamodel/pure/packageableElements/function/Ownership.js';
18
23
  import { V1_SnowflakeAppDeploymentConfiguration } from '../../../engine/functionActivator/V1_SnowflakeAppDeploymentConfiguration.js';
24
+ import { V1_DeploymentOwner } from '../../../model/packageableElements/function/V1_Ownership.js';
19
25
  import { V1_transformConnectionPointer } from './V1_ConnectionTransformer.js';
20
26
 
21
27
  export const V1_transformSnowflakeAppDeploymentConfiguration = (
@@ -31,3 +37,21 @@ export const V1_transformSnowflakeAppDeploymentConfiguration = (
31
37
 
32
38
  return protocol;
33
39
  };
40
+
41
+ const transformDeployment = (element: DeploymentOwner): V1_DeploymentOwner => {
42
+ const ownership = new V1_DeploymentOwner();
43
+ ownership.id = element.id;
44
+ return ownership;
45
+ };
46
+
47
+ export const V1_transformDeployment = (
48
+ metamodel: Ownership,
49
+ ): V1_DeploymentOwner => {
50
+ if (metamodel instanceof DeploymentOwner) {
51
+ return transformDeployment(metamodel);
52
+ }
53
+ throw new UnsupportedOperationError(
54
+ "Can't transform function activator ownership",
55
+ metamodel,
56
+ );
57
+ };
@@ -81,7 +81,10 @@ import { V1_INTERNAL__UnknownStore } from '../../../model/packageableElements/st
81
81
  import { generateFunctionPrettyName } from '../../../../../../../graph/helpers/PureLanguageHelper.js';
82
82
  import { V1_SnowflakeApp } from '../../../model/packageableElements/function/V1_SnowflakeApp.js';
83
83
  import type { SnowflakeApp } from '../../../../../../../graph/metamodel/pure/packageableElements/function/SnowflakeApp.js';
84
- import { V1_transformSnowflakeAppDeploymentConfiguration } from './V1_FunctionActivatorTransformer.js';
84
+ import {
85
+ V1_transformDeployment,
86
+ V1_transformSnowflakeAppDeploymentConfiguration,
87
+ } from './V1_FunctionActivatorTransformer.js';
85
88
  import { PackageableElementPointerType } from '../../../../../../../graph/MetaModelConst.js';
86
89
 
87
90
  class V1_PackageableElementTransformer
@@ -152,7 +155,7 @@ class V1_PackageableElementTransformer
152
155
  );
153
156
  protocol.applicationName = element.applicationName;
154
157
  protocol.description = element.description;
155
- protocol.owner = element.owner;
158
+ protocol.ownership = V1_transformDeployment(element.ownership);
156
159
  protocol.activationConfiguration =
157
160
  V1_transformSnowflakeAppDeploymentConfiguration(
158
161
  element.activationConfiguration,
@@ -158,7 +158,6 @@ export class V1_ElementFirstPassBuilder
158
158
  );
159
159
  metamodel.applicationName = element.applicationName;
160
160
  metamodel.description = element.description;
161
- metamodel.owner = element.owner;
162
161
  return metamodel;
163
162
  }
164
163
 
@@ -104,7 +104,10 @@ import {
104
104
  import { V1_INTERNAL__UnknownMappingInclude } from '../../../model/packageableElements/mapping/V1_INTERNAL__UnknownMappingInclude.js';
105
105
  import type { V1_INTERNAL__UnknownStore } from '../../../model/packageableElements/store/V1_INTERNAL__UnknownStore.js';
106
106
  import type { V1_SnowflakeApp } from '../../../model/packageableElements/function/V1_SnowflakeApp.js';
107
- import { V1_buildSnowflakeAppDeploymentConfiguration } from './helpers/V1_FunctionActivatorBuilderHelper.js';
107
+ import {
108
+ V1_buildDeploymentOwnership,
109
+ V1_buildSnowflakeAppDeploymentConfiguration,
110
+ } from './helpers/V1_FunctionActivatorBuilderHelper.js';
108
111
 
109
112
  export class V1_ElementSecondPassBuilder
110
113
  implements V1_PackageableElementVisitor<void>
@@ -162,6 +165,10 @@ export class V1_ElementSecondPassBuilder
162
165
  ),
163
166
  ),
164
167
  );
168
+ metamodel.ownership = V1_buildDeploymentOwnership(
169
+ element.ownership,
170
+ metamodel,
171
+ );
165
172
  metamodel.activationConfiguration =
166
173
  V1_buildSnowflakeAppDeploymentConfiguration(
167
174
  element.activationConfiguration,
@@ -71,6 +71,7 @@ import {
71
71
  } from '../../../../../../../../graph/metamodel/pure/packageableElements/function/test/FunctionTest.js';
72
72
  import { V1_buildTestAssertion } from './V1_TestBuilderHelper.js';
73
73
  import type { TestSuite } from '../../../../../../../../graph/metamodel/pure/test/Test.js';
74
+ import { DefaultValue } from '../../../../../../../../graph/metamodel/pure/packageableElements/domain/DefaultValue.js';
74
75
 
75
76
  export const V1_buildTaggedValue = (
76
77
  taggedValue: V1_TaggedValue,
@@ -219,6 +220,11 @@ export const V1_buildProperty = (
219
220
  pureProperty.stereotypes = property.stereotypes
220
221
  .map((stereotype) => context.resolveStereotype(stereotype))
221
222
  .filter(isNonNullable);
223
+ if (property.defaultValue) {
224
+ const defautVal = new DefaultValue();
225
+ defautVal.value = property.defaultValue.value;
226
+ pureProperty.defaultValue = defautVal;
227
+ }
222
228
  pureProperty.taggedValues = property.taggedValues
223
229
  .map((taggedValue) => V1_buildTaggedValue(taggedValue, context))
224
230
  .filter(isNonNullable);
@@ -19,7 +19,16 @@ import { SnowflakeAppDeploymentConfiguration } from '../../../../../../../../gra
19
19
  import type { V1_SnowflakeAppDeploymentConfiguration } from '../../../../engine/functionActivator/V1_SnowflakeAppDeploymentConfiguration.js';
20
20
  import type { V1_GraphBuilderContext } from '../V1_GraphBuilderContext.js';
21
21
  import { V1_buildConnection } from './V1_ConnectionBuilderHelper.js';
22
- import { guaranteeType } from '@finos/legend-shared';
22
+ import { UnsupportedOperationError, guaranteeType } from '@finos/legend-shared';
23
+ import {
24
+ DeploymentOwner,
25
+ type Ownership,
26
+ } from '../../../../../../../../graph/metamodel/pure/packageableElements/function/Ownership.js';
27
+ import {
28
+ V1_DeploymentOwner,
29
+ type V1_Ownership,
30
+ } from '../../../../model/packageableElements/function/V1_Ownership.js';
31
+ import type { FunctionActivator } from '../../../../../../../../graph/metamodel/pure/packageableElements/function/FunctionActivator.js';
23
32
 
24
33
  export const V1_buildSnowflakeAppDeploymentConfiguration = (
25
34
  element: V1_SnowflakeAppDeploymentConfiguration,
@@ -37,3 +46,13 @@ export const V1_buildSnowflakeAppDeploymentConfiguration = (
37
46
  }
38
47
  return metamodel;
39
48
  };
49
+
50
+ export const V1_buildDeploymentOwnership = (
51
+ ownership: V1_Ownership,
52
+ functionActivator: FunctionActivator,
53
+ ): Ownership => {
54
+ if (ownership instanceof V1_DeploymentOwner) {
55
+ return new DeploymentOwner(ownership.id, functionActivator);
56
+ }
57
+ throw new UnsupportedOperationError();
58
+ };
@@ -28,6 +28,7 @@ import {
28
28
  customEquivalentList,
29
29
  customList,
30
30
  customListWithSchema,
31
+ optionalCustom,
31
32
  optionalCustomList,
32
33
  usingConstantValueSchema,
33
34
  usingModelSchema,
@@ -59,13 +60,18 @@ import {
59
60
  } from './V1_RawValueSpecificationSerializationHelper.js';
60
61
  import { V1_INTERNAL__UnknownFunctionActivator } from '../../../model/packageableElements/function/V1_INTERNAL__UnknownFunctionActivator.js';
61
62
  import { V1_SnowflakeApp } from '../../../model/packageableElements/function/V1_SnowflakeApp.js';
62
- import { V1_SnowflakeAppDeploymentConfigurationAppModelSchema } from './V1_FunctionActivatorSerializationHelper.js';
63
+ import {
64
+ V1_SnowflakeAppDeploymentConfigurationAppModelSchema,
65
+ V1_deserializeDeploymentOwnership,
66
+ V1_serializeDeploymentOwership,
67
+ } from './V1_FunctionActivatorSerializationHelper.js';
63
68
  import {
64
69
  V1_deserializeTestSuite,
65
70
  V1_serializeTestSuite,
66
71
  } from './V1_TestSerializationHelper.js';
67
72
  import type { PureProtocolProcessorPlugin } from '../../../../PureProtocolProcessorPlugin.js';
68
73
  import type { V1_TestSuite } from '../../../model/test/V1_TestSuite.js';
74
+ import { V1_DefaultValue } from '../../../model/packageableElements/domain/V1_DefaultValue.js';
69
75
 
70
76
  export const V1_CLASS_ELEMENT_PROTOCOL_TYPE = 'class';
71
77
  export const V1_PROFILE_ELEMENT_PROTOCOL_TYPE = 'profile';
@@ -155,7 +161,6 @@ export const V1_measureModelSchema = createModelSchema(V1_Measure, {
155
161
  export const V1_snowflakeAppModelSchema = createModelSchema(V1_SnowflakeApp, {
156
162
  _type: usingConstantValueSchema(V1_SNOWFLAKE_APP_TYPE),
157
163
  description: optional(primitive()),
158
- owner: optional(primitive()),
159
164
  applicationName: primitive(),
160
165
  function: usingModelSchema(V1_packageableElementPointerModelSchema),
161
166
  name: primitive(),
@@ -169,12 +174,20 @@ export const V1_snowflakeAppModelSchema = createModelSchema(V1_SnowflakeApp, {
169
174
  activationConfiguration: usingModelSchema(
170
175
  V1_SnowflakeAppDeploymentConfigurationAppModelSchema,
171
176
  ),
177
+ ownership: optionalCustom(
178
+ (val) => V1_serializeDeploymentOwership(val),
179
+ (val) => V1_deserializeDeploymentOwnership(val),
180
+ ),
172
181
  });
173
182
 
174
183
  // ------------------------------------- Class -------------------------------------
175
184
 
185
+ export const V1_defaultValueModelSchema = createModelSchema(V1_DefaultValue, {
186
+ value: raw(),
187
+ });
176
188
  export const V1_propertyModelSchema = createModelSchema(V1_Property, {
177
189
  aggregation: optional(primitive()),
190
+ defaultValue: optional(usingModelSchema(V1_defaultValueModelSchema)),
178
191
  multiplicity: usingModelSchema(V1_multiplicityModelSchema),
179
192
  name: primitive(),
180
193
  stereotypes: customListWithSchema(V1_stereotypePtrModelSchema, {
@@ -17,10 +17,21 @@
17
17
  import {
18
18
  usingConstantValueSchema,
19
19
  usingModelSchema,
20
+ type PlainObject,
21
+ UnsupportedOperationError,
20
22
  } from '@finos/legend-shared';
21
23
  import { V1_SnowflakeAppDeploymentConfiguration } from '../../../engine/functionActivator/V1_SnowflakeAppDeploymentConfiguration.js';
22
- import { createModelSchema } from 'serializr';
24
+ import {
25
+ createModelSchema,
26
+ deserialize,
27
+ primitive,
28
+ serialize,
29
+ } from 'serializr';
23
30
  import { V1_connectionPointerModelSchema } from './V1_ConnectionSerializationHelper.js';
31
+ import {
32
+ V1_DeploymentOwner,
33
+ type V1_Ownership,
34
+ } from '../../../model/packageableElements/function/V1_Ownership.js';
24
35
 
25
36
  const V1_SNOWFLAKE_APP_DEPLOYMENT_CONFIGURATION_APP_TYPE =
26
37
  'snowflakeDeploymentConfiguration';
@@ -32,3 +43,38 @@ export const V1_SnowflakeAppDeploymentConfigurationAppModelSchema =
32
43
  ),
33
44
  activationConnection: usingModelSchema(V1_connectionPointerModelSchema),
34
45
  });
46
+
47
+ enum V1_OwnershipType {
48
+ DEPLOYMENT_OWNERSHIP = 'DeploymentOwner',
49
+ USERLIST_OWNERSHIP = 'userList',
50
+ }
51
+
52
+ const deploymentOwnershipSchema = createModelSchema(V1_DeploymentOwner, {
53
+ _type: usingConstantValueSchema(V1_OwnershipType.DEPLOYMENT_OWNERSHIP),
54
+ id: primitive(),
55
+ });
56
+
57
+ export const V1_deserializeDeploymentOwnership = (
58
+ json: PlainObject<V1_Ownership>,
59
+ ): V1_DeploymentOwner => {
60
+ switch (json._type) {
61
+ case V1_OwnershipType.DEPLOYMENT_OWNERSHIP:
62
+ return deserialize(deploymentOwnershipSchema, json);
63
+ default:
64
+ throw new UnsupportedOperationError(
65
+ `Can't deserialize function activator ownership of type '${json._type}'`,
66
+ );
67
+ }
68
+ };
69
+
70
+ export const V1_serializeDeploymentOwership = (
71
+ protocol: V1_DeploymentOwner,
72
+ ): PlainObject<V1_Ownership> => {
73
+ if (protocol instanceof V1_DeploymentOwner) {
74
+ return serialize(deploymentOwnershipSchema, protocol);
75
+ }
76
+ throw new UnsupportedOperationError(
77
+ `Can't serialize function activator ownership`,
78
+ protocol,
79
+ );
80
+ };
package/src/index.ts CHANGED
@@ -77,6 +77,10 @@ export { FunctionActivator } from './graph/metamodel/pure/packageableElements/fu
77
77
  export { INTERNAL__UnknownFunctionActivator } from './graph/metamodel/pure/packageableElements/function/INTERNAL__UnknownFunctionActivator.js';
78
78
  export { SnowflakeApp } from './graph/metamodel/pure/packageableElements/function/SnowflakeApp.js';
79
79
  export { SnowflakeAppDeploymentConfiguration } from './graph/metamodel/pure/functionActivator/SnowflakeAppDeploymentConfiguration.js';
80
+ export {
81
+ Ownership,
82
+ DeploymentOwner,
83
+ } from './graph/metamodel/pure/packageableElements/function/Ownership.js';
80
84
 
81
85
  // --------------------------------------------- VALUE SPECIFICATION --------------------------------------------------
82
86
 
package/tsconfig.json CHANGED
@@ -128,6 +128,7 @@
128
128
  "./src/graph/metamodel/pure/packageableElements/domain/Class.ts",
129
129
  "./src/graph/metamodel/pure/packageableElements/domain/Constraint.ts",
130
130
  "./src/graph/metamodel/pure/packageableElements/domain/DataType.ts",
131
+ "./src/graph/metamodel/pure/packageableElements/domain/DefaultValue.ts",
131
132
  "./src/graph/metamodel/pure/packageableElements/domain/DerivedProperty.ts",
132
133
  "./src/graph/metamodel/pure/packageableElements/domain/Enum.ts",
133
134
  "./src/graph/metamodel/pure/packageableElements/domain/EnumValueReference.ts",
@@ -161,6 +162,7 @@
161
162
  "./src/graph/metamodel/pure/packageableElements/function/ConcreteFunctionDefinition.ts",
162
163
  "./src/graph/metamodel/pure/packageableElements/function/FunctionActivator.ts",
163
164
  "./src/graph/metamodel/pure/packageableElements/function/INTERNAL__UnknownFunctionActivator.ts",
165
+ "./src/graph/metamodel/pure/packageableElements/function/Ownership.ts",
164
166
  "./src/graph/metamodel/pure/packageableElements/function/SnowflakeApp.ts",
165
167
  "./src/graph/metamodel/pure/packageableElements/function/test/FunctionStoreTestData.ts",
166
168
  "./src/graph/metamodel/pure/packageableElements/function/test/FunctionTest.ts",
@@ -506,6 +508,7 @@
506
508
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_Association.ts",
507
509
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_Class.ts",
508
510
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_Constraint.ts",
511
+ "./src/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_DefaultValue.ts",
509
512
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_DerivedProperty.ts",
510
513
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_EnumValue.ts",
511
514
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/domain/V1_Enumeration.ts",
@@ -529,6 +532,7 @@
529
532
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_ConcreteFunctionDefinition.ts",
530
533
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_FunctionActivator.ts",
531
534
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_INTERNAL__UnknownFunctionActivator.ts",
535
+ "./src/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_Ownership.ts",
532
536
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_SnowflakeApp.ts",
533
537
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/function/test/V1_FunctionStoreTestData.ts",
534
538
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/function/test/V1_FunctionTest.ts",