From 6b29b6c317be8b562337478a0d567b9c8cf44505 Mon Sep 17 00:00:00 2001
From: Mateusz Kwasniewski <kwasniewski.mateusz@gmail.com>
Date: Mon, 9 Oct 2023 11:52:41 +0200
Subject: [PATCH] feat: orval types with change request for dependencies
 (#4961)

---
 .../changeRequestCreateFeatureSchema.ts       |  6 ++++-
 ...RequestCreateFeatureSchemaOneOfOneeight.ts | 18 +++++++++++++
 ...tCreateFeatureSchemaOneOfOneeightAction.ts | 16 +++++++++++
 ...eRequestCreateFeatureSchemaOneOfTwozero.ts | 18 +++++++++++++
 ...stCreateFeatureSchemaOneOfTwozeroAction.ts | 16 +++++++++++
 ...tCreateFeatureSchemaOneOfTwozeroPayload.ts | 10 +++++++
 .../models/changeRequestCreateSchema.ts       |  6 ++++-
 .../changeRequestCreateSchemaOneOfTwofive.ts  | 18 +++++++++++++
 ...geRequestCreateSchemaOneOfTwofiveAction.ts | 16 +++++++++++
 ...eRequestCreateSchemaOneOfTwofivePayload.ts | 10 +++++++
 .../changeRequestCreateSchemaOneOfTwothree.ts | 18 +++++++++++++
 ...eRequestCreateSchemaOneOfTwothreeAction.ts | 16 +++++++++++
 .../changeRequestOneOrManyCreateSchema.ts     |  4 +++
 ...equestOneOrManyCreateSchemaOneOfTwofive.ts | 18 +++++++++++++
 ...OneOrManyCreateSchemaOneOfTwofiveAction.ts | 16 +++++++++++
 ...neOrManyCreateSchemaOneOfTwofivePayload.ts | 10 +++++++
 ...questOneOrManyCreateSchemaOneOfTwothree.ts | 18 +++++++++++++
 ...neOrManyCreateSchemaOneOfTwothreeAction.ts | 16 +++++++++++
 .../models/createRoleWithPermissionsSchema.ts |  8 +++---
 .../createRoleWithPermissionsSchemaAnyOf.ts   | 18 +++++++++++++
 ...eateRoleWithPermissionsSchemaAnyOfFour.ts} | 10 +++----
 ...missionsSchemaAnyOfFourPermissionsItem.ts} |  2 +-
 ...RoleWithPermissionsSchemaAnyOfFourType.ts} |  6 ++---
 ...hPermissionsSchemaAnyOfPermissionsItem.ts} |  2 +-
 ...reateRoleWithPermissionsSchemaAnyOfType.ts | 17 ++++++++++++
 .../createRoleWithPermissionsSchemaOneOf.ts   | 18 -------------
 ...reateRoleWithPermissionsSchemaOneOfType.ts | 17 ------------
 frontend/src/openapi/models/index.ts          | 27 ++++++++++++++-----
 .../openapi/models/playgroundFeatureSchema.ts |  3 ++-
 29 files changed, 320 insertions(+), 58 deletions(-)
 create mode 100644 frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfOneeight.ts
 create mode 100644 frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfOneeightAction.ts
 create mode 100644 frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfTwozero.ts
 create mode 100644 frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfTwozeroAction.ts
 create mode 100644 frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfTwozeroPayload.ts
 create mode 100644 frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwofive.ts
 create mode 100644 frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwofiveAction.ts
 create mode 100644 frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwofivePayload.ts
 create mode 100644 frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwothree.ts
 create mode 100644 frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwothreeAction.ts
 create mode 100644 frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwofive.ts
 create mode 100644 frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwofiveAction.ts
 create mode 100644 frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwofivePayload.ts
 create mode 100644 frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwothree.ts
 create mode 100644 frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwothreeAction.ts
 create mode 100644 frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOf.ts
 rename frontend/src/openapi/models/{createRoleWithPermissionsSchemaOneOfFour.ts => createRoleWithPermissionsSchemaAnyOfFour.ts} (54%)
 rename frontend/src/openapi/models/{createRoleWithPermissionsSchemaOneOfFourPermissionsItem.ts => createRoleWithPermissionsSchemaAnyOfFourPermissionsItem.ts} (83%)
 rename frontend/src/openapi/models/{createRoleWithPermissionsSchemaOneOfFourType.ts => createRoleWithPermissionsSchemaAnyOfFourType.ts} (59%)
 rename frontend/src/openapi/models/{createRoleWithPermissionsSchemaOneOfPermissionsItem.ts => createRoleWithPermissionsSchemaAnyOfPermissionsItem.ts} (81%)
 create mode 100644 frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfType.ts
 delete mode 100644 frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOf.ts
 delete mode 100644 frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfType.ts

diff --git a/frontend/src/openapi/models/changeRequestCreateFeatureSchema.ts b/frontend/src/openapi/models/changeRequestCreateFeatureSchema.ts
index 7a45f552bc75..d7026e0abdf1 100644
--- a/frontend/src/openapi/models/changeRequestCreateFeatureSchema.ts
+++ b/frontend/src/openapi/models/changeRequestCreateFeatureSchema.ts
@@ -10,6 +10,8 @@ import type { ChangeRequestCreateFeatureSchemaOneOfEight } from './changeRequest
 import type { ChangeRequestCreateFeatureSchemaOneOfOneone } from './changeRequestCreateFeatureSchemaOneOfOneone';
 import type { ChangeRequestCreateFeatureSchemaOneOfOnethree } from './changeRequestCreateFeatureSchemaOneOfOnethree';
 import type { ChangeRequestCreateFeatureSchemaOneOfOnesix } from './changeRequestCreateFeatureSchemaOneOfOnesix';
+import type { ChangeRequestCreateFeatureSchemaOneOfOneeight } from './changeRequestCreateFeatureSchemaOneOfOneeight';
+import type { ChangeRequestCreateFeatureSchemaOneOfTwozero } from './changeRequestCreateFeatureSchemaOneOfTwozero';
 
 /**
  * Data used to create a [change request](https://docs.getunleash.io/reference/change-requests) for a single feature change.
@@ -21,4 +23,6 @@ export type ChangeRequestCreateFeatureSchema =
     | ChangeRequestCreateFeatureSchemaOneOfEight
     | ChangeRequestCreateFeatureSchemaOneOfOneone
     | ChangeRequestCreateFeatureSchemaOneOfOnethree
-    | ChangeRequestCreateFeatureSchemaOneOfOnesix;
+    | ChangeRequestCreateFeatureSchemaOneOfOnesix
+    | ChangeRequestCreateFeatureSchemaOneOfOneeight
+    | ChangeRequestCreateFeatureSchemaOneOfTwozero;
diff --git a/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfOneeight.ts b/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfOneeight.ts
new file mode 100644
index 000000000000..9a72c812930f
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfOneeight.ts
@@ -0,0 +1,18 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+import type { ChangeRequestCreateFeatureSchemaOneOfOneeightAction } from './changeRequestCreateFeatureSchemaOneOfOneeightAction';
+import type { CreateDependentFeatureSchema } from './createDependentFeatureSchema';
+
+/**
+ * Add a parent feature dependency.
+ */
+export type ChangeRequestCreateFeatureSchemaOneOfOneeight = {
+    /** The name of the feature that this change applies to. */
+    feature: string;
+    /** The name of this action. */
+    action: ChangeRequestCreateFeatureSchemaOneOfOneeightAction;
+    payload: CreateDependentFeatureSchema;
+};
diff --git a/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfOneeightAction.ts b/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfOneeightAction.ts
new file mode 100644
index 000000000000..7aa6693724cf
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfOneeightAction.ts
@@ -0,0 +1,16 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+
+/**
+ * The name of this action.
+ */
+export type ChangeRequestCreateFeatureSchemaOneOfOneeightAction =
+    typeof ChangeRequestCreateFeatureSchemaOneOfOneeightAction[keyof typeof ChangeRequestCreateFeatureSchemaOneOfOneeightAction];
+
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export const ChangeRequestCreateFeatureSchemaOneOfOneeightAction = {
+    addDependency: 'addDependency',
+} as const;
diff --git a/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfTwozero.ts b/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfTwozero.ts
new file mode 100644
index 000000000000..ee9ff73781c2
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfTwozero.ts
@@ -0,0 +1,18 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+import type { ChangeRequestCreateFeatureSchemaOneOfTwozeroAction } from './changeRequestCreateFeatureSchemaOneOfTwozeroAction';
+import type { ChangeRequestCreateFeatureSchemaOneOfTwozeroPayload } from './changeRequestCreateFeatureSchemaOneOfTwozeroPayload';
+
+/**
+ * Remove a parent feature dependency.
+ */
+export type ChangeRequestCreateFeatureSchemaOneOfTwozero = {
+    /** The name of the feature that this change applies to. */
+    feature: string;
+    /** The name of this action. */
+    action: ChangeRequestCreateFeatureSchemaOneOfTwozeroAction;
+    payload: ChangeRequestCreateFeatureSchemaOneOfTwozeroPayload;
+};
diff --git a/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfTwozeroAction.ts b/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfTwozeroAction.ts
new file mode 100644
index 000000000000..4fd50e52379c
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfTwozeroAction.ts
@@ -0,0 +1,16 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+
+/**
+ * The name of this action.
+ */
+export type ChangeRequestCreateFeatureSchemaOneOfTwozeroAction =
+    typeof ChangeRequestCreateFeatureSchemaOneOfTwozeroAction[keyof typeof ChangeRequestCreateFeatureSchemaOneOfTwozeroAction];
+
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export const ChangeRequestCreateFeatureSchemaOneOfTwozeroAction = {
+    deleteDependency: 'deleteDependency',
+} as const;
diff --git a/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfTwozeroPayload.ts b/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfTwozeroPayload.ts
new file mode 100644
index 000000000000..659777cea9a5
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestCreateFeatureSchemaOneOfTwozeroPayload.ts
@@ -0,0 +1,10 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+
+export type ChangeRequestCreateFeatureSchemaOneOfTwozeroPayload = {
+    /** The name of the feature we want to remove dependency on. */
+    feature: string;
+};
diff --git a/frontend/src/openapi/models/changeRequestCreateSchema.ts b/frontend/src/openapi/models/changeRequestCreateSchema.ts
index b8e1fe3788aa..feb1b1429893 100644
--- a/frontend/src/openapi/models/changeRequestCreateSchema.ts
+++ b/frontend/src/openapi/models/changeRequestCreateSchema.ts
@@ -12,6 +12,8 @@ import type { ChangeRequestCreateSchemaOneOfOnethree } from './changeRequestCrea
 import type { ChangeRequestCreateSchemaOneOfOnesix } from './changeRequestCreateSchemaOneOfOnesix';
 import type { ChangeRequestCreateSchemaOneOfOneeight } from './changeRequestCreateSchemaOneOfOneeight';
 import type { ChangeRequestCreateSchemaOneOfTwoone } from './changeRequestCreateSchemaOneOfTwoone';
+import type { ChangeRequestCreateSchemaOneOfTwothree } from './changeRequestCreateSchemaOneOfTwothree';
+import type { ChangeRequestCreateSchemaOneOfTwofive } from './changeRequestCreateSchemaOneOfTwofive';
 
 /**
  * Data used to create a [change request](https://docs.getunleash.io/reference/change-requests) for a single feature or segment change.
@@ -25,4 +27,6 @@ export type ChangeRequestCreateSchema =
     | ChangeRequestCreateSchemaOneOfOnethree
     | ChangeRequestCreateSchemaOneOfOnesix
     | ChangeRequestCreateSchemaOneOfOneeight
-    | ChangeRequestCreateSchemaOneOfTwoone;
+    | ChangeRequestCreateSchemaOneOfTwoone
+    | ChangeRequestCreateSchemaOneOfTwothree
+    | ChangeRequestCreateSchemaOneOfTwofive;
diff --git a/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwofive.ts b/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwofive.ts
new file mode 100644
index 000000000000..8b0d9f031b22
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwofive.ts
@@ -0,0 +1,18 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+import type { ChangeRequestCreateSchemaOneOfTwofiveAction } from './changeRequestCreateSchemaOneOfTwofiveAction';
+import type { ChangeRequestCreateSchemaOneOfTwofivePayload } from './changeRequestCreateSchemaOneOfTwofivePayload';
+
+/**
+ * Remove a parent feature dependency.
+ */
+export type ChangeRequestCreateSchemaOneOfTwofive = {
+    /** The name of the feature that this change applies to. */
+    feature: string;
+    /** The name of this action. */
+    action: ChangeRequestCreateSchemaOneOfTwofiveAction;
+    payload: ChangeRequestCreateSchemaOneOfTwofivePayload;
+};
diff --git a/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwofiveAction.ts b/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwofiveAction.ts
new file mode 100644
index 000000000000..faa699e6475b
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwofiveAction.ts
@@ -0,0 +1,16 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+
+/**
+ * The name of this action.
+ */
+export type ChangeRequestCreateSchemaOneOfTwofiveAction =
+    typeof ChangeRequestCreateSchemaOneOfTwofiveAction[keyof typeof ChangeRequestCreateSchemaOneOfTwofiveAction];
+
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export const ChangeRequestCreateSchemaOneOfTwofiveAction = {
+    deleteDependency: 'deleteDependency',
+} as const;
diff --git a/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwofivePayload.ts b/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwofivePayload.ts
new file mode 100644
index 000000000000..2f6cdfd0252b
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwofivePayload.ts
@@ -0,0 +1,10 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+
+export type ChangeRequestCreateSchemaOneOfTwofivePayload = {
+    /** The name of the feature we want to remove dependency on. */
+    feature: string;
+};
diff --git a/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwothree.ts b/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwothree.ts
new file mode 100644
index 000000000000..db1cb76103ec
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwothree.ts
@@ -0,0 +1,18 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+import type { ChangeRequestCreateSchemaOneOfTwothreeAction } from './changeRequestCreateSchemaOneOfTwothreeAction';
+import type { CreateDependentFeatureSchema } from './createDependentFeatureSchema';
+
+/**
+ * Add a parent feature dependency.
+ */
+export type ChangeRequestCreateSchemaOneOfTwothree = {
+    /** The name of the feature that this change applies to. */
+    feature: string;
+    /** The name of this action. */
+    action: ChangeRequestCreateSchemaOneOfTwothreeAction;
+    payload: CreateDependentFeatureSchema;
+};
diff --git a/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwothreeAction.ts b/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwothreeAction.ts
new file mode 100644
index 000000000000..a0968ce670f0
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestCreateSchemaOneOfTwothreeAction.ts
@@ -0,0 +1,16 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+
+/**
+ * The name of this action.
+ */
+export type ChangeRequestCreateSchemaOneOfTwothreeAction =
+    typeof ChangeRequestCreateSchemaOneOfTwothreeAction[keyof typeof ChangeRequestCreateSchemaOneOfTwothreeAction];
+
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export const ChangeRequestCreateSchemaOneOfTwothreeAction = {
+    addDependency: 'addDependency',
+} as const;
diff --git a/frontend/src/openapi/models/changeRequestOneOrManyCreateSchema.ts b/frontend/src/openapi/models/changeRequestOneOrManyCreateSchema.ts
index fdba149d0e34..351d69946f32 100644
--- a/frontend/src/openapi/models/changeRequestOneOrManyCreateSchema.ts
+++ b/frontend/src/openapi/models/changeRequestOneOrManyCreateSchema.ts
@@ -12,6 +12,8 @@ import type { ChangeRequestOneOrManyCreateSchemaOneOfOnethree } from './changeRe
 import type { ChangeRequestOneOrManyCreateSchemaOneOfOnesix } from './changeRequestOneOrManyCreateSchemaOneOfOnesix';
 import type { ChangeRequestOneOrManyCreateSchemaOneOfOneeight } from './changeRequestOneOrManyCreateSchemaOneOfOneeight';
 import type { ChangeRequestOneOrManyCreateSchemaOneOfTwoone } from './changeRequestOneOrManyCreateSchemaOneOfTwoone';
+import type { ChangeRequestOneOrManyCreateSchemaOneOfTwothree } from './changeRequestOneOrManyCreateSchemaOneOfTwothree';
+import type { ChangeRequestOneOrManyCreateSchemaOneOfTwofive } from './changeRequestOneOrManyCreateSchemaOneOfTwofive';
 import type { ChangeRequestCreateSchema } from './changeRequestCreateSchema';
 
 /**
@@ -27,4 +29,6 @@ export type ChangeRequestOneOrManyCreateSchema =
     | ChangeRequestOneOrManyCreateSchemaOneOfOnesix
     | ChangeRequestOneOrManyCreateSchemaOneOfOneeight
     | ChangeRequestOneOrManyCreateSchemaOneOfTwoone
+    | ChangeRequestOneOrManyCreateSchemaOneOfTwothree
+    | ChangeRequestOneOrManyCreateSchemaOneOfTwofive
     | ChangeRequestCreateSchema[];
diff --git a/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwofive.ts b/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwofive.ts
new file mode 100644
index 000000000000..12ff13482dd0
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwofive.ts
@@ -0,0 +1,18 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+import type { ChangeRequestOneOrManyCreateSchemaOneOfTwofiveAction } from './changeRequestOneOrManyCreateSchemaOneOfTwofiveAction';
+import type { ChangeRequestOneOrManyCreateSchemaOneOfTwofivePayload } from './changeRequestOneOrManyCreateSchemaOneOfTwofivePayload';
+
+/**
+ * Remove a parent feature dependency.
+ */
+export type ChangeRequestOneOrManyCreateSchemaOneOfTwofive = {
+    /** The name of the feature that this change applies to. */
+    feature: string;
+    /** The name of this action. */
+    action: ChangeRequestOneOrManyCreateSchemaOneOfTwofiveAction;
+    payload: ChangeRequestOneOrManyCreateSchemaOneOfTwofivePayload;
+};
diff --git a/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwofiveAction.ts b/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwofiveAction.ts
new file mode 100644
index 000000000000..883157842423
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwofiveAction.ts
@@ -0,0 +1,16 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+
+/**
+ * The name of this action.
+ */
+export type ChangeRequestOneOrManyCreateSchemaOneOfTwofiveAction =
+    typeof ChangeRequestOneOrManyCreateSchemaOneOfTwofiveAction[keyof typeof ChangeRequestOneOrManyCreateSchemaOneOfTwofiveAction];
+
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export const ChangeRequestOneOrManyCreateSchemaOneOfTwofiveAction = {
+    deleteDependency: 'deleteDependency',
+} as const;
diff --git a/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwofivePayload.ts b/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwofivePayload.ts
new file mode 100644
index 000000000000..48482bc37d0e
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwofivePayload.ts
@@ -0,0 +1,10 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+
+export type ChangeRequestOneOrManyCreateSchemaOneOfTwofivePayload = {
+    /** The name of the feature we want to remove dependency on. */
+    feature: string;
+};
diff --git a/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwothree.ts b/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwothree.ts
new file mode 100644
index 000000000000..7d32e5948449
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwothree.ts
@@ -0,0 +1,18 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+import type { ChangeRequestOneOrManyCreateSchemaOneOfTwothreeAction } from './changeRequestOneOrManyCreateSchemaOneOfTwothreeAction';
+import type { CreateDependentFeatureSchema } from './createDependentFeatureSchema';
+
+/**
+ * Add a parent feature dependency.
+ */
+export type ChangeRequestOneOrManyCreateSchemaOneOfTwothree = {
+    /** The name of the feature that this change applies to. */
+    feature: string;
+    /** The name of this action. */
+    action: ChangeRequestOneOrManyCreateSchemaOneOfTwothreeAction;
+    payload: CreateDependentFeatureSchema;
+};
diff --git a/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwothreeAction.ts b/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwothreeAction.ts
new file mode 100644
index 000000000000..7e91a3589d68
--- /dev/null
+++ b/frontend/src/openapi/models/changeRequestOneOrManyCreateSchemaOneOfTwothreeAction.ts
@@ -0,0 +1,16 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+
+/**
+ * The name of this action.
+ */
+export type ChangeRequestOneOrManyCreateSchemaOneOfTwothreeAction =
+    typeof ChangeRequestOneOrManyCreateSchemaOneOfTwothreeAction[keyof typeof ChangeRequestOneOrManyCreateSchemaOneOfTwothreeAction];
+
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export const ChangeRequestOneOrManyCreateSchemaOneOfTwothreeAction = {
+    addDependency: 'addDependency',
+} as const;
diff --git a/frontend/src/openapi/models/createRoleWithPermissionsSchema.ts b/frontend/src/openapi/models/createRoleWithPermissionsSchema.ts
index ed57f4a68d57..4f3984b6caf2 100644
--- a/frontend/src/openapi/models/createRoleWithPermissionsSchema.ts
+++ b/frontend/src/openapi/models/createRoleWithPermissionsSchema.ts
@@ -3,12 +3,12 @@
  * Do not edit manually.
  * See `gen:api` script in package.json
  */
-import type { CreateRoleWithPermissionsSchemaOneOf } from './createRoleWithPermissionsSchemaOneOf';
-import type { CreateRoleWithPermissionsSchemaOneOfFour } from './createRoleWithPermissionsSchemaOneOfFour';
+import type { CreateRoleWithPermissionsSchemaAnyOf } from './createRoleWithPermissionsSchemaAnyOf';
+import type { CreateRoleWithPermissionsSchemaAnyOfFour } from './createRoleWithPermissionsSchemaAnyOfFour';
 
 /**
  * A write model for the custom role and permissions to allow Unleash to decide what actions a role holder is allowed to perform
  */
 export type CreateRoleWithPermissionsSchema =
-    | CreateRoleWithPermissionsSchemaOneOf
-    | CreateRoleWithPermissionsSchemaOneOfFour;
+    | CreateRoleWithPermissionsSchemaAnyOf
+    | CreateRoleWithPermissionsSchemaAnyOfFour;
diff --git a/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOf.ts b/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOf.ts
new file mode 100644
index 000000000000..95f98ea73a96
--- /dev/null
+++ b/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOf.ts
@@ -0,0 +1,18 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+import type { CreateRoleWithPermissionsSchemaAnyOfType } from './createRoleWithPermissionsSchemaAnyOfType';
+import type { CreateRoleWithPermissionsSchemaAnyOfPermissionsItem } from './createRoleWithPermissionsSchemaAnyOfPermissionsItem';
+
+export type CreateRoleWithPermissionsSchemaAnyOf = {
+    /** The name of the custom role */
+    name: string;
+    /** A more detailed description of the custom role and what use it's intended for */
+    description?: string;
+    /** [Custom root roles](https://docs.getunleash.io/reference/rbac#custom-root-roles) (type=root-custom) are root roles with a custom set of permissions. [Custom project roles](https://docs.getunleash.io/reference/rbac#custom-project-roles) (type=custom) contain a specific set of permissions for project resources. */
+    type?: CreateRoleWithPermissionsSchemaAnyOfType;
+    /** A list of permissions assigned to this role */
+    permissions?: CreateRoleWithPermissionsSchemaAnyOfPermissionsItem[];
+};
diff --git a/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfFour.ts b/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfFour.ts
similarity index 54%
rename from frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfFour.ts
rename to frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfFour.ts
index 4affde870604..410ff0078032 100644
--- a/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfFour.ts
+++ b/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfFour.ts
@@ -3,16 +3,16 @@
  * Do not edit manually.
  * See `gen:api` script in package.json
  */
-import type { CreateRoleWithPermissionsSchemaOneOfFourType } from './createRoleWithPermissionsSchemaOneOfFourType';
-import type { CreateRoleWithPermissionsSchemaOneOfFourPermissionsItem } from './createRoleWithPermissionsSchemaOneOfFourPermissionsItem';
+import type { CreateRoleWithPermissionsSchemaAnyOfFourType } from './createRoleWithPermissionsSchemaAnyOfFourType';
+import type { CreateRoleWithPermissionsSchemaAnyOfFourPermissionsItem } from './createRoleWithPermissionsSchemaAnyOfFourPermissionsItem';
 
-export type CreateRoleWithPermissionsSchemaOneOfFour = {
+export type CreateRoleWithPermissionsSchemaAnyOfFour = {
     /** The name of the custom role */
     name: string;
     /** A more detailed description of the custom role and what use it's intended for */
     description?: string;
     /** [Custom project roles](https://docs.getunleash.io/reference/rbac#custom-project-roles) contain a specific set of permissions for project resources. */
-    type?: CreateRoleWithPermissionsSchemaOneOfFourType;
+    type?: CreateRoleWithPermissionsSchemaAnyOfFourType;
     /** A list of permissions assigned to this role */
-    permissions?: CreateRoleWithPermissionsSchemaOneOfFourPermissionsItem[];
+    permissions?: CreateRoleWithPermissionsSchemaAnyOfFourPermissionsItem[];
 };
diff --git a/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfFourPermissionsItem.ts b/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfFourPermissionsItem.ts
similarity index 83%
rename from frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfFourPermissionsItem.ts
rename to frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfFourPermissionsItem.ts
index 145706b5ed65..2fb672ee7684 100644
--- a/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfFourPermissionsItem.ts
+++ b/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfFourPermissionsItem.ts
@@ -4,7 +4,7 @@
  * See `gen:api` script in package.json
  */
 
-export type CreateRoleWithPermissionsSchemaOneOfFourPermissionsItem = {
+export type CreateRoleWithPermissionsSchemaAnyOfFourPermissionsItem = {
     /** The id of the permission */
     id: number;
     /** The name of the permission */
diff --git a/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfFourType.ts b/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfFourType.ts
similarity index 59%
rename from frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfFourType.ts
rename to frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfFourType.ts
index ca89c2a81073..0f396af36b5d 100644
--- a/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfFourType.ts
+++ b/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfFourType.ts
@@ -7,10 +7,10 @@
 /**
  * [Custom project roles](https://docs.getunleash.io/reference/rbac#custom-project-roles) contain a specific set of permissions for project resources.
  */
-export type CreateRoleWithPermissionsSchemaOneOfFourType =
-    typeof CreateRoleWithPermissionsSchemaOneOfFourType[keyof typeof CreateRoleWithPermissionsSchemaOneOfFourType];
+export type CreateRoleWithPermissionsSchemaAnyOfFourType =
+    typeof CreateRoleWithPermissionsSchemaAnyOfFourType[keyof typeof CreateRoleWithPermissionsSchemaAnyOfFourType];
 
 // eslint-disable-next-line @typescript-eslint/no-redeclare
-export const CreateRoleWithPermissionsSchemaOneOfFourType = {
+export const CreateRoleWithPermissionsSchemaAnyOfFourType = {
     custom: 'custom',
 } as const;
diff --git a/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfPermissionsItem.ts b/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfPermissionsItem.ts
similarity index 81%
rename from frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfPermissionsItem.ts
rename to frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfPermissionsItem.ts
index bfb3c06cdd00..6e886f6597de 100644
--- a/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfPermissionsItem.ts
+++ b/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfPermissionsItem.ts
@@ -4,7 +4,7 @@
  * See `gen:api` script in package.json
  */
 
-export type CreateRoleWithPermissionsSchemaOneOfPermissionsItem = {
+export type CreateRoleWithPermissionsSchemaAnyOfPermissionsItem = {
     /** The name of the permission */
     name: string;
     /** The environments of the permission if the permission is environment specific */
diff --git a/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfType.ts b/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfType.ts
new file mode 100644
index 000000000000..1c4852b6083c
--- /dev/null
+++ b/frontend/src/openapi/models/createRoleWithPermissionsSchemaAnyOfType.ts
@@ -0,0 +1,17 @@
+/**
+ * Generated by Orval
+ * Do not edit manually.
+ * See `gen:api` script in package.json
+ */
+
+/**
+ * [Custom root roles](https://docs.getunleash.io/reference/rbac#custom-root-roles) (type=root-custom) are root roles with a custom set of permissions. [Custom project roles](https://docs.getunleash.io/reference/rbac#custom-project-roles) (type=custom) contain a specific set of permissions for project resources.
+ */
+export type CreateRoleWithPermissionsSchemaAnyOfType =
+    typeof CreateRoleWithPermissionsSchemaAnyOfType[keyof typeof CreateRoleWithPermissionsSchemaAnyOfType];
+
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export const CreateRoleWithPermissionsSchemaAnyOfType = {
+    'root-custom': 'root-custom',
+    custom: 'custom',
+} as const;
diff --git a/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOf.ts b/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOf.ts
deleted file mode 100644
index dfdfe20bf4d2..000000000000
--- a/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOf.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Generated by Orval
- * Do not edit manually.
- * See `gen:api` script in package.json
- */
-import type { CreateRoleWithPermissionsSchemaOneOfType } from './createRoleWithPermissionsSchemaOneOfType';
-import type { CreateRoleWithPermissionsSchemaOneOfPermissionsItem } from './createRoleWithPermissionsSchemaOneOfPermissionsItem';
-
-export type CreateRoleWithPermissionsSchemaOneOf = {
-    /** The name of the custom role */
-    name: string;
-    /** A more detailed description of the custom role and what use it's intended for */
-    description?: string;
-    /** [Custom root roles](https://docs.getunleash.io/reference/rbac#custom-root-roles) are root roles with a custom set of permissions. */
-    type: CreateRoleWithPermissionsSchemaOneOfType;
-    /** A list of permissions assigned to this role */
-    permissions?: CreateRoleWithPermissionsSchemaOneOfPermissionsItem[];
-};
diff --git a/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfType.ts b/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfType.ts
deleted file mode 100644
index b1a6fbbf7d1d..000000000000
--- a/frontend/src/openapi/models/createRoleWithPermissionsSchemaOneOfType.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Generated by Orval
- * Do not edit manually.
- * See `gen:api` script in package.json
- */
-
-/**
- * [Custom root roles](https://docs.getunleash.io/reference/rbac#custom-root-roles) are root roles with a custom set of permissions.
- */
-export type CreateRoleWithPermissionsSchemaOneOfType =
-    typeof CreateRoleWithPermissionsSchemaOneOfType[keyof typeof CreateRoleWithPermissionsSchemaOneOfType];
-
-// eslint-disable-next-line @typescript-eslint/no-redeclare
-export const CreateRoleWithPermissionsSchemaOneOfType = {
-    'root-custom': 'root-custom',
-    custom: 'custom',
-} as const;
diff --git a/frontend/src/openapi/models/index.ts b/frontend/src/openapi/models/index.ts
index 98c486f8eab8..b21dae1693c2 100644
--- a/frontend/src/openapi/models/index.ts
+++ b/frontend/src/openapi/models/index.ts
@@ -136,6 +136,8 @@ export * from './changeRequestCreateFeatureSchemaOneOfEightAction';
 export * from './changeRequestCreateFeatureSchemaOneOfEightPayload';
 export * from './changeRequestCreateFeatureSchemaOneOfFour';
 export * from './changeRequestCreateFeatureSchemaOneOfFourAction';
+export * from './changeRequestCreateFeatureSchemaOneOfOneeight';
+export * from './changeRequestCreateFeatureSchemaOneOfOneeightAction';
 export * from './changeRequestCreateFeatureSchemaOneOfOneone';
 export * from './changeRequestCreateFeatureSchemaOneOfOneoneAction';
 export * from './changeRequestCreateFeatureSchemaOneOfOnesix';
@@ -146,6 +148,9 @@ export * from './changeRequestCreateFeatureSchemaOneOfOnethreePayload';
 export * from './changeRequestCreateFeatureSchemaOneOfPayload';
 export * from './changeRequestCreateFeatureSchemaOneOfSix';
 export * from './changeRequestCreateFeatureSchemaOneOfSixAction';
+export * from './changeRequestCreateFeatureSchemaOneOfTwozero';
+export * from './changeRequestCreateFeatureSchemaOneOfTwozeroAction';
+export * from './changeRequestCreateFeatureSchemaOneOfTwozeroPayload';
 export * from './changeRequestCreateSchema';
 export * from './changeRequestCreateSchemaOneOf';
 export * from './changeRequestCreateSchemaOneOfAction';
@@ -167,8 +172,13 @@ export * from './changeRequestCreateSchemaOneOfSixPayload';
 export * from './changeRequestCreateSchemaOneOfThree';
 export * from './changeRequestCreateSchemaOneOfThreeAction';
 export * from './changeRequestCreateSchemaOneOfThreePayload';
+export * from './changeRequestCreateSchemaOneOfTwofive';
+export * from './changeRequestCreateSchemaOneOfTwofiveAction';
+export * from './changeRequestCreateSchemaOneOfTwofivePayload';
 export * from './changeRequestCreateSchemaOneOfTwoone';
 export * from './changeRequestCreateSchemaOneOfTwooneAction';
+export * from './changeRequestCreateSchemaOneOfTwothree';
+export * from './changeRequestCreateSchemaOneOfTwothreeAction';
 export * from './changeRequestCreateSegmentSchema';
 export * from './changeRequestCreateSegmentSchemaOneOf';
 export * from './changeRequestCreateSegmentSchemaOneOfAction';
@@ -200,8 +210,13 @@ export * from './changeRequestOneOrManyCreateSchemaOneOfSixPayload';
 export * from './changeRequestOneOrManyCreateSchemaOneOfThree';
 export * from './changeRequestOneOrManyCreateSchemaOneOfThreeAction';
 export * from './changeRequestOneOrManyCreateSchemaOneOfThreePayload';
+export * from './changeRequestOneOrManyCreateSchemaOneOfTwofive';
+export * from './changeRequestOneOrManyCreateSchemaOneOfTwofiveAction';
+export * from './changeRequestOneOrManyCreateSchemaOneOfTwofivePayload';
 export * from './changeRequestOneOrManyCreateSchemaOneOfTwoone';
 export * from './changeRequestOneOrManyCreateSchemaOneOfTwooneAction';
+export * from './changeRequestOneOrManyCreateSchemaOneOfTwothree';
+export * from './changeRequestOneOrManyCreateSchemaOneOfTwothreeAction';
 export * from './changeRequestSchema';
 export * from './changeRequestSchemaCreatedBy';
 export * from './changeRequestSchemaState';
@@ -309,12 +324,12 @@ export * from './createRole401';
 export * from './createRole403';
 export * from './createRole409';
 export * from './createRoleWithPermissionsSchema';
-export * from './createRoleWithPermissionsSchemaOneOf';
-export * from './createRoleWithPermissionsSchemaOneOfFour';
-export * from './createRoleWithPermissionsSchemaOneOfFourPermissionsItem';
-export * from './createRoleWithPermissionsSchemaOneOfFourType';
-export * from './createRoleWithPermissionsSchemaOneOfPermissionsItem';
-export * from './createRoleWithPermissionsSchemaOneOfType';
+export * from './createRoleWithPermissionsSchemaAnyOf';
+export * from './createRoleWithPermissionsSchemaAnyOfFour';
+export * from './createRoleWithPermissionsSchemaAnyOfFourPermissionsItem';
+export * from './createRoleWithPermissionsSchemaAnyOfFourType';
+export * from './createRoleWithPermissionsSchemaAnyOfPermissionsItem';
+export * from './createRoleWithPermissionsSchemaAnyOfType';
 export * from './createSegment400';
 export * from './createSegment401';
 export * from './createSegment403';
diff --git a/frontend/src/openapi/models/playgroundFeatureSchema.ts b/frontend/src/openapi/models/playgroundFeatureSchema.ts
index 2e85992953e0..b2fa7e93599e 100644
--- a/frontend/src/openapi/models/playgroundFeatureSchema.ts
+++ b/frontend/src/openapi/models/playgroundFeatureSchema.ts
@@ -17,9 +17,10 @@ export interface PlaygroundFeatureSchema {
     projectId: string;
     /** The feature's applicable strategies and cumulative results of the strategies */
     strategies: PlaygroundFeatureSchemaStrategies;
+    /** Whether the feature has a parent dependency that is not satisfied */
+    hasUnsatisfiedDependency?: boolean;
     /** Whether the feature is active and would be evaluated in the provided environment in a normal SDK context. */
     isEnabledInCurrentEnvironment: boolean;
-    hasUnsatisfiedDependency?: boolean;
     /** Whether this feature is enabled or not in the current environment.
                           If a feature can't be fully evaluated (that is, `strategies.result` is `unknown`),
                           this will be `false` to align with how client SDKs treat unresolved feature states. */