@gravitee/ui-policy-studio-angular 13.4.0 → 13.5.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 (50) hide show
  1. package/esm2022/lib/components/flow-details/gio-ps-flow-details.component.mjs +3 -3
  2. package/esm2022/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.mjs +5 -5
  3. package/esm2022/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.mjs +4 -4
  4. package/esm2022/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.mjs +19 -11
  5. package/esm2022/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.component.mjs +4 -4
  6. package/esm2022/lib/components/step-form/gio-ps-step-form.component.mjs +6 -6
  7. package/esm2022/lib/models/ApiProtocolType.mjs +17 -0
  8. package/esm2022/lib/models/ApiType.mjs +17 -0
  9. package/esm2022/lib/models/flow/index.mjs +1 -2
  10. package/esm2022/lib/models/index.mjs +3 -1
  11. package/esm2022/lib/models/policy/Policy.mjs +44 -2
  12. package/esm2022/lib/models/policy/SharedPolicyGroupPolicy.mjs +1 -1
  13. package/esm2022/lib/policy-group-studio/gio-policy-group-studio.component.mjs +44 -14
  14. package/esm2022/lib/policy-studio/gio-policy-studio.component.mjs +17 -8
  15. package/esm2022/testing/lib/models/ApiProtocolType.mjs +17 -0
  16. package/esm2022/testing/lib/models/ApiType.mjs +17 -0
  17. package/esm2022/testing/lib/models/flow/index.mjs +1 -2
  18. package/esm2022/testing/lib/models/index.mjs +3 -1
  19. package/esm2022/testing/lib/models/policy/Policy.fixture.mjs +59 -22
  20. package/esm2022/testing/lib/models/policy/Policy.mjs +44 -2
  21. package/esm2022/testing/lib/models/policy/SharedPolicyGroupPolicy.mjs +1 -1
  22. package/fesm2022/gravitee-ui-policy-studio-angular-testing.mjs +58 -21
  23. package/fesm2022/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
  24. package/fesm2022/gravitee-ui-policy-studio-angular.mjs +169 -47
  25. package/fesm2022/gravitee-ui-policy-studio-angular.mjs.map +1 -1
  26. package/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.d.ts +3 -3
  27. package/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.d.ts +3 -3
  28. package/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.d.ts +4 -4
  29. package/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.component.d.ts +3 -3
  30. package/lib/components/step-form/gio-ps-step-form.component.d.ts +3 -3
  31. package/lib/models/ApiProtocolType.d.ts +1 -0
  32. package/lib/models/ApiType.d.ts +1 -0
  33. package/lib/models/flow/index.d.ts +0 -1
  34. package/lib/models/index.d.ts +2 -0
  35. package/lib/models/policy/Policy.d.ts +19 -3
  36. package/lib/models/policy/SharedPolicyGroupPolicy.d.ts +3 -3
  37. package/lib/policy-group-studio/gio-policy-group-studio.component.d.ts +11 -4
  38. package/lib/policy-studio/gio-policy-studio.component.d.ts +5 -2
  39. package/package.json +1 -1
  40. package/testing/lib/models/ApiProtocolType.d.ts +1 -0
  41. package/testing/lib/models/ApiType.d.ts +1 -0
  42. package/testing/lib/models/flow/index.d.ts +0 -1
  43. package/testing/lib/models/index.d.ts +2 -0
  44. package/testing/lib/models/policy/Policy.d.ts +19 -3
  45. package/testing/lib/models/policy/Policy.fixture.d.ts +2 -2
  46. package/testing/lib/models/policy/SharedPolicyGroupPolicy.d.ts +3 -3
  47. package/esm2022/lib/models/flow/ApiType.mjs +0 -2
  48. package/esm2022/testing/lib/models/flow/ApiType.mjs +0 -2
  49. package/lib/models/flow/ApiType.d.ts +0 -1
  50. package/testing/lib/models/flow/ApiType.d.ts +0 -1
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { MatDialog } from '@angular/material/dialog';
3
- import { ApiType, ConnectorInfo, ExecutionPhase, Step } from '../../models';
3
+ import { ApiType, ConnectorInfo, FlowPhase, Step } from '../../models';
4
4
  import { GenericPolicy } from '../../models/policy/GenericPolicy';
5
5
  import * as i0 from "@angular/core";
6
6
  type StepVM = {
@@ -26,7 +26,7 @@ export declare class GioPolicyStudioDetailsPhaseComponent implements OnChanges {
26
26
  endConnector: ConnectorInfo[];
27
27
  apiType: ApiType;
28
28
  genericPolicies: GenericPolicy[];
29
- policyExecutionPhase: ExecutionPhase;
29
+ policyFlowPhase: FlowPhase;
30
30
  trialUrl?: string;
31
31
  stepsChange: EventEmitter<Step[]>;
32
32
  stepsVM: StepVM[];
@@ -38,6 +38,6 @@ export declare class GioPolicyStudioDetailsPhaseComponent implements OnChanges {
38
38
  onStepDeleted(index: number): void;
39
39
  onStepDisabled(index: number): void;
40
40
  static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioDetailsPhaseComponent, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsPhaseComponent, "gio-ps-flow-details-phase", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "steps": { "alias": "steps"; "required": false; }; "name": { "alias": "name"; "required": false; }; "description": { "alias": "description"; "required": false; }; "startConnector": { "alias": "startConnector"; "required": false; }; "endConnector": { "alias": "endConnector"; "required": false; }; "apiType": { "alias": "apiType"; "required": false; }; "genericPolicies": { "alias": "genericPolicies"; "required": false; }; "policyExecutionPhase": { "alias": "policyExecutionPhase"; "required": false; }; "trialUrl": { "alias": "trialUrl"; "required": false; }; }, { "stepsChange": "stepsChange"; }, never, never, true, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsPhaseComponent, "gio-ps-flow-details-phase", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "steps": { "alias": "steps"; "required": false; }; "name": { "alias": "name"; "required": false; }; "description": { "alias": "description"; "required": false; }; "startConnector": { "alias": "startConnector"; "required": false; }; "endConnector": { "alias": "endConnector"; "required": false; }; "apiType": { "alias": "apiType"; "required": false; }; "genericPolicies": { "alias": "genericPolicies"; "required": false; }; "policyFlowPhase": { "alias": "policyFlowPhase"; "required": false; }; "trialUrl": { "alias": "trialUrl"; "required": false; }; }, { "stepsChange": "stepsChange"; }, never, never, true, never>;
42
42
  }
43
43
  export {};
@@ -1,13 +1,13 @@
1
1
  import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { MatDialog } from '@angular/material/dialog';
3
- import { ExecutionPhase, Step, GenericPolicy } from '../../models';
3
+ import { FlowPhase, Step, GenericPolicy } from '../../models';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class GioPolicyStudioDetailsPhaseStepComponent implements OnChanges {
6
6
  private readonly matDialog;
7
7
  readOnly: boolean;
8
8
  step: Step;
9
9
  genericPolicies: GenericPolicy[];
10
- executionPhase: ExecutionPhase;
10
+ flowPhase: FlowPhase;
11
11
  stepChange: EventEmitter<Step>;
12
12
  deleted: EventEmitter<void>;
13
13
  disabled: EventEmitter<void>;
@@ -20,5 +20,5 @@ export declare class GioPolicyStudioDetailsPhaseStepComponent implements OnChang
20
20
  onDisable(): void;
21
21
  onDelete(): void;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioDetailsPhaseStepComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsPhaseStepComponent, "gio-ps-flow-details-phase-step", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "step": { "alias": "step"; "required": false; }; "genericPolicies": { "alias": "genericPolicies"; "required": false; }; "executionPhase": { "alias": "executionPhase"; "required": true; }; }, { "stepChange": "stepChange"; "deleted": "deleted"; "disabled": "disabled"; }, never, never, true, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioDetailsPhaseStepComponent, "gio-ps-flow-details-phase-step", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "step": { "alias": "step"; "required": false; }; "genericPolicies": { "alias": "genericPolicies"; "required": false; }; "flowPhase": { "alias": "flowPhase"; "required": true; }; }, { "stepChange": "stepChange"; "deleted": "deleted"; "disabled": "disabled"; }, never, never, true, never>;
24
24
  }
@@ -1,11 +1,11 @@
1
1
  import { OnDestroy } from '@angular/core';
2
2
  import { MatDialogRef } from '@angular/material/dialog';
3
3
  import { UntypedFormGroup } from '@angular/forms';
4
- import { ApiType, ExecutionPhase, GenericPolicy, Step } from '../../models';
4
+ import { ApiType, FlowPhase, GenericPolicy, Step } from '../../models';
5
5
  import * as i0 from "@angular/core";
6
6
  export type GioPolicyStudioPoliciesCatalogDialogData = {
7
7
  genericPolicies: GenericPolicy[];
8
- executionPhase: ExecutionPhase;
8
+ flowPhase: FlowPhase;
9
9
  apiType: ApiType;
10
10
  trialUrl?: string;
11
11
  };
@@ -22,8 +22,8 @@ type PolicyVM = {
22
22
  export declare class GioPolicyStudioPoliciesCatalogDialogComponent implements OnDestroy {
23
23
  dialogRef: MatDialogRef<GioPolicyStudioPoliciesCatalogDialogComponent, GioPolicyStudioPoliciesCatalogDialogResult>;
24
24
  policies: PolicyVM[];
25
- executionPhase: ExecutionPhase;
26
- executionPhaseLabel: string;
25
+ flowPhase: FlowPhase;
26
+ flowPhaseLabel: string;
27
27
  selectedPolicy?: GenericPolicy;
28
28
  stepToAdd?: Step;
29
29
  categories: string[];
@@ -1,10 +1,10 @@
1
1
  import { MatDialogRef } from '@angular/material/dialog';
2
- import { ExecutionPhase, Step, GenericPolicy } from '../../models';
2
+ import { FlowPhase, Step, GenericPolicy } from '../../models';
3
3
  import * as i0 from "@angular/core";
4
4
  export type GioPolicyStudioStepEditDialogData = {
5
5
  genericPolicy: GenericPolicy;
6
6
  step: Step;
7
- executionPhase: ExecutionPhase;
7
+ flowPhase: FlowPhase;
8
8
  readOnly?: boolean;
9
9
  };
10
10
  export type GioPolicyStudioStepEditDialogResult = undefined | Step;
@@ -12,7 +12,7 @@ export declare class GioPolicyStudioStepEditDialogComponent {
12
12
  dialogRef: MatDialogRef<GioPolicyStudioStepEditDialogComponent, GioPolicyStudioStepEditDialogResult>;
13
13
  genericPolicy: GenericPolicy;
14
14
  step: Step;
15
- executionPhase: ExecutionPhase;
15
+ flowPhase: FlowPhase;
16
16
  isValid: boolean;
17
17
  readOnly: boolean;
18
18
  constructor(dialogRef: MatDialogRef<GioPolicyStudioStepEditDialogComponent, GioPolicyStudioStepEditDialogResult>, flowDialogData: GioPolicyStudioStepEditDialogData);
@@ -2,14 +2,14 @@ import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angu
2
2
  import { UntypedFormGroup } from '@angular/forms';
3
3
  import { Observable } from 'rxjs';
4
4
  import { GioJsonSchema, GioJsonSchemaContext } from '@gravitee/ui-particles-angular';
5
- import { ExecutionPhase, Step, GenericPolicy } from '../../models';
5
+ import { FlowPhase, Step, GenericPolicy } from '../../models';
6
6
  import { GioPolicyStudioService } from '../../policy-studio/gio-policy-studio.service';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class GioPolicyStudioStepFormComponent implements OnChanges, OnInit, OnDestroy {
9
9
  private readonly policyStudioService;
10
10
  readOnly: boolean;
11
11
  step?: Step;
12
- executionPhase: ExecutionPhase;
12
+ flowPhase: FlowPhase;
13
13
  genericPolicy: GenericPolicy;
14
14
  stepChange: EventEmitter<Step>;
15
15
  isValid: EventEmitter<boolean>;
@@ -28,5 +28,5 @@ export declare class GioPolicyStudioStepFormComponent implements OnChanges, OnIn
28
28
  onJsonSchemaReady(isReady: boolean): void;
29
29
  emitStepChange(): void;
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioStepFormComponent, never>;
31
- static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioStepFormComponent, "gio-ps-step-form", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "step": { "alias": "step"; "required": false; }; "executionPhase": { "alias": "executionPhase"; "required": true; }; "genericPolicy": { "alias": "genericPolicy"; "required": false; }; }, { "stepChange": "stepChange"; "isValid": "isValid"; }, never, never, true, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioStepFormComponent, "gio-ps-step-form", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "step": { "alias": "step"; "required": false; }; "flowPhase": { "alias": "flowPhase"; "required": true; }; "genericPolicy": { "alias": "genericPolicy"; "required": false; }; }, { "stepChange": "stepChange"; "isValid": "isValid"; }, never, never, true, never>;
32
32
  }
@@ -0,0 +1 @@
1
+ export type ApiProtocolType = 'HTTP_MESSAGE' | 'HTTP_PROXY' | 'NATIVE_KAFKA';
@@ -0,0 +1 @@
1
+ export type ApiType = 'MESSAGE' | 'PROXY' | 'NATIVE';
@@ -1,4 +1,3 @@
1
- export * from './ApiType';
2
1
  export * from './Flow';
3
2
  export * from './FlowExecution';
4
3
  export * from './HttpMethod';
@@ -4,3 +4,5 @@ export * from './policy';
4
4
  export * from './ConnectorsInfo';
5
5
  export * from './SaveOutput';
6
6
  export * from './PolicySchemaFetcher';
7
+ export * from './ApiProtocolType';
8
+ export * from './ApiType';
@@ -1,4 +1,5 @@
1
- export type ExecutionPhase = 'REQUEST' | 'RESPONSE' | 'MESSAGE_REQUEST' | 'MESSAGE_RESPONSE';
1
+ import { ApiProtocolType } from '../ApiProtocolType';
2
+ export type FlowPhase = 'REQUEST' | 'RESPONSE' | 'INTERACT' | 'CONNECT' | 'PUBLISH' | 'SUBSCRIBE';
2
3
  export interface Policy {
3
4
  id: string;
4
5
  name: string;
@@ -6,7 +7,22 @@ export interface Policy {
6
7
  description?: string;
7
8
  category?: string;
8
9
  version?: string;
9
- proxy?: ExecutionPhase[];
10
- message?: ExecutionPhase[];
10
+ flowPhaseCompatibility?: Partial<Record<ApiProtocolType, FlowPhase[]>>;
11
11
  deployed?: boolean;
12
12
  }
13
+ /**
14
+ * @Deprecated to keep as long as we support APIM < 4.6
15
+ */
16
+ export type ExecutionPhase = 'REQUEST' | 'RESPONSE' | 'MESSAGE_REQUEST' | 'MESSAGE_RESPONSE';
17
+ export type PolicyInput = Omit<Policy, 'proxy' | 'message'> & {
18
+ proxy?: ExecutionPhase[];
19
+ message?: ExecutionPhase[];
20
+ };
21
+ /**
22
+ * @Deprecated to keep as long as we support APIM < 4.6
23
+ */
24
+ export declare const fromPolicyInput: (policy: PolicyInput | Policy) => Policy;
25
+ /**
26
+ * @Deprecated to keep as long as we support APIM < 4.6
27
+ */
28
+ export declare const fromExecutionPhase: (phase: ExecutionPhase | FlowPhase) => FlowPhase;
@@ -1,5 +1,5 @@
1
- import { ApiType } from '../flow';
2
- import { ExecutionPhase } from './Policy';
1
+ import { ApiType } from '../ApiType';
2
+ import { FlowPhase } from './Policy';
3
3
  export type SharedPolicyGroupPolicy = {
4
4
  id: string;
5
5
  policyId: string;
@@ -7,5 +7,5 @@ export type SharedPolicyGroupPolicy = {
7
7
  description?: string;
8
8
  prerequisiteMessage?: string;
9
9
  apiType: ApiType;
10
- phase: ExecutionPhase;
10
+ phase: FlowPhase;
11
11
  };
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
- import { ApiType, ConnectorInfo, ExecutionPhase, GenericPolicy, Policy, PolicyDocumentationFetcher, PolicySchemaFetcher, Step } from '../models';
2
+ import { ApiType, ConnectorInfo, ExecutionPhase, FlowPhase, GenericPolicy, Policy, PolicyDocumentationFetcher, PolicyInput, PolicySchemaFetcher, Step } from '../models';
3
3
  import { GioPolicyStudioService } from '../policy-studio/gio-policy-studio.service';
4
4
  import * as i0 from "@angular/core";
5
5
  export type PolicyGroupOutput = Step[];
@@ -15,7 +15,9 @@ export declare class GioPolicyGroupStudioComponent implements OnChanges {
15
15
  /**
16
16
  * List of policies usable in the studio
17
17
  */
18
- policies: Policy[];
18
+ set policies(value: (PolicyInput | Policy)[]);
19
+ get policies(): Policy[];
20
+ private _policies;
19
21
  /**
20
22
  * Whether the Policy Group Studio is in read-only mode
21
23
  */
@@ -26,8 +28,13 @@ export declare class GioPolicyGroupStudioComponent implements OnChanges {
26
28
  apiType: ApiType;
27
29
  /**
28
30
  * Execution phase targeted by the Policy Group Studio
31
+ * @deprecated Use `flowPhase` instead. To keep as long as we support APIM < 4.6
29
32
  */
30
- executionPhase: ExecutionPhase;
33
+ set executionPhase(value: ExecutionPhase);
34
+ /**
35
+ * Execution phase targeted by the Policy Group Studio
36
+ */
37
+ flowPhase: FlowPhase;
31
38
  /**
32
39
  * Called when Policy Group Studio needs to fetch the policy schema
33
40
  * @returns Observable of the policy schema
@@ -57,7 +64,7 @@ export declare class GioPolicyGroupStudioComponent implements OnChanges {
57
64
  ngOnChanges(changes: SimpleChanges): void;
58
65
  protected onStepsChange(steps: Step[]): void;
59
66
  static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyGroupStudioComponent, never>;
60
- static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyGroupStudioComponent, "gio-policy-group-studio", never, { "policies": { "alias": "policies"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "apiType": { "alias": "apiType"; "required": true; }; "executionPhase": { "alias": "executionPhase"; "required": true; }; "policySchemaFetcher": { "alias": "policySchemaFetcher"; "required": true; }; "policyDocumentationFetcher": { "alias": "policyDocumentationFetcher"; "required": true; }; "policyGroup": { "alias": "policyGroup"; "required": false; }; }, { "policyGroupChange": "policyGroupChange"; }, never, never, true, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyGroupStudioComponent, "gio-policy-group-studio", never, { "policies": { "alias": "policies"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "apiType": { "alias": "apiType"; "required": true; }; "executionPhase": { "alias": "executionPhase"; "required": true; }; "flowPhase": { "alias": "flowPhase"; "required": true; }; "policySchemaFetcher": { "alias": "policySchemaFetcher"; "required": true; }; "policyDocumentationFetcher": { "alias": "policyDocumentationFetcher"; "required": true; }; "policyGroup": { "alias": "policyGroup"; "required": false; }; }, { "policyGroupChange": "policyGroupChange"; }, never, never, true, never>;
61
68
  static ngAcceptInputType_policies: unknown;
62
69
  }
63
70
  export {};
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
2
- import { ApiType, ConnectorInfo, Flow, FlowExecution, Plan, Policy, PolicyDocumentationFetcher, PolicySchemaFetcher, SaveOutput, SharedPolicyGroupPolicy, GenericPolicy } from '../models';
2
+ import { ConnectorInfo, Flow, FlowExecution, Plan, Policy, PolicyDocumentationFetcher, PolicySchemaFetcher, SaveOutput, SharedPolicyGroupPolicy, GenericPolicy, PolicyInput, ApiType } from '../models';
3
3
  import { FlowGroupVM, FlowVM } from './gio-policy-studio.model';
4
4
  import { GioPolicyStudioService } from './gio-policy-studio.service';
5
5
  import * as i0 from "@angular/core";
@@ -36,7 +36,9 @@ export declare class GioPolicyStudioComponent implements OnChanges, OnDestroy {
36
36
  /**
37
37
  * List of policies usable in the policy studio
38
38
  */
39
- policies: Policy[];
39
+ set policies(value: (PolicyInput | Policy)[]);
40
+ get policies(): Policy[];
41
+ private _policies;
40
42
  /**
41
43
  * List of SharedPolicyGroups usable in the studio
42
44
  */
@@ -86,4 +88,5 @@ export declare class GioPolicyStudioComponent implements OnChanges, OnDestroy {
86
88
  private initGenericPolicies;
87
89
  static ɵfac: i0.ɵɵFactoryDeclaration<GioPolicyStudioComponent, never>;
88
90
  static ɵcmp: i0.ɵɵComponentDeclaration<GioPolicyStudioComponent, "gio-policy-studio", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "apiType": { "alias": "apiType"; "required": false; }; "flowExecution": { "alias": "flowExecution"; "required": false; }; "entrypointsInfo": { "alias": "entrypointsInfo"; "required": false; }; "endpointsInfo": { "alias": "endpointsInfo"; "required": false; }; "commonFlows": { "alias": "commonFlows"; "required": false; }; "plans": { "alias": "plans"; "required": false; }; "policies": { "alias": "policies"; "required": false; }; "sharedPolicyGroupPolicies": { "alias": "sharedPolicyGroupPolicies"; "required": false; }; "trialUrl": { "alias": "trialUrl"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "policySchemaFetcher": { "alias": "policySchemaFetcher"; "required": false; }; "policyDocumentationFetcher": { "alias": "policyDocumentationFetcher"; "required": false; }; }, { "save": "save"; }, never, never, true, never>;
91
+ static ngAcceptInputType_policies: unknown;
89
92
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravitee/ui-policy-studio-angular",
3
- "version": "13.4.0",
3
+ "version": "13.5.0",
4
4
  "description": "Gravitee.io - UI Policy Studio Angular",
5
5
  "repository": {
6
6
  "type": "git",
@@ -0,0 +1 @@
1
+ export type ApiProtocolType = 'HTTP_MESSAGE' | 'HTTP_PROXY' | 'NATIVE_KAFKA';
@@ -0,0 +1 @@
1
+ export type ApiType = 'MESSAGE' | 'PROXY' | 'NATIVE';
@@ -1,4 +1,3 @@
1
- export * from './ApiType';
2
1
  export * from './Flow';
3
2
  export * from './FlowExecution';
4
3
  export * from './HttpMethod';
@@ -4,3 +4,5 @@ export * from './policy';
4
4
  export * from './ConnectorsInfo';
5
5
  export * from './SaveOutput';
6
6
  export * from './PolicySchemaFetcher';
7
+ export * from './ApiProtocolType';
8
+ export * from './ApiType';
@@ -1,4 +1,5 @@
1
- export type ExecutionPhase = 'REQUEST' | 'RESPONSE' | 'MESSAGE_REQUEST' | 'MESSAGE_RESPONSE';
1
+ import { ApiProtocolType } from '../ApiProtocolType';
2
+ export type FlowPhase = 'REQUEST' | 'RESPONSE' | 'INTERACT' | 'CONNECT' | 'PUBLISH' | 'SUBSCRIBE';
2
3
  export interface Policy {
3
4
  id: string;
4
5
  name: string;
@@ -6,7 +7,22 @@ export interface Policy {
6
7
  description?: string;
7
8
  category?: string;
8
9
  version?: string;
9
- proxy?: ExecutionPhase[];
10
- message?: ExecutionPhase[];
10
+ flowPhaseCompatibility?: Partial<Record<ApiProtocolType, FlowPhase[]>>;
11
11
  deployed?: boolean;
12
12
  }
13
+ /**
14
+ * @Deprecated to keep as long as we support APIM < 4.6
15
+ */
16
+ export type ExecutionPhase = 'REQUEST' | 'RESPONSE' | 'MESSAGE_REQUEST' | 'MESSAGE_RESPONSE';
17
+ export type PolicyInput = Omit<Policy, 'proxy' | 'message'> & {
18
+ proxy?: ExecutionPhase[];
19
+ message?: ExecutionPhase[];
20
+ };
21
+ /**
22
+ * @Deprecated to keep as long as we support APIM < 4.6
23
+ */
24
+ export declare const fromPolicyInput: (policy: PolicyInput | Policy) => Policy;
25
+ /**
26
+ * @Deprecated to keep as long as we support APIM < 4.6
27
+ */
28
+ export declare const fromExecutionPhase: (phase: ExecutionPhase | FlowPhase) => FlowPhase;
@@ -1,4 +1,4 @@
1
- import { Policy } from './Policy';
1
+ import { Policy, PolicyInput } from './Policy';
2
2
  export declare const POLICIES_V4_UNREGISTERED_ICON: Policy[];
3
3
  export declare function fakeTestPolicy(modifier?: Partial<Policy> | ((base: Policy) => Policy)): Policy;
4
- export declare function fakeAllPolicies(): Policy[];
4
+ export declare function fakeAllPolicies(): (PolicyInput | Policy)[];
@@ -1,5 +1,5 @@
1
- import { ApiType } from '../flow';
2
- import { ExecutionPhase } from './Policy';
1
+ import { ApiType } from '../ApiType';
2
+ import { FlowPhase } from './Policy';
3
3
  export type SharedPolicyGroupPolicy = {
4
4
  id: string;
5
5
  policyId: string;
@@ -7,5 +7,5 @@ export type SharedPolicyGroupPolicy = {
7
7
  description?: string;
8
8
  prerequisiteMessage?: string;
9
9
  apiType: ApiType;
10
- phase: ExecutionPhase;
10
+ phase: FlowPhase;
11
11
  };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL21vZGVscy9mbG93L0FwaVR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgdHlwZSBBcGlUeXBlID0gJ01FU1NBR0UnIHwgJ1BST1hZJztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL21vZGVscy9mbG93L0FwaVR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjMgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5leHBvcnQgdHlwZSBBcGlUeXBlID0gJ01FU1NBR0UnIHwgJ1BST1hZJztcbiJdfQ==
@@ -1 +0,0 @@
1
- export type ApiType = 'MESSAGE' | 'PROXY';
@@ -1 +0,0 @@
1
- export type ApiType = 'MESSAGE' | 'PROXY';