From 93e5cf4b2bd3ad31261cb88bbf2bbba7132dd5a4 Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Fri, 12 Sep 2025 17:26:01 -0700 Subject: [PATCH 01/27] feature: add suport for project scoped app connections --- ...ions-and-secret-syncs-unique-constraint.ts | 5 +- ...912011133_app-connection-project-id-col.ts | 41 ++ backend/src/db/schemas/app-connections.ts | 3 +- .../ee/services/audit-log/audit-log-types.ts | 25 +- .../ee/services/permission/default-roles.ts | 14 + .../services/permission/project-permission.ts | 47 +- .../ldap-password-rotation-fns.ts | 3 +- .../secret-rotation-v2-dal.ts | 3 + .../secret-rotation-v2-service.ts | 8 +- .../secret-scanning-v2-dal.ts | 5 +- .../secret-scanning-v2-service.ts | 10 +- backend/src/lib/api-docs/constants.ts | 9 +- backend/src/server/routes/index.ts | 3 +- .../app-connection-endpoints.ts | 127 +++++- .../app-connection-router.ts | 23 +- .../app-connection/app-connection-dal.ts | 110 ++++- .../app-connection/app-connection-fns.ts | 150 ++++++- .../app-connection/app-connection-schemas.ts | 11 +- .../app-connection/app-connection-service.ts | 411 ++++++++++++++---- .../app-connection/app-connection-types.ts | 14 +- .../auth0/auth0-connection-fns.ts | 5 +- .../azure-adcs/azure-adcs-connection-fns.ts | 3 +- .../azure-client-secrets-connection-fns.ts | 4 + .../azure-devops/azure-devops-fns.ts | 15 +- .../azure-key-vault-connection-fns.ts | 12 +- .../camunda/camunda-connection-fns.ts | 5 +- .../databricks/databricks-connection-fns.ts | 5 +- .../gitlab/gitlab-connection-fns.ts | 7 +- .../heroku/heroku-connection-fns.ts | 5 +- .../acme/acme-certificate-authority-fns.ts | 20 +- .../azure-ad-cs-certificate-authority-fns.ts | 18 +- .../certificate-authority-queue.ts | 2 +- .../certificate-authority-service.ts | 2 +- .../secret-sync/gitlab/gitlab-sync-fns.ts | 1 + .../secret-sync/heroku/heroku-sync-fns.ts | 1 + .../services/secret-sync/secret-sync-dal.ts | 5 +- .../services/secret-sync/secret-sync-queue.ts | 15 +- .../secret-sync/secret-sync-service.ts | 14 +- .../general/add-connection.png | Bin 1113148 -> 952486 bytes .../app-connections/1password.mdx | 6 +- docs/integrations/app-connections/auth0.mdx | 4 +- docs/integrations/app-connections/aws.mdx | 8 +- .../azure-app-configuration.mdx | 2 +- .../app-connections/azure-client-secrets.mdx | 2 +- .../app-connections/azure-devops.mdx | 2 +- .../app-connections/azure-key-vault.mdx | 2 +- .../app-connections/bitbucket.mdx | 6 +- docs/integrations/app-connections/camunda.mdx | 3 +- docs/integrations/app-connections/checkly.mdx | 6 +- .../app-connections/cloudflare.mdx | 3 +- .../app-connections/databricks.mdx | 3 +- .../app-connections/digital-ocean.mdx | 6 +- docs/integrations/app-connections/flyio.mdx | 6 +- docs/integrations/app-connections/gcp.mdx | 3 +- .../app-connections/github-radar.mdx | 2 +- docs/integrations/app-connections/github.mdx | 4 +- docs/integrations/app-connections/gitlab.mdx | 4 +- .../app-connections/hashicorp-vault.mdx | 4 +- docs/integrations/app-connections/heroku.mdx | 4 +- .../app-connections/humanitec.mdx | 2 +- docs/integrations/app-connections/ldap.mdx | 4 +- docs/integrations/app-connections/mssql.mdx | 6 +- docs/integrations/app-connections/mysql.mdx | 4 +- docs/integrations/app-connections/netlify.mdx | 6 +- docs/integrations/app-connections/oci.mdx | 6 +- docs/integrations/app-connections/okta.mdx | 6 +- .../integrations/app-connections/oracledb.mdx | 4 +- .../integrations/app-connections/overview.mdx | 10 +- .../integrations/app-connections/postgres.mdx | 4 +- docs/integrations/app-connections/railway.mdx | 6 +- docs/integrations/app-connections/render.mdx | 3 +- .../integrations/app-connections/supabase.mdx | 6 +- .../integrations/app-connections/teamcity.mdx | 6 +- .../app-connections/terraform-cloud.mdx | 4 +- docs/integrations/app-connections/vercel.mdx | 6 +- .../integrations/app-connections/windmill.mdx | 5 +- docs/integrations/app-connections/zabbix.mdx | 6 +- .../app-connections/AppConnectionOption.tsx | 45 ++ .../src/components/app-connections/index.ts | 1 + .../permissions/OrgPermissionCan.tsx | 25 +- .../permissions/VariablePermissionCan.tsx | 17 + frontend/src/components/permissions/index.tsx | 1 + .../CreateSecretRotationV2Modal.tsx | 60 ++- .../forms/SecretRotationV2ConnectionField.tsx | 71 ++- .../forms/SecretRotationV2Form.tsx | 7 +- .../CreateSecretScanningDataSourceModal.tsx | 47 +- ...ecretScanningDataSourceConnectionField.tsx | 72 ++- .../forms/SecretScanningDataSourceForm.tsx | 12 +- .../secret-syncs/CreateSecretSyncModal.tsx | 14 +- .../forms/CreateSecretSyncForm.tsx | 14 +- .../forms/SecretSyncConnectionField.tsx | 71 ++- .../src/context/OrgPermissionContext/types.ts | 20 +- .../context/ProjectPermissionContext/types.ts | 25 +- frontend/src/helpers/appConnections.ts | 9 + .../hooks/api/appConnections/mutations.tsx | 38 +- .../src/hooks/api/appConnections/queries.tsx | 168 ++++--- .../hooks/api/appConnections/types/index.ts | 107 +++-- .../appConnections/types/root-connection.ts | 9 + .../src/hooks/api/auditLogs/constants.tsx | 2 + frontend/src/hooks/api/auditLogs/enums.tsx | 2 + .../PkiManagerLayout/PkiManagerLayout.tsx | 18 + .../SecretManagerLayout.tsx | 18 + .../SecretScanningLayout.tsx | 18 + .../components/ExternalCaModal.tsx | 8 +- .../AppConnectionsPage/AppConnectionsPage.tsx | 69 +-- .../components/AddAppConnectionModal.tsx | 36 +- .../AppConnectionForm/AppConnectionForm.tsx | 81 +++- .../AzureAppConfigurationConnectionForm.tsx | 23 +- .../AzureClientSecretsConnectionForm.tsx | 19 +- .../AzureDevOpsConnectionForm.tsx | 19 +- .../AzureKeyVaultConnectionForm.tsx | 19 +- .../GitHubConnectionForm.tsx | 20 +- .../GitHubRadarConnectionForm.tsx | 19 +- .../GitLabConnectionForm.tsx | 18 +- .../components/AppConnectionList.tsx | 6 +- .../components/AppConnectionRow.tsx | 171 ++++++-- .../components/AppConnectionsTable.tsx | 156 ++++++- .../OauthCallbackPage/OauthCallbackPage.tsx | 238 +++++----- .../OauthCallbackPage.types.ts | 68 +++ .../GatewayListPage/GatewayListPage.tsx | 4 +- .../AppConnectionsPage/AppConnectionsPage.tsx | 44 ++ .../AppConnectionsPage/route-cert-manager.tsx | 19 + .../route-secret-manager.tsx | 19 + .../route-secret-scanning.tsx | 19 + .../AppConnectionPermissionConditions.tsx | 19 + .../components/PermissionConditionHelpers.tsx | 1 + .../ProjectRoleModifySection.utils.tsx | 85 +++- .../components/RolePermissionsSection.tsx | 5 + .../SecretSyncsTab/SecretSyncsTab.tsx | 44 +- .../IntegrationsListPage/route.tsx | 4 +- .../secret-manager/OverviewPage/route.tsx | 4 +- .../SecretDashboardPage/route.tsx | 4 +- .../SecretScanningDataSourcesPage/route.tsx | 8 + frontend/src/routeTree.gen.ts | 87 ++++ frontend/src/routes.ts | 3 + 135 files changed, 2823 insertions(+), 742 deletions(-) create mode 100644 backend/src/db/migrations/20250912011133_app-connection-project-id-col.ts create mode 100644 frontend/src/components/app-connections/AppConnectionOption.tsx create mode 100644 frontend/src/components/app-connections/index.ts create mode 100644 frontend/src/components/permissions/VariablePermissionCan.tsx create mode 100644 frontend/src/pages/organization/AppConnections/OauthCallbackPage/OauthCallbackPage.types.ts create mode 100644 frontend/src/pages/project/AppConnectionsPage/AppConnectionsPage.tsx create mode 100644 frontend/src/pages/project/AppConnectionsPage/route-cert-manager.tsx create mode 100644 frontend/src/pages/project/AppConnectionsPage/route-secret-manager.tsx create mode 100644 frontend/src/pages/project/AppConnectionsPage/route-secret-scanning.tsx create mode 100644 frontend/src/pages/project/RoleDetailsBySlugPage/components/AppConnectionPermissionConditions.tsx diff --git a/backend/src/db/migrations/20250204025010_app-connections-and-secret-syncs-unique-constraint.ts b/backend/src/db/migrations/20250204025010_app-connections-and-secret-syncs-unique-constraint.ts index 348694ae7..f9b46559d 100644 --- a/backend/src/db/migrations/20250204025010_app-connections-and-secret-syncs-unique-constraint.ts +++ b/backend/src/db/migrations/20250204025010_app-connections-and-secret-syncs-unique-constraint.ts @@ -1,5 +1,6 @@ import { Knex } from "knex"; +import { dropConstraintIfExists } from "@app/db/migrations/utils/dropConstraintIfExists"; import { TableName } from "@app/db/schemas"; export async function up(knex: Knex): Promise { @@ -13,9 +14,7 @@ export async function up(knex: Knex): Promise { } export async function down(knex: Knex): Promise { - await knex.schema.alterTable(TableName.AppConnection, (t) => { - t.dropUnique(["orgId", "name"]); - }); + await dropConstraintIfExists(TableName.AppConnection, "app_connections_orgid_name_unique", knex); await knex.schema.alterTable(TableName.SecretSync, (t) => { t.dropUnique(["projectId", "name"]); diff --git a/backend/src/db/migrations/20250912011133_app-connection-project-id-col.ts b/backend/src/db/migrations/20250912011133_app-connection-project-id-col.ts new file mode 100644 index 000000000..5c846a739 --- /dev/null +++ b/backend/src/db/migrations/20250912011133_app-connection-project-id-col.ts @@ -0,0 +1,41 @@ +import { Knex } from "knex"; + +import { dropConstraintIfExists } from "@app/db/migrations/utils/dropConstraintIfExists"; +import { TableName } from "@app/db/schemas"; + +const UNIQUE_NAME_ORG_CONNECTION_INDEX = "unique_name_org_app_connection"; + +export async function up(knex: Knex): Promise { + if (await knex.schema.hasTable(TableName.AppConnection)) { + // we can't add the constraint back after up since there may be conflicting names so we do if exists + await dropConstraintIfExists(TableName.AppConnection, "app_connections_orgid_name_unique", knex); + + if (!(await knex.schema.hasColumn(TableName.AppConnection, "projectId"))) { + await knex.schema.alterTable(TableName.AppConnection, (t) => { + t.string("projectId").nullable(); + t.foreign("projectId").references("id").inTable(TableName.Project).onDelete("CASCADE"); + // unique name for project-level connections + t.unique(["name", "projectId", "orgId"]); + }); + + // unique name for org-level connections + await knex.raw(` + CREATE UNIQUE INDEX ${UNIQUE_NAME_ORG_CONNECTION_INDEX} + ON ${TableName.AppConnection} ("name", "orgId") + WHERE "projectId" IS NULL + `); + } + } +} + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasTable(TableName.AppConnection)) { + if (await knex.schema.hasColumn(TableName.AppConnection, "projectId")) { + await knex.schema.alterTable(TableName.AppConnection, (t) => { + t.dropUnique(["name", "projectId", "orgId"]); + t.dropColumn("projectId"); + }); + await dropConstraintIfExists(TableName.AppConnection, UNIQUE_NAME_ORG_CONNECTION_INDEX, knex); + } + } +} diff --git a/backend/src/db/schemas/app-connections.ts b/backend/src/db/schemas/app-connections.ts index 2218b75ce..41d1df17f 100644 --- a/backend/src/db/schemas/app-connections.ts +++ b/backend/src/db/schemas/app-connections.ts @@ -21,7 +21,8 @@ export const AppConnectionsSchema = z.object({ createdAt: z.date(), updatedAt: z.date(), isPlatformManagedCredentials: z.boolean().default(false).nullable().optional(), - gatewayId: z.string().uuid().nullable().optional() + gatewayId: z.string().uuid().nullable().optional(), + projectId: z.string().nullable().optional() }); export type TAppConnections = z.infer; diff --git a/backend/src/ee/services/audit-log/audit-log-types.ts b/backend/src/ee/services/audit-log/audit-log-types.ts index 10c84cc4a..88b4480bc 100644 --- a/backend/src/ee/services/audit-log/audit-log-types.ts +++ b/backend/src/ee/services/audit-log/audit-log-types.ts @@ -392,6 +392,8 @@ export enum EventType { CREATE_APP_CONNECTION = "create-app-connection", UPDATE_APP_CONNECTION = "update-app-connection", DELETE_APP_CONNECTION = "delete-app-connection", + GET_APP_CONNECTION_USAGE = "get-app-connection-usage", + MIGRATE_APP_CONNECTION = "migrate-app-connection", CREATE_SHARED_SECRET = "create-shared-secret", CREATE_SECRET_REQUEST = "create-secret-request", DELETE_SHARED_SECRET = "delete-shared-secret", @@ -2781,14 +2783,31 @@ interface GetAppConnectionEvent { }; } +interface GetAppConnectionUsageEvent { + type: EventType.GET_APP_CONNECTION_USAGE; + metadata: { + connectionId: string; + }; +} + +interface MigrateAppConnectionEvent { + type: EventType.MIGRATE_APP_CONNECTION; + metadata: { + connectionId: string; + }; +} + interface CreateAppConnectionEvent { type: EventType.CREATE_APP_CONNECTION; - metadata: Omit & { connectionId: string }; + metadata: Omit & { connectionId: string }; } interface UpdateAppConnectionEvent { type: EventType.UPDATE_APP_CONNECTION; - metadata: Omit & { connectionId: string; credentialsUpdated: boolean }; + metadata: Omit & { + connectionId: string; + credentialsUpdated: boolean; + }; } interface DeleteAppConnectionEvent { @@ -3697,6 +3716,8 @@ export type Event = | CreateAppConnectionEvent | UpdateAppConnectionEvent | DeleteAppConnectionEvent + | GetAppConnectionUsageEvent + | MigrateAppConnectionEvent | GetSshHostGroupEvent | CreateSshHostGroupEvent | UpdateSshHostGroupEvent diff --git a/backend/src/ee/services/permission/default-roles.ts b/backend/src/ee/services/permission/default-roles.ts index 9329c3c7f..953d0195e 100644 --- a/backend/src/ee/services/permission/default-roles.ts +++ b/backend/src/ee/services/permission/default-roles.ts @@ -2,6 +2,7 @@ import { AbilityBuilder, createMongoAbility, MongoAbility } from "@casl/ability" import { ProjectPermissionActions, + ProjectPermissionAppConnectionActions, ProjectPermissionAuditLogsActions, ProjectPermissionCertificateActions, ProjectPermissionCmekActions, @@ -264,6 +265,17 @@ const buildAdminPermissionRules = () => { ProjectPermissionSub.SecretEvents ); + can( + [ + ProjectPermissionAppConnectionActions.Create, + ProjectPermissionAppConnectionActions.Edit, + ProjectPermissionAppConnectionActions.Delete, + ProjectPermissionAppConnectionActions.Read, + ProjectPermissionAppConnectionActions.Connect + ], + ProjectPermissionSub.AppConnections + ); + return rules; }; @@ -477,6 +489,8 @@ const buildMemberPermissionRules = () => { ProjectPermissionSub.SecretEvents ); + can(ProjectPermissionAppConnectionActions.Connect, ProjectPermissionSub.AppConnections); + return rules; }; diff --git a/backend/src/ee/services/permission/project-permission.ts b/backend/src/ee/services/permission/project-permission.ts index 20b4344d3..099461f7f 100644 --- a/backend/src/ee/services/permission/project-permission.ts +++ b/backend/src/ee/services/permission/project-permission.ts @@ -147,6 +147,14 @@ export enum ProjectPermissionSecretScanningDataSourceActions { ReadResources = "read-data-source-resources" } +export enum ProjectPermissionAppConnectionActions { + Read = "read-app-connections", + Create = "create-app-connections", + Edit = "edit-app-connections", + Delete = "delete-app-connections", + Connect = "connect-app-connections" +} + export enum ProjectPermissionSecretScanningFindingActions { Read = "read-findings", Update = "update-findings" @@ -208,7 +216,8 @@ export enum ProjectPermissionSub { SecretScanningDataSources = "secret-scanning-data-sources", SecretScanningFindings = "secret-scanning-findings", SecretScanningConfigs = "secret-scanning-configs", - SecretEvents = "secret-events" + SecretEvents = "secret-events", + AppConnections = "app-connections" } export type SecretSubjectFields = { @@ -272,6 +281,10 @@ export type PkiSubscriberSubjectFields = { // (dangtony98): consider adding [commonName] as a subject field in the future }; +export type AppConnectionSubjectFields = { + connectionId: string; +}; + export type ProjectPermissionSet = | [ ProjectPermissionSecretActions, @@ -365,6 +378,13 @@ export type ProjectPermissionSet = | [ ProjectPermissionSecretEventActions, ProjectPermissionSub.SecretEvents | (ForcedSubject & SecretEventSubjectFields) + ] + | [ + ProjectPermissionAppConnectionActions, + ( + | ProjectPermissionSub.AppConnections + | (ForcedSubject & AppConnectionSubjectFields) + ) ]; const SECRET_PATH_MISSING_SLASH_ERR_MSG = "Invalid Secret Path; it must start with a '/'"; @@ -580,6 +600,21 @@ const PkiTemplateConditionSchema = z }) .partial(); +const AppConnectionConditionSchema = z + .object({ + connectionId: z.union([ + z.string(), + z + .object({ + [PermissionConditionOperators.$EQ]: PermissionConditionSchema[PermissionConditionOperators.$EQ], + [PermissionConditionOperators.$NEQ]: PermissionConditionSchema[PermissionConditionOperators.$NEQ], + [PermissionConditionOperators.$IN]: PermissionConditionSchema[PermissionConditionOperators.$IN] + }) + .partial() + ]) + }) + .partial(); + const GeneralPermissionSchema = [ z.object({ subject: z.literal(ProjectPermissionSub.SecretApproval).describe("The entity this permission pertains to."), @@ -760,6 +795,16 @@ const GeneralPermissionSchema = [ action: CASL_ACTION_SCHEMA_NATIVE_ENUM(ProjectPermissionSecretScanningConfigActions).describe( "Describe what action an entity can take." ) + }), + z.object({ + subject: z.literal(ProjectPermissionSub.AppConnections).describe("The entity this permission pertains to."), + inverted: z.boolean().optional().describe("Whether rule allows or forbids."), + action: CASL_ACTION_SCHEMA_NATIVE_ENUM(ProjectPermissionAppConnectionActions).describe( + "Describe what action an entity can take." + ), + conditions: AppConnectionConditionSchema.describe( + "When specified, only matching conditions will be allowed to access given resource." + ).optional() }) ]; diff --git a/backend/src/ee/services/secret-rotation-v2/ldap-password/ldap-password-rotation-fns.ts b/backend/src/ee/services/secret-rotation-v2/ldap-password/ldap-password-rotation-fns.ts index 07cf97a7e..9b1fd14a0 100644 --- a/backend/src/ee/services/secret-rotation-v2/ldap-password/ldap-password-rotation-fns.ts +++ b/backend/src/ee/services/secret-rotation-v2/ldap-password/ldap-password-rotation-fns.ts @@ -175,7 +175,8 @@ export const ldapPasswordRotationFactory: TRotationFactory< const encryptedCredentials = await encryptAppConnectionCredentials({ credentials: updatedCredentials, orgId, - kmsService + kmsService, + projectId: connection.projectId }); await appConnectionDAL.updateById(connection.id, { encryptedCredentials }); diff --git a/backend/src/ee/services/secret-rotation-v2/secret-rotation-v2-dal.ts b/backend/src/ee/services/secret-rotation-v2/secret-rotation-v2-dal.ts index 787c07bae..cf236b56f 100644 --- a/backend/src/ee/services/secret-rotation-v2/secret-rotation-v2-dal.ts +++ b/backend/src/ee/services/secret-rotation-v2/secret-rotation-v2-dal.ts @@ -52,6 +52,7 @@ const baseSecretRotationV2Query = ({ db.ref("description").withSchema(TableName.AppConnection).as("connectionDescription"), db.ref("version").withSchema(TableName.AppConnection).as("connectionVersion"), db.ref("gatewayId").withSchema(TableName.AppConnection).as("connectionGatewayId"), + db.ref("projectId").withSchema(TableName.AppConnection).as("connectionProjectId"), db.ref("createdAt").withSchema(TableName.AppConnection).as("connectionCreatedAt"), db.ref("updatedAt").withSchema(TableName.AppConnection).as("connectionUpdatedAt"), db @@ -106,6 +107,7 @@ const expandSecretRotation = ; + appConnectionService: Pick; permissionService: Pick; projectBotService: Pick; kmsService: Pick; @@ -459,7 +459,11 @@ export const secretRotationV2ServiceFactory = ({ const typeApp = SECRET_ROTATION_CONNECTION_MAP[payload.type]; // validates permission to connect and app is valid for rotation type - const connection = await appConnectionService.connectAppConnectionById(typeApp, payload.connectionId, actor); + const connection = await appConnectionService.validateAppConnectionUsageById( + typeApp, + { connectionId: payload.connectionId, projectId }, + actor + ); const rotationFactory = SECRET_ROTATION_FACTORY_MAP[payload.type]( { diff --git a/backend/src/ee/services/secret-scanning-v2/secret-scanning-v2-dal.ts b/backend/src/ee/services/secret-scanning-v2/secret-scanning-v2-dal.ts index c6ca50c5e..405e60159 100644 --- a/backend/src/ee/services/secret-scanning-v2/secret-scanning-v2-dal.ts +++ b/backend/src/ee/services/secret-scanning-v2/secret-scanning-v2-dal.ts @@ -50,6 +50,7 @@ const baseSecretScanningDataSourceQuery = ({ db.ref("description").withSchema(TableName.AppConnection).as("connectionDescription"), db.ref("version").withSchema(TableName.AppConnection).as("connectionVersion"), db.ref("gatewayId").withSchema(TableName.AppConnection).as("connectionGatewayId"), + db.ref("projectId").withSchema(TableName.AppConnection).as("connectionProjectId"), db.ref("createdAt").withSchema(TableName.AppConnection).as("connectionCreatedAt"), db.ref("updatedAt").withSchema(TableName.AppConnection).as("connectionUpdatedAt"), db @@ -84,6 +85,7 @@ const expandSecretScanningDataSource = < connectionVersion, connectionIsPlatformManagedCredentials, connectionGatewayId, + connectionProjectId, ...el } = dataSource; @@ -103,7 +105,8 @@ const expandSecretScanningDataSource = < updatedAt: connectionUpdatedAt, version: connectionVersion, isPlatformManagedCredentials: connectionIsPlatformManagedCredentials, - gatewayId: connectionGatewayId + gatewayId: connectionGatewayId, + projectId: connectionProjectId } : undefined }; diff --git a/backend/src/ee/services/secret-scanning-v2/secret-scanning-v2-service.ts b/backend/src/ee/services/secret-scanning-v2/secret-scanning-v2-service.ts index 6bef41e10..c48139e17 100644 --- a/backend/src/ee/services/secret-scanning-v2/secret-scanning-v2-service.ts +++ b/backend/src/ee/services/secret-scanning-v2/secret-scanning-v2-service.ts @@ -60,7 +60,7 @@ import { TSecretScanningV2QueueServiceFactory } from "./secret-scanning-v2-queue export type TSecretScanningV2ServiceFactoryDep = { secretScanningV2DAL: TSecretScanningV2DALFactory; - appConnectionService: Pick; + appConnectionService: Pick; appConnectionDAL: Pick; permissionService: Pick; licenseService: Pick; @@ -252,9 +252,9 @@ export const secretScanningV2ServiceFactory = ({ let connection: TAppConnection | null = null; if (payload.connectionId) { // validates permission to connect and app is valid for data source - connection = await appConnectionService.connectAppConnectionById( + connection = await appConnectionService.validateAppConnectionUsageById( SECRET_SCANNING_DATA_SOURCE_CONNECTION_MAP[payload.type], - payload.connectionId, + { connectionId: payload.connectionId, projectId: payload.projectId }, actor ); } @@ -373,9 +373,9 @@ export const secretScanningV2ServiceFactory = ({ let connection: TAppConnection | null = null; if (dataSource.connectionId) { // validates permission to connect and app is valid for data source - connection = await appConnectionService.connectAppConnectionById( + connection = await appConnectionService.validateAppConnectionUsageById( SECRET_SCANNING_DATA_SOURCE_CONNECTION_MAP[dataSource.type], - dataSource.connectionId, + { connectionId: dataSource.connectionId, projectId: dataSource.projectId }, actor ); } diff --git a/backend/src/lib/api-docs/constants.ts b/backend/src/lib/api-docs/constants.ts index d61694d8f..97aa17874 100644 --- a/backend/src/lib/api-docs/constants.ts +++ b/backend/src/lib/api-docs/constants.ts @@ -2185,11 +2185,15 @@ export const CertificateAuthorities = { }; export const AppConnections = { + LIST: (app?: AppConnection) => ({ + projectId: `The ID of the project to list ${app ? APP_CONNECTION_NAME_MAP[app] : "App"} Connections from.` + }), GET_BY_ID: (app: AppConnection) => ({ connectionId: `The ID of the ${APP_CONNECTION_NAME_MAP[app]} Connection to retrieve.` }), GET_BY_NAME: (app: AppConnection) => ({ - connectionName: `The name of the ${APP_CONNECTION_NAME_MAP[app]} Connection to retrieve.` + connectionName: `The name of the ${APP_CONNECTION_NAME_MAP[app]} Connection to retrieve.`, + projectId: `The project ID of the ${APP_CONNECTION_NAME_MAP[app]} Connection is associated with. Leave unspecified to get organization-level connections.` }), CREATE: (app: AppConnection) => { const appName = APP_CONNECTION_NAME_MAP[app]; @@ -2198,7 +2202,8 @@ export const AppConnections = { description: `An optional description for the ${appName} Connection.`, credentials: `The credentials used to connect with ${appName}.`, method: `The method used to authenticate with ${appName}.`, - isPlatformManagedCredentials: `Whether or not the ${appName} Connection credentials should be managed by Infisical. Once enabled this cannot be reversed.` + isPlatformManagedCredentials: `Whether or not the ${appName} Connection credentials should be managed by Infisical. Once enabled this cannot be reversed.`, + projectId: `The ID of the project to create the ${appName} Connection in.` }; }, UPDATE: (app: AppConnection) => { diff --git a/backend/src/server/routes/index.ts b/backend/src/server/routes/index.ts index eccad2956..1df89cd19 100644 --- a/backend/src/server/routes/index.ts +++ b/backend/src/server/routes/index.ts @@ -1837,7 +1837,8 @@ export const registerRoutes = async ( gatewayService, gatewayV2Service, gatewayDAL, - gatewayV2DAL + gatewayV2DAL, + projectDAL }); const secretSyncService = secretSyncServiceFactory({ diff --git a/backend/src/server/routes/v1/app-connection-routers/app-connection-endpoints.ts b/backend/src/server/routes/v1/app-connection-routers/app-connection-endpoints.ts index 50111b109..88e572426 100644 --- a/backend/src/server/routes/v1/app-connection-routers/app-connection-endpoints.ts +++ b/backend/src/server/routes/v1/app-connection-routers/app-connection-endpoints.ts @@ -26,6 +26,7 @@ export const registerAppConnectionEndpoints = ; updateSchema: z.ZodType<{ name?: string; @@ -47,18 +48,27 @@ export const registerAppConnectionEndpoints = { - const appConnections = (await server.services.appConnection.listAppConnectionsByOrg(req.permission, app)) as T[]; + const { projectId } = req.query; + const appConnections = (await server.services.appConnection.listAppConnections( + req.permission, + app, + projectId + )) as T[]; await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, orgId: req.permission.orgId, + projectId, event: { type: EventType.GET_APP_CONNECTIONS, metadata: { @@ -82,14 +92,19 @@ export const registerAppConnectionEndpoints = { + const { projectId } = req.query; const appConnections = await server.services.appConnection.listAvailableAppConnectionsForUser( app, - req.permission + req.permission, + projectId ); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, orgId: req.permission.orgId, + projectId, event: { type: EventType.GET_AVAILABLE_APP_CONNECTIONS_DETAILS, metadata: { @@ -149,6 +167,7 @@ export const registerAppConnectionEndpoints = { const { connectionName } = req.params; + const { projectId } = req.query; const appConnection = (await server.services.appConnection.findAppConnectionByName( app, - connectionName, + { + connectionName, + projectId + }, req.permission )) as T; await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, orgId: req.permission.orgId, + projectId: appConnection.projectId ?? undefined, event: { type: EventType.GET_APP_CONNECTION, metadata: { @@ -216,9 +243,7 @@ export const registerAppConnectionEndpoints = { - const { name, method, credentials, description, isPlatformManagedCredentials, gatewayId } = req.body; + const { name, method, credentials, description, isPlatformManagedCredentials, gatewayId, projectId } = req.body; const appConnection = (await server.services.appConnection.createAppConnection( - { name, method, app, credentials, description, isPlatformManagedCredentials, gatewayId }, + { name, method, app, credentials, description, isPlatformManagedCredentials, gatewayId, projectId }, req.permission )) as T; await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, orgId: req.permission.orgId, + projectId, event: { type: EventType.CREATE_APP_CONNECTION, metadata: { @@ -283,6 +309,7 @@ export const registerAppConnectionEndpoints = { + // const { connectionId } = req.params; + // + // const projects = await server.services.appConnection.findAppConnectionUsageById( + // app, + // connectionId, + // req.permission + // ); + // + // await server.services.auditLog.createAuditLog({ + // ...req.auditLogInfo, + // orgId: req.permission.orgId, + // event: { + // type: EventType.GET_APP_CONNECTION_USAGE, + // metadata: { + // connectionId + // } + // } + // }); + // + // return { projects }; + // } + // }); }; diff --git a/backend/src/server/routes/v1/app-connection-routers/app-connection-router.ts b/backend/src/server/routes/v1/app-connection-routers/app-connection-router.ts index c2033f4b4..37558b817 100644 --- a/backend/src/server/routes/v1/app-connection-routers/app-connection-router.ts +++ b/backend/src/server/routes/v1/app-connection-routers/app-connection-router.ts @@ -1,12 +1,13 @@ import { z } from "zod"; +import { ProjectType } from "@app/db/schemas"; import { OCIConnectionListItemSchema, SanitizedOCIConnectionSchema } from "@app/ee/services/app-connections/oci"; import { OracleDBConnectionListItemSchema, SanitizedOracleDBConnectionSchema } from "@app/ee/services/app-connections/oracledb"; import { EventType } from "@app/ee/services/audit-log/audit-log-types"; -import { ApiDocsTags } from "@app/lib/api-docs"; +import { ApiDocsTags, AppConnections } from "@app/lib/api-docs"; import { readLimit } from "@app/server/config/rateLimiter"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { @@ -210,6 +211,9 @@ export const registerAppConnectionRouter = async (server: FastifyZodProvider) => hide: false, tags: [ApiDocsTags.AppConnections], description: "List the available App Connection Options.", + querystring: z.object({ + projectType: z.nativeEnum(ProjectType).optional() + }), response: { 200: z.object({ appConnectionOptions: AppConnectionOptionsSchema.array() @@ -217,8 +221,8 @@ export const registerAppConnectionRouter = async (server: FastifyZodProvider) => } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), - handler: () => { - const appConnectionOptions = server.services.appConnection.listAppConnectionOptions(); + handler: (req) => { + const appConnectionOptions = server.services.appConnection.listAppConnectionOptions(req.query.projectType); return { appConnectionOptions }; } }); @@ -232,18 +236,27 @@ export const registerAppConnectionRouter = async (server: FastifyZodProvider) => schema: { hide: false, tags: [ApiDocsTags.AppConnections], - description: "List all the App Connections for the current organization.", + description: "List all the App Connections for the current organization or project.", + querystring: z.object({ + projectId: z.string().optional().describe(AppConnections.LIST().projectId) + }), response: { 200: z.object({ appConnections: SanitizedAppConnectionSchema.array() }) } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const appConnections = await server.services.appConnection.listAppConnectionsByOrg(req.permission); + const { projectId } = req.query; + const appConnections = await server.services.appConnection.listAppConnections( + req.permission, + undefined, + projectId + ); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, orgId: req.permission.orgId, + projectId, event: { type: EventType.GET_APP_CONNECTIONS, metadata: { diff --git a/backend/src/services/app-connection/app-connection-dal.ts b/backend/src/services/app-connection/app-connection-dal.ts index f74f7cf06..10b6a6274 100644 --- a/backend/src/services/app-connection/app-connection-dal.ts +++ b/backend/src/services/app-connection/app-connection-dal.ts @@ -1,11 +1,115 @@ +import { Knex } from "knex"; + import { TDbClient } from "@app/db"; -import { TableName } from "@app/db/schemas"; -import { ormify } from "@app/lib/knex"; +import { TableName, TAppConnections } from "@app/db/schemas"; +import { buildFindFilter, ormify, prependTableNameToFindFilter, selectAllTableCols } from "@app/lib/knex"; +import { transformUsageToProjects } from "@app/services/app-connection/app-connection-fns"; export type TAppConnectionDALFactory = ReturnType; +type AppConnectionFindFilter = Parameters>[0]; + export const appConnectionDALFactory = (db: TDbClient) => { const appConnectionOrm = ormify(db, TableName.AppConnection); - return { ...appConnectionOrm }; + const findWithProjectDetails = async (filter: AppConnectionFindFilter, tx?: Knex) => { + const query = (tx || db.replicaNode())(TableName.AppConnection) + .leftJoin(TableName.Project, `${TableName.AppConnection}.projectId`, `${TableName.Project}.id`) + .select(selectAllTableCols(TableName.AppConnection)) + .select( + // project + db.ref("name").withSchema(TableName.Project).as("projectName"), + db.ref("type").withSchema(TableName.Project).as("projectType"), + db.ref("slug").withSchema(TableName.Project).as("projectSlug") + ); + + if (filter) { + /* eslint-disable @typescript-eslint/no-misused-promises */ + void query.where(buildFindFilter(prependTableNameToFindFilter(TableName.AppConnection, filter))); + } + + const connections = await query; + + return connections.map(({ projectName, projectSlug, projectType, projectId, ...connection }) => ({ + ...connection, + projectId, + project: projectId + ? { + name: projectName, + type: projectType, + slug: projectSlug, + id: projectId + } + : null + })); + }; + + const findAppConnectionUsageById = async (connectionId: string, tx?: Knex) => { + const secretSyncs = await (tx || db.replicaNode())(TableName.SecretSync) + .where(`${TableName.SecretSync}.connectionId`, connectionId) + .join(TableName.Project, `${TableName.SecretSync}.projectId`, `${TableName.Project}.id`) + .select( + db.ref("name").withSchema(TableName.SecretSync), + db.ref("id").withSchema(TableName.SecretSync), + db.ref("projectId").withSchema(TableName.SecretSync), + db.ref("name").as("projectName").withSchema(TableName.Project), + db.ref("slug").as("projectSlug").withSchema(TableName.Project), + db.ref("type").as("projectType").withSchema(TableName.Project) + ); + + const secretRotations = await (tx || db.replicaNode())(TableName.SecretRotationV2) + .where(`${TableName.SecretRotationV2}.connectionId`, connectionId) + .join(TableName.SecretFolder, `${TableName.SecretRotationV2}.folderId`, `${TableName.SecretFolder}.id`) + .join(TableName.Environment, `${TableName.SecretFolder}.envId`, `${TableName.Environment}.id`) + .join(TableName.Project, `${TableName.Environment}.projectId`, `${TableName.Project}.id`) + .select( + db.ref("name").withSchema(TableName.SecretRotationV2), + db.ref("id").withSchema(TableName.SecretRotationV2), + db.ref("id").as("projectId").withSchema(TableName.Project), + db.ref("name").as("projectName").withSchema(TableName.Project), + db.ref("slug").as("projectSlug").withSchema(TableName.Project), + db.ref("type").as("projectType").withSchema(TableName.Project) + ); + + const externalCas = await (tx || db.replicaNode())(TableName.ExternalCertificateAuthority) + .where(`${TableName.ExternalCertificateAuthority}.appConnectionId`, connectionId) + .orWhere(`${TableName.ExternalCertificateAuthority}.dnsAppConnectionId`, connectionId) + .join( + TableName.CertificateAuthority, + `${TableName.ExternalCertificateAuthority}.caId`, + `${TableName.CertificateAuthority}.id` + ) + .join(TableName.Project, `${TableName.CertificateAuthority}.projectId`, `${TableName.Project}.id`) + .select( + db.ref("name").withSchema(TableName.CertificateAuthority), + db.ref("id").withSchema(TableName.ExternalCertificateAuthority), + db.ref("appConnectionId").withSchema(TableName.ExternalCertificateAuthority), + db.ref("dnsAppConnectionId").withSchema(TableName.ExternalCertificateAuthority), + db.ref("id").as("projectId").withSchema(TableName.Project), + db.ref("name").as("projectName").withSchema(TableName.Project), + db.ref("slug").as("projectSlug").withSchema(TableName.Project), + db.ref("type").as("projectType").withSchema(TableName.Project) + ); + + const dataSources = await (tx || db.replicaNode())(TableName.SecretScanningDataSource) + .where(`${TableName.SecretScanningDataSource}.connectionId`, connectionId) + .join(TableName.Project, `${TableName.SecretScanningDataSource}.projectId`, `${TableName.Project}.id`) + .select( + db.ref("name").withSchema(TableName.SecretScanningDataSource), + db.ref("id").withSchema(TableName.SecretScanningDataSource), + db.ref("id").as("projectId").withSchema(TableName.Project), + db.ref("name").as("projectName").withSchema(TableName.Project), + db.ref("slug").as("projectSlug").withSchema(TableName.Project), + db.ref("type").as("projectType").withSchema(TableName.Project) + ); + + return transformUsageToProjects({ + secretSyncs, + secretRotations, + dataSources, + externalCas + }); + }; + + return { ...appConnectionOrm, findAppConnectionUsageById, findWithProjectDetails }; }; diff --git a/backend/src/services/app-connection/app-connection-fns.ts b/backend/src/services/app-connection/app-connection-fns.ts index 5aacab1b1..bfad05213 100644 --- a/backend/src/services/app-connection/app-connection-fns.ts +++ b/backend/src/services/app-connection/app-connection-fns.ts @@ -1,3 +1,4 @@ +import { ProjectType } from "@app/db/schemas"; import { TAppConnections } from "@app/db/schemas/app-connections"; import { getOCIConnectionListItem, @@ -8,6 +9,8 @@ import { getOracleDBConnectionListItem, OracleDBConnectionMethod } from "@app/ee import { TGatewayServiceFactory } from "@app/ee/services/gateway/gateway-service"; import { TGatewayV2ServiceFactory } from "@app/ee/services/gateway-v2/gateway-v2-service"; import { TLicenseServiceFactory } from "@app/ee/services/license/license-service"; +import { SECRET_ROTATION_CONNECTION_MAP } from "@app/ee/services/secret-rotation-v2/secret-rotation-v2-maps"; +import { SECRET_SCANNING_DATA_SOURCE_CONNECTION_MAP } from "@app/ee/services/secret-scanning-v2/secret-scanning-v2-maps"; import { crypto } from "@app/lib/crypto/cryptography"; import { BadRequestError } from "@app/lib/errors"; import { APP_CONNECTION_NAME_MAP, APP_CONNECTION_PLAN_MAP } from "@app/services/app-connection/app-connection-maps"; @@ -16,6 +19,7 @@ import { validateSqlConnectionCredentials } from "@app/services/app-connection/shared/sql"; import { KmsDataKey } from "@app/services/kms/kms-types"; +import { SECRET_SYNC_CONNECTION_MAP } from "@app/services/secret-sync/secret-sync-maps"; import { getOnePassConnectionListItem, @@ -133,7 +137,19 @@ import { } from "./windmill"; import { getZabbixConnectionListItem, validateZabbixConnectionCredentials, ZabbixConnectionMethod } from "./zabbix"; -export const listAppConnectionOptions = () => { +const SECRET_SYNC_APP_CONNECTION_MAP = Object.fromEntries( + Object.entries(SECRET_SYNC_CONNECTION_MAP).map(([key, value]) => [value, key]) +); + +const SECRET_ROTATION_APP_CONNECTION_MAP = Object.fromEntries( + Object.entries(SECRET_ROTATION_CONNECTION_MAP).map(([key, value]) => [value, key]) +); + +const SECRET_SCANNING_APP_CONNECTION_MAP = Object.fromEntries( + Object.entries(SECRET_SCANNING_DATA_SOURCE_CONNECTION_MAP).map(([key, value]) => [value, key]) +); + +export const listAppConnectionOptions = (projectType?: ProjectType) => { return [ getAwsConnectionListItem(), getGitHubConnectionListItem(), @@ -173,22 +189,55 @@ export const listAppConnectionOptions = () => { getDigitalOceanConnectionListItem(), getNetlifyConnectionListItem(), getOktaConnectionListItem() - ].sort((a, b) => a.name.localeCompare(b.name)); + ] + .filter((option) => { + switch (projectType) { + case ProjectType.SecretManager: + return ( + Boolean(SECRET_SYNC_APP_CONNECTION_MAP[option.app]) || + Boolean(SECRET_ROTATION_APP_CONNECTION_MAP[option.app]) + ); + case ProjectType.SecretScanning: + return Boolean(SECRET_SCANNING_APP_CONNECTION_MAP[option.app]); + case ProjectType.CertificateManager: + return ( + option.app === AppConnection.AWS || + option.app === AppConnection.Cloudflare || + option.app === AppConnection.AzureADCS + ); + case ProjectType.KMS: + return false; + case ProjectType.SSH: + return false; + default: + return true; + } + }) + .sort((a, b) => a.name.localeCompare(b.name)); }; export const encryptAppConnectionCredentials = async ({ orgId, credentials, - kmsService + kmsService, + projectId }: { orgId: string; credentials: TAppConnection["credentials"]; kmsService: TAppConnectionServiceFactoryDep["kmsService"]; + projectId: string | null | undefined; }) => { - const { encryptor } = await kmsService.createCipherPairWithDataKey({ - type: KmsDataKey.Organization, - orgId - }); + const { encryptor } = await kmsService.createCipherPairWithDataKey( + projectId + ? { + type: KmsDataKey.SecretManager, + projectId + } + : { + type: KmsDataKey.Organization, + orgId + } + ); const { cipherTextBlob: encryptedCredentialsBlob } = encryptor({ plainText: Buffer.from(JSON.stringify(credentials)) @@ -200,16 +249,22 @@ export const encryptAppConnectionCredentials = async ({ export const decryptAppConnectionCredentials = async ({ orgId, encryptedCredentials, - kmsService + kmsService, + projectId }: { orgId: string; encryptedCredentials: Buffer; kmsService: TAppConnectionServiceFactoryDep["kmsService"]; + projectId: string | null | undefined; }) => { - const { decryptor } = await kmsService.createCipherPairWithDataKey({ - type: KmsDataKey.Organization, - orgId - }); + const { decryptor } = await kmsService.createCipherPairWithDataKey( + projectId + ? { type: KmsDataKey.SecretManager, projectId } + : { + type: KmsDataKey.Organization, + orgId + } + ); const decryptedPlainTextBlob = decryptor({ cipherTextBlob: encryptedCredentials @@ -343,6 +398,7 @@ export const decryptAppConnection = async ( credentials: await decryptAppConnectionCredentials({ encryptedCredentials: appConnection.encryptedCredentials, orgId: appConnection.orgId, + projectId: appConnection.projectId, kmsService }), credentialsHash: crypto.nativeCrypto.createHash("sha256").update(appConnection.encryptedCredentials).digest("hex") @@ -413,3 +469,73 @@ export const enterpriseAppCheck = async ( }); } }; + +type Resource = { + name: string; + id: string; + projectId: string; + projectName: string; + projectSlug: string; + projectType: string; +}; + +type UsageData = { + secretSyncs: Resource[]; + secretRotations: Resource[]; + dataSources: Resource[]; + externalCas: Resource[]; +}; + +type ResourceSummary = { + name: string; + id: string; +}; + +type ProjectWithResources = { + id: string; + name: string; + slug: string; + type: ProjectType; + resources: { + secretSyncs: ResourceSummary[]; + secretRotations: ResourceSummary[]; + dataSources: ResourceSummary[]; + externalCas: (ResourceSummary & { appConnectionId?: string; dnsAppConnectionId?: string })[]; + }; +}; + +export const transformUsageToProjects = (data: UsageData): ProjectWithResources[] => { + const projectMap = new Map(); + + Object.entries(data).forEach(([resourceType, resources]) => { + resources.forEach((resource) => { + const { projectId, projectName, projectSlug, projectType, name, id, ...rest } = resource; + + const projectKey = projectId; + + if (!projectMap.has(projectKey)) { + projectMap.set(projectKey, { + id: projectId, + name: projectName, + slug: projectSlug, + type: projectType as ProjectType, + resources: { + secretSyncs: [], + secretRotations: [], + dataSources: [], + externalCas: [] + } + }); + } + + const project = projectMap.get(projectKey)!; + project.resources[resourceType as keyof ProjectWithResources["resources"]].push({ + name, + id, + ...rest + }); + }); + }); + + return Array.from(projectMap.values()); +}; diff --git a/backend/src/services/app-connection/app-connection-schemas.ts b/backend/src/services/app-connection/app-connection-schemas.ts index d0dcb1a54..3f6e3914a 100644 --- a/backend/src/services/app-connection/app-connection-schemas.ts +++ b/backend/src/services/app-connection/app-connection-schemas.ts @@ -13,7 +13,15 @@ export const BaseAppConnectionSchema = AppConnectionsSchema.omit({ app: true, method: true }).extend({ - credentialsHash: z.string().optional() + credentialsHash: z.string().optional(), + project: z + .object({ + name: z.string(), + id: z.string(), + type: z.string(), + slug: z.string() + }) + .nullish() }); export const GenericCreateAppConnectionFieldsSchema = ( @@ -28,6 +36,7 @@ export const GenericCreateAppConnectionFieldsSchema = ( .max(256, "Description cannot exceed 256 characters") .nullish() .describe(AppConnections.CREATE(app).description), + projectId: z.string().optional().describe(AppConnections.CREATE(app).projectId), isPlatformManagedCredentials: supportsPlatformManagedCredentials ? z.boolean().optional().default(false).describe(AppConnections.CREATE(app).isPlatformManagedCredentials) : z diff --git a/backend/src/services/app-connection/app-connection-service.ts b/backend/src/services/app-connection/app-connection-service.ts index f5654d2fb..efd3bb7ad 100644 --- a/backend/src/services/app-connection/app-connection-service.ts +++ b/backend/src/services/app-connection/app-connection-service.ts @@ -1,5 +1,6 @@ import { ForbiddenError, subject } from "@casl/ability"; +import { ActionProjectType, TAppConnections } from "@app/db/schemas"; import { ValidateOCIConnectionCredentialsSchema } from "@app/ee/services/app-connections/oci"; import { ociConnectionService } from "@app/ee/services/app-connections/oci/oci-connection-service"; import { ValidateOracleDBConnectionCredentialsSchema } from "@app/ee/services/app-connections/oracledb"; @@ -14,6 +15,10 @@ import { OrgPermissionSubjects } from "@app/ee/services/permission/org-permission"; import { TPermissionServiceFactory } from "@app/ee/services/permission/permission-service-types"; +import { + ProjectPermissionAppConnectionActions, + ProjectPermissionSub +} from "@app/ee/services/permission/project-permission"; import { crypto } from "@app/lib/crypto/cryptography"; import { DatabaseErrorCode } from "@app/lib/error-codes"; import { BadRequestError, DatabaseError, NotFoundError } from "@app/lib/errors"; @@ -27,9 +32,8 @@ import { TRANSITION_CONNECTION_CREDENTIALS_TO_PLATFORM, validateAppConnectionCredentials } from "@app/services/app-connection/app-connection-fns"; -import { auth0ConnectionService } from "@app/services/app-connection/auth0/auth0-connection-service"; -import { githubRadarConnectionService } from "@app/services/app-connection/github-radar/github-radar-connection-service"; import { TKmsServiceFactory } from "@app/services/kms/kms-service"; +import { TProjectDALFactory } from "@app/services/project/project-dal"; import { ValidateOnePassConnectionCredentialsSchema } from "./1password"; import { onePassConnectionService } from "./1password/1password-connection-service"; @@ -41,10 +45,13 @@ import { TAppConnectionConfig, TAppConnectionRaw, TCreateAppConnectionDTO, + TGetAppConnectionByNameDTO, TUpdateAppConnectionDTO, - TValidateAppConnectionCredentialsSchema + TValidateAppConnectionCredentialsSchema, + TValidateAppConnectionUsageByIdDTO } from "./app-connection-types"; import { ValidateAuth0ConnectionCredentialsSchema } from "./auth0"; +import { auth0ConnectionService } from "./auth0/auth0-connection-service"; import { ValidateAwsConnectionCredentialsSchema } from "./aws"; import { awsConnectionService } from "./aws/aws-connection-service"; import { ValidateAzureADCSConnectionCredentialsSchema } from "./azure-adcs/azure-adcs-connection-schemas"; @@ -73,6 +80,7 @@ import { gcpConnectionService } from "./gcp/gcp-connection-service"; import { ValidateGitHubConnectionCredentialsSchema } from "./github"; import { githubConnectionService } from "./github/github-connection-service"; import { ValidateGitHubRadarConnectionCredentialsSchema } from "./github-radar"; +import { githubRadarConnectionService } from "./github-radar/github-radar-connection-service"; import { ValidateGitLabConnectionCredentialsSchema } from "./gitlab"; import { gitlabConnectionService } from "./gitlab/gitlab-connection-service"; import { ValidateHCVaultConnectionCredentialsSchema } from "./hc-vault"; @@ -108,13 +116,14 @@ import { zabbixConnectionService } from "./zabbix/zabbix-connection-service"; export type TAppConnectionServiceFactoryDep = { appConnectionDAL: TAppConnectionDALFactory; - permissionService: Pick; + permissionService: Pick; kmsService: Pick; licenseService: Pick; gatewayService: Pick; gatewayV2Service: Pick; gatewayDAL: Pick; gatewayV2DAL: Pick; + projectDAL: Pick; }; export type TAppConnectionServiceFactory = ReturnType; @@ -168,29 +177,64 @@ export const appConnectionServiceFactory = ({ gatewayService, gatewayV2Service, gatewayDAL, - gatewayV2DAL + gatewayV2DAL, + projectDAL }: TAppConnectionServiceFactoryDep) => { - const listAppConnectionsByOrg = async (actor: OrgServiceActor, app?: AppConnection) => { - const { permission } = await permissionService.getOrgPermission( - actor.type, - actor.id, - actor.orgId, - actor.authMethod, - actor.orgId - ); + const listAppConnections = async (actor: OrgServiceActor, app?: AppConnection, projectId?: string) => { + let appConnections: TAppConnections[]; - ForbiddenError.from(permission).throwUnlessCan( - OrgPermissionAppConnectionActions.Read, - OrgPermissionSubjects.AppConnections - ); + if (projectId) { + const { permission } = await permissionService.getProjectPermission({ + actor: actor.type, + actorId: actor.id, + projectId, + actorAuthMethod: actor.authMethod, + actorOrgId: actor.orgId, + actionProjectType: ActionProjectType.Any + }); - const appConnections = await appConnectionDAL.find( - app - ? { orgId: actor.orgId, app } - : { - orgId: actor.orgId - } - ); + ForbiddenError.from(permission).throwUnlessCan( + ProjectPermissionAppConnectionActions.Read, + ProjectPermissionSub.AppConnections + ); + + appConnections = ( + await appConnectionDAL.findWithProjectDetails({ + projectId, + ...(app ? { app } : {}) + }) + ).filter((appConnection) => + permission.can( + ProjectPermissionAppConnectionActions.Read, + subject(ProjectPermissionSub.AppConnections, { connectionId: appConnection.id }) + ) + ); + } else { + const { permission } = await permissionService.getOrgPermission( + actor.type, + actor.id, + actor.orgId, + actor.authMethod, + actor.orgId + ); + + ForbiddenError.from(permission).throwUnlessCan( + OrgPermissionAppConnectionActions.Read, + OrgPermissionSubjects.AppConnections + ); + + appConnections = ( + await appConnectionDAL.findWithProjectDetails({ + orgId: actor.orgId, + ...(app ? { app } : {}) + }) + ).filter((appConnection) => + permission.can( + OrgPermissionAppConnectionActions.Read, + subject(OrgPermissionSubjects.AppConnections, { connectionId: appConnection.id }) + ) + ); + } return Promise.all( appConnections @@ -204,18 +248,34 @@ export const appConnectionServiceFactory = ({ if (!appConnection) throw new NotFoundError({ message: `Could not find App Connection with ID ${connectionId}` }); - const { permission } = await permissionService.getOrgPermission( - actor.type, - actor.id, - actor.orgId, - actor.authMethod, - appConnection.orgId - ); + if (appConnection.projectId) { + const { permission } = await permissionService.getProjectPermission({ + actor: actor.type, + actorId: actor.id, + projectId: appConnection.projectId, + actorAuthMethod: actor.authMethod, + actorOrgId: actor.orgId, + actionProjectType: ActionProjectType.Any + }); - ForbiddenError.from(permission).throwUnlessCan( - OrgPermissionAppConnectionActions.Read, - OrgPermissionSubjects.AppConnections - ); + ForbiddenError.from(permission).throwUnlessCan( + ProjectPermissionAppConnectionActions.Read, + subject(ProjectPermissionSub.AppConnections, { connectionId }) + ); + } else { + const { permission } = await permissionService.getOrgPermission( + actor.type, + actor.id, + actor.orgId, + actor.authMethod, + appConnection.orgId + ); + + ForbiddenError.from(permission).throwUnlessCan( + OrgPermissionAppConnectionActions.Read, + subject(OrgPermissionSubjects.AppConnections, { connectionId }) + ); + } if (appConnection.app !== app) throw new BadRequestError({ message: `App Connection with ID ${connectionId} is not for App "${app}"` }); @@ -223,24 +283,49 @@ export const appConnectionServiceFactory = ({ return decryptAppConnection(appConnection, kmsService); }; - const findAppConnectionByName = async (app: AppConnection, connectionName: string, actor: OrgServiceActor) => { - const appConnection = await appConnectionDAL.findOne({ name: connectionName, orgId: actor.orgId }); + const findAppConnectionByName = async ( + app: AppConnection, + { connectionName, projectId }: TGetAppConnectionByNameDTO, + actor: OrgServiceActor + ) => { + const appConnection = await appConnectionDAL.findOne({ + name: connectionName, + ...(projectId ? { projectId } : { orgId: actor.orgId, projectId: null }) + }); if (!appConnection) - throw new NotFoundError({ message: `Could not find App Connection with name ${connectionName}` }); + throw new NotFoundError({ + message: `Could not find App Connection with name ${connectionName} in ${projectId ? "project" : "organization"} scope.` + }); - const { permission } = await permissionService.getOrgPermission( - actor.type, - actor.id, - actor.orgId, - actor.authMethod, - appConnection.orgId - ); + if (appConnection.projectId) { + const { permission } = await permissionService.getProjectPermission({ + actor: actor.type, + actorId: actor.id, + projectId: appConnection.projectId, + actorAuthMethod: actor.authMethod, + actorOrgId: actor.orgId, + actionProjectType: ActionProjectType.Any + }); - ForbiddenError.from(permission).throwUnlessCan( - OrgPermissionAppConnectionActions.Read, - OrgPermissionSubjects.AppConnections - ); + ForbiddenError.from(permission).throwUnlessCan( + ProjectPermissionAppConnectionActions.Read, + subject(ProjectPermissionSub.AppConnections, { connectionId: appConnection.id }) + ); + } else { + const { permission } = await permissionService.getOrgPermission( + actor.type, + actor.id, + actor.orgId, + actor.authMethod, + appConnection.orgId + ); + + ForbiddenError.from(permission).throwUnlessCan( + OrgPermissionAppConnectionActions.Read, + subject(OrgPermissionSubjects.AppConnections, { connectionId: appConnection.id }) + ); + } if (appConnection.app !== app) throw new BadRequestError({ message: `App Connection with name ${connectionName} is not for App "${app}"` }); @@ -249,10 +334,10 @@ export const appConnectionServiceFactory = ({ }; const createAppConnection = async ( - { method, app, credentials, gatewayId, ...params }: TCreateAppConnectionDTO, + { method, app, credentials, gatewayId, projectId, ...params }: TCreateAppConnectionDTO, actor: OrgServiceActor ) => { - const { permission } = await permissionService.getOrgPermission( + const { permission: orgPermission } = await permissionService.getOrgPermission( actor.type, actor.id, actor.orgId, @@ -260,13 +345,33 @@ export const appConnectionServiceFactory = ({ actor.orgId ); - ForbiddenError.from(permission).throwUnlessCan( - OrgPermissionAppConnectionActions.Create, - OrgPermissionSubjects.AppConnections - ); + if (projectId) { + const project = await projectDAL.findProjectById(projectId); + + if (!project) throw new BadRequestError({ message: `Could not find project with ID ${projectId}` }); + + const { permission } = await permissionService.getProjectPermission({ + actor: actor.type, + actorId: actor.id, + projectId, + actorAuthMethod: actor.authMethod, + actorOrgId: actor.orgId, + actionProjectType: ActionProjectType.Any + }); + + ForbiddenError.from(permission).throwUnlessCan( + ProjectPermissionAppConnectionActions.Create, + ProjectPermissionSub.AppConnections + ); + } else { + ForbiddenError.from(orgPermission).throwUnlessCan( + OrgPermissionAppConnectionActions.Create, + OrgPermissionSubjects.AppConnections + ); + } if (gatewayId) { - ForbiddenError.from(permission).throwUnlessCan( + ForbiddenError.from(orgPermission).throwUnlessCan( OrgPermissionGatewayActions.AttachGateways, OrgPermissionSubjects.Gateway ); @@ -304,7 +409,8 @@ export const appConnectionServiceFactory = ({ const encryptedCredentials = await encryptAppConnectionCredentials({ credentials: connectionCredentials, orgId: actor.orgId, - kmsService + kmsService, + projectId }); return appConnectionDAL.create({ @@ -313,6 +419,7 @@ export const appConnectionServiceFactory = ({ method, app, gatewayId, + projectId, ...params }); }; @@ -365,7 +472,7 @@ export const appConnectionServiceFactory = ({ "Failed to update app connection due to plan restriction. Upgrade plan to access enterprise app connections." ); - const { permission } = await permissionService.getOrgPermission( + const { permission: orgPermission } = await permissionService.getOrgPermission( actor.type, actor.id, actor.orgId, @@ -373,13 +480,29 @@ export const appConnectionServiceFactory = ({ appConnection.orgId ); - ForbiddenError.from(permission).throwUnlessCan( - OrgPermissionAppConnectionActions.Edit, - OrgPermissionSubjects.AppConnections - ); + if (appConnection.projectId) { + const { permission } = await permissionService.getProjectPermission({ + actor: actor.type, + actorId: actor.id, + projectId: appConnection.projectId, + actorAuthMethod: actor.authMethod, + actorOrgId: actor.orgId, + actionProjectType: ActionProjectType.Any + }); - if (gatewayId !== appConnection.gatewayId) { ForbiddenError.from(permission).throwUnlessCan( + ProjectPermissionAppConnectionActions.Edit, + subject(ProjectPermissionSub.AppConnections, { connectionId }) + ); + } else { + ForbiddenError.from(orgPermission).throwUnlessCan( + OrgPermissionAppConnectionActions.Edit, + subject(OrgPermissionSubjects.AppConnections, { connectionId }) + ); + } + + if (gatewayId !== undefined && gatewayId !== appConnection.gatewayId) { + ForbiddenError.from(orgPermission).throwUnlessCan( OrgPermissionGatewayActions.AttachGateways, OrgPermissionSubjects.Gateway ); @@ -441,7 +564,8 @@ export const appConnectionServiceFactory = ({ ? await encryptAppConnectionCredentials({ credentials: connectionCredentials, orgId: actor.orgId, - kmsService + kmsService, + projectId: appConnection.projectId }) : undefined; @@ -491,18 +615,34 @@ export const appConnectionServiceFactory = ({ if (!appConnection) throw new NotFoundError({ message: `Could not find App Connection with ID ${connectionId}` }); - const { permission } = await permissionService.getOrgPermission( - actor.type, - actor.id, - actor.orgId, - actor.authMethod, - appConnection.orgId - ); + if (appConnection.projectId) { + const { permission } = await permissionService.getProjectPermission({ + actor: actor.type, + actorId: actor.id, + projectId: appConnection.projectId, + actorAuthMethod: actor.authMethod, + actorOrgId: actor.orgId, + actionProjectType: ActionProjectType.Any + }); - ForbiddenError.from(permission).throwUnlessCan( - OrgPermissionAppConnectionActions.Delete, - OrgPermissionSubjects.AppConnections - ); + ForbiddenError.from(permission).throwUnlessCan( + ProjectPermissionAppConnectionActions.Delete, + subject(ProjectPermissionSub.AppConnections, { connectionId }) + ); + } else { + const { permission } = await permissionService.getOrgPermission( + actor.type, + actor.id, + actor.orgId, + actor.authMethod, + appConnection.orgId + ); + + ForbiddenError.from(permission).throwUnlessCan( + OrgPermissionAppConnectionActions.Delete, + subject(OrgPermissionSubjects.AppConnections, { connectionId }) + ); + } if (appConnection.app !== app) throw new BadRequestError({ message: `App Connection with ID ${connectionId} is not for App "${app}"` }); @@ -544,18 +684,34 @@ export const appConnectionServiceFactory = ({ "Failed to connect app due to plan restriction. Upgrade plan to access enterprise app connections." ); - const { permission: orgPermission } = await permissionService.getOrgPermission( - actor.type, - actor.id, - appConnection.orgId, - actor.authMethod, - actor.orgId - ); + if (appConnection.projectId) { + const { permission } = await permissionService.getProjectPermission({ + actor: actor.type, + actorId: actor.id, + projectId: appConnection.projectId, + actorAuthMethod: actor.authMethod, + actorOrgId: actor.orgId, + actionProjectType: ActionProjectType.Any + }); - ForbiddenError.from(orgPermission).throwUnlessCan( - OrgPermissionAppConnectionActions.Connect, - subject(OrgPermissionSubjects.AppConnections, { connectionId: appConnection.id }) - ); + ForbiddenError.from(permission).throwUnlessCan( + ProjectPermissionAppConnectionActions.Connect, + subject(ProjectPermissionSub.AppConnections, { connectionId }) + ); + } else { + const { permission: orgPermission } = await permissionService.getOrgPermission( + actor.type, + actor.id, + appConnection.orgId, + actor.authMethod, + actor.orgId + ); + + ForbiddenError.from(orgPermission).throwUnlessCan( + OrgPermissionAppConnectionActions.Connect, + subject(OrgPermissionSubjects.AppConnections, { connectionId }) + ); + } if (appConnection.app !== app) throw new BadRequestError({ @@ -569,7 +725,41 @@ export const appConnectionServiceFactory = ({ return connection as T; }; - const listAvailableAppConnectionsForUser = async (app: AppConnection, actor: OrgServiceActor) => { + const validateAppConnectionUsageById = async ( + app: AppConnection, + { connectionId, projectId }: TValidateAppConnectionUsageByIdDTO, + actor: OrgServiceActor + ) => { + const appConnection = await connectAppConnectionById(app, connectionId, actor); + + if (appConnection.projectId && appConnection.projectId !== projectId) { + throw new BadRequestError({ + message: `You cannot connect project App Connection with ID "${appConnection.id}" from project with ID "${appConnection.projectId}" to project with ID "${projectId}"` + }); + } + + return appConnection; + }; + + const listAvailableAppConnectionsForUser = async (app: AppConnection, actor: OrgServiceActor, projectId: string) => { + const project = await projectDAL.findProjectById(projectId); + + if (!project) throw new BadRequestError({ message: `Could not find project with ID ${projectId}` }); + + const { permission: projectPermission } = await permissionService.getProjectPermission({ + actor: actor.type, + actorId: actor.id, + projectId, + actorAuthMethod: actor.authMethod, + actorOrgId: actor.orgId, + actionProjectType: ActionProjectType.Any + }); + + ForbiddenError.from(projectPermission).throwUnlessCan( + ProjectPermissionAppConnectionActions.Connect, + ProjectPermissionSub.AppConnections + ); + const { permission: orgPermission } = await permissionService.getOrgPermission( actor.type, actor.id, @@ -578,28 +768,67 @@ export const appConnectionServiceFactory = ({ actor.orgId ); - const appConnections = await appConnectionDAL.find({ app, orgId: actor.orgId }); + const orgAppConnections = await appConnectionDAL.find({ app, orgId: actor.orgId, projectId: null }); - const availableConnections = appConnections.filter((connection) => + const availableOrgConnections = orgAppConnections.filter((connection) => orgPermission.can( OrgPermissionAppConnectionActions.Connect, subject(OrgPermissionSubjects.AppConnections, { connectionId: connection.id }) ) ); - return availableConnections as Omit[]; + const projectAppConnections = await appConnectionDAL.find({ app, projectId }); + + const availableProjectConnections = projectAppConnections.filter((connection) => + projectPermission.can( + ProjectPermissionAppConnectionActions.Connect, + subject(ProjectPermissionSub.AppConnections, { connectionId: connection.id }) + ) + ); + + return [...availableOrgConnections, ...availableProjectConnections].sort((a, b) => + a.name.toLowerCase().localeCompare(b.name.toLowerCase()) + ) as Omit[]; + }; + + const findAppConnectionUsageById = async (app: AppConnection, connectionId: string, actor: OrgServiceActor) => { + const appConnection = await appConnectionDAL.findById(connectionId); + + if (!appConnection) throw new NotFoundError({ message: `Could not find App Connection with ID ${connectionId}` }); + + const { permission } = await permissionService.getOrgPermission( + actor.type, + actor.id, + actor.orgId, + actor.authMethod, + appConnection.orgId + ); + + ForbiddenError.from(permission).throwUnlessCan( + OrgPermissionAppConnectionActions.Read, + OrgPermissionSubjects.AppConnections + ); + + if (appConnection.app !== app) + throw new BadRequestError({ message: `App Connection with ID ${connectionId} is not for App "${app}"` }); + + const projectUsage = await appConnectionDAL.findAppConnectionUsageById(connectionId); + + return projectUsage; }; return { listAppConnectionOptions, - listAppConnectionsByOrg, + listAppConnections, findAppConnectionById, findAppConnectionByName, createAppConnection, updateAppConnection, deleteAppConnection, connectAppConnectionById, + validateAppConnectionUsageById, listAvailableAppConnectionsForUser, + findAppConnectionUsageById, github: githubConnectionService(connectAppConnectionById, gatewayService, gatewayV2Service), githubRadar: githubRadarConnectionService(connectAppConnectionById), gcp: gcpConnectionService(connectAppConnectionById), diff --git a/backend/src/services/app-connection/app-connection-types.ts b/backend/src/services/app-connection/app-connection-types.ts index e4af79926..600438fc9 100644 --- a/backend/src/services/app-connection/app-connection-types.ts +++ b/backend/src/services/app-connection/app-connection-types.ts @@ -316,13 +316,23 @@ export type TSqlConnectionInput = export type TCreateAppConnectionDTO = Pick< TAppConnectionInput, - "credentials" | "method" | "name" | "app" | "description" | "isPlatformManagedCredentials" | "gatewayId" + "credentials" | "method" | "name" | "app" | "description" | "isPlatformManagedCredentials" | "gatewayId" | "projectId" >; -export type TUpdateAppConnectionDTO = Partial> & { +export type TUpdateAppConnectionDTO = Partial> & { connectionId: string; }; +export type TGetAppConnectionByNameDTO = { + connectionName: string; + projectId?: string; +}; + +export type TValidateAppConnectionUsageByIdDTO = { + connectionId: string; + projectId: string; +}; + export type TAppConnectionConfig = | TAwsConnectionConfig | TGitHubConnectionConfig diff --git a/backend/src/services/app-connection/auth0/auth0-connection-fns.ts b/backend/src/services/app-connection/auth0/auth0-connection-fns.ts index de4faf683..944b1f69a 100644 --- a/backend/src/services/app-connection/auth0/auth0-connection-fns.ts +++ b/backend/src/services/app-connection/auth0/auth0-connection-fns.ts @@ -51,7 +51,7 @@ const authorizeAuth0Connection = async ({ }; export const getAuth0ConnectionAccessToken = async ( - { id, orgId, credentials }: TAuth0Connection, + { id, orgId, credentials, projectId }: TAuth0Connection, appConnectionDAL: Pick, kmsService: Pick ) => { @@ -72,7 +72,8 @@ export const getAuth0ConnectionAccessToken = async ( const encryptedCredentials = await encryptAppConnectionCredentials({ credentials: updatedCredentials, orgId, - kmsService + kmsService, + projectId }); await appConnectionDAL.updateById(id, { encryptedCredentials }); diff --git a/backend/src/services/app-connection/azure-adcs/azure-adcs-connection-fns.ts b/backend/src/services/app-connection/azure-adcs/azure-adcs-connection-fns.ts index 552bd89f5..5e86f6740 100644 --- a/backend/src/services/app-connection/azure-adcs/azure-adcs-connection-fns.ts +++ b/backend/src/services/app-connection/azure-adcs/azure-adcs-connection-fns.ts @@ -352,7 +352,8 @@ export const getAzureADCSConnectionCredentials = async ( const credentials = (await decryptAppConnectionCredentials({ orgId: appConnection.orgId, kmsService, - encryptedCredentials: appConnection.encryptedCredentials + encryptedCredentials: appConnection.encryptedCredentials, + projectId: appConnection.projectId })) as { username: string; password: string; diff --git a/backend/src/services/app-connection/azure-client-secrets/azure-client-secrets-connection-fns.ts b/backend/src/services/app-connection/azure-client-secrets/azure-client-secrets-connection-fns.ts index 2614cfd12..22cec0ae7 100644 --- a/backend/src/services/app-connection/azure-client-secrets/azure-client-secrets-connection-fns.ts +++ b/backend/src/services/app-connection/azure-client-secrets/azure-client-secrets-connection-fns.ts @@ -57,6 +57,7 @@ export const getAzureConnectionAccessToken = async ( const credentials = (await decryptAppConnectionCredentials({ orgId: appConnection.orgId, kmsService, + projectId: appConnection.projectId, encryptedCredentials: appConnection.encryptedCredentials })) as TAzureClientSecretsConnectionCredentials; @@ -93,6 +94,7 @@ export const getAzureConnectionAccessToken = async ( const encryptedCredentials = await encryptAppConnectionCredentials({ credentials: updatedCredentials, orgId: appConnection.orgId, + projectId: appConnection.projectId, kmsService }); @@ -102,6 +104,7 @@ export const getAzureConnectionAccessToken = async ( case AzureClientSecretsConnectionMethod.ClientSecret: const accessTokenCredentials = (await decryptAppConnectionCredentials({ orgId: appConnection.orgId, + projectId: appConnection.projectId, kmsService, encryptedCredentials: appConnection.encryptedCredentials })) as TAzureClientSecretsConnectionClientSecretCredentials; @@ -129,6 +132,7 @@ export const getAzureConnectionAccessToken = async ( const encryptedClientCredentials = await encryptAppConnectionCredentials({ credentials: updatedClientCredentials, orgId: appConnection.orgId, + projectId: appConnection.projectId, kmsService }); diff --git a/backend/src/services/app-connection/azure-devops/azure-devops-fns.ts b/backend/src/services/app-connection/azure-devops/azure-devops-fns.ts index a3a9f10bd..0bd2188ac 100644 --- a/backend/src/services/app-connection/azure-devops/azure-devops-fns.ts +++ b/backend/src/services/app-connection/azure-devops/azure-devops-fns.ts @@ -70,7 +70,8 @@ export const getAzureDevopsConnection = async ( const oauthCredentials = (await decryptAppConnectionCredentials({ orgId: appConnection.orgId, kmsService, - encryptedCredentials: appConnection.encryptedCredentials + encryptedCredentials: appConnection.encryptedCredentials, + projectId: appConnection.projectId })) as TAzureDevOpsConnectionCredentials; if (!("refreshToken" in oauthCredentials)) { @@ -100,7 +101,8 @@ export const getAzureDevopsConnection = async ( const encryptedOAuthCredentials = await encryptAppConnectionCredentials({ credentials: updatedOAuthCredentials, orgId: appConnection.orgId, - kmsService + kmsService, + projectId: appConnection.projectId }); await appConnectionDAL.updateById(appConnection.id, { encryptedCredentials: encryptedOAuthCredentials }); @@ -111,7 +113,8 @@ export const getAzureDevopsConnection = async ( const accessTokenCredentials = (await decryptAppConnectionCredentials({ orgId: appConnection.orgId, kmsService, - encryptedCredentials: appConnection.encryptedCredentials + encryptedCredentials: appConnection.encryptedCredentials, + projectId: appConnection.projectId })) as { accessToken: string }; if (!("accessToken" in accessTokenCredentials)) { @@ -124,7 +127,8 @@ export const getAzureDevopsConnection = async ( const clientSecretCredentials = (await decryptAppConnectionCredentials({ orgId: appConnection.orgId, kmsService, - encryptedCredentials: appConnection.encryptedCredentials + encryptedCredentials: appConnection.encryptedCredentials, + projectId: appConnection.projectId })) as TAzureDevOpsConnectionClientSecretCredentials; const { accessToken, expiresAt, clientId, clientSecret, tenantId: clientTenantId } = clientSecretCredentials; @@ -153,7 +157,8 @@ export const getAzureDevopsConnection = async ( const encryptedClientCredentials = await encryptAppConnectionCredentials({ credentials: updatedClientCredentials, orgId: appConnection.orgId, - kmsService + kmsService, + projectId: appConnection.projectId }); await appConnectionDAL.updateById(appConnection.id, { encryptedCredentials: encryptedClientCredentials }); diff --git a/backend/src/services/app-connection/azure-key-vault/azure-key-vault-connection-fns.ts b/backend/src/services/app-connection/azure-key-vault/azure-key-vault-connection-fns.ts index d6a260050..cd3583800 100644 --- a/backend/src/services/app-connection/azure-key-vault/azure-key-vault-connection-fns.ts +++ b/backend/src/services/app-connection/azure-key-vault/azure-key-vault-connection-fns.ts @@ -58,7 +58,8 @@ export const getAzureConnectionAccessToken = async ( const oauthCredentials = (await decryptAppConnectionCredentials({ orgId: appConnection.orgId, kmsService, - encryptedCredentials: appConnection.encryptedCredentials + encryptedCredentials: appConnection.encryptedCredentials, + projectId: appConnection.projectId })) as TAzureKeyVaultConnectionCredentials; const { data } = await request.post( @@ -82,7 +83,8 @@ export const getAzureConnectionAccessToken = async ( const encryptedOAuthCredentials = await encryptAppConnectionCredentials({ credentials: updatedOAuthCredentials, orgId: appConnection.orgId, - kmsService + kmsService, + projectId: appConnection.projectId }); await appConnectionDAL.updateById(appConnection.id, { encryptedCredentials: encryptedOAuthCredentials }); @@ -95,7 +97,8 @@ export const getAzureConnectionAccessToken = async ( const clientSecretCredentials = (await decryptAppConnectionCredentials({ orgId: appConnection.orgId, kmsService, - encryptedCredentials: appConnection.encryptedCredentials + encryptedCredentials: appConnection.encryptedCredentials, + projectId: appConnection.projectId })) as TAzureKeyVaultConnectionClientSecretCredentials; const { accessToken, expiresAt, clientId, clientSecret, tenantId } = clientSecretCredentials; @@ -124,7 +127,8 @@ export const getAzureConnectionAccessToken = async ( const encryptedClientCredentials = await encryptAppConnectionCredentials({ credentials: updatedClientCredentials, orgId: appConnection.orgId, - kmsService + kmsService, + projectId: appConnection.projectId }); await appConnectionDAL.updateById(appConnection.id, { encryptedCredentials: encryptedClientCredentials }); diff --git a/backend/src/services/app-connection/camunda/camunda-connection-fns.ts b/backend/src/services/app-connection/camunda/camunda-connection-fns.ts index 91a033c0e..b764da336 100644 --- a/backend/src/services/app-connection/camunda/camunda-connection-fns.ts +++ b/backend/src/services/app-connection/camunda/camunda-connection-fns.ts @@ -40,7 +40,7 @@ const authorizeCamundaConnection = async ({ }; export const getCamundaConnectionAccessToken = async ( - { id, orgId, credentials }: TCamundaConnection, + { id, orgId, credentials, projectId }: TCamundaConnection, appConnectionDAL: Pick, kmsService: Pick ) => { @@ -61,7 +61,8 @@ export const getCamundaConnectionAccessToken = async ( const encryptedCredentials = await encryptAppConnectionCredentials({ credentials: updatedCredentials, orgId, - kmsService + kmsService, + projectId }); await appConnectionDAL.updateById(id, { encryptedCredentials }); diff --git a/backend/src/services/app-connection/databricks/databricks-connection-fns.ts b/backend/src/services/app-connection/databricks/databricks-connection-fns.ts index 8912ad936..a9128ec51 100644 --- a/backend/src/services/app-connection/databricks/databricks-connection-fns.ts +++ b/backend/src/services/app-connection/databricks/databricks-connection-fns.ts @@ -47,7 +47,7 @@ const authorizeDatabricksConnection = async ({ }; export const getDatabricksConnectionAccessToken = async ( - { id, orgId, credentials }: TDatabricksConnection, + { id, orgId, credentials, projectId }: TDatabricksConnection, appConnectionDAL: Pick, kmsService: Pick ) => { @@ -68,7 +68,8 @@ export const getDatabricksConnectionAccessToken = async ( const encryptedCredentials = await encryptAppConnectionCredentials({ credentials: updatedCredentials, orgId, - kmsService + kmsService, + projectId }); await appConnectionDAL.updateById(id, { encryptedCredentials }); diff --git a/backend/src/services/app-connection/gitlab/gitlab-connection-fns.ts b/backend/src/services/app-connection/gitlab/gitlab-connection-fns.ts index cb4e27e94..9499d6bf2 100644 --- a/backend/src/services/app-connection/gitlab/gitlab-connection-fns.ts +++ b/backend/src/services/app-connection/gitlab/gitlab-connection-fns.ts @@ -64,6 +64,7 @@ export const refreshGitLabToken = async ( refreshToken: string, appId: string, orgId: string, + projectId: string | undefined | null, appConnectionDAL: Pick, kmsService: Pick, instanceUrl?: string @@ -105,7 +106,8 @@ export const refreshGitLabToken = async ( expiresAt }, orgId, - kmsService + kmsService, + projectId }); await appConnectionDAL.updateById(appId, { encryptedCredentials }); @@ -238,6 +240,7 @@ export const getGitLabConnectionClient = async ( appConnection.credentials.refreshToken, appConnection.id, appConnection.orgId, + appConnection.projectId, appConnectionDAL, kmsService, appConnection.credentials.instanceUrl @@ -273,6 +276,7 @@ export const listGitLabProjects = async ({ appConnection.credentials.refreshToken, appConnection.id, appConnection.orgId, + appConnection.projectId, appConnectionDAL, kmsService, appConnection.credentials.instanceUrl @@ -341,6 +345,7 @@ export const listGitLabGroups = async ({ appConnection.credentials.refreshToken, appConnection.id, appConnection.orgId, + appConnection.projectId, appConnectionDAL, kmsService, appConnection.credentials.instanceUrl diff --git a/backend/src/services/app-connection/heroku/heroku-connection-fns.ts b/backend/src/services/app-connection/heroku/heroku-connection-fns.ts index 5a8533c83..adbc5cd2b 100644 --- a/backend/src/services/app-connection/heroku/heroku-connection-fns.ts +++ b/backend/src/services/app-connection/heroku/heroku-connection-fns.ts @@ -36,6 +36,7 @@ export const refreshHerokuToken = async ( refreshToken: string, appId: string, orgId: string, + projectId: string | null | undefined, appConnectionDAL: Pick, kmsService: Pick ): Promise => { @@ -64,7 +65,8 @@ export const refreshHerokuToken = async ( expiresAt: new Date(Date.now() + data.expires_in * 1000 - 60000) }, orgId, - kmsService + kmsService, + projectId }); await appConnectionDAL.updateById(appId, { encryptedCredentials }); @@ -186,6 +188,7 @@ export const listHerokuApps = async ({ appConnection.credentials.refreshToken, appConnection.id, appConnection.orgId, + appConnection.projectId, appConnectionDAL, kmsService ); diff --git a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts index 830378ca8..b725e5584 100644 --- a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts +++ b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts @@ -42,10 +42,10 @@ import { route53DeleteTxtRecord, route53InsertTxtRecord } from "./dns-providers/ type TAcmeCertificateAuthorityFnsDeps = { appConnectionDAL: Pick; - appConnectionService: Pick; + appConnectionService: Pick; certificateAuthorityDAL: Pick< TCertificateAuthorityDALFactory, - "create" | "transaction" | "findByIdWithAssociatedCa" | "updateById" | "findWithAssociatedCa" + "create" | "transaction" | "findByIdWithAssociatedCa" | "updateById" | "findWithAssociatedCa" | "findById" >; externalCertificateAuthorityDAL: Pick; certificateDAL: Pick; @@ -152,7 +152,11 @@ export const AcmeCertificateAuthorityFns = ({ } // validates permission to connect - await appConnectionService.connectAppConnectionById(appConnection.app as AppConnection, dnsAppConnectionId, actor); + await appConnectionService.validateAppConnectionUsageById( + appConnection.app as AppConnection, + { connectionId: dnsAppConnectionId, projectId }, + actor + ); const caEntity = await certificateAuthorityDAL.transaction(async (tx) => { try { @@ -242,10 +246,16 @@ export const AcmeCertificateAuthorityFns = ({ }); } + const ca = await certificateAuthorityDAL.findById(id); + + if (!ca) { + throw new NotFoundError({ message: `Could not find Certificate Authority with ID "${id}"` }); + } + // validates permission to connect - await appConnectionService.connectAppConnectionById( + await appConnectionService.validateAppConnectionUsageById( appConnection.app as AppConnection, - dnsAppConnectionId, + { connectionId: dnsAppConnectionId, projectId: ca.projectId }, actor ); diff --git a/backend/src/services/certificate-authority/azure-ad-cs/azure-ad-cs-certificate-authority-fns.ts b/backend/src/services/certificate-authority/azure-ad-cs/azure-ad-cs-certificate-authority-fns.ts index 0e2619a27..25c5590eb 100644 --- a/backend/src/services/certificate-authority/azure-ad-cs/azure-ad-cs-certificate-authority-fns.ts +++ b/backend/src/services/certificate-authority/azure-ad-cs/azure-ad-cs-certificate-authority-fns.ts @@ -41,10 +41,10 @@ import { type TAzureAdCsCertificateAuthorityFnsDeps = { appConnectionDAL: Pick; - appConnectionService: Pick; + appConnectionService: Pick; certificateAuthorityDAL: Pick< TCertificateAuthorityDALFactory, - "create" | "transaction" | "findByIdWithAssociatedCa" | "updateById" | "findWithAssociatedCa" + "create" | "transaction" | "findByIdWithAssociatedCa" | "updateById" | "findWithAssociatedCa" | "findById" >; externalCertificateAuthorityDAL: Pick; certificateDAL: Pick; @@ -621,9 +621,9 @@ export const AzureAdCsCertificateAuthorityFns = ({ }); } - await appConnectionService.connectAppConnectionById( + await appConnectionService.validateAppConnectionUsageById( appConnection.app as AppConnection, - azureAdcsConnectionId, + { connectionId: azureAdcsConnectionId, projectId }, actor ); @@ -705,9 +705,15 @@ export const AzureAdCsCertificateAuthorityFns = ({ }); } - await appConnectionService.connectAppConnectionById( + const ca = await certificateAuthorityDAL.findById(id); + + if (!ca) { + throw new NotFoundError({ message: `Could not find Certificate Authority with ID "${id}"` }); + } + + await appConnectionService.validateAppConnectionUsageById( appConnection.app as AppConnection, - azureAdcsConnectionId, + { connectionId: azureAdcsConnectionId, projectId: ca.projectId }, actor ); diff --git a/backend/src/services/certificate-authority/certificate-authority-queue.ts b/backend/src/services/certificate-authority/certificate-authority-queue.ts index 0e015da03..21f7b71e6 100644 --- a/backend/src/services/certificate-authority/certificate-authority-queue.ts +++ b/backend/src/services/certificate-authority/certificate-authority-queue.ts @@ -35,7 +35,7 @@ import { type TCertificateAuthorityQueueFactoryDep = { certificateAuthorityDAL: TCertificateAuthorityDALFactory; appConnectionDAL: Pick; - appConnectionService: Pick; + appConnectionService: Pick; externalCertificateAuthorityDAL: Pick; keyStore: Pick; certificateAuthorityCrlDAL: TCertificateAuthorityCrlDALFactory; diff --git a/backend/src/services/certificate-authority/certificate-authority-service.ts b/backend/src/services/certificate-authority/certificate-authority-service.ts index 6cf55fc52..02c5a488a 100644 --- a/backend/src/services/certificate-authority/certificate-authority-service.ts +++ b/backend/src/services/certificate-authority/certificate-authority-service.ts @@ -43,7 +43,7 @@ import { TCreateInternalCertificateAuthorityDTO } from "./internal/internal-cert type TCertificateAuthorityServiceFactoryDep = { appConnectionDAL: Pick; - appConnectionService: Pick; + appConnectionService: Pick; certificateAuthorityDAL: Pick< TCertificateAuthorityDALFactory, | "transaction" diff --git a/backend/src/services/secret-sync/gitlab/gitlab-sync-fns.ts b/backend/src/services/secret-sync/gitlab/gitlab-sync-fns.ts index 3c152d853..7bf45d47c 100644 --- a/backend/src/services/secret-sync/gitlab/gitlab-sync-fns.ts +++ b/backend/src/services/secret-sync/gitlab/gitlab-sync-fns.ts @@ -53,6 +53,7 @@ const getValidAccessToken = async ( connection.credentials.refreshToken, connection.id, connection.orgId, + connection.projectId, appConnectionDAL, kmsService, connection.credentials.instanceUrl diff --git a/backend/src/services/secret-sync/heroku/heroku-sync-fns.ts b/backend/src/services/secret-sync/heroku/heroku-sync-fns.ts index d2f0817db..5f2375979 100644 --- a/backend/src/services/secret-sync/heroku/heroku-sync-fns.ts +++ b/backend/src/services/secret-sync/heroku/heroku-sync-fns.ts @@ -32,6 +32,7 @@ const getValidAuthToken = async ( connection.credentials.refreshToken, connection.id, connection.orgId, + connection.projectId, appConnectionDAL, kmsService ); diff --git a/backend/src/services/secret-sync/secret-sync-dal.ts b/backend/src/services/secret-sync/secret-sync-dal.ts index e50593f10..57c6581ce 100644 --- a/backend/src/services/secret-sync/secret-sync-dal.ts +++ b/backend/src/services/secret-sync/secret-sync-dal.ts @@ -31,6 +31,7 @@ const baseSecretSyncQuery = ({ filter, db, tx }: { db: TDbClient; filter?: Secre db.ref("description").withSchema(TableName.AppConnection).as("connectionDescription"), db.ref("version").withSchema(TableName.AppConnection).as("connectionVersion"), db.ref("gatewayId").withSchema(TableName.AppConnection).as("connectionGatewayId"), + db.ref("projectId").withSchema(TableName.AppConnection).as("connectionProjectId"), db.ref("createdAt").withSchema(TableName.AppConnection).as("connectionCreatedAt"), db.ref("updatedAt").withSchema(TableName.AppConnection).as("connectionUpdatedAt"), db @@ -67,6 +68,7 @@ const expandSecretSync = ( connectionVersion, connectionIsPlatformManagedCredentials, connectionGatewayId, + connectionProjectId, ...el } = secretSync; @@ -86,7 +88,8 @@ const expandSecretSync = ( updatedAt: connectionUpdatedAt, version: connectionVersion, isPlatformManagedCredentials: connectionIsPlatformManagedCredentials, - gatewayId: connectionGatewayId + gatewayId: connectionGatewayId, + projectId: connectionProjectId }, folder: folder ? { diff --git a/backend/src/services/secret-sync/secret-sync-queue.ts b/backend/src/services/secret-sync/secret-sync-queue.ts index f75d84eda..a31bb202d 100644 --- a/backend/src/services/secret-sync/secret-sync-queue.ts +++ b/backend/src/services/secret-sync/secret-sync-queue.ts @@ -484,13 +484,14 @@ export const secretSyncQueueFactory = ({ try { const { - connection: { orgId, encryptedCredentials } + connection: { orgId, encryptedCredentials, projectId } } = secretSync; const credentials = await decryptAppConnectionCredentials({ orgId, encryptedCredentials, - kmsService + kmsService, + projectId }); const secretSyncWithCredentials = { @@ -624,13 +625,14 @@ export const secretSyncQueueFactory = ({ try { const { - connection: { orgId, encryptedCredentials } + connection: { orgId, encryptedCredentials, projectId } } = secretSync; const credentials = await decryptAppConnectionCredentials({ orgId, encryptedCredentials, - kmsService + kmsService, + projectId }); await $importSecrets( @@ -744,13 +746,14 @@ export const secretSyncQueueFactory = ({ try { const { - connection: { orgId, encryptedCredentials } + connection: { orgId, encryptedCredentials, projectId } } = secretSync; const credentials = await decryptAppConnectionCredentials({ orgId, encryptedCredentials, - kmsService + kmsService, + projectId }); const secretMap = await $getInfisicalSecrets(secretSync); diff --git a/backend/src/services/secret-sync/secret-sync-service.ts b/backend/src/services/secret-sync/secret-sync-service.ts index 3fdb7fea6..ecd7d04a5 100644 --- a/backend/src/services/secret-sync/secret-sync-service.ts +++ b/backend/src/services/secret-sync/secret-sync-service.ts @@ -41,7 +41,7 @@ import { TSecretSyncQueueFactory } from "./secret-sync-queue"; type TSecretSyncServiceFactoryDep = { secretSyncDAL: TSecretSyncDALFactory; secretImportDAL: TSecretImportDALFactory; - appConnectionService: Pick; + appConnectionService: Pick; permissionService: Pick; projectBotService: Pick; folderDAL: Pick; @@ -267,7 +267,11 @@ export const secretSyncServiceFactory = ({ const destinationApp = SECRET_SYNC_CONNECTION_MAP[params.destination]; // validates permission to connect and app is valid for sync destination - await appConnectionService.connectAppConnectionById(destinationApp, params.connectionId, actor); + await appConnectionService.validateAppConnectionUsageById( + destinationApp, + { connectionId: params.connectionId, projectId }, + actor + ); try { const secretSync = await secretSyncDAL.create({ @@ -362,7 +366,11 @@ export const secretSyncServiceFactory = ({ const destinationApp = SECRET_SYNC_CONNECTION_MAP[secretSync.destination as SecretSync]; // validates permission to connect and app is valid for sync destination - await appConnectionService.connectAppConnectionById(destinationApp, params.connectionId, actor); + await appConnectionService.validateAppConnectionUsageById( + destinationApp, + { connectionId: params.connectionId, projectId: secretSync.projectId }, + actor + ); } if ( diff --git a/docs/images/app-connections/general/add-connection.png b/docs/images/app-connections/general/add-connection.png index ad9d54716c3d3d4b9482ba9c12b564808c1e61d4..b6dce69ac1a6044d2b6080812340e27defc55993 100644 GIT binary patch literal 952486 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

D?lA$8% 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

RSUsf+N|cH>LeNB<+bp>O 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 z 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

!S9g61rOqA~yMf2g@Juf}@f*-$7{dEF# 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%0Axeq`jK@f#&9c{PF*f^!0k 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

  • $A~-@f+Nc6L0Kbji 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%0AS8}X`~g;K_wN=8y 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 $T(a`yqi@YoPz#T*>!{{&|w1 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

    ^8EpCEpU@7i6P{kMw6o)xBe6{ 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

    3F*~ z>dStlw&cV|CcLBUWA<@Yn|Zq}!D~LLkaKk-cF*`rfT0=^+#kk!vu&Y+$>L z;5T7h+n)I&Kr0}B_}zsKgxWs5LdCidc!>}Hv3v$o3m|a^I=_jPLnyHF}WtWK%J;S2G~s$xZMv*>T3bRAy0FDc>O6{Wdiyb#n2I zb2Y|%;^w&4nbVo?QpMbf*3>!L$3??0Z%(tV)YcU{#Y!T*YN*{hrx`%0l){Y4v_ETb z2b7xnYZosl$+4Q>VR1go*kZUmlm+VyRn2W{QJ*9k&zrs{lh(f84VKFbdS~5CzHuC< zQNN~?GoLtgE)l#}USF{Qc}k{`;P9@!d5KfwG=xWYd$`o-P}!7V#f4MZ}{1xO_VP z*Brfbs7T)4fp%N7XXrwq7xCVPru z<(T}GZ0gTRd)i8jIR#Vlvj2rJ% z zuFVBCeI<h)MCT^8DMR+^!w=t$wH#tWBvD$-sRr0Db^>ro?TNqt#u z8u9-w5OMqnea;}Z`$C@Z?HhuDA}`IND9PqnYwxe+%j!k*WaK*@Jnw;BqcUX0L&S6X z;z+stOlQH&Hf|$mL`EfpkOp@Hv|em~=~~!+2d4}d>_Rtqnttb@NSJ!W8`wsSwFOwq!$G>+4UNC_W`Xp78?gzN_eOXG%TfO zffi}a5^%naMiZoLYpRPjt--tvZ3B0m@%Yi-6H9Za3CQ^BT;s!xAoD1p)CuqjbpP-V z0MGEqvr*7-ZQ)UGxP4VK-47@~3e_kNiQ~j4G1@Hvf;u(eRK0d6%w-RLed!AoOM_wZ zoU2P+7yNfpyV#}DoSEabtp75Zj_$gzZUL5EvZ(N2Gc<90521z2ZHtd(_asn_#bwuU z>9WrL?lYrv9!O73wk(PApa?U8J0BRHWE?2unNV>0Jp^R(?+>nsT3>YDmG)0Z^nVPC z({hfO3FWYP1{xjlVyR))+8sQvObi`}pKx0bd`3j?^BM&@d<+xmOh@z5o3(-*cX3f=fa2NDQ%#C8R59_9 z<2=UZzb=0q_&J{7g#Pl}Ej&R2uP+%G>}M{rmu^~O_%Nxh6n+8~_pk@SD@h?M-hGTN zlR@>^`A6S|65d1>&vnN_8=OBukU1*#V2zy?bPQTq6_-CZXdRf~;&_bRWa6i@ySl$V zuk-KmIuYwP-@UbmR-!$Krr(Y7tRiDt5Ed`s8Hnl+`@r`D)5-SrpNjs>ZD;kjjpOl4 zx~emmgTZlJy<$(CfiLYfwURW>BH;X+YyCs#h5>gN8^%KF{D`$ZPFP)x8{MhE(CrqN zE0NQ4am;6OkMi&lS~Q%<;m>k^x0y-rl?ZDh)|E5z!Bout?3@b`l;y zcHeCmE5rj%n{g&h*`73d!nvUVstz8P+U^f)-7+s16&(&wj9@^RW)&Uvj*kQ$D1HJH{AF zwF(u)3*3=}F~Q*!2%u%)MNy;5IKx@$PA40B;e`*_f~Q_vEs{C;%cNG@bLpCQ#2?*t zV|!sFKL8^Fi7#2YquafLs_iexKIpb3<|KFl{QO9CLG2dnQ(|{B5ZhX`DK|i9=RU>a z+bTO2lN}Ap)hr1%?B?t(q_E!3OU8)I&wag=D)?hMRP@SjoVSYh-%4%dz{uO`l1n9K z=ZgTPXQ>4Sy_5eJIz3TppWYhrCQvW+>y}4N0TX17)3j?-`QSyd- zo&C>zat+~@k6LdqcFun9;rHHb(gu>D1QV)yCWZB4Z7;KIPEf-A?V}up94LwPdk(Rt%&yd~ICJUgJXtDJAbUQbCr}d}`2M z2!-jXA{5+StA4Y2BmOJ-H=dVzX3XtyQhe=h}tcQEW zkYM&I@k)9~JXISywykPz?z4PKGT`a-4&I*Tk~{G0?jMC3PwvO6Aom%I8z1Ejd{>$3 zaRh(a{X7KxP`@*q^n5_l;uH&vNa7Xu&;a-;c`*FxdeFo!NQ$dMb=@OBmTsybaso)( zk_}8sdkBmRmCHOl;6Ct#VLrR+ddOLE+{63-2@3M2b#eH#b|1|Wxq%)jou1)fOt7J$ zTxussiebh78d=SimAz{z)s}{URG~`(V;=3ofRGELMH~RGAOU#C%5aR?xdC74r69E^ zLB9%fIy+#Sw!h&4hJOBPV_73(s|o%hO+TaVe1|%&j}BP0Bgd!wMj4) z>_(YmXtKB(5cLM6JieD+nWdf{wAaq2+3Q}P(Rh0yD%btnHwk=$wB{D|yWHOAkGg%a z-1zCaeNE$+66~);CYTm8fXDglZ<>VY?k%SKdcO(y(Di5RVv1FOo^|g{hr~ednGA5p z(vWI|WKNScW=g1xv%pzX@2k;%!Qd_Yk7V+?EN}fgXT%|28$61~g`HahPdTifay#LH zwE4YJ7mDe)ezd)&O}?w%cSQk;_YbyK-BvFG*1s50c>SiJH-)idYjEivER9g7pVk!k zY;Grv%lotFHYnHM#OUjl?)5lND`Qby%RkgW#*^vG`V0~D7E+#H?nYIRrwIGC6~<~- zWldv8#>yXW%|EU(6m|*E9DZHmwkA6(yY4rsu`Ia76g6}_;vA4rQF4E=Un9ro@R-R* zmBa;t^wH~I^MxbqOe{C2Kxsgyx;b#GhSMqCe+madaUwI|^*N&2-2z>1)I#gu$srR! zEh{D_+V2@fZO*y3Vx@JHuUjeH_s!$NBR|n{$=~~~nkIE%&9e{tb*64U@tBD}^VPN?CcjeV`tx3DFUh;#g(%LN@@J5oH$@=xGWn^Fe&An# z$vcps(Ur{@Wkh)XvO51|JLmc57Xfu5Y{3I|(7!w%SwuHbG_d@RECElT_&(;_e51a{ zMuI}ajmvBLq&#hN>ny^ngxBG7sC4P3<0N_#b^iNmt`W4@Qq|I@6;fG@Pew}*?N z-zv|A4>BfCWAU@fz{jJ{9r8dLXGPaRGlsTQ++*OeS&fTzO?R{C@5wjiO#YC;mFJL8 z<8SrM`>%o)gG}7k7$_UQuyzFGSYo`()g<#k z4NO?K7^S`3}ciLP%kZp#aXp2SjzRhgYFop z86Dh64@W$Yin7x4d17c_Q*UBBzCe}XCCQav`E*y~bbRpl4L>SEqUQ@`M4;3SA9$+h z-GbWAiNfG~v*2DIfV2AhU2!0MEQk4 z9Obujp86Td0m@}t#3Sl3FtdsEu$1)Gsqfv#PFCQtHhA2Sd%Xr$t{_(MTD%0l?Ya5A zS90xq5mkcCe%t!{a4%4M`91Ha&d-D2C})7aGh@{6#TiNoNm9ctiGyK*oNH!b2n2#x z<~nWck^lnq)R;m* zv-gz|TTRbbqh?*Fl}A3+-RX0N>KXDa#fgPr<(z4lsi^4L_h{=`LozwauZgdis!Ea8 z&aX|VOWpbDp);#dHU#Mfu@Fo(?X=_?Zq>pQ%6Lok#nvRXTB2Ic^5%KsFWaxb*5ycZ zez6PHia-IC8Cjbr&QZUjqf(OG-XUex)sHt{xpIbs)1j$Lb_3CK_&yhAp|R21$?C`| z3>V(d{D_b_?O0HeCG1}7)t1{a_6-yD$s4c>yayLG70C528xyAYvCFFX|D&X~U~&Z?iwCiyj;TLXf8Q8Y83VjVRsV4APd! z90*T=#+Ca1jYA=EwwCc8Ff3l8Hkvbc(AptsS8u3hQH%82QB3sz3=8j!uz!9eiDNrY zL^KXB>4K3fo0o(3vhlon&uU&URF@rrfZg?;B#}#Ieoy#vv%cBtQ5n=HE!n}$lL0Tt zq}a{cgv%k}pF8Kk-Y{vvI<4RwpCj2?^V>ybqu?VeP(@nLnSOBg!x^>#_7u5Hto<>z zkvLAU+@#1%*z6i6;i5KsACvhTirnRXB2aSEggUfGg*pW|kdR!U0yfuVivPELL@>q1 zpTrK2SwgeG{(Ot*#@<}r#wz(G>_nzhhlooes09ilrb%PJxc`hyz9Ik^S&&`bC#O9% zF;cG-*=TGy4Ub}_1ZoQ9*W6anI_-wk@e|H`uclrw`|x*GWi|N~D@c&`p3wOq&ZWP@ z{x++jfdW;tnw}i%RtyYvo|`ABsiHy^4myK1sn;jmetK^5 zxXl{<7m>{)ULh*r}Ap*Ocp{U25ya!vq^BASaBO5g&Sse9jybL zST~vE97b|JiDj8>7zL?+A11LmRl@EuIMn#9{nFg2)1*i2YQ!zSKx}?Y^?&%`dg4)f zmc4az#0u;JE01_T6pMGn%ayeMI8Sw*T)Z#CAO|4mhgo=mK6FYD(&Y z|Nc^HbGS#F<96ia(|6Nj1#jr=m{~6f_m(uePN-0~UO6G^nJ&3Qk~oQchr6-T_?;*c zJIVMu;>b*o`QgDUMGiRgQyc5LGE{1>w{9>9OAZ#Q=W&P-fS>pbBRLEEDPPy)Sy;wD z+wpS^z+8sIe3k5vQ>^P64Q1#di_iGqO1Fsh0$(a z&v{gR)e+;5!^ykT#aYrpo69f7k4DnF7M+S%%`2tM&qqH^7`}~VwV%KKg;lE8%5N8T zt0^*ec-C4&plpEuJaBZe~4U z!v2ySIVPVN{32^7bkzvdrhd&StHhp{7%J!`sbzYnQ>=oD$tSf~R{5hG^t$e^F?PM%*kM3SDYC)MUm4 z9byy?9-SApE6b{ggr)6i?b*ZRpXRV;MxLpAM*d>QeTAL)eSWjbdKa2A&Ml|~y{yMT zD(J@5@T;iQ@4fu`dZA#`ziRP$5l}6LUgTEeFtP$tO@7et+PBMD>25 zCkVdJy-E`;y6lA8lwbVYsNyCuB#8-@!kugnIFGI6d0d{~3bwb0dVi4lw4>Kz=Pc7% zdvmXkWYy$mENd^pO4@^E`MPbAn5UAk0Rx6IaST~;w(=TZ5P8e|WU#pLaWg0Q{_mh` z##EhCnV}yn9vguTb>fxze%V~(Q|Uao*d2Df>R)y}WacdD_R&ndqq{J8ifMGkPDx(QuE_s4uw!~A14*vr<9Om-*7JR-Ouu5Gz-79j z@Mb(|jp^(6tz0(iTJiqE&1EAhg0tE$#)YbU{0#YvJ)%MJDr9l~-PTr~%~*LgxbgFz z73;fkRRg`ni}sv#Ve|u&i)KTA*Ss#diQ>nu{UIT=cm;D^?o0bxPG{ZB$_Ud_MCy!AeQEge=g#{gz zxwK0+kLJ&m^7>dy*O2@5iE4|%p7Dz4$!|zGJH1dXy-==txK~})*-LTm6|s7T2Kl9G zpw7YIN4bovZ>XR36=O&)ZiF`lcYFEzppLyR2KS^}?sDjX)~t-;@&mF2wwjdhm7V=p z;3cf5?Fg0)Yhw1aM;~Y392w81O;Bcquw=vVnCLw=sj0>R1P;7j_(&y%tvuW0}#<2eA7 zEboHG|0toQ#8lO1%mh9#qAxjLa-SdStwtF?|Wsf#`yV%WG*>AQ+{D{!n9T| zMQ^lTJj-8JWj~+tBN93O2?iFK7ob3=I}FBaxdQvu>+DCLDO=0H*wG`_WA^>%u9dmr zr#QQ|w0tNn$BJ3+xbIbc1`{T9Gx-Mg$q<;z3TkKpcx-0?~GID zD!*Ut;qQYBg$1J*nsh)pN!eqniMG-mX_zm*MUh?%uc0a{#Y?&xoaUpIg#4sp3z}iSmp+hTDUMMwYQ4 zLZ=AF{)KGxe7So-hMWf*QLmXClk!?FUuoeLHt2**aw*vHGM&@&Y|2h6S$_2(J>l?L zwk%0s^Wi6nh0ou(qF^p>HGjSi2-r}a30*2&YC7=H`2AH>6n<-m7jRcaEH@bUz z$vU=O(bmeF_hLYjhcu4n)mh&Y zI3dGV-TMQa0eZ5$rVJB;Rowx;Kq^Y-7AFRHLVa~~Ge--}HAaSidMaPK`=rb~&>Hw$ z;6VdejE6EIWz`*fF2>R06H5DsL`dMC;Ijq7JYs|<@CuVM10j3@B|(m}P|tl9u?I&f z!Pt}y-5i3K-+A6y{v?0XqK?`5Z^rK_poN)aM##C6!i_e8ESXQOfy<=9+5)qb8eGjF zg?q?TVfpWiet#mBwlyrh46K-6P)EOGiY>6ud}8F<^=+zW^NbwIkVBc%@;V%80TU>p zfPx3(L@jk>2Uan95U{seaPN#(lgBt#S6DJZKYsJtcT5EaOtXlsWZ*LE9|D;%S|NfR zvn;vXCAf54xeBOXo0uQ-V|!w+84Yk(EFArWGk?ZtIaIjTi(2}4ddG_2sfzdm{jJ@p<{xi^Kl^hA>InCVLKK@c#`<&H!wOuMkz+8D)UJFHxt__&^ctdi?{oj-OT_|4 zha95R<4|mItZ?bC0)sOK(KK<_5x;!LWyQSOXzQCMC`9D+Ov&m|+cVnb<&8UKphrGz z|04u}K+Y1mL!ECZG;O&;t0ItT?oRuSx_6ywMcv#h`)so*(lXl1nCL82HQ&$xgH@{JmAth%s>u?a|29nZa$c4d`V+$@jV5E~AeUb>jt+yj`HdGC6CNr^vdot_FqR=>gSEv6^w>>qgloIYTLSJsi# zlDu_@Gb)w5o3RK1{c?(awhQmPcBhP7edm+Ubm%N^W6S=a_cY^pH2c_!WsvcXQ`FD) zZi8KDs{z8uVsijR=}yG&yTh-DK+a=8oMC(^p2$iR_S4YqnmR@zvix@_CGfh|k1-#F z;3IEcMnk;+u196M3C&l^JQI4=@QTaBe^=dj?i4fU4_v>*I2!<@-P!g@cYa`&&g4FW zgW)O&_ZY&TL5>{V3_>X@kwh92a+JWQl+%tH+3RNzT9gIGv=E<`XGo62P*sF^k}!3< z+SlK(8SI(;NCbDA!j;o)0AHMnO!YUDUgn$};y9`-aPflD_{Rgc)eqaWp{6(4AUnR& zPKeEHfY0>7!~LK2l(MJ)4kG%l-n5`%ovz(ymw#W~xIelrs%7G))M|B$t>p|}M9}gr z>t*c!kZ$5axo|a@-T7ed{T~lY59)cgB9w64K-hezpU_;pK8Rs!Cy8f7vU5j&V*s?L zG9rvH+O9YwnS`7(Ue&f^I#8w^6T z3YG-o>ZHcei;E^Tw{IYGmphztDa<)ZmL<cQb*2Yl>b2CSnd&0tri0B2$u_vwUyW;d9I5z zc?B;ED!c=o8h{$waSNzt2Bx3%vE7{Kgrj;^SH9VjX9W78^Wqb7QZgabt4sBXzL9uQ zEz+Vm<7CgVRbY&&S3ce2{QO2aY6B`BpX@HfOiYX?jWcKGEXxg=Y}bQg$I=Qwv_~J`w>EVuT9^u(n`P?E zU1TG?C(6%+2dw}~;8Cw)FoBBYi{%d{Eu6;`{n@DF0>}I%oi|0ps8C}TKMeiFh!o>_W_A*h;3Wk|HIl>g+<}D`-*~y2na~0k^(YxGbjj1w{%N)=YWKC zcY`3^-3;9@(p^J$=P<*W|F`!(H|OR&-?y*kk_T98*89u1i`(c!@g34i$WF5Wnr<=s z^6FV>?dJ5-)TuB>2Bdj{iamf7I%ebUKjDx42<4^qgfT3sJ9Db1Xa{h=tF*`yCRju7Jj|{tGf_`D%MKs{Iyq?_$%_V(8n*1G zzBGd7G}LCG87uXkV}w^!_n;CqA2(jUSlmp} zDRy4a(J&Ei#z_-i_#JLb)~vwq!Fx3$DV+K>Dk#xs^mr#t!s%Fksx?6QneKE&g-pFX z=Fe(QLG~Zsfw~>OPVPY%nAaC!CKTKo6XO^!d0Q1+#6UnZbuiu0ZTT+Gr=Pc%N6-7t zT)PC)ukk~TM_RNSi_))8OX~Hqto!KVJ5#>f^Jy}=h;_xoO#fwt$%ujv+3IR{b-5uA zRMAexU1_EpJ?ZiKDK-1$Z3$wPV?#;vFONX8ArxWEhpk_`pKb96QfD@NN(BbhH7e~U zdH>CBC>;~59!ptrz18R@ZY~JdFAGWF{NeYkt}}WWyJV1LphW`n-bPu%2uzy7kil4B z;--F-;+%3^fFS4eft3)fik#jp=Q)zjFMq-4SY1864}sZ$UHkPX@35@VkQO_YWTPR5 z=QJpf3JFM3vX$)i-_9~L;k~k#Bb#kP5=x87U_A_vkHLU9DBAJibXC=2&&I38eloXJ z=^8s`Y}#Ktu(e5&4V>?s3`hc~C^s)Tb3JxLbT-A0*kb1lf;BJ23fLtXq1_!DL1ZH~ zjVs?Pz=(&7^#GitH5hyifJ`}#Sd<6j)O6ru@h-0S4;V)SzXPwjaFTEqsj%D1oL5vT zFD0^vp34%*kr)(wV%>zz6OI{s^hS`e;6`7rb3s*vHBql}RQjM+xX*YQ@UnhE_pe=gVa_`c^e@i}p1e?|HwDyX8Ntk?;@fRJ%UN%>~3k zy_?ZDegsk`e7orQH-6lAckVcHUYxuUU8DH*KeSM}3RjBFT9KC6nUF6&>96anfDEvS z3d=F`^o1(`lk`9`7yi z4FFCE(r=^=h-5Fivn&*u?B6#HL3RtU8XcFMoa+|sG><7hIi6O%*QfYUMdjDtE^G(% zy1DXMnWq1@z!&v%edp&oOa1k>`d6r28$^+v8xKsRh#42yCGSj5lK&~kI_dq{nh8#( z7VdyIqOy@j{>_!1eNO~iu}bOnVAiTNRWWxK?{3zc^5*_q(`<$Z9k-QwYqRgIo88YvBS-FVsb63_Ot@}9`z|_P;3SE_YTXhriCE{u73LB*2hIVrW~>#& zue{#>Y$gvoL=D`1&Kp&L%bT~L*q@(Ud42N~^k9J6Nfo8kbC^AE@f@81nWO2G$E^Yl zyt2Z)et+M!&NbE0;bW~hx>?pnwNtNjqXd5ib!9r1XQvP1$B2$K{L9R|tOru02>!1Bh6opLq=E!rFrhh^c~<+4kDH#@F#I{9StHHr)N zDuwY_ZLG|?O7e`__G?nr5IW}-54_#9X)*dHDeMf$Gjm*w`AIiJ&0N$W<+V%u@~xxEA1NgAcT9z1;0#va)x!=Wt|kROza>`C~FeQm5Y1$}??>`R@4$JFjPfzh#b(XM+5`fwBrG`4ebx;0PV`=%7kY#Ffcx4>l{=9+Qi zW@N`g;SpHMcs~Erox`F@B(rE(vPO(UXX1IXolxN-jngtDYPl`x)2WEO;N1Fp_KgGM zDY(gsO{^|{>7Ra&jRGnipgP~!GJRpl8>Dfxd}mOgVkbxn-A8+Mwk;Dg+m3Rodt!(4 zXq{B^d~WLq86c&*oCngNH_Z*SVL^h@dy{=`r!A0m23)exIR?J6qT zu3L*^7NYqmn~p3?dsOwf^;%T{+5v<>Cr;VSh4PsfO&uSaN3zcudO!s`=O;H4?U1~nve5{=dqSJx-|}@`7MJ~MUMd=?VOp}EaiH$xa44N!Xk;1lbm61>k&ot+Cl?bTY>Ru_)!s}zp> z3U}}N*qOkUf?xODxk`kr^D*62j}i+sDX$qurJ6h065?T@ z70!ObSZyI05}rg%Xb%%TEn%dNPNTZaIItd|#nx7%r=&Q*7WJXhJQA<(;Ex!?Z{?m^ zvC!i!#Y!ERv>z2N&(lSJm>7uSDkhMuTdew4=8`9@MyPmb5~LS{Hu4~0QmbGVzn)J! zI@27-m;+dplvmHevFyL}He@ly+%i(|x6$5?`u0Z3 z3n4h?9=F+HiINBM_1UT`X8WA+o6jH?#z~8qvT9<0t`Ochbp1B<A&U&6VE2hDJjx68~x7@3?@yTXpxE77J$1Vm<3T_UJj7U&f9cyv4w?qB!z%;OmHonu!~HFAGsRrU;Vz=qlr$Cqy*KGi};l3_`$ANcm-R%D%>vYrn) zp^tt10L1GR`t~-wBNlUJO+pl5e}g_I?;!p9cYxV@AYnYrTf6tPaNxel{vWw5d_*Tj zJ93jKP)}tMRuXwrlXTj6{s7&6cbawJr19#(YGLmOdcjSAYnqp2^kTRxX!Dw);l@{Q!EQZBki+l0g z0y3%8{wo)=VB5ZNs+X&7jzA4cR9%PTdZKdEpL|D20^wB6FSLc>GWa!6gqLa|5oSzr>ElI z5#!cJ{5~%!eRTUVSif!)T34CGZC8+c&q`b!Oaq%b7T*hCCx}e?@n+m9N(t6r)fe?ARykPKsWY~^AKFy4hwAsIPyjy`I>2o?y#Uxq<#5eRC{D9 z`^MR8V((A8_s#tUvVf?;`w>5z5l7^zN_XUPD4M+3L0``WdO*6FWG0kHUa#8-e7c7u zEBHQ4-Q1@BgFbpeiiZlKVurOlZGX$Prw7#Wi|&G`^RxhfEuXn$J`RF+gQsFopq^#e z0=p33G{v+K85u7#BZC#1!(HwLEF+JlZ{wln#D?3W_iD>zf|CWTUdPLfX+d)HD@J?y z6U@nZynkfIU)GwlJF65DEJ4mmS7~1H%a(OCAl7Y$;Ge0=(ewXR@?d6$Z!Nr9&o3Qh zm*1%~>0yT^MOaVVR{yt_hip}-$Ra&1u8~~Uox-K;bdty+Ch8b3@KSU{ZmX0V3RN|? zt0dnSI168M8HrD}khBqG74O@;v{i2fQsEoaN2cd3X=*B>T0`c}rYN}!lm8tm^#4{% zb`r=@yQ$V(cQybCF>RZ@2}ucQS?vDIq0fhqH=W)Mb&__rvF9DWHDKceuu?&UUvhj3 z!r^B4u9EK86b*d%=CR&|KAg&FW-Xb2I2`?mBcgiJv>A1AWF}Io1G=6;1F&tlBR8@> zq9vdo^%dkv-VWE#0qd8|1wZM!t+;F_R=SIO+>hve_qhx9Eoys$`|A0?+*XwlXE=zQ zWn(~lMq_f)qxqEMgN4>nLfCY*MtiY|m50}C@o|`j*(sk|lRZ~t?Vl;$UTkT?M*TbT zyv->mcI$TeMG)mUYR`D}9Z3AVJGnA);H~Q=ad}CT^kIVw74~>`ShEAm9_|wVp$EiE z@4n*{o^?^a_VB4A{kwDf4?sGo?lJpmP9ag`v8OQ!c~y{m?&X&OYGZC!cjp(~L>)Pg z<)=Qz_fe;JQI0ce1GwGMw{5#3iN2R3U>zS=qtC!;<@p2kR>4F6+ywx4fZJ003^zJvgqX+Q&T%^bqy> z0_Qh&GfZ2gYki{?RPN6o_*|u%trPuF0Z;xS>EaiWxc=!zR@7e}0lBpgIJaz?F zHBZ_uR}dG&#?c~rtU8_8g2Cl*dyfN^>;ph++mQ+269BY7m#A&mUcdf`RBL?h{Z5}c z{FBv?%Ag3-spnkg&E#aeQgkA|H`7PFbVj$p?ryU;>)5o*Bmu*oLX3auDr9)xf~xp3 zNF!gF53qrj3_m=#mkiyr&K^XOI1mqy2I>sT*}!S!SBmrWz-LYae_mM{E(pK)Gqi(7 z@%rr0ChtZKGppxc%-*K&>45iK+2&0*F3y$? zvWis0{$l+$M2LqOb9nJCNt94po+aa^WD)Kka((farw~Roy^w=DAWQNw4UQGM|As#V zULdg9+8vFwt`iQfF+-xzzQ16o^>1?-gHXiP#IHra@nWOHxhSMiXVa&v*-sPkGCh&; zF>Sm@Ed66$F9gMyEsGD*F47b>%lWFcuF<30w4h%no3T;D>(b*?oHadHsR#Zkv*71o zKvAIN**}A?>~qYY-3ZmD;0wNnULw!8AgxK*OoKh8gV{D5fAd~w8{WUWZ!7KdA7EBYj($larXM%4Mb6XqCyNx4hyc`S2&J*YMeh2fZS^6-?}`hA$v))^=(`B zk)0L#UXu5ar+X0Ll&fY9g(s`#n}|%>et}#%vh>d5Yx|VLW#bc91KIw3iG*2`j0&sN z_MZuwFxcA;jTNY|19w5r%WI&t+X>MtnHEmFMdp^3D4EUc9T$k~TQbQRw%G1N{U

    A~(HN)zDSg*m)-FZcxVxQNeI?KmgXR|6WgGQ$_L;RCOxf?(ll z|0p5Jb`J&M@ABEeV?hh}QMyk>hQPJE$4sf78sfnhF1Ouaw)R~Q9$Crqgm8NT-ET37 zSloWJ^Ja3a1&8%T)KP?!7*;U0YMWh!<2(t-T0gWa%thbSbd!Z{BnGCXpphXn@8<7* zEcrNUO4GgY&9Cc&+YjN=W{%VR+Uw1WR+&7 z^}73u=Gx1tim(NH1AF|m)*^-M_m-q}Lk~Cun zY1^Rxd4Kt8=05U)Q{;%Xz{ z3yMm^_gPd$#6=+UK_)fi#s8Mq;(vw&9VOI*C}~98ul!jaqt2Rn+YLUV*+N)c`EcZS z?_B0YQ|GP80|)d3pGVp#N%6K2G2PYJ{6n5UurzgWi}$S?xVr6e8*urVs-8&sq4Nj0=QiYmnDAcxCKMp^jqM~jmech z8<-<=-eYqKl@BGm$boQ^aH)KMX!|I&c02m%PC+OOpw&=YAm*<#lV!`IBT+7g{tUIt zdcrLPf_9*K+JbbxS_>-o3N3qdJ9TzODD*-17YAN6Mi0_JzkVmqz6pcovx_iJzez8c zdo{OA`T7zz<(c1cCk|kp)AO=vKCEaRK7CrHx*PdwHlFp-_uLPBmKk?eGlA4sOy^EW zvJULMV76N3Jr!D1u=#;FEKQ~&x zJvO1^U1j9-`bE`aTe>ws5ul+08Zq~wsrm_W>3E^C`BksgLZ?_d9IfW3uFJ)*T4hTE z!2xbLFE4R!CF6)f;h7^t-EIZ10%SeNJ-M;QqTKG|9l6%jVCW_(^(okIZP2L>r_mmW zmF*VzEge#)TYu8Dg<|u%=eQTAOqLH?w`+5EZ=@#A@SkP9nA1L=6#Y0XvJqw>Ty$(^ z;VP5wA+aU<*#{+Wx^z#+kV(KD?YY5ktXiGD2x^>WMjese&(=Ri38zYU<8K&q~Pa#JU-F;&pU- za$(j$Hf7T&T-vrL4q&SEx#mq$Z@);~ChOQZ9O*#x1=dEc|n@-&n|@wBOcuW zeFtX-?BGU&>syWY{(m!vo8&fGa?ukrSX~usnmX3`32cCkecF?(qQ3dv$3)97x4K+82tyeR;dGD;F)|Gpw)I zU7?}SkUWy*JjU&VNmJ`8Ldi6j(N>Tl$q4K!?};rr1E&IxZqz3 zJw#?6fCE^(I#kzMnJjRWRAZ zUk3-Ker0PfBvRllyH!n2+I)*6EwT9bS5oWC@GZ_oq`JmTt&XHEvwf8;0D&84asmbI zrag938iaQd0Z8LW&$*}SlK%t2`EzSvHsSbDbHP@h>*5eZPC>-|W(&oe z-C11NTq%Kbvt)<*z_mJZYxYYQ48{C5$L(@ z`QVr6>U4`PdX0Wu;K0+kpUrgt61j_Gkz`QIJD7H{;Fv!s+16`GuZY{WyuG&kY!$*B zkepB;NXzZD-yAYh6A3n}U*X66VOj?#TG;!$%9`dG`afTP{|>(DOb+{uBrE}U>))z> zH8n62j_V*v%fA{-;Xowsg%g5Xd#-~b{Knce6GN#bbgEa{ApK*qBcvY9NECQ>_Pb|$ zCp}9~?;f+8=CI7Ne+>Ci=p+E24cypZ*yT+>`9QH{BAE?lf?N(DA+kAiH73g;l3lUhb0* zOLsw}`^54)8)95i;}rs`{TuPgo#r1e0_3MEZk+|lS{njT3oic#I7*`H&)W!#wvrs6 z-A)kxC~+D1L#~`|VW$l42uaN`KP@eXRp$*n(&b(5jwfU8LSWXZhWt+b6{Wg8c}R0= z2)vKQI+EG`YF^1o5W4yIHljV@-Is`83%j4_T{i{1@9g<~j+zp)H$P4jn>d~MjI+%Y zh#Y22TY=DT(}eE@=9l47QhIGvN_E0RcVa?4}Dm^TSEN@!iTJiE${#ed?W2PfR~T%i9&&b%nK# zk%?SPv>u87X&qj03Oa@TdyaoY}VJ8`M}#2}x+2=STa{Ks6i zuly*SpX5s$Qq~$k->QkP<5!(Iu}L$*%fD$t_a?_RcJtkPd&Qm$h=U)OTf$ikAyru4 zEIS%uAt1;C7yi6D`QtIcisb+uS@^WErjR4l1;^&rjBrpuu6hYqk5Rz&NQ2+fm#+m0 zF~0cPW!F;F-T6<&(gcspxJLK-trj`)waH(4a2^)QkS1(m(t>@@Zl8SaSCO2> zO|CY5of+V-E|POb+=8F%L^Od{zi|?M@1haa?Wh*uPxU{mb1eEt>zLBZ@iIO{P!-g< zDU%(+Rlxg|?FB;HNT(VJYz3a#*w)w9HL_bI+|xaH-l2_j(-fUsfdgVY&DXpy$AAk% z@#+AgJ$}vPSO$1ru7=1(;0<9IE9dHt(^GD)R)?vCmWtqAjehvM&9pHe{1tzyZ05+) zzFyyW^=0v~8;MFZr%mDndUzd93HuO~A=}RS56B};P;jG#Rz%XU@jh;L*Q|kesUme| z)b8_jI{F$hvQmQLZs_lSTquDYT$gc!Wkz6h6CIr-r9X@b%I641@~Vq?B<&@GEsfM{ zv@L~Ceomg=;Tbwn7fuduSnq~9uqytGTRmv% zQC?B%_P>9Z`2myltpDD<_YpXprhEvmLh2+Uh$qFpwp<7;PpxCF&d|rA+(>& zjuGOy!#Q$2r>j1mDPlFZ6LS31d6X6B78()}T&hCpxflD7qxlYGf3d~AEe`N>K$g?P zycy_p1lyi*^P8eoo$U4PkYv5-K3$@(XSShXX_&JpG=^f{jOZh3GU!kNo$L8+(JL;= zSP+;qX5_>|HkwIlnU&etXosR8TP%(*)vWacgS4ejdi7uXII`1QWbtS!DLDIaPDDxX zVKUi~P`&M$9|hRn*RYY55`wf?BfrKUA&GO~4Z)EB9N?hEf;A67NVhII@s`AndQt5X zVKi@ZmHin1v~VebW#=(+$`L!5DAF_|lZCEw(#iEip_3kU`)LWe07HP~@5SYaa5HXq zPg1$_ozLtU|NCPXELMaCmG^2O5lI~<^~w*)@d^BF?^PT_OI}A4*mBmT7eVwP$D#GooOV$e~y(}3C`SU~)$`oB1j~eDv8V!OecO9*Y+T zspCYZeL`oSi#*>-q*M!DQw2{?#OFsa2@=!#%R6}ES@A^Q6xo^z$Z;99I-V^s(iEfr z?$hlO_ukmwde)wnXeFS$zkat>B?$dGDIL~`;Hrn4^ncAD2?e7PXm;!^_vbT4e8Ze} zFW6*=*rkoZoo=+#7r2?vD|Shr<#IXTs-7uSpek-I-*F=i4fl1wB zf?WRZbnpx}Dj?9<2($BQpZc)2V2Zn{e}`UHLTn>E;V~D#ip?_wC{(b{kS95 z=Zp$cM=^2v@*DM2Cty2ljFFJVzNZ#1%`0mfH|sOGvZblaM1o+MnU{o|!KkN!a{B7_ zeVv3B>q@0f^`0hEckDLu=v#stwFi)fww}Ml za+myjJCxp7d*f`{U(>Xi0?(s<(yYJY`%gc#IiFYO#;G-RrT*Y5|Jj>C?!FT+A{_$nlnuGFZ&;`u8fe(Bau!Di zm1r;s+>zgeRL)N?aO@e?oR`(3e)nJtCb%xyylcNjz__qOr6)%{MXy=U$b+Y~-V!FG zvWsC)Gs#Mcz75wjQY@Ov;hDVLKKoddlaS329IckZsK)<%XUru3zzy-a(WrB7FZx^Z zwvBJ9k17sDSJ=a|OLj_v5ZJ^69dMTE3sTCGG-p&Fwp{C=c+Xz!b$i0zoF^4eAJ`7N!-8j;?QT^NUFDPu9{+PP_t8>I%ZYYrWW(in~!=AU6}_&Y(zw-L=M&-kIOS z4h*mTsil+ZzCrwik8V|P5LKf=|IARk%bH8ypSSr9R>#M;hFzlB$1l*d-9n}JX8L86`xTNx0UnEu z3U&gByG?7?G>+{T0>@WV7Vrlwma?1QT%i6p5BWky0Mk2(G;E91A z3sHVhHp&n0KPVzSMT?R{Xo5dDg&8fV6|eq1cK%4_*y;~L|04X(HJ z6g3Gfk|?dGvS9=_K0)-&5KPWk)*Y*9+N)CaX`nI%b)YU3y#cog^U-vN-3y6=^CU;f~SQMl8RF4<>fl zjEN&&it@^Y+0RmrBXXA**Iom14MbIdspyg=8wRyIV?|bT71JHMf}WRSy!=Z0@6&`V zYRrYt*2TD-_Y_Hi-o!4avyo{$RuWd12 zcd<3Z!P>H%UWhdF<+L_;kHzK7?B~3|`I9BwxGgO!$Cvz7SQqRgtiGP6aH^0|US09jX(IXLQ-uV*|lYm;MhxhJS=TpKP6%@{tD)UP-2k^ecO@j)|AQey}#IQbLHF{Z#^lP(*s4) zxwrh3VfWlhj{dX4zh9*f_Q?gipX15DP5bb0+5xMOk8kZZtu>V+sg1Xo|4UKa(xSzr zjC^FG=`Ygs-BzyaocH5Gk~h9b>D{$sZc;vvD$MXCwb`;%&p&HL5{c%$Rfcu9$v1>J zNd1(t1@0=ZI*dM?RcEu5G%oTaL^|qj2&SpVR_o02MW7)W`gDF0OW~!@KQK_d7EHh~ zWU7Y(#^z*QFgpa_i9p7f##ls1?yl$*X1zlNIoKE3fZsX+DKetb&n>pbKH}$Y) ziMF-BXWq*m40y%P+8Lmm#(gn8K%Jm1IPqYvQURY{HYXeY$RQ9mw~e%kLp@%GtSU)T ziD{7Cne$P0LRLdF%4Sk`Mb$p4W~Xsm5yE5fPm%J$QxSPqV%1Z`aG>j#L6k~9Jya3g zMxRhTVU$XtPZOC$%>Chl9I0u%dW`xU-e=S>ca%(PBgHI0^Y5yOH-Pi^eTDQq8F(d8 z1Q)+WP}6*=_6v#V{T=E)JC(Vp%g$(UnORRqQw({HwSb) zW&B_kAGYe>oV7bu%WK%YY`bRQ(|RXQfg;(7YmZ9)AAb0i;*Ij@1}Ug)UNksF0(UwxA2JwHt_PL&^Oy zxUo;#UiC4!qoJ4el0(4=2hURO)Sf`)Ba@W)a&d54VpxXmgSId{9 zIZ@gG`}&~PA0mN>ruP?ZmYNp|b%sX2X{sEOngBLbgNVQc&$?guT=WWAqNVEP1&yno z>G*t$-;C0*Fa4Y;C2M;8?=j8iblnOJGhR)G#&hPh$CO&N-_L4uSwLyiMu%9wMG*6z z=vponM5-Eb==0hxf4kfnE5re&3>&2McxVazWVG!mFm3Bo3)_K?iDWAZ?)Tysm6S-c z$fxsU-d;+0?&l}(BN0bT$CSKqB7UMCp6sSmS4M8i-|VNOLg#fqbW}(Jm)&ZHfb(7_ z27AE1KW4`WfnSG&)9(1E`DC{5%y2dtWj_l{_ziEeQ_X@N+9l19{dAF14bK{Q@594c z&$duz1sJqiXCPwNu`f|lQ8B(pvw*yrM91JKpNxnbx0Z|H(hIV*2b?|0xu<=FjIwE# zyrmK~X41h>?qEvCS8$|ql+Tdu9X8PO{G}E?aw)vYF;czA;5i2}J+{3%snXOyz^N*t zLZyX0uW}?J$$q_-?ZU&PaNT?FJVYmAsr)6V`^a#C@%2h(_3W{$}Pk z8@9f^HYdRb^+(#l0SNQ)5B7TFo^5j}@;-+3jCIqy#JmHmznpEOZkzEY?B`+T`>$n5 z-HL~$^B>M5(0ZrEHnAiM9JMh?ll|>t%KkW6btY+;aQyGxLlVE2o{AokQZLQ z^%;Qsw4ss$G?G7AN5?SOpcK$AM7()JnNi#2)5ZgAMqFR0iHDd%j<5PmxzZ@(1IDdI z6FoN){zxhLGK*HuxNa+xPh|B@68$hs}Ov zrGhU#L3QTmAGDgx-!o*F7xL?1y~Hq|KSjbGDfH6>y-RV2PoWf z2D05n@w`kOMe*a(3`)_}ufEV#FzMMJg>JXG#Y`vR6vf@Ku;z8$hsbz>HFQYQ!qgw) z&r(-J^>-|}XDL0la2?KPwe2E9rHfjoij-c+yKj6YS@2-W^r3_xW_dB=5)>2BF%-W+ z#l-wa)=oR(qkuaaQWv7n2%i?r=0uBzyLdBKOe<#g5S&v495d>MQ=k-5+8P!Ksbnm=6aJ0p*ADXYkq_6qIdfX}&;=dH*lzhPv2osr73Goh|TE(&hPKdL7FjMl<8#OirW9~eBl zD6e+y#q-*4SA$D&)y~aE3AG?z{41`D7GJ-_;Q_;Ge~XG_{8-gSJP@rCNy;R$!N}3- zU*0oUK9=wO#$h+k{Ir3^zUH%3?!0Fh>@-t@gP~Ee4N>A!-LEkPt*ck+jc^)Zqn4C| zf^Sl3={%m!mdSW+746(#tax9_p-D-1j^0qP9Jk-wEEsGMGAbozzBxE^xL;CdBA+I-5jYTQFp~4X|kqHjN5oAsu|z^I zo9@cMGiN_w>We9~ z=!1&BfXash#o%{DVsojuSWhERLjryKXQVxR5mBZtq!A?*!>B0l`}eEIe^4~_69|5)KKlRVUX zq74m;nD1wc%b|pB^MQ1$t4%RGgQE3Lyoq66C&B4;!K}1`}uiu^1p(d7vC6SCCa@?>a_UtR@;U-E-`kOqg3&-~x z1bCSd(P%vp7a!q6PmpS`zU%}RyOqj~gW7jvNO70s%Op=WLhiBUwud!;f*Bw#D=u@= z;vbK!R3iiq57*wJZeG}nut>#;hTW{#3hva&rCy-G@a%DDSpz_9DQuUe-z!a7N2xD3 zUR)o{gjaMt;GA=k54q1F&ILRl_RaWym%gWPnO3?gxAPIhD@)_Ck#<|X<`sCXqA`aD zUB~^z-F@R^s88*1_;{-K*=g52vCPhAlgxQm(<}^i7CA6rpQs6g(~8#99gru(Sh`4d{A=`y z{laW|DQRMn*f~pVn8&TITjAMD`QoH*88`LLiLvgh{xQ1PM?*&Y0Qo8_ zRTG!_9~@lVsz*P$g8FC$pM~|zSfr`Ce$n>5v=VkuPg z{e?*?7ocGQHSXnsld@K;>#=!qrd#fmyog#H$s~cEf$urAug-LgG!1C{l6&Jv#6;fh zpWi(}cubbWppQLSOvr#LKv<4lfjUT@-^SBsz1P{OkSD^Yo~< zrT9yFPP)JfmaFiQT_5h`|18g z{pPSFI)!`AAP9bFHc_5Y^y7|vKuTja=EwD$xP&G{a>#)j;Es|3yi9L(jr{L~+u*K` z0QDc@RvhvEa$j|!XQQ1U2~?9+y0vAi?}qT?9n>Ft_XEKoaJ8BtupZ2 z3)Mv>r+Rj{14Q^v+Ic4-_JT!1)PkzU88W>&%Ju3cb~IZ}@sXsa;C?yp8nic8n-(R{ zCY{H5Cslv*N2y4tEWQ1SW}Q7Qh1+9jop?#l`IXR0HeYIyT{iGv(3wKjUQ{`yiD+5L z*i#(LEhhe=S`TWe96c57^Jsj+hLN8s==K|Qv%v8B1OM@&Rb`~(w*(mC761*C;dSKx zwCc1xzWKGb^`u4SOteN0SWuUDemTh#rlc}_ISb(2z{{3a=PUl3PtE&3|tf-wgjY?~pThG|-(GT5R-)NGkdK-YM9^#PqIP2wR~L#}gfw zb71Z#_BrzTvxJBJ^mwP&*l~Xf=oHX-WaIq6< z9BfXOo39YCQyC*^7ZR(d%J!8jGxu!6S;3S&Y!*BtcBZH z_L~(SXCGbm7SZA)u*@TWAQAnJ^j91q##;`CbQn@C!^2PXbUu}*;9D@8fYSL_pM1#e z5(`q~T%9xTJQ3W@$|h;th1bvZ|8? zQ67uGLBT}D zA0VsUa2JrO-8cJ2_&cn#F%e21jktuIsAl^XXqLLS7AIdB*5c+$^I_=^eu!zBaU{xe2dxE;_1CyOM zO5zwR{k5{h@+zn4>|G!s6rGA|sDMu`TNcozef0+5#7@FfPimnizq;yX6lKi4x@u9M ze|N+?Xn=43THnkP8=08{mBN!go7nUHe_YL?Q!W4h=>quwqM;g0k=Ha|R-EjHc)&QG zkniwanm0rwiqs6-sP@BGdwX>?ebWVVqHbAzka&;rox{BU$i3=_kUatXQgVvD-#ATzCwouXt>iJBP3`I%6zT%zA>bGODVi3Q#J2$kY@TYvDJ?OHOy%KjdkP z%*E+0*_C8YSg?<~-n&#M{k9Z|U^85`$9RWljxp2v!;~WUr)tXEVGPMPKPkLU@P)KE^F(zQOUR%$+;!4D<9 z)2uahikp&b$}bp88%CrGdA$C8Fh0-QFYSmInBHhEG1Klj)dBMf#n+R6>s6TPT0;9# z7||P_L7VTz(A{%G`xwX73SjAon@)N$pNGa_-}!mbG~MQp6{mV%b9O1Np}oxf9VQ`5 zg7i1!3qhF52@#6-0o`x2{2ug=T6R$<=|O{xJ660i#U#wmu6p~;dl>z@>KaQ;mNn7N z#)ZBuLPjssbqVAapY#Ly2VH^`0CK*O*YcSEHSmO$H}+97Nm96Fd{+~7so%}^iqiAB zCurHt^4h?Y^an^=N_by2BkSSLysV zPEh1EYQN@VQ}7wS20DrW6{e0g`{f?)jW%;m9XQhJcRr&lF@f|gk@W)VjeCvRt`p!H)FP63^Su;pK=fz5vY98 zKkBY~_46R}d>@yfI`-lnUQl>@UplvDSbZ{kR%bL7TAb*Q;#l7J_k306<53i zrt_m3c#B?F{2$idvMbIgT@!``2|)wFT>`-!3U{~QL4v!xySux)YjA?QI|K_FAXuQV z6jJa$={fIA_w+fRrhh=KRkc>_y|4SSJE85FffG5*8`eI|MsGiJ{ZT$FtfZ-Dzd@3WY#8Y}= z^JXxtFqzUp7?**!*j_;533qqqohPLOtGDMU48}(JA(s2204nd>Tibg@q8SqG? z*^Yy#rvc)44br-ULe`{?!)1V*Rk7kLpe7LUzC2xf%-$A!;Tb;)u2i*LC>duVV;sOr z*%w4RRgYrs$s=%gStUZhsbQaG!TpeC9LJ+QJ*1~F!-lh*?l+Act@g!T?|a=B+l(@$ z{6y{VbEt;Rn9U_UR;+iOd8K>57dliEsH~Q&u%TC9^~HP2vJ3fsOWXHCTW$2`()GL| z>5b3H>7;+*3wSBrhY!70TYWeZA}!mvXwO|KUP$7MJC35SEAnku!NOdhOZero>8PLR zPuQ`(kU~p3N8Gk85-$K2M`*h_!Y`Qrn0bW&1B`4vHROSqv$12lK_eWqI=!F1!9981 zomdK}c*>^S8?|R4?$9XYO~oU7k2!N$^rh|(=<*tKh&3Heaj}DqVHRySQ`9npn$M0g z3fhx1Fwj#J;L`|3*~=*J!Cp&c3fUid>^8qqm_vqVyLTP|yO2>)64llLm_u%5mfvji zfsVSeI0(T=tYFi{ol32n`Dd+=iWX5zW!RD)j6f8=efy#3X}p?`%9Bg_ahy_bc#S@d z%m};B^XoMTq;FMx`1r+dxTFE|Ga-z&wN+rHUuBfcT^^$ZYYX>(MD>7`GO(5+qm>8> z9*2cyMxPMabuE?Z#eN-5KZO3v04r8a=9GGSk}+K-a4Di%}7H=FSA(5Se4gz zz#ymvnNIS@uog>;3nz&UGfp57?^~C!At?oV-U=4}((n%%cy}q^>2@sNUFH1_Q<_>a zOIpc+vskOi-1$Q(XGk|jc}P^%eCO?{c%D|(tPG(-7DpQEr4_dOdO>m4#Azx$P+p{F zoh4w610X}=oGvzrm0mzca6R4(9p*qt#HEQrcN_yrsyf0Ws`D?`8_gLw-eRzc@QWpW zG(|&P2~vqExcQ%HCJu=v7KuewK_xWO%E5A_K=<6AGk
    kV>R=-v0EEjnM=3Hw@zrY`N*;_S)Ees)#X zF~9PbIwO8J_PSHdW9(KPLh@&1yrH};6g_bv9a@ezcyp9GL)!m6Hs6B4Sen6~8H7TR z2jg!t;(3PUMGjPvve4D3VrS9F_S!23Xy7tonm>Nt81sNpW)9?^Ea~UL$HF`S()S90 z$YMI6ev_7SA#~9KAxMe?uSbk%s%zow7ezy8>1J#KJP_Z-4rgiQnzK zf?VhCpDwE(nSol_6X<`vbQH@bhwhgB1_f)Bip<}zj`xg zqz!gBj5iX*X3wIPHxvJolcMN*uA3`iQfFquDpI>?E9!!|g8z@RYEFS(kAD?|j;!?7 znE)Si?fvVm`D7I#QM=7oT?BZ?iyy7JMSWGjQi2dqB!^i}JXjRh^MdDy*eP)&o5s1u z?Irhzdx_rr;p21+S0aCHKM;N&>XF_9uCMvl4KSX2ENi+#*M%*DEZHIU4%;?E+^;Uk zZOJ1l`RK?tjX&Ye7lR7Jek&`)vuGR=`Nuf7MC)%wM8NeFgGTK$gni{E0P+JxYbif4 zrE@NZ9HZC?!;Qd$7$TU=O>Qx{g-du0`-R@d7p#Ug9CVaueX(x=k}&|G?@B)|z?u_# zDHUvS#*d;D@=r5VF0Ek+9Zx&LTu7mZTQ29kU0GhBNWiWhxx`0G9w z+S7Uxj=dhVjxni@G{#6BOMSTVWrw|A)6m~0p~~VTGb@L<06urlVHaZx6@4^`iRx`z zXWu_%^j+S&KF0a-*)!$EuQ|qu$?&eP|1o*{1JwTknQOfSZt_Jve|e={%03sw1MuA> zDGM_@8Rhd(p|{psJzj-3zPPq9z#!uVdvrt_uIR!4u)E7XsH`dwT?|& zaa!SG0=8#LPG)bbp2kXr4x3A;B6R?+a$8N@+?fwr_NoWvoU0gg2feDyQN5^}&y+db zoR1`bx^$*(PIdHtHGh=VZIR>sekRLd(nHbswmp?0W~HmNp%+$tQ$#<*v8TrjHkdrs z4)u#*7n4jN#M&E4PaZWhS)!IJc)n>#KnsHFcik)Iw9) zE7p&e-KATc(g@F0Ok%Ws0==!XQm;!*Do$#9+`6IcCre4&xU%+_T4jk~haeyIzz~hb zYiH^p9ud80!YLt!;p$G`C6`1WKdpUZFx$J0FK<_Bp`c!2iqN|a zhIW(Z6g{LeWBsK<8T>6Xieemioiyi;>!IL{{R`LbnPE%x-%4KgA|9HYbWB;FPN29V-c0R)vAz+;v^XIOjOPtfO%@y|sX{ z#4?eAq8WemUSqnCR(G}{WytVRm##uQr4XCjX<}W|*=NsGh+bVuoIw_UNFqoQXqFkKNKOKU7uZDgj8CfR z?xL#V68uly&1}H11{XX0A}?p912rYk<^loU^<75XpPPLcemq#T&S_^ym+b$! zcqg)sKB3ir#CvL4QOM#i)usXG`bi9r5}it~urtt5CP7l(E>X)NtZ>DuS; z8*&qv=ZYCkOt^v7ko6Bm@RGBA-^{=8NAg6kN(LxLG*>;W*ZQ`+Lyo1fkv3V3#qp~M zJ4^jUrKtm~{`5a`I!=A6p%=?et?Y^?ymkVg;)w25{e+H2-}OiqK!JGrrjU>YIc-^D zI)UOkf_67B&aFQSn}I67)HsxwGN4Z^*sUn9-Rltc4}Y54aFEJThWd3!euiZ8?dJ)7 zO@QS!@I<2XWueqi&op0XB3=p7WeysL@a zO#Q=-sIjGvW9Zn-V=m6LiGPnnxBy$bvUKBT)MEn^js+iGt5uwc-32*xE<#=R@lpOX%0=nY zb0F6@9R>XE)iaVu4^HpU-UWDj$oVSSB%R}+31vR+%*}v7$2LZ3v^O|@o#%fFVez#N9FEn4x5B`w|(F6>8CCqjYgk00}huK=)foq z0{g?vO10q9M0aknt)bDUOL5GEN;4F=uTpMrC3NG|9#eRT@Q^hL+*?#c8vbZc~EY9 zxvhe)hw`6`5yoqScsfse_HdVAa364X8Zf&<){?zMlKE!Ybi*;`U?y@Jr4!dMAA zE0xS|q8nNG+82~{LJW$1Kcfxn-`2DIM@VStCogPHd*YEdw*P}^ILX@$fGl-}u?4pL z3(Yz{KFM>%sku2M)F*$I6})NnKZJM z;MhN|lXcD}xb})NvVy=x%u(;A?vUC}WQYrQGj$$rc@F0=EXOtNn7GOzAHFjkMyUr;Y(#wW9aQKNv>C zi+}YmT!6@})O^2P>^S(w0cCJ#l{#gsm06nY|@qB%z5Krig*}wZPmcgl^ ziqYuyR-r1h*g1fJ%^0zn1#@?$)RR{7PDLf_1{O;UwL^hz#^RT<;aP2wGU_US#lO48 z>fa9Z5O#mj>}HIt3{IaoC4+e%yoqx|R-XANXS{%smSu%7k3?&9d-OZeW5qwggp_DC zzUF{d<0S~A%bHEwaTKp+{b(@bAnu9M@%n|vV;g-Tw0jS0C9`nqiXAm%{{E9CAn@Im z6*WiZI_soX^}nro&0r3;p}jA(C&S8a1Cyd=STaF=0HIx2}R(Y0> z6)=v|#b4R+uP)hflAz(9BDw%vMb$=FSMVQuB;(hHtUoHN#WFD1>I6+O-T)r?w4aF2 z#Wizk)vfC{kLZ#?%k|I`7o?fpN#lgM2Te!njD1U6B|nazI-pDt9iDqs{BF5NU+p4? z7I!tdnn7N=`2zt{ag%PEH{wo8LF?8RRS-F|m*t94@-L-k-!7^-&soTlV{R{T7i=~DggP*c{q0$s~p*9Swc%Qq}Q z12f32UbxaTShHxS5*Zkxq$)Np0o3$vSzSTiSeg@P665 zWYoGui<+jmirTttT4dBQ8Fy7&i|F%(!NI(uziru>Sf?X(G5&DuF!C7%{!h3O{ggpO zzOu6W6*Spr(8Az@*?di}KR_r*oETi3@s>L<7@;L!vRWNaj*XFU=_ z6EkTxd@8eXP1dulco_ot$q3d@Z3)*4;+8NZMK+dJQSvun4YZ+s)B>shXW35#VN@ED zD{divIy)859<9K53(4{wYhO&U7r(MSvbz}$*QPRye@qzAt&6AFx5YzTDLdhOBv?l2)H53#4b>TTU%~@d0eD^G`Eb;J*@eVA)_eop9yJtx?8@8y1$)%Ak@m;M zrY|e2_m?lY^`E_!%M~dx@F8CRyDBpbzHYL3%}=T#6^kGqydg_WNuq359L$Rn6kiy$P51fFnpB1lrlrY z4yTM$Ts$K#Ta+}PEU#oftKwcse`zp&BvG%4zcMr{RQvqV{~j7FWt^wsNH3$ie`P|V z@eR}6M=CGx&e8QLL%3)#0bzb?p&ieGnhzasx>*MqIXv(1hUXWu2bY#{K-+Jerh$BS z&3U!tyXY)GdUIaTSGqZY3+adG387aY?W+ANCeK>uScCPGOY~y-dR5>8DHFG!io;%X z<1)C8rKBN{;}Dk&AsYAyEWyn!+{KudA{2j=!w(YEpUC^AY+dlpAK)GF z{KeE;0}bas_yChN8dh@IWC@WkjHgA3z~aVtOe-cC5A8eDxx#^5j$MuHYIV|(Td7pK zHZx1#j1kIx7bMeFRMb|bNxri6YOmA zXZOoZ+eT?Q3*XMw-#^0zT_Y^7x1Hr!$=p&pd*MuK=x*YfA3X2?zY(tUlDf;8z$7mXopf>a?#yH*`DAu z7-|=BNbS*8*v9UH+BGz5J&rlt3qozmVvLgz`TeVJ*Bqi=YNo;~ez(&g$)jXb5_t8> z{V8-M_UC79OD`10z{`P7PgZBcJMSy0Va!1&=%^NBLqn_Vk?mFn{|y5j5&wpP7ql?2 zntP}nsQ-C|=-P1gwfGf3J7i-TQQ;5*=O)zbmj@S|o@EoiOZ&C*Y%X#U_K(X^PCAoX zz(&*=&lHl?6o@v?;hJGFFyAT>GNr6QP&7%lU zXc(qDJ|8>o=4*qyWB;xT2zjtmfP4#ic%u&CkyUkCjXdi4(7XL&%61Ce^p8k2W96{# z(X{l|G=RQK@ugbp%tzvqtBT7@-VFVc```0wq6-8UA^Yyjy8(9xh*m55x3DYDhaRui zt#qz29LuLWORH#SO;&sjnEQeyKJs%z*~9EZ`E#_LbaJiF$Xy@g!3yskHM7q$DA>s^ zyYrwPLHN?NXllMUx|nN9bGEb*wCHvvk>)}6{Y@r6CgYi8Qxt%faekwDKQ5`&A%D*z z>}L`cqsxXRFhBmpj9d;G4%*!@H_)gXZp8j-d|!^7!RgYpdJ%TT0Oe4hbpHl}UKd`~ z1;)$GE$dL3!4HFU#@$+r z++{zSUUcIXIJDx-&3y+4(~v3j<^^vBxZ{ShP*wTxiZDKcOH10g-x8Ki>^G=y7xE=t zlB;_bvjbs9sQ3>cz+K+;Zg!@x(048TMWdU|`3~a7UHHWS1p0S?T)a08Um$J$_H6VN zr<5Gte2%KFL=Rntj^zE{FD2)cU%zr zno}vx3btEkqjrNoPLyoG=jWNYY3`vj#GxwS?*o`;OL1tMGOKwI?#U~+yUSrS`uo-J zy2{V}4m^!)zask!TW`I8Wb%%!%2=+4#-16H&^57d@5S)rr zjVN~cO?S7|y$&7=b&3!qO`%8SRzIAY zFKzwt3!UmDa)ePEQy@xBZIM)Og|TI5HCB@~Tnr8a3w3Weoys+&c>8hsy`a51PB+tT zx@|fB({d$)UG`r*dbZNK5+}Rp#E#bjMVDf9!HCOGMn;IGj?=2y7#gAbd*C_wlI6`7 z@6po<_eIYZ6jS@&Sj#|($n|;R3)#;XbfON^#P@StPi!nKZvAha|FHk+{Bz6yr}Hm1 ztWzW0k=h$(1laP@$f*CeL;kI9n-%5YIfq7n)@v`{38zW)-2EC(J6Gyet2a|-`ZYkn z!%gD&#`xcT@if=DUn73psWs%PTntd8m5Y8lyfp2f!WN$a^+Nyt;RT85y=T(OLTox$ z4V`wctqSqY_9n-UW<9~QvA_m2t4BVu@X_S9Z_`{r^f{ygZ%EG!#};I{CNBXzesG=; zyIu;VZDq*sbCJXpc=3S^w&HkkF%KnvA1b;<_+aDTj;D?L)Pr51BjKm7THY50bsAJi zoW?l!v`O;Psr1BZqho9=xXWn(0@~yMgO!0|Hw<<56 zOLJZDxgTnLKc|L95${6CrPAmF^zJ=FCH)rjVd)WVR(@TGR8_Icd&`sa62vjCmzC;$ zkxv`ijcy>wNz`NzX8Gehoyv7B{0%Q_08}UBna&SW1=mcEvCWHh)@t)L$-U+-wri9M z1v@@jvELE^>)sr|c4A*U)N)W%X_(ogQ9mnccUy7z>D_h^y!U_62kOU*O8fc}oO!o& z{FsKY&S5atWq$B4>w(53RRKNW2($kqcwn#j{{kM!@i?sbODejW_8f<0NE7hK2-n#X zg)z&}s}bRs#KV}%gOuO-B^KW>TEO_?N?8M)A1{4iYS03}1P2`rGTwKz+uiuIz!jpz zf>r-SyW;!3HqW#6t=4Q=K1tkt?rQP(gX`_Ep=k*zbbAVv1>6OyDJFk<%JYp0F&o@avEL| zsZo7P#jW+U+@0y@z@8bdf_f5kJZszxYFvw?>@;Tgu9Yhh%Y)p@B}p5Xr`@c6 zNrbOOZ>S;-R(tM<_D-L!U1{HW$O-OFzE1*u`fI!FRk|&R7FTDI7;ycYsoJ@Gq^=jg_tD&5SqSiQC zH!#|a`l9?Do69G{JkvaflWLK_3#$I~*XB2S``b=P-QG3C$UDCHf1Si&n}dgcm*b~4 zmCpw==ii+AzVS7d^AvR|-vQj4d@!XC5*T#Px7dGn7h$sxTr?M%6VLcia*H`Bz_v?k z`A_L+Ph-T zd;b~h&ketFP+(<*_6S&vZNITxc$lym*+s2SULO~!GoKLKf*js0hTG0GK3JY9!LY0h zf<}q}NcErPlsoBvmWfl{_nG5uPr1i09Zt+c@-|hG`#ylo#lEMconf8I>CL!+!Z+?< zuTdOLKv{5s_gjH&K7?*qn(Kf|l5Icj2}x!42eodTTz-ej8%-={TXr5m79!nSpPsB1 z5na^KFCUTJh%KF&Q87WQ{4~AMUa3adZi3-VN^01jn0@*we3DVfJn^+d=#BGFJ6wh> znPf5~ywmw$BA4$aTAi4?`--e^Iwhn378y={slj5~VB^PSVZMSL?4a$DfpaSJzVhOEGUMP0Y&?dKyEWklYA& zkCzcjU=bYgHQk);h@ITaA{*4>KfCWH@c;H2ep4Ns#O3$$Ezg8LZzhCC#8v-`X}BwE zDMq>W7Jhr3e@}|#@Oh)8byBhHb^hCmT1}*6uyps^;E+f6ts3@IIVYv*!)Ak&Rjzzg z;pc661cK1^7=(PL7=;a&PP5Fr6USX*)+7VBuL6Z&MG+g&nmy2Bi1LI@bf8BGQyDqe z``=Xt_At5c^_^S3kJhOdQ;7<6j)wjZoMbe)?1-aG$KqTshqu zx|qLr&ZOB_15sac5=blaX>{haYWU{Jp!Z@0gHH=6@0)i#eEK$CXqLS~GY;U?((Fwf zZI4a))I%)hCUb^4xDa zule+CbD!M1_`HWNzMb2974-A0)9DM-7lV(64b)uj46vywR2rO3s2bk8{^2Qu#@DaD zlP@dIJMs*0Jf&B=ZhwCN>1RGzZIN@~2DysZh$j;jo}Wl~ZFyw`ZdEpJ9F`N|;FTCW zh)a?>_bKg0D?}T%e&VE$5`}*lwHeW7M9McDNMQ zU(tU(mLu>kB!@TnTsEp}=Slm&A77fNqNxG?d{gz*rNXA1F;Qx~)VA{~Fip~Jh(#}} z<5If7%vzIPKpIK>FSg-|2Q%o-#Zq-C0gwo)?kTN~u=Keq^-rtvd83vvIla>6Ys=GuJg63pFWLkyAvk)ZJ$h}V2 zfr7Neu3~Be7+OMi58vTooPd39u4@ihbEY+46>aypjjB$8dzb#IgEzwj@b)(Vb!_vSvB4B9t?Z(~6H!2VE94X{SS0_l(0 zm*Vb^LqQ^HOhd~*LyH`6$K;l-d5*m|vqm<_W7$c8hAhk73i)t!5?&LP`^aTq?G?9O z;QOdt^WudkeXQp0jO*RxW66`&qO(pF&S<|cB?)LUZrMnik=nof1ddNooP?Q1B;V@I^J@11&;?*yyWZaQ=APJlt~SG;`rq$S>_70nkv8U6P-0Sv zZP2z>e~ZkIjkkU;zgL?b-*cGrK=`@Cml&VziORnj?TYwx(o>`TdS|K~r7R_9_4 z9^9Y+D5k~J0;XK{kZ|FuJ*Pks_|8>^=+8>JDIG^MA>0%Bf%iexXU4;3)-zj^kQnFc z@%rUzcfj#bl3Ps1anIJ4JCaOT2A&=eYH668Eq=rTe|}-dR5*IBg|_yX;68)cWkY(9 zH~XnPuBd=*y1ow*Hy^E0Y)_>Z^j!_Wl``_O4?CD`=o9;YeUsA?ahH3D?7Ey^FA&?2 zeA`CwloUo^)qLi@`UmRx$w-2QqD;q2>duxi**G!I;!<|v$e|(q8s=uf+AodDT={IV zEoR~q|7U`ri=lx(w#ye8GT-o&5&TcTvrgplP3e*EbicXlx1V6C8|Pr&@1#ABGhmeo zU#@u&!@H^MmaX(zPz4=VL+~=hZUo7wr{;e4gKyu)I~Xwce+u7kzuvN7dTT@27`j@7 zQ#K|dXP{eTGvW-QXuSf+ZM^u&Sh7%(MUu-I&2Z&d7BB5^FSS(K+|2~t&lOiTx-d|L zUpwOoj=x;I+LYUlLnxkhE$Ul}I%*b68fJ@{9fatCPQJMXSDp?v2~zAi&cqY6%Dzla zJZE~LRC!i&JQNh0JKc4=f2-Cga_-Kf+7xny!A}7TS-Dh z7CqU1*rq$bP`O@)zh9dNmC)SX@G~z;Qmf<2Mrr0m;UZAOBi}>+M`y<)&_43NSpffi z`V?Kx>3Txk4&F1+y_vPelqeaw-)lPF{&a2EgS*|i@ZHT>rz~ zeS`+ImFVBXH-vkXY3jmq`?Yx51oL_g!&Kb85|j>C83RtBUNTC1L$mjTVkzq1BgZbs z%N4DyjZ(65^}US;*`ohVSQ>g&c)aXg;u4%kWZ2TW8+!AH%Je$axJ%}LJs8$RMFP1v z%G6P|tuL_M(tw^1lBJzakQ7> z4*F9%^AMI-ZZalUOnr`dy53}L4r$s%ZN&e1F6#&b?Z@%_Cv{0Q`{}c$t@_gTS6(;E z_6~T!4q#XFL_gE-v;36VwrAeQRga;%R*bqPN#JEm`2Xnm{I4V9eNK0;l78?$_G$=_ zZtircAGtVlCMf@z24fl0^h}h|Q>zaVYMV#lqA9^LU!}f-1VQ`yy%FI|jc7cPGP|`1 zrY>^q6kVKajE{%qx=Nim^8^v(`NJuwFu-KvP7 z!h7ar^tCpYX0}%qg?@CKsiIPToQGIv_I2KOFR)??R_s1scam~jQP88^)}mlgajDp) zC#6vdz5YpoF5zqUM~?mB-$5?b=}#j0lEgYaKRLb-bYELvQ(r#3d`e4pKauFV9n~~L z`fmNqRWdD_91W^$pRS4S2fcDS#H0^jt%0SfAH0){pHB`TaCiBb?-YkTlC9Qb?3!;Ck(*`S(!|9-;RQ)jjkaDCorVTTko@vBI%= z9d;AqV#C-cYI-6wJ>k9yb;btK%VJ9RBTCyo(-K|A2|me(J{Z==|0H2A@W_<;bNLUL zw)EUbYmG1Z2K*x-65gfrdfDJZ+C^QYcD`&DRyX3x_j1*Am6s;l!h>v_28yJjv)g>m zZnEM2Yxm1n1U$+!E7v;y*8* zZlR(X-?vS4MpkDESa<>zXC2>W-jhj#@QK^8dI2~pDPvfIDU8q#M4S?sPI1WBV;xh~ z$c~L_+Lkh)D|Sx==^EHBl~LNTEQ5xVxA9c036GrppN^@2p%z|!RLI^qW`_Dhl z{pT4YcgY2e_j#W+*PL_Bwbr*leYryIf(k-`YVHy32Bw*ugZBpl_px7NKz&%lvkL;? za`m7B7_=aaxPPQO#nHZNw9tki93BwyD#R~9*YhSTblL$axLgj=NyG<#^!H>yuOBGL zVHBF+XOZw<;6oSS!ezJIS@;4d>uamte$7j@+;PdD8dgdCbB|}{-Us9hvOXReM%Zmu zURPHfsy^HCQ2jKtcdp50m@IhV&(s@wm|cqB)hq>RrOhQZPEXu4qo+n{%|s|#VfJO# z3h|Ht_B|hDL$Pup?wNm^wFKu$J8@P*1W_~M^kbU8;zMGZM!!9CP|R3<54HV9K%|6f z0X)Q_K5xcVyOkQv3{Nt}TTF;3&qBt8v)-!$YXuYeJw0ay*(#lkb1Ap${P7tyUy`3u zw%pd4#n&$K4{L_KOO_}Q^UM@xdf~1afI)N)_FAk8k8)+AxwY=pe?kf97Rod^wBDBf z346>>5G@H=s0!I~m`NHCk@*)+p4@Rr?adoaAM48NIilk@mOtSvqkr_;drm|Sv%z^K z)B4=U5*#iVnP3^9W)t*weDaR%(%tyB5dOvI7uOtXH;UYb>gsDzb_LEpq)QF%zOn7c z4m-F9UCYJSAZx@c0K4vDN_oxt@vU%UORO67sQ0z(-(YLam5}>>iET$UN{`Z`JUA=U!%FaYj0<=>R}X z2(At4MxEy#_`^ZV*yN^mwu!#d_|J&o-xQaGgVPHrqC*Cq3b*5x?c4@+`r>siCyC`) zt!>6E!dzAZVO;LmDDZc&ME{W7*YLQ@4g}GD0l$2zkt0*nvBB2mf!7E|3b^XXoESFxi0MOqY z5Bbb&k|)Xyft=#XEn8@Q zZCg&{)9<059y*{Mwbg4R$wfLpUK-Va3+q2cyD!@_k9xB& zTyc8*V2#rqm}*M0G`&519@{kp~N$xy)`bpw%lq_eUo}pLGT{cLGdbHEfDb_qJ9ES z1n*j?vB=)B-%!VoXk@r1w<3Nr3aVGtHyx*wn#%m%Ue#3pr0xomqlJH)hW!SSf1DR&q%7|Zq=7Q*r#?|!W@}nGE9#k_EZc>ggx$dG0 zsOh-a6hMHnq}(vPiXi`}9+m$&o=H%V^MZxRcdo{fZCIBe!#^MP<;aZF9gu1b| zU8mJh?gaw9(Om47RPq2?l(9!pZ4_N)XEjK^(KJlG-|oF$@?|T2 z$|7NT+Z15eyi-}tQ`>M1mKYB_O=MJ!`tdN~@={gIP4_dXaC$n&kblW~0+_J-a(M#9 z)%OhvmF;qT+2BXv59ea)N1ggr7_W z>CvP&30%etY%;__3H#e05SK1Q9)uUhfVB5zfi~y};%0pre8F+)*G`A@Y$Ro?S1izi z#~~k3;L|obyplEM^8x@@TD8%u(Sk@SQ@yNYwH&1JGnb8-+SI4^E&K zBTNRL>omdf?E=5RT+7f;RLjWKFY3{>M`JY* zLMi8w02=OF=L{AV4C-7_!WozOcB~&H5JD??4{jSkR=-o^=^uAmo?H=^2;?t2$|aFZ{GKI1TR#eN9NQ`F@xpJlf6ftr z9pnZQ$C^hxYicXg>8-ry+NRpeJ(dX7ty`8=r=>8It3H}Xodng%-?f77ly|dE&xaU7 z%;GOE6NiI%jnv9Whd^%dV(O$q-(bl4oKW!W1kV>ld=e|oKTOf16HHv|b^!eMkDqjO ze(T(#oAcdh6y=3Zk5Ht56Ig6}^OQiGm z!k?04kFV%D5LrN+n#n z5$QTlZrJ~a2LSalT(Tedp=mT!MuLwTNIx$`VA9v076>daGszBy_K9^KMPd5VlcDGg zhsop@!ldkln4l9Z^i;M_I%O?_1G=H0`#z#&juaLx{xS{h2HImgGn%~ z=v`%L!p&NCGzwvi`y4f*z9sY#>tGlf`;o3XQg(c_sCFAPyXAHR|~aqgoX|5|v%)=|9*ox%%yd zeH-_-W~S_PVs5s_M zGp6GtJLEnxaQU|jUotAUmrQp5p~r+Xd0J`&7*o>n>+ajb=N!&2MAl-D$s@*AG*V@J zGnu9Xw$yJk6a`HHFB??IgWv)~Ze z-}Rr$wr!r=`TKV8ELJTG6LIAB6E!NGM9Gj4d@&F#?J_+}ybMA#bzmF1f-hip#@RA zcl(%pI7PC)=uoNDs>M9$aJMQZ)NV;Zrv0rPMokE(duHULzIlPUK~Kxnkwxe%_c%*3 zLCX==4)J=A+mIxKSrJuM*5wUFHccGQ$G1ohf+4w_U*mC(E`YVRo3jmLTcT+Z^#nPf zZ!sN$VgE+!w65FQHthIa(|hmb=8|Lz275{q@J;S)Zx^ZNuFs4-C2{LhC-GaAj9JB9 zF=}LW{K0a2t|Ny>YVh1p_D4adgbHQ8zeDkmt05}$#etYN6tmB-i=MptT?f-Qa9am{ zXeD#-I==Y@j zSR||Zg?YinS@6O7!aabp(|q9Z1f)H&#e>4PJc_EP;aGmn5Ek!-RFRD*)A`Wp5c3Nk z`77S=v2KLMbBX=X=t)Xg#f4Jr_(g0eFR7*HeS;P`{Ol97CmW$Yck-+^38`M%B^tbB zGC~(*7b7ljIBT!typ^vIG$=dov+Z{6E|Z9g=;Qvv@Vu=yNgy^C78)+{nqBsZ$Utg7 z_0n-U@=Mfu8q|s-3nsl6I1un~+WyeVrWE%|0T{I0`l>i0Z^)2Do~pQ_YZueXHz!Q> z3S%cUoUG-t z=!>9EsP$O>P3`;;65I zEw<|ZSL`{1esvqYxt+n**uwKSwpdpdKIy&h3UuP?+@0lgT_CqSQLOT7(0argTdLOr zl;+$s>$LsAy}f&f2^Hv2pLYOXz)l(HxCHO&5K|A5NJJ^N7SiznU$29oI-mlcrB^_f zja{jj3vGQcUp@q{!if^H`JV!-hzy7p!cS^~ZhHihxU@`na)~1D5jB-}crFb=b4*?? z7Sx(@*mb#N>{;M}b64cH3IhazooTYK{QZ;N#Rf3=!wC)_-FbiYW|2a^L8F-2cd?7u zEWt4YekLkHuRKnkGMqI@xZVJoZ_W;wP4CdYwKzv8l(c+DSD>fozH{nO{=FpXAxCjv z%UcC;6vX338zxXwo}oY7?VC7FF}$JRtt4$im(o)p5@zFQICoVO*OuH&g5jfe?* z8ZRQ9wx`LDejmLjDCN3ZGGi&c%si)-<%=vIm9kbDg$Tx*JYFhLo=_{289L?e5FDFF z#Yiqu>0aKu74w==>ePwS_fg@p+NiJi%TE~P`}4VS(E`HwcRtOelT>QcM@_Q+-d0NL zJA8uzzL88NMtM`~+_O$!MQG(;sc9b;^3%HT4X|u<%SGtEo4)DyT8H3D zwtG1dC4`pT=7@ICU#wp~vF!EFTJ+1?K^5IvJJq4HaSpcrOoMIP%LG(D0B`e5GTAjB zf4PGReFlry4s?Y`xGXE}?7xOX^@L~3+W$LF{(ldq^!sZZK*QmKu?o)*!<%s&if<{lrVg6K)5~S*I@!0&SWmeoLR~Pn&gdTrW^_nt)@4c7{G}2mV(r%_ORZ{I+1M&z zRi(?!@6VZnG8_JhFa6UM*TnCphL0UWvOq;K^I!bE)mNW+#d zCAE>8y0m4MCrXeYb+M78i=L05?74!XjX(2Yj4Dk`1d-ed=ptXDaU>M$Mrqem4Rcu`1ED)m3Jv|LFBuq>?*$P%YGvMBh_Oj@e1TBMIfTy7}d-f*h*wfn#R21jkC9YT0sJy;qxTaiOt8g6i zn)8icG66Yx#+r>c>74W3W3io={_5+_eJd*cY*g?N`aZ?~F-He152%Tq;a0@$+N~9J z@@oBsZmhXtbI(t|%^mkddp|}iLPd2g>sPfv1lAoIe+v#XbXSmm8}6qlczU;$l`{#N zL@gnB$Pv88fqTay9z@vdOa^M}i^2U!lsx=$+q$k}M@isq^laCqlzAY#QuIjgK3#Ev z=rm{<%{&h#RN=kp?()E+!?UbN{lr2L&(-4wmNA$n?(7J^yPEHU2Xt*#0pXxS&t4H^ z$8l2C{N=FqC7_YiIp7;-FR-)qk_Ok@Y6g!b1P8$VUo)pCmb!c z0sk1eD#5U@=MU(H-kA`9?WA-}KXAX38T_1TEM0MzMdo0Kstm#gf$_j66Z0#qiWMt7L zlly`unF(c&T|Af=e-F)qjohrtDBntm?xAG1&(QHf?$nL7EPKyQQi52cs8z9inOogZ z*Zru@Z_G|xoN7z}_a|(!Rcft60t~i{2c(8jC{m$T4|$sWzH}lEV7POdJQRMU$w!bB z`;mRjnwJW_3M-(FUt->=g$sIa#Og&vL1C&4vO$&s2{n<7e;R@kuSf;I0v*dqL6?+# z1UpS%vc@xiBFDG!ynVAS%hJ`s-2SX+UfDTeDOfiw+O*oIE#Ki>$S?pRuE8#*>i!Dw z*9_@<(goF&xFID_?VpUg`<*xfP*LkheYs^(u5$?>+U~gw1%_&OP(Qi$IJ80hkTGlN z196G8LAZ&;Y+4Ud#CIN;6CnpoD8GUKltBT%?%RzV>o#nRe>M!a5(d+k6N4y|jz3=~ zjNb67r1t*Y983_q>_4C;uFBO1U2X?2V>@r04?;S<{@{FHxct0^W%FIplmRjBz&S{8 zAC?JmS@Az2B!WmFwFD;>z$FqiJ9Qxm1%RPg>$A_+zewC`SJAcJdiFO=tsVyx9s%PD z5zpA)^=a=s*U+Zo$E7NW{`i#BqcQvnP8ewAB`EGvX_P-muP#`>g}j7`=|={fJd}uQ zw7kxp2Mq&vL6H(+JqBfq`eUsBvcI(XuI#`39^{XU(lGT@563izh3=z`2Z}%E**VgX zWNU$@2MuPodhkd$avsUjb-T)MXl2g28!GRI)k|=85Ucnx&Y1Z`E<1s;sj}K!7;u+0 z`4N+d@2n@P@Of)l=-Ja)sOk3J>#j*%$#&wW-0q&uQz@j@DbYQ-{%e z?h@Zq*n#0(TAbklb7evohhHenZ-c`4Y72PUF!v?$;RdWxc}JQj8}~)tSq-#aRBBv( z3q2Jgky%uo!)XB8e~MPVv*cr>hHexRbEedj#g8peZ9*iPom`I4;mz)y)4<=M<^v!! zFkF*a7mpKkwmhf0$1k;Pggi43b3D>`zAS=+Wp@$l1@~xH{?7BlEFOYYW^)~mVQL7F zlJBHqZ5&)9Zp6sFP)%s)mTK~!{q$=pCXY4HeVG*!z}&jVa!1+f8+8#7-v~rpu8Y$oy4N-P$7<1n0A4;5$IQ+$SylL^C&9wAkyJuauewz7Nao* z*+x{VP7pisae)F^iCc1EN|?{bfdg`HqW314OWSVilgYU^5SsHmS}iQ<+{%f$qKM&K z2T|!TCT!c`^>r#{i%SeUoZ_T~m8BSS!?d_g(-k&<*!Qv;_2(adWmqZArB1DM-cc}- z=a}D-o!8$C4LC+(rJjK0{wUs}6R2SkaYp|2*Vo&0DjJB3 zt^4irNTaHNO%hu!1H@Ahe-r1H>3}9{m53KhRQ}Q2GWa?8vMeq^)*l21A?iAiDquSh zu)QJTfDc#gF5Z?2(s0RGi8z?90zVuDp2q>A#6<4K#P<#$+hMtVK4jl{*- z1@pTns{-dY$h-CqfLVT3XwB2f!^;!|W60<)LJ*tGK_`ql*Io?#xVk&2U5COFef+A? zKSlr@AYn`h6)GSvcjEB0gq|J;l3+LZ&Gu9v2gz5rvlHKzY@4moMUiHLu4vu&O>olG zo6yOp&&Nkmm5mFPOrVOqoKv652!vwrL-+X|X#E<3KjJJIbeEj5q<0^$x;f(=3q6*l zOLA&Rxi^cOb5m8Ud*@%W)U7U{E(Xm*8eiAJ(XaK#x*>lpKHIQ_?c5$vqLXbHgZ>or8jf@c*nDeT4%nfzPuUuods77ZI*A*usDR*I^eVo5 zmG1}4p9+qq&>}U$CiaElk~71Z`jWP_W_1q6fyN`+%C418K{IwTNptVv+yukiUxMGW z9bQ+2*G@i+7OmkY+_@()@W-Q5FUBOXo^m21uyw1-yr6bMj>0a9L^5!c<#|CV{rx&Ke~3yTgBIrW`tsN{ zQ*t%ejZKC}Z`1b+#CVLP5gtODw(|!!Kah7~$Wxq;oa{#Km(=)+Szn1G6!nvrRx1Xq zWlCafpyDo0+850?q+JPifi`p#aGXcy>&n1kjUhq&#lDm*t7%Ep3l1~1j`!9}ryXm5 z>dmP)e!S8ta)J#$^K_FaxmMds%W>aR^P`!d*@6lCo@8UcsR#`F`gMr`y#3Fk@03n& zSo|QZOm+~ce!ZVIhs1+Wln>{U480!<66by4aRhLu5?|HZ6CDgcv+&eRxN)&)0U_1d}ZE>udY#wHjZ8gckKA+ zam|olRu(A1*0i=iXRug8PE>AEJ0fPJ?836v!aSMbt-C6=uC%v3?(^{n1>dbfW$rl} zhPdn0QrV9cElfT%vVX4DY2E);u5NRXIjkJ9xc;2DRA?960vt94YWO9(sH9v<<^Pr#kt}luny9U}b!ZuR))a$^L9-RT^osZIJg= z@2&38ewvjF<=fqz-9UevXMr~-|5-n6=0lI=k+Q5qwUmf9@ z*#ciKexwR~wBrB4wMK5MB-{u3f-4@}Qo>`y&krA`}Juf-D z+iY9&V|%r5%ZBy+5$^!-^f<#~No0Xlarvwr%V*cQn+#OJvW%^rTB>CJ zgMb<7z4nL2^$z+c^9(*_3h2N;e(!^=uIC6>D{n(4UNi>PE1l&h?EBd|$)$SV?i{QV zr66O$^WlQNsRr*sgxX`};ZhpZ_Eci;{d!u&g;U>+a z#l}Asfu2^63%60ycy&~pM%=(ppO z_eErmu?k$34TE^#rnguJ8YYf3En#N+>ahgvu%4K<+%9rEGWVW46_hvm3SySuJ&Cw43{w}{B$@NflSA=XV&O34R9_?g?PZZOL<$R=r%6olwSY zp3}7}MQ%EAEy|YIZ~Eh#Q*{NT|GxerpCptPDZ{r?}T?53f#&nWzXfOX;EBjD_xT_Q@GF zBH!~xn^vXS4{*<*`1+KL^2JhHP%wc>r{`*o41B)e;%nApJ)|5Cf^MO648-c*3mN;F zL@G0=i2#SBpk1_*N7&O)411pVGv5GvJN54%BuOK!_|j+#`|n3-q`#mQkWoAe zMP>MMQ;pBqoXj*X=!fIM@-zcOEl;zd!oBH_$K}9%@c;$2ByBzafb=;Xm`RjyQ^Ato zXT<`IxpS(A$@UVFp8u97bgJgt4~1SY4{slqgGmst#9tj=V9VVO#r1q@l7FA>kB-Hc zlz(p3CVzCyU?@EC4~wsU;)5Pw@}B13I7N4_9Sb+pMd=0aQ;-eMuy zB4|BE7r_&GsGm2OKMD2Kt$Nl$0{BG}zJl?qugM)~=TvxH|;rvi63 zcTOoA7Esz=UV5`vritgE)-jMJEmE^sOwgNOD7*|yFYe#ZdrjAV9u+cdmDDOY4(L|Z z;c{*LNmBEE+onCuoKTNf9OBYLNxt<2D@;{|6z-}a?| zFnBti^YB6b~0lu1sltlCa;suwOMZ!Vi67#mcqst31?IO6C4Yh1VDxgGwl%c4&G z&f-#?378r@7;WpXfzeWkBG;_?H7 zj)pm1P zA1rYf+>-#MTxEovjBkH_QGNj4^Be|C1GmzuY+dSAq9p783Xi`rfP{a@xZErt$fsQzG{2GUF(~+wHHhYi z`0!b>QXa_CN8FOmtA!{j7rpnFM#Jjs^9)HC@&|-0{0aNVMMnmZldY|L@b`S|ueZGW z4WCyO?&wbHZq2ta+*wRvWbjROcrKK7^H|eA(PZyo71fxbZ4^VuQy%^-_Lp)=m21v0 zw-db(ww2*gJjN)SH7ZVkhYQY|XXVU#ky^d>O=SWmNdarSo+@XML$-X^S?`A! zXC}6h!)S(3(60Vnd%f!_YD?6ucPH?KxM+~2W8(7@a86mjYsT}HT%A)oPI6o|{1iCH zGR+?~A+RZ80@?iOT5l?sCAO`1ZnVW+8NQ{bFcDL*wXW#0d>dU7JK=nXij$z|)R_s| zwA`NG`!n5h6nMV8_wPX`F)eSXy)NJ(l1*o8f-rA?hxHWgU#FjCaL&8%utoMI7~=GC zNapL}aew}92453mKzPgdpY0Bt76j`FC}m7l2=4FDK|bQMMz2MtlCoybeij94eWNm(@6G;a;GQy+*gvo6 zLN$_1J$#1R&pu^#jMwlwW-t^)@jcC*(LaQ63oud3KFDT6a_FDF`d6`S^-C~(L-2Od zwcrbd)EdsB#n-(xllI$AK(%uphqWhvD_Jc)h);_$Ys0s?p^r@isP_3#@Ja#D2OyBGEF9;b-IkTfC{WW{> zLx~&|>*c*~Lamb0voP{dDo#8nPo%;pOKF?1X9R6Qg`~F}ab?7zw27MdZ6UGu)y@P% zkFej;NvU~N8i4$>>}TmMPk734YF&EIf~b_$f<(J*y-YEr+Mj9NAHmRj@s})U+MlK9 z%TIE}3O4X8Vaqj0TA~Rt-p}s}iu`B4S)T@0IyJBBDLXpyD3t>t>_!h)FMS*zBurBl zu-=yuuBCiCfNb!b{8oWXfWl3wDz9Od7MKa^j2J&>aJ&99dBcD6#MDPlUOsxkRfnoh zG(9E>EPS&1W4Jy8Tw<4oA`{>VF(taUbx|k(Fotk4c4a9TlqzBed6Z)WBZGO+(2RKoFNrDWJl;VKBq6i{>XX5lfRp>KYu-l7eniU+vyPl@j<0}# z-Z)$0&ZPy=W<@~zHBot&ks_7XW2ra)@ zlw`vB!uYz~!J{Fg@bYGjpVB=xS%8kU*nNk&;H|zwm_ zKK7lhA54YgN5p^i3-Qv2g8fFCPpi0aO(O_N+P`Sw(_vUg5bsj6*emJJHc!w=mNASQc^nJCJ zwtbA<9mJWDjvhsmOW+>-u3tf2$n)*W|@1&!OPbQ7et|5Y7Le z*Z$+bTD9UNF}J88%O~J>u1o%BmL&z_3_J5;Z&%GbS@8kYSCRgPi?TX=)?Y{q=oOhc zoS~Es1F)Bt6@HsJAN zmA~E^shFUV*xL;rMI45wg|Z#Ji19U=B^2zj1dVph*5wX2oO|N;#B;*QDp$R_Hp$(l zWLvZJY&FZw>dQjd_wtuG>PWNX7iNA}_s^w^DnkQ)GByn#;Xl)_TR5~jxs%vI%Pu3Q z<>Wka9(T94;=IWBKnsH+*opb}R$%WFuP$+iWz+T3YHo;bZ`sJE_s1|5*sTOB&wVh5 z-E81wI}I;ei24qiYU1e@1@6=TAxVouSqqyq7uUl4Vpr$b|fR0GDh*VZxd6U6ZBf6Y0EQ zbx-TLmba28k7|z+39cT*(@7{mu#rf4b5oZ(tNz<$DGaRQzfSO#GVx07$XPu>0hgjS zY50)>9U6s4f7#)^zoyf8SRF$`^*gWLgnMM5v&IWW0;mAa(r@nyM2PRO(UjcHIL#~n zqHyvQihHwZ7L$b@Ir=grP04E%WOt{pXrw^`RBj0UKp%8~wuzEZpZGkzPFDAlGM>BQ z1}9KbKHM3SN9R11s%7d__1WV@UIg2JJgy5;1?$8nas zMCg#khS!%>xrC9|i6(~|?%6D~7iV+!C8PWV-OBDAhJlETtz7f7yx=o5La%D9#!BMp zDu^8!79;-HGc+H)LK2yBbr@;w&!z&#*hr(g<@+O#`rmCIg>N}$zr}Dz7j|Ns%6u#x+g+ma%m!H`=;=7@lfs3)J zc)Of82Eg*wt7N4%xrupetYsgQb=GHGVq&^=a|MkeI1Nrt&x!1Te`3}{q zqN6G!MeEXk_dz9e*xl=uUa)4Gw(J9rPJn zmID+(Dfb2l`OD3T633Ueh3ZX2{C)<{tF&Nm%xki~E4YKUO>&#Uk!%zT17#cLGvWuw zq9In-82FMM>`!YWI)(i^Y}X}yLwZ7a9w{I7>w%Q4--L2Ey9MK~#M^p+#e@;jo;xr9 zHwz%Dm4>z!cu}x$X&VXjf5sr%tK(lw-ndih#m=LpJRE38e)MZ25c5PCxbaGw!vtXD zS5*tpi{H0=7JQ-h+|r}&#f;#pYm1m)inVwAz{!QJM56(2T%K7HR@SjK@XoQaSdV=_ zXK{a2^fwLm18+a{gs};DfTC`-2QLYfm8+}socKgQ|8IQ72)A3uKnB@$GSz_WPrcJt?___t z#TH#%8S`<`jizeP;R)I*QS>`wiC(6j{)J&M2k&*?9eg2+wuq?W>zg+#&&1BV#kfWv z{~QFD#ta*n$J(Zv$CY*cRui#1F}T@(QEuSLE$16GDjL`L{1tH$5x-Q|O6)@4H{&Hlqa<>)gkyv@*p#N|>3p3Ud;CQOC+b-vGdb`rtDk8Df z;?K~j)2f{qkZ#^P<76ptb9QpWbhgfH(i>0`A!^M_>A4xis0Ta0#K*C49>f`PVPdI| zehdu-EVSr4y zX?=4rEwfyosnNek0!|T|PQDM+oba|Jd1MjE;>XTC zdKrB{wlxG=}>C>aNSwNLWTY* zE%DMsfd2RKOZpAnuVwmcr%H|}4ymq42s8=vew?n$wypKsa^+(1tbcA1E`{8oDf>-|= zsv5S*n)d$h$xk9_lZDbP1O;SMzur5t&!GuWl7GvtE^6ppty5%SICI?2A4@w>QvOfG zj0XL2tBT*8sa&!$)3zi0Fn^MwpvCINhXM~110zXK#(Mg~g%~KW?N71j`$NpV_WKVz z9RXXfr1z7Y6W0T)NyhOb8VXz2STE)aQlLk2Ep+6wmA`JkKhmYLw&;8NDia{`Uq-Ld zJn!;N!49PPp{XDb!he|(mJ#)cp<8|K&(Ksc%04aJKbAdmbZn}3vBiS1mOGG#a@jYd z$wP&FV^EXJBonqdeNj8k%+WD4GQBM~X|GaBe?w;aO_9e91?PR-SH_9SEVi&(EtNy@ zca|B7FVAJ{?-(0BDK$%&?l!UnCy_Z`zh0x+2Jr}OT12+(97`qA&94_g6e-s^6B0iB zJPzFAka{MBRqX%JqQ5th9+^8>J;@`KU~36>lN+}W7a%?_ehV{pd?L7QZ%S8q3{eou z9Z*B*I}fh^rQ1$0M5UqyD|a@VeuWiA)@EnZQ@HHMaEYFmAlc{ z!k8AY2E3vxrzYli)lwT@P)B-p7fqNcX#T4;BIW1gbUL%RW&d%VSgccr{_5H2qZi6R z&cqvzK+K?GK=1XDKRlo*N6`4kV~tAOro@)X9}-XkBAeKxp*TvRYQxZyZ)_Ca+T&A8 zd9U>_pJoYCDW;P#WNffL_@rYg<1#xs!y6c>96J{_4)NcN*LB7~tkd#1K6J(?7jw|^e)H$qE5pm1i)tXUI7#UY z6S5yCU%h9Fg}r8vb4H}fg9ShwA8JG_u!Wu?IV+gPO*dG-G1oB~Wx(1Y_|eTv8YZnr zQ_+B{M5a~s@69$*if|wt&4=L`1BS1ux{k4D;V)O%P;|D{X(>3zR^LW>Hu(?0#c z{{V$H29L%O3zH1(^*g}ZJ|ejmn-Dn^Xv?M77Itwit*&Hw7!2UJRHNKdc(k?%8b z3can45Z|0l6!xH`9HB3 z*B`HPrV7nSKleORtx^(sMYo)Rdd&<^7bz5uGYd$PqusS;o&Y8Wb!t9G#<2jfFrN5R z121+dr~R!cY1Mn!BYc&ArCQX}E=_W0@4^;RhJ@%#(njpXvX>QM5S?bbSjcOKI)9`9U` z++Y7U45MHGE`5~($}IMHu%JFXF^itT!GjS*ZgDH%hja4CRM+$ z-wp=~2iEGr#RE$ZqSl7h;(J5*LBsU@J%8sLdLE*(_<)fLD+Ybz`J(Yh;RsWcO>rh} zos8CNih|kfyI$?KM%@~lFSVdW1YB!Q&vrLY^twvKqT(2N?VG*4DSErH-j|2OKK5YE zkJ5=1S&_8S6R$RnH~1TlBuD2`G6vddaxS<~$yso6r6+6(asLePo+#h?FyDVm3^=I+ zu+1AcIO*DgyT&Qtc))rKwfj=0zPyJbZ8F;jHZQHGlWt=?o z{1R?KECbZ13(FzEYU0OLfH^|(xVI)menJMPW;JJ$?tu@_|6dS=u-|1rt5*!2{-M9e z++Wg!B-@bF5+6RGh=SoQ6>PEmcAVMm&7lIn{*_SEG~NSF^Yb@Vm9N$wq}P}h9xpNi z{5`VV`%IWOlScw^JL->&$@scIR7!VLnMEt^^3A&rqyf?q<~{Z-UhKM$MrF1Ex#k>v z06t_l?^z02spx!}WCtT(U0dUBFELEvWP@bH>%YbfEhc5$#Pf=}Y#W){olSJGCKZQ| zu2!QCo0bSF0$YVrvTLgINuiRXzW9}see?#^4H+koF;mhlAXC40_vy~rht8$;=@%aB zgYX6W&w$&baZE}RgW%`0AF9|t<&-5A9HM`ce(xkJUEgDx9Fo7ab|NA2x_|Y4zPGAC z39hy-O)Rjb9l*I{>rP3{HhrJ#Gy(TG5*wR;+a?aDnEP&7EnWgBGFWUOSMQl!4)aFR z_Ab2a%h{uge#4kKkPoxmBi%rZT=yDL8tlM}eD%`wsXmRv2_R%mb$RXK5C@ZzPK`C4 zAsKW?R5w$#E8e)>C%(fM>bx+dwVwT0+DjGX(Lr4R7+xuIfc=P(d{?4uJjZ|GdiQ#c z060T~4@NQ@-s9(lv9O-#=cvj-QtkyKyrG0uHn!Tobcd*A%N6I#^s)H@6_HZ!T0DKg z)z3tit-j4(@KI|=i|u<{rIuMq`8@UOI^)snvcPZjgprVMX67G3(rDe$gYPX`kC7S( zw!xlx_4b6euxAo6`(>L<$DSEZQoa(C_w<5b9%Tl&7COmAOjsB>@7uzF-#5uB4Ti6A zeEjwR5p=1}@T_ejY*(q#a(*)=S6thkPxS#RKdV7dnyEF@)O>!bhj{FF^%Ai%Gkf5RV)>t1fY!D;JbMjvfStbHg1-1m5)IY2J^ga0~N!NY;1>Dy3o%Y7E`XWR8><7w}oj2##AH5vdU>t|aOjJ8S894F1 z`QS7!V)IKRl}UNtoE$AB(c|{qCiL~4wzFOiIrIV6G_z$0I?yGr!qJa}J(lBI#-B9K zm0Pg4JcmXDO%31^h3f;QuEm{vu)9 zSHQckkwuij=ovlYWpbhp(|ceI<%u*eYjCS1%=LVJ-4*;V(x_>*(=y4}R56yH^Ae8@ z({6S-Tl=Qu`VmE=kJM)6auLdVPyg6;=RcM8uev_zNRf$4!RS5+&6-Ft_0*v9RXfZK z>yduZx@`N&sXwBBwJDqxUt@QinmB2d0z&L=Ne>)bT%{KN(sh6ja&@AZ?_Hhy5V0Od zvqnoj+6I2%@CoZ!7u)AYXI4MA#yI@dWzJ?%eqgcpOylsv`1r}pTHknFuLs^ArF!W| zh|k}^q(EAda?g7>a-A`D1I;sojAuWdu7YqEY5mXrJR#D`OmfBO`i5qWAxho5u}cX@ z6%KQHqgYeg3_@Do&<}QFl+P2Ud@|uUv5~^Nf*!^dE_GvyBke&-I41T)3__wXoJy2u ziO%=I9I3hiWzA-6c&~E8#tKyWvnR)W=rC~?eLpm(cfitd;U1iv#DTY)JT>B6OT!Es zr~F`KJ?J?>;c0CWKOjqri~hHTKl&ES10kKxByRktrnZP)1sI8-05-(Y$eu_&C~G-o zFcGCw=EJQ9PU9sCtPL{;GPOIc7YEGt=s6XV%bcaMpvq{q@y0#=VgLKz;lLE<%>2(U z{gsn3$rWC6h#Ujwa>|F(^VNdh2^7>;3+(x)71rmwzbT!zJJV)aTUPR`{O>*TSK0-B zNkIDnADRY^>MZu$cc2S>B0jKzfVvrrD6xFXiZL1&_F?DocdcqlZy#P;shC+8UD2LT z5!a~z2us>n_8WV~+&rsPHK=1tx*GfQ@Y%Iu)1VRpFj=kC1yQh zgR*exQ~eNF=(ynfRD|tit%9rY@h%pA+KT__q^X}T2qEu}8 z$6z*}S!8%p*mAZ8u3Ew;Bj&4ZtImVQ*~MFC^@z{2(SV)o&VykRQT z$b{(mh(gS`|IG*~p9D^;V*_`)7VS1#GJEyIN^`T;jETc?y;ZXvvo!5N-@-g@cU^ML zep-V8(O%CM&yPZCsRGT<^gJo!y!=&Z%l^Ixn*wX(wA_1S8I25Kj2a)Tlh=A00TZ>u zU-{1;K%Z^6Zw3KG)o_dVi5ZT>2m+MrDVlEet&AW;Pt3Cz8RHY~PL`2})F(mq*}cYA zM7|G2e*4R%$KND`i2=pd3GXNpDFme$`A;8{aOogof~i!b6Yup!y{u7#--J$b~@ zS0*!`h0(LEok20lhhTP|Lkg1*aq{O4X&ZSKafrJ;CQ?iuE7hBHW)fNRj}|M?OhTyV z*+3=b=1V+}5#%4g1GYavtu|{@z+Y&f?=`;5{Ko#kw<2_KyIfQF-o~e(GML>+wjgie z!-(QWM-9eSZ~NwrYl5x{3OY@5kE+yk4{pa4o#wdFx;eAT-8~*#9yXo!G`{7=_;OXZ z73It&-xJxF)XLNA1d)+pY#KJ_7nWOh8)!8NNfV|&IgkCZ>d8`F@g?`mCb0(qa-fAImWA$ovkqn?y=E}J*r6TVrZCCL!1d=N~} z^Oo@Q3oU^S65!jh=9M_IYW(Fk`iS#iW9Z7RGap0h>!rQ@c`YUcja*|=w46s_{Z*{F zWRE}GY~P5sIk!w}>;MYi8J~HtoDXZ4DXssm(pt}@Z>O=kOy^8HPm+s@m9OA>aX`Ut z&2*3GH#VZw?XH=bJi0ET$z-LT7_$*6`2{I*sUfdFLfdH>S;U#%_PKvdks<^aSz{2W z#x*kVYhN<*!<}zbIEn4>~!isLhZ7hg^DM^@DZM`<0 zivlOeQUxQQl{#i?PNnv3(t;eqK|DzznJAm)s+N>FN&it6GT=D9n$ifB&Le)HnJh9woO}34PqGC3pz?7sTc5e@t3+YJGKcub9L^|-K#!& zCJ4-A@n!sZ+jx}d9`i3;PWk#U(Eev$IUX{6qv6p*?x(h%d*RGxt#C_T@(17U6`;ng z;FjzJGLF|-)Q3MUaIugE7pnjCcq_~Et0IycB#RUPOkE_KT(L+`POkCBAyx{o_&^?y zU$8q&-u<=_)Qv9%=P|A+6UUA!jjNlZ8QAT9*ON9$f7gv;pCgw7i^qYnZ`ykTDe}EV ziJ3Y{UH@43g@`l&0LFZ9=f)fQr*<7=!uQrl&3(WYTzzhNr*XL}Z-e~=d`w%` z=hlcHLf`n`K?1i{#S`IY-I9A{o)^i-OP}bkylM^Rh@U?0ifRP1gv|MPHS7XI=rDMEOf;=$;L3BEBOg;tgCF2f-uq41YV z^Mq!>eVJ^`@jwLB{=7wFUS6oK_44oSPdSYCu6n7a;oq=aA@y%Ek@S6^(T0(hxhPB^ zpq`LOO~QLc)e4Q;A39v_K6-Uu2*1Rx&rnOX*0$db`&|yJ6}p-GCz)KM2hTg0eVW&m z!0M`#zCvTuvuQE4HY28M+I>AaHu3GPLiPOTccagqmoD3Ue|%Lnc-Me!OuA?ngIP?v z8B@f);rA9gDlRrUK4egtZ$_U5SC|dh<`XJ^JD6Wa0OfT)s!Y4@c`>GcYt}pJTPK*i zQvYl2c)p@k%*`b3cXa!_T^^=hsTj&FQJ4Pv`Cc18KyE`O8t$ozr%US?C8;<&NxYVP zHT2~~r!Py4{+Dzyhe-kW_V9F*j8n?V)%vo$twUAfDu{{yOwDelQ~vR6C^Vn>In0mu zXTp?}Ox__tscy(q1_30p1`B4UB+mRY_lqc0T4j1E8BtWEW;I^FU!w92N7t=zkG5Ws zP*cX3b$*qkS}ZJi8EWaItbUSe(iHx+&clR53f!puosEDY)jNH|ChDU|`Lyw<^3$C# z^qU^QmdFiS=EvFdigLUJ>TI2gj>z0P6{DaqgT0sTA@B=k@#uzq;s^57L3ZGnG!ha^ z7a~uj5Tx6zkm8P2#A+X6`Zis8V)I0JT2-V@Jvqd7m(i`4oZ4xD9W`2o$eI6UOYQX&UNm%A^|5b6tJ8se z|K6l_^W)5AkhE3L_bH7TOSMtP!kgb_f+V`SB2>%s4PMSpze#uds^Rir$kQ(Q=SHBy z>5@WyfJ`UY#N$f>=3Kdl+9PH9EFxQC&9_IaHdiQll)x5vl+{6HNG-B)(#OM{-?`>I z!@H0q)OZwwAwVR6Yvw!3nFb?GP6J|g*r6ha7HI3*2lCS836EpflaGHA2{~k$Pkh_8 zvD$^+FXLDBvsaxkqlzQm80(dqfj!!)O$FT3Y5=qs3sxsS1itdH`4Pwb?Oe<*L$360 zHG@c;Z-E=0Kqt01TU>A1`tsMDG3F6to?@%9_1@OGpn4;3?Pf#ti><@2#-cO&rl(a$ z+FoN{tKU*SAl#k&8LW8jc3>1guZo~dud<1Ai|6O)161x<|L`7 zV@3pQQ$;*rjK|GOuOT7ZkjBNPNxxj5c|xv#sGerVe8tFb$)S6`Vt)2wJ(Rdg9Z6RS zk^9u55DXqm5e*$u4dAeMUytr-^O>iYDZjo|Qai7kSVhf8aAihoXGahb#`Ynj4bVg{ z6mFKD50)A!#bZ!Hk`xr}!E4h9>vRCJ&OQqRW{Thp0VQX|C5;akbq=X=1CT!2sc*T% zry3HPyx3t}^lAHGkHJa7;g>@tR`NORDjL2G-mRM}tu{@i-#4{*;af2a z=dk=aM9Rse_~zC1|NXbXd+U@jma0-f`#9yv#}TqRA$z|}Rpo@vMD{uH&sCz_I;j0? zcc&M2*yJjnNr{??YBUDQ#7zr_4aP7I%DCH=c3{IZ({cSgdLz?*sb{@l&kud}8!vPA zVT@rL7Amu*l6)2yeZu31Fidhx?8pEJ|~R9Vcy(RExclUwPh zj)4iuvF1?57UN(z1fzCvrMQb;FT=%tR_BOvEBy%1-XCU??UNP9y8xxzzypOPXZfZK zPLZt@2qT0^H0^AU5PqSH7N9%tBcWug!TGK8?LvPQ>f&FXf9wvGvPBfypNq|f6%S2k zx>BEXn$RF87`z!-gc;I0InKMB3J<|Y2h}yAQf|`)BIm-@eRQ>7o5Hho4Em<~BW84B z2b2A3!oq^rTsY(pWt`Z5xF|fiVXqaT226BzyZ0vk=C_ak`%i-GW(uJlICI~M3jYBg z2q;hWj)wQSZ=V@;2$R-QwzY%I=B4`6LvfC4?!iKy*&nYm%J1d5SRs@yhNgQQ4PBa% z?wpP$-TxSbaZ|I zhCW^|u7SnJ$NZI}J_qEaW~IK`cyo|>JKl(RzxFJ}hV{QEQHACJ0ZXsMEnc|cVw2Px zU`8M=x&En2U)h}4J_0AcN(%(T^2-Pr+QbV&U>61{*+cX1U2oc4ATH)?brp-tbixE} zu zelNv3bxukb7xAUvo7O#vRbR2Pa#oznY$blIGWGF8hbo5wj?;2Ts~DSM-&$lm*Pl-3 zK1NahjO%3?V>dZ~F^`daLY=y9s3Oj241I3W=|i>X(qGRs5h~r$LG(NY2WZsGLkwN@ zGFp7oByhPRhkdN{yv--j{AQh71Cric6tQ(X{&a6DM)e$;DEDtW2!oY=HmisDz1N&( zRL}S=JiFwuo3cZtV_BJOlq_{`A2!`fM)O2XWi&XEZLZAB!i_`(`)LB!Eb`_fM|IH9 zRLvFY`-XIT0^fGpCMo*;mG5wXIS!N!pX>^(zL`jxsAZ9d7X9jEr3WLNaKu-}N zaY8L)2`75j(FG?rL{rg5_%+7S#nNH=CEGO(5EZblU^N~GI6i2Yf2{IF&?)E`#Akx( z^uh`s0HGT$p*j}&@AraR8|&SC!hjW8rkIltXwFZwgjl>>K)R4XF4%{*)>%l+KV&oF%%mcykfXi(^T49n!M+@ak zzFVRgx$Kv7MRp=_YnV@MneQ*e5k9TM3WdBavf`J7Rcd0c#}vuO#4%P2hoh4l$H#v{ z9CG>|%trT#CJ=hX&<$-7Gc_+Ly)K)7O7nPHKc(DuUSo_en5I0h+pdUuduX$mQ>S@~ zO_NOaIQ@Ol3RjkaTJ)XNlTu$+MTE0GR*?Otr}ovYlzv#{=*Cr;e*a`+D2JdB###@1 zJViVGrpaUf@iR40dHqC*GVLZK)X8Qyi#pj;6v4L7f-H+hm5uov{CvG?clMGax^Xq~ zL9b+hjLh2wtEskx;Tl2jHwHtAwbT1eKj2&G=li3#4UKX=YuhR^hNO}b;bITEWQ`$` zedRZk^EO7?J_y#*b@Jtdh8V@CIe9kQAr*Yk#wk)TU@8$5JR<^nG2WpKmYoD;7Wwv_ z;La`E?+g-TU%1ph9~esV7XnrMSa6_R%{<#iTLnBMEB8=hnI?R&QYU#9ae)w_?b2T) zA93TRF65otiuig@W;IE``vP&oY4b$JN`{cxI`^s)9;94mj;mxR#-=hs4JEM2(a1I~ zIXm+H77qvcU7_&U{rUR{?TrbWu{Ht}&`=lXuMji$XDc77zs^P!ynVew(Z zt!yb-n8}HcdvgJys1`%J6wG_U65{<;FCKzf@+Bx+jIvs^D13Y*)fz~Cp0HY{BwQUf z^@~S92+>#{IidXNm&TYEB7fQN(r*Fbc-j_70NF0ceA!mVYS%-+ukR zCo(O3HB-WoG-$!~Mhqo0iVWM0qw<)3?~sHKmT_-!Sw)^FvE6%L=}b|@bNs01sS^bT zbSXAqBSpTb>a$#3m}4_58o-R`I)IUJ8H=o?Qw$J+==mioJWY zC(@oQH(e=1^mvl<>p7pD3cQ$q^+{!>Z{C4rm4)F7b>jS3C4T^SwA18hKgpY7q&UlR zRiZUX_S~MW?VuWBBVv#>)}g`#5l!~wYJzFeBIxY=iFXz7Y~fvuc0A)g(qO%K&`kBG z+Gd|_mL*QT{yn5!wHekdh0AJaO}yOLd&ZY;i7&LHACc$!iRH&F6If_ffrKKY%njf9 zbsK%d#aXmts7E<<@BCweetI5jnzbg41pkkRl>wc%;AQwh=GHIhK!9U-6i13cqtn=#ZQo1I8VoFy(Oxa{i1l zh=N5A`yL&RPg@=fI@yVOZ|Xogp~OvvReO zf7@3M5cqVzT5KEL8T&nu^3-JPn!kK)ZFPFeXVgxce`5}YOXSeM&(8NcdgM%X)RaAV+*IW`Vai(Zcv*dfgZ3hp;5aBCMMK{j z<<65gjLmc(7D-k_4b*A&F7iF_H30PA4_L27ObslSEHXj_RVc8NYmZjp)IH@W>wE5n ztB)LDE?a!7;gy9vB@ADud6&zj)X137ecE_7K7_TOa`OIrhKZtj%C)LgF~vRf%j|f) zR%%sLc-uacE<4)dMSa;lgtmLOe&5NBPCXv(SnwF;Y&20l+E*i`XI?xD7_ zY&J4d8fIL@tuIb+{nwQnbBtWiA%7;48d~kUcH_Z$X747MFwh}(^urZGGNl@c!-WC< zmBik3Qmd_t+~EOY)~UAHb4{~+dChinoMIK zB*wx#Qp#gPFr2G@+U4oPL> z&lYYf7$|)Q0tyg|0t{$9zQVQdlc79#QY|u-*v;}5;iKOj`LJ*4Aym0h+wO-8MFtt3 zT7q0M?y%KH6g3h#av-p)l`R`6;HtF)b=9#_ahxxHl`~(mEQ{2*d*|x^{u42}W@AB8 z4Akg>RgI9)7g|{q8PAGSZOR$p&6CUGsl+;py4i#t*iyL97rqf46VvDiC9hqPVJ`BWZEPRC1`jIZaOXF6JhAgxJd&{!9vU=Zzm#tw`8 zC7t-HJhxF(L}X_5`}@_UYn$`_5>g_A4=wyBJXbN3(emQCxi~_n85vnOo{6gbD^PST z=~(Mtk!7a&&PHdQJycr7YY09e5|V7{;%Ia~z_kW&Kj26)^XF3(DZ7C5 zECO`P->YwhwSNHH*!OuUr=70sO>C_=$uZ!QC9=gW;EkBf!aoj2ivll4lvhWFg9STz z5nC5Ct&};cut#LuBR`N_mKar7w|-{t!k|qi%e1$bp$*};yxFPj*^Hyj_GXK}dapB@ zZg6C@O1U=c2uPo~bSv#4)q5!jh>pj>vhy~_qe%&_460l{RhuRmyBH&SneN_+qz>_6 zzW$_etI|%}TC1Yl{)o;~6#K|Q%h+TTj_IJyNz#-CChDfr9ZCp`h6kHK_mjQw44jsF zLFj~<%`Z1vJ|v0@%DK*z(9@0h@JPXrTjBNAFsGN+3;S_v8|F2c;O;!u5!Qd&bWf(b zu-za^=V!jNl&rc0p&nX=w`7jDoc#wo^g!C@;24YA3jwv|eSS{R?|Z25i;eTH=v)4^ zmu=^h!=cx<2NA2Prw<(Q{U2}=bKmIoUpZ6OsI=u-B$f1ISBnBM^0V;~Rt>n9nDcVg zxJauB&xY$l!dtBJy1mmSpsQ4xVP}m#U218L))#TH^Hbl?gJOLYLY&6Paw&V(950$W ze&sPcB1ClF`x%#l;Nzd4SJGjp#Zp+{QWBIW%X;`oYARX%a+>c6ov3&4Oi)e$&i1<{ z`9?-PBqw6E5-SfM-Not-1ohSYY^N-OdY@G- zi*f~UQ_u>0tJOA;J=GzU%(SiwQ-JAUyw3U-*+fXI6T&~|^2k|Mbt`E4iQ!yAOsrq` zn2UhHZc)|4zQyF2OVGH7FWG*m%%c3b0Nu*u`9N7VV1FmVu1K41J_CZAzhAWtgXxC# zPPY-!0u!)~#=HirBr|6Z42zGI5Df>9J%r8%sJ%1H$#p~dD$5i_90;)v{?-_C31dPEmK7udz+^UdxWtLRvJ3|cP!TKQCV>1SN!geU% zL*20UwGK6{AI+RTT3(f@d|MtL_XeuIrXc}^~ zF&Z;AR6PFl3Rb5R)4y%gB+X}u5ZB#&t_;7&%r7JR^J8Sg|4z9Pd&q_TTPcuJ)`B(} z*0Q~YJ6k7U&v>sIx54A@A6 zJD7slt67-H^O8)h`KJAxpc`zsts`PzgL3?O3_a&F3LJ-lN=&NA8Yn@hpTp}EWe27WG4hrA#k6_Ho zR|Bkbv3Cb#N{r9H)T`ZTh|9(3wG*DuUS!8T#M^xmY3GmDP=WV`9Xvr6 z^*5i{(FzH03#h6Rd*{R{k_G=A3l&JUq7+(HUqi5i^w3D>5FOZFXAk04_T#jAF3>gk z5LOqSJ9q(m+bzlQP57D|m&xuD$z92IW$X27{BKm)q7bjigbw+gR6&V=ngs6uy>t@G zu87_>u{@8m+SPsXP^{bgLUAuMYB5y8PVz4{@OEGAt!T(R^c`uguzz5!Q@n7e4zxwl zT)(~_G#Wa2eAlYxcclp9yFlZy2|C@@@`Q*Q>Xv$zQHE#G_0XxaO7N_7`lh&2>iff3 zdgP`!sM6W=e)~zsA_H+-G0Z)L8t@57fbIdJ zQD`xeav`}l?h(QZz z1|mHVu1V#f3I=Xl-MhnxNZ1*Br$-WB_rZC&TK7}Oy#?O>DAnODU(P2(bRjgpc&w#l^g>MB+IC7qk0 z|2rW{?4tpkSDCcLCJo(Bzrx5u^vY}Tg-?oDu_b#WxF9Bg*KYxP)i7+tBjXd@<3;*T z@5|+uUG3`d?%zo(fimT>t!H5>+cP|aV-n#N&!Cl$A*TijuS~UYd0CpdO zmJR{Kn73d5iUrXoDdlt^9HP`7P_=P#grAh1VAbItJ9Q>f2+p56*5yZ5~aT?*Kv7m(W&n9R=#9KgW=>fUQ1x;8vkCdIwj9qc0 zFo^Ml?y0U;cr3lH3RKyhv$z^XD@EBcmBVL*7E8K_ZsiLJq6Jd4YU=aXQ#Tx(pyqEYqmn7ume`4^Z>Yr*<~irTw>BUxSq%&5e92-kC_qX7 zMz|W~i+uZRr7I|wDa5#SIbqi)t221DGli&e%!Pspf(XbSZ%E(>86j-ytm464!>>oM z7Yj&q5r8l5tt@bf_1NsRtT67uqJ7G2HT)nWgWE`a3}Gn+c|&2!7r&F%&*0GLU5Y1e zkta1Po_2To2GJl)@^e7`P(zCBj_)FpN;yT6{91W`v>Qi~97JU}0viju2jn{Igg%5t zI>d2NRCyr^lSJ*M&>6QZRnV5ldO&iOm@e!r`ESe&Oa5NoFm|CUgTRm+W1yMPlhMk!3@voNT`P%cB zy(01l7C*{Q_=z6(&W!x9c!6B$ia#uNJ{S}zqTGSIHAc)v;omC8&s*y-B{GN~Rb!ox zntYSy_2~|5rw4kka9>wmueZROEW2fqmEkmqxy8=h*g~7Tox$H-l%bq|W~}8sOdqf# z!mCL@)qN8M>^+y3Lcc3n**X2CE!avy)MM^wn~IjG4!+@H9v+bwFqA&3Rq+dG<|*nv z(p=G)Yh4PxNV1*HYj)O8kb+l@S=9NnstLg>EQa;LKv8~lA zG0v`W;f1Vu1`IT+9ZGVRGJUOvW}Z&qIPjhjQsB?3K3$r&Phy|N%082nh$8ldlVryM_JK1iZqL zt6=9pIfsw#R4m*fM~htf;&fDg98hq*eFq&T>=3i_76)*AhSZ*>57vQ;mQb}{Kj$I8 zRZWWdMDiN?tzEc4zG;^yE*wp_-|M5_JZ=o+{9#ehx;=T{9haf%Pn27fNt)mrfpnA2 z8Jx)gI$@?4nZUVMMB>64;TXPnV441!%_Vi$A`BJY&FLtO^}t7=1#sqme_n4bMDx)c za8#3XtpmIC``8@SXKgr}x=Lqk;>86j+5^YlH}lz?q8?!Q$ucUK4(x;2`$p?b!g~`~ zC};bKcv`|IEY#egXIEsemXih-XVH&*(2s-d2%ZQ&VQnd?u4GGVfm+6lS#u-CyS#J} zB`1ZIZ3g1#98L+uSyz$KlYeTFf>mCT#Zuuf03Mz@uPAHVP?>kH8?Zikh%er%%EmQ*+;9^n-!y z1ZKlvMuU;k{m1b+0yO7K?{3<|yg+0`h~){R7g-Kc7I|8kqvw>$0y|~rSExStzbpVo zq)+nhO450PS7DT?AB)C^{gGGVltWz^Q8r!-wS@EWIyrICNGY^li2S@xz&nAd=Y^G1 zClUd8-;ACn!bz+|yWmu&l)SR}_@jsaR!CS~mt5a!S_P|qbV>SIF~?`^mpdsO?x0;6 z_!+i%O63_sN9O!z*WooAUyHn-R>vgLk}CP0`%i_@{NQLWM7lgKY*g=Q^m6=>jOplR zAk?V%^^1Eb?^4v*FckxI2r!WI{fYf^^`SYD;NqK=d?@FDyfF?}7(?@gBlRa!icnl; zYv)lrG>rIPeS3UO2*>#hP(Jj{K$kttWb!FFT2=jruE2_i{5tQ;Yf<@DOEk?o(n1Hvjr zt&!}{s)RK<#QfWDIP5bm(S0Y(mz>;iund#oZ6OuPH*7@mw*pkD!eq7#PVZT%2r#ZY z{P7Hk^o--CE!@!;CY(O=CpPnqg6AjDAL0j`?7G&E>8V?$AXWjmZg8JQF5j#&UI{8O zUuXFa5U7s9_xqIi1ANfo7zFDKW6K$-OVb87!Vy$)2$j=miL~2G{xtl@(dh8o%Wc!Z zPih40$KG9Sh6>!ir%&LW`hBv$%w2qL{>IB11RtSgGDKU3SwCtvsEY&m$gmQqW}?UV za7-kaj{veVXyIcY=|7E})>&bUmw-cf=Z;A^+>FNSG-I#9hJLBX4l+{mgPusm4IO0K z<^LP7W&c|({xD*U*g58{%na+w@eGD@Z1$$`1LJX28eCz)`f*h~7>;4U?F27F{Y+nu&BGOLqi4V+_s&eo>-MNV9uFKSc(#Fd~>28PkuL zGBG#P=kSD{D^4%d*6$47?zmSsYdrH>Xm2#ZG1`Ch^YE`eAYzIL|9>q$bx~g7u~nbt zSv8ZRW5}sx2crU5a>ytd}N|^X~aqIKJvubIFAQVXCkv!-M$dQa# zFf?;)0)9DI@i{A5NM8di*`FimSh^f?Uh(eOr1Tt}+AyQ(CO&@EvFGyAUaVv~7|C-p*zR4siPdkjTu?5E-l<<9Y?8sIrQOd$gN79Rs`>F@2KcYU zC844cUoIHFf$cP*CspCO#E#h*Y#E(N9GoR~o_%~{PzVEq)RbG*&YCN5*pOi8LO&ua5J%g=rfR|= zqFmFD#fQ1L15-wP({9^UG$Xp4bb-;jt7RrfEK>!b6m8i(T6d2s?T36J4 zVDzUoOSJife=g66rrm*_`KUZ1^x28hzZn-6{?mH|gi_W1!o`sVq`zr0B(@(zExKp7 zZ%v`eS^i#%GX(8;SxNbok@1x>5&*2wo=J}+c~k{_6ES~H0A>U7&O*117R@`nGK3ZW zrc2z}p?ot$T*FiLBaR#WLf;!Rjn7moz*l#N2Vc;;sN>9J!?5;RM!~XOoZ_P##j%9- z`ML)k(=UACMNjvVD?}*q82abDZB~_SSEw}uSf!`F95peeQDEC$70&p|0yCuq-hQmAz-|^lL>^wIZ zno2RX4^yP+2-FiiPl7v^f*ID~YhuMY>83fxp%H^5MI6>|+eJnteJ^(t&@Vtx{pI_4 z{#3By=afA8Qao{?6M%q~x;W@~TK(j}=v#&vTi%;t=iz|%KrV!D2i^C93vA`Y!o6Cf ztCuZ4!u_3XobS~+;&F{t-JIk}^&%w*M_>%UNJ*!o-FKITd%Bk?QM4ECUEq>1Pl}CIvDZ+3_Ljz4*cLQp*{%)Bhp)A!!fdO4V-=#OQ zd@YQ>>e@QnL=lnTrEEQF$0K|Ksi5l?D#`Ol(WL7Ztp7kZ0O5_gHvi*@&sUZ}(GZBX36 z+>aQkKbzi1tvt`D<0hO_+$S&bwIOx#o^#7VDBTvb7o=u-cq?;7V)YnACd^sje?Fo9 zOoZ;GoTG+L_s~|Xx(t>^f@fwUVM5Ydez9CbwZ+2hF>jprD$^VY-6i zWzsX;0lg6rW9?CMi{>1yFeh-ItkB?9*c|ssb&=#KYvw7)$%Tu2{)z0C0#HyN=3bmV z+3=xNhYx{*54t&lPhq0#a0GkDS{VXgmh8phMF>yF32py< z*_Tyn9-GuVAi=TV#dhw&8^^ZBmEuUS$Gm|J|MSWZj_#9lo&E9*-^_%b1*!OF-!*00 zD3d^ZEh?aH4>ktbX`mp*@rZFUt>tu+3CDTRF`DCrBmomAP}cFvMPML zWTf(9NEgDdyaRku_*W_H7VQt_uj*`=oDTFi%+_AM(02s|_p_1r9XwDq-92HuZJ9i% zSC2TVwf!hJ9_vDpgaZRxo|XOC`>xaKdr3bsQ8{`-n)BNmR}2_mYWk!e2 z`w?b*MSp0Pw03`Mm{BT%sD2RC6OZ^!#xv=ks$D$#V6t`I1y(upsc7wV4cYSP5$2Yq zDik}b_DMxE%(pZjw5Nv1sDqw3I1@stZ(d$K`0QvxI~`^whK48w{G)Tg@~`&M<-PXH zA+&#bG7x4wF}c(tQ`}3vRkzgsYgN0uIO40`2zp0SqTL_< z8}1^8wHuoE_p4C|F5zVNHzc8QA0@WtM-%uJSDa;2Q8_Mr@M!2fgRYTSmu*Iakn3S+ z)zhQCPwm&bWGP!02Pe9qRl)N|cSpWCR3f%Hd#v(&I(0G0?sm!P$fMefE=i2TE#6w3 z<+k2TJWu%$5214w*~b|}lzC6KE6uidJv-wm+a5DM-5A|-SjKu`fvgAK&1VRebDPc@ z9YVeG@K4ezpcq7}=gq3QH zq%?WpY}d0+1u2g&c0v*5g|!0C%M*n}?St1^b!=qgA8kD;zaoyMvo+UJj7y-4V=FfX z1E8X7qxo)a&T+sB-cD~LHHm{a^%%c-4(~azjqhQ8Zl*e1^(WJv9?G$nhs@I$->OHi z&OnDVmAih!LrrWYE|cA#!Xm|UO7p#u&%h<0a-4%j%pLYgSWlSH_JAFtT*%nz^sC~; zjw{qOE!^S1Qy1$I@98EM$Gi>sqT2h{`yaS59?P-z`F)5(=D<1lgQZ=I zJs{R~%m+=LQRG?|uoy8b6i&vJ(~fG+J0SY@!?ZVhE?}3ceFTG-MzJzLIf1R3l%oj_ z0vEp8al=My={^4aeA3#*XKRPS9>3NtQW5{?8sTSPpFKYq(%z3DtkIHrH3*HYXbVkA zI)v)BpRrC6FP6^~<_`Eje!c%w;935wz|V;MM}dbH(8~(o%{QUn(@a^*d zmEZ^4A`1QIntq*OjX^f8*65A6+sO+KViB3sbzhXT_kXey2UO=uGVt!)jE}5{qFO1uz zQoS3j-BDDs!LiGI9s#WsDuQu*75n07GN#ZbU?TnO>)>OPBXJ1a9Hb*pMccDK?*DEi7y%^$|EtPk_59;;diEt*9dcUx$w z+K8hcre;Ny3Q^Gp$loo7M7`DfmefY)%cNZ&HHg29*`gRe&D&@_v?AtXr09%MJeF;q zHSSAW{QyveI+_xN%%19pFd!9A`bWVPn6(tTU|A+GY$E1H8T^2>^A0CEJ|9UFmc;V( z-%jw)e@@W&L$~aT4DdAeFm%t)rGCAQ+DNUD4?gYThd7qk2(Th2S&x_{w6Dd^#~ujUbATNH8*yr-@Ovy+QKqJeOr$YpljhU zxjqQVX3bh$+2MzyKDJBLk!H8n&jXk%!XrR#Gd{ewrZY@{3V?ELi9lCd90Ud;j=xlD z0hEPD^0LC$2N;D?c1T62)uel%!5w2lAON~+I^ zi%|yLr!A*t;r&}cb;QMpdNZG)1xP>Cqm;;nd z&YOwg*`>#0xyz?ype@c&Z;rta%4LmrW>sUbCIUWiVkU<#7lvHdwF_)GmOr_J8jP5U z6WmqEeiL~1c0pbA5S62z>^F6K4%UCc|BuG`AGgjYnY9{lH+a~28de#kvW~h~BI1DO z`(!KS^1!X#u`}9~J+c_?meY*GCEC_JBhN8yuXh{320p2hPcEYfZf7InD#Yp6j%_Ez zz@Q16vgr>QrH4M>O(0~v`4k~6g2?O%wvYox}-oOEQZ!nO}^Mb&=F+>eAi>wdUX<{$fdKf$L19ab6^}U-3HJmR>c4Sg49i)gOXQi9oo4q=RZEklN zF%;w~JN^x&341$XiPqBk>?1Erl2#t=`dBKuQyqlb?>K;~qRFX7K60S7VbUD4`MDm!se*N_}5ziN8G{N69sw27&P|tyt=Qfaq)9o`+6CSD4yI398 z+=5%SG?kE?pW}`PjBswmTcx>XgaQb@TvJ5UTwa&cR9`?VRsRv6zxV{44phn=kgQFS z@EzXk)pc&EKVO^2@vMXj&rQze3b!m$u9#jHnsT`Kw{JOZhq#sW4~^YiNPS3T++?Q} z@In2@|NnWkBcbWaM8Stx7+gsXX==1(08z*XL4!JOENK}E5Wc8|aJNf1ma zhKVOs3h;@~T7UF7>dg7Ah7mtlyI?Etw@Pa6!PPUPVN>UFpCKSHnQOf7nDEV=BfCsU zQhyED#31LuZrfzkpCz<7M4M0+ZdYtJmP=jGuII)yu-jzj@g^YiFkGv3xeR%w5h7}M zJvgdOK8954s5*~0i{>=QK?%?lEyhJKzQoNj=1PxJ$^S;StP+Y_gTqiQnv(Ikl@gJO z!ck2`(*?gE^tYfde~p|AJZqlTPak0FFyj<jGFU4@|xk9C%QuD!MAqBx~1p#n=stJSWEAGB1T17_`S3H zV9M;bUG9dR^^Tw3JKe3SH^N8x^`axB=Bl6DUO%-C5p-e^_7`7jIoN#^$#iYqe0pw& zER@qGi)qOb+b+&d8R%+;IeRnVUwr~#){sgp5#ogWel*XgR!s_^I-uNl-#OQAJ&Lz~ zo@2K`7A*2-AmMuoG~0UA_01m93DEl*SoG~cwOY&hBeoKI-y8h7-|cK)3uh0tdzAA3 zkoI0tO|H?`uWq)WBA_Bt0>rWv6r@NANQsDoTPY$)hX_b7p-CrEQ4nb=O}c^*kluSD zEg+#t??eazDIpL-NkYPT+5hi5-#KHPbLFLDFuck0KF?Zf&fi=%&X~s$o+DzN#I=7v zuCtpn{;{SyYrZeyuDoCe_IMfL7xX1+!Xrjjb(rldPCmLoVATX+(^S+I*_!>;{F7MW zF-P*9L%wb;rcCU|hOB{)j z_%uW`aH7F#4cqjgO$-1+zUTiR#B5ArUy7c=j*!8iV_yY5=xpbX)j0zwsZ z4h$usWa<50e3DpZNOy##_vSrfu5@#W>cO|dZV~@kGY>S)^;mu1K5lkf zM)}20k+0?PC(3n^wSLj>Imdubb|Laar4nzoFYu*C>dvp-ovH)gJnr!qd{#R+d1|kc zeDY3rT>+ZbYb*RMM%Z^zn&E7tyP8Vv4CjMUS6O9Rv7DG@aM6z{IeVsjS3s%O%U(Fv zY&TW^bX(2C_J@tB~j+{_P?vIHMQ2t>S4)Fq|6lOt4en zy*+!-V2N$7E0G_)o-Wj4BUthV@Q=7O$)KhFm;FHPf3YF|_;5QMR2X}hoeAvtUx>&8 zD9m)`)yuV1K?^qkEBh2D%gVSHo+DAe5OUt*oywa7bh%?Z1(*zipm`TDvJNVVtUs(a zyZ-L0JG^0)8}|pL(WN23!w#}7?IR*Y5qopqL%OhQNEScRY`vL`rbr`*$+&*>CKvI_ zn6-rzdchWIME%ajlN3yD_V>$LZ{9_}QWqYqqYggAO(ExsiIc9dHI77e+7EpTmPGf| zEPacJLef#)$M`KDp?90f6B>E?3H_|ir4@}lvq8DMmKqnkQpJ+t@unCVA-|Q`&{@SJ z5hC8xl$OuqGJP=w^u?KOo3-jd%ZJYlof0M{59x0CTfe8lLzAleJjW)8W*Z-l1*v$~ zW9+SVK=rBp>N_2iH&3MnUA$2Q@!aU}8~$Z-9VPuOre*Gk=Lf!Ke3z4MqR<@b!RN8sK3*+%isde$-vK)p01?LF3+XWVLc zwy5a(NBTX@&`(<40b9I0E>S93iUl-#KYG=8(z~SzG^$_Lfnl_am(v^UI0CeAPhJ!Py%p8kwFa4ClYha%#8T`+s3( z(WvT5OaXJHXhU}AFY3iV=uIyC1(?L6f&Ra5LJT(|-PEwZirjW3R*%78eb56{=vyi; zbn|R*+hAdLn4i<~^D#`GC8C3`Ms6>Kl0lxfMpKDt-C)*$vZVO&g-Rdtpo$ z+PXi+Br{}X*{n~l;3dba8kZ%Jv^K9|7r#fIzdItxhF}M0AKTX?t_SF?DIrG}F4Hzh z`xLv^P}dn!bosx{G^_gr1@mCc{;PiB_vjG!;Rjj6R1GMAklcS+h_*q|*O&uhiLB`l z#Uh*BNYgf!OA!70e4Rk4IQ~<@&g90Y-bE2}6RfRqmj`kHuIZD?OOu zo!aZbp?ROEa!z|K|ML{MbBN$yCL-3<217($#Lyyhq)YVw0lR~otoyn zblAA|&3-b12@WybEqAI=Ex#NUhCFqqHW;-PZAx6>JRw2B&tgA&fe24Bv4#5jB{$TP zzXTm+R#^7Q$CP&qRfg6|`PkF3an7~Zk+2z1e2w4(Fv;5@O2~w zg*0BTBg9e~#+qxIW?8e;ysR50)`9l|@xgck0gRkK0bO|ArXwA+8P&ZCJ7}QH?lv`s z%=2PQ)){lm%5=xaY7ara4-8q`eQzMr* zXcCp9o|UGorYo=A_iwPG^ut+{`9%WXb7cJ1QFX~Nm)_<6>nF0B2epSJZ*V<<*-i7L z(W2+}?p|pUKn$H*1i^*}k+e4&w>}R(BP`t*jXCp60q`Fhfu^hF^tLT`T2PYc@)5_y`?2{v?`pS{ zEsgfC%1moxBRZ3kx{-TJvg{M-%{<51=d!ho>=eP8vbhb_FJw*L|8bpR$9+A+f4zWG zv05SlrfqN$hwGP;7-S3{pFnMo*H6d_+%9Bt-RHOTw4u#f`6ogdTNrW7)<9e$9Lbm> zZi;121|mhv+8!X0gk;iW5FQktJcdM_*C;oyqMH;nY!<;QsBiMrt*yzo;jY^A10sU ztrRD$)SS$*A{5&H%bpYWUmtm=^J;Nty2?XeM&&^hfJIvmTBvv2VNE|6=(K_SH5n( zWmMJ)%M2-a!|&Xew@1N<=%bQ@G2an%p^kjdr<;>0YJsGH3%Qgl5m*A9Ih= ztIxyn6m0G%^}U*}vwCcqGT!tthYLZ9on}sp1W?L`G{;HxioCf7)gjdS!S46u;{BBZ zfnok58@(l_MF5xGQ;PfYEyi@)X@0Yc6!GCCHx%pCV{`268so|I~O>)SR zO1FeH>n2qG733;&oy)op$Es5M5gNY+I3ZRm4P*y<8RAP;_ zk|#CB0`r8`f3S*Aw(y{7(Iz0x<@*FEqA`TEg#ip0?w5H9? zqv0{TlEVQifd;I)*fywi+4+u1-r_h&x8tDaiIMz@yM;)#h++B?b|Pw3B`FeoA7 zJ%Zt{ZtT%Ws-XaPMWXZ!mG8i!flq0{cQmrHyTC^;F@7_ACb5r&(4%FO?SrHK$GNZ|W<9(nJC`dXfo-jtXUgW;f`R{lXHe<~95QYlcW>b>frz5j#G>A0wW_OSDA; ztAIBk4Tn${pP3LuKtkuio@e0QQ!*i1- zjCn*6SMcD_SgIdK)Hm|Kx4xDOXR1G^La+i+g|uF!XW7i3&R%w_2z$i@(?0thrXd z8d3Tv=Ncw93KSWwQZIy|FMgGL8twd+6kW((<&eIas<&5v1`8UV(Z>e5{i~I6WYFYK z$tuTojojqswOrzjovW9HsR0`;95^Ja_~7w+-|CYD6Ual8dA>K0HxjDD#O(e-oa+f`7Y zXC24Pu<-9~TGd)9NxdmAs!P37WUdkrWG)yuE%i?}j#t#$oiw0J&iv~1$@w&y2^%z7 z)rXG2m7EZQ(ympLDDdktOOV3;mAn;yh+@f`cdMYcPM#h7p%lcZaQg=?!JAW-%TbUd zFO+x>>rqs#T;`jen*$eO+s>}TAHVD@WI0_BdGt6XPj6|%Qc(ZA=tl)zO^Z{$JPwX{ zmkA2?NB{UMIR% zHxpo;L!w6x1?K;Q*M+xiJbl0K^vP>vp|h& zyQ#~$(gPSumBilt!>-}i-+gbx9xP?}Ti5^2jtY6Wb!;gMroQ(Qc1=G^-3lGJ3NgXI zrp8MnooU-h2E4m*cAGnxH@^Aa4=n!RI~!3inC)zdYYD=pe&J&jE;rfov6N!--h31e zzQ2exS1a;uIkuE+(o7MVf#b)g$d3(YbF$=1Tq_Kwk_&sIdyKxPFgBzYoqSJwN2+v>leZ_RUN0 z_n_H#i2rNzwsxLS0~MrViHi8MzVgw(<4TpVjYV25W;UZ_*TxUT9k*@s5L2l~Qz)-l zu?4E;gZO|S5N6=XSqIMd!PE|=iw=PB{wcn@)$Wel1lXah+-_j*oB+nQn)v=Vw4Ia-xcVu>xzn2ftEU)7S$D(PAf*sP8D9H zxU+A@q$^6ie>(ealqhrjB`B)2=yP>&-rCofA`NpKmC2X8D+*(yJVhOYhkNw1eh3CD zOe-G;rS;!w|)I_n^#+F7Y4M|L&Ct1gIG^Y5~s*@Is4l%ynj|) zGlhb~ty=pxH}fs)67P*!66`i>@{k9}11NE`6HJ~R_3a&z7KaBUA6WHlmvY(H8= z?^bO(g1$`Y0Kp~ktUl6nk{k)g3cFKI%pm;6+aaI4u6`QsI>gxo(!YA$cJm*YfRQ7--)Om+Xl$*RLB;H@8^=v zaugpKa=LENG}!KJ+7jz8eb>0ha+!jkKU}^Z!N71ldzZSihaZD(1c-Dr*j?wS zJ*p)6fiVB;#Jm&Ux2!9iPBr3rbV|tU;@DlY-G;@D_w*mW)i%qA@p%ZKh+rjEZ#fb! zE&2*W%5u&qR_AF3Z4tay0R3I|{FrgffV(Q;k@3gkz^stoCs~T4Ct>wCN>v7|=6-ai#kd1`b1mv6j5&-tZ?SH!VyaRuKNweszY?;ath8q;CHmC0gV< zT_QMsPz`T<<9B_fXu(X7bcj za!K<}M-4wc<-hSmTGof9e-H=Vd?wrI&@8L=xGf=_(8|xQ&o~hdG<}(m3Js#zO3NKES6*`6M|!tyypm~%x;eKJFpaTk~#pvx^i=Z+C0cJXkyc0+jx z6SN9fqfd^(uR$h338DeNTD-qBe>nlyZJkQW8{^eiH7FY$(uZ2DH_UJ;%%G@1c zk_z&B-#cw=80QZ- z?JY;J*~s&iBB89MFmJaSqWt}Z@#2&(7JW-Af98?PWCMy$$o1#xq}~$%WfaLPwolTE zQyZNPdF>^ppDx*tWIZ9KSN2OCI^^n?GJ{Dk29~8dU}@CP;k}wdbu=F=M_;e7O|C`K zA$SD+iq3w`*qEswI<=6#IFrJu07TgkP5{J9-(QaGl-M$4lSbi8`D0LDor%ydP~#K|9=9noZBxy>;?j_%GLERBr7Wa(-M?Cy90_FXQ^gxcpysGle zU2V@f0p6M`gm`$?rVO+%Xpw5m@a;+2X>NYgntm)jg)TrYp$fAtsS_H@GhBKy+=ds~ zck+_hBEauY+Jc(P6T$VP)!e(z=l~tEZB0LbNmU$8>mg-Bp?}|uoS4TL(IZ5&xJ<%Egj?M9osZqS{zCRQUYy2Z%Nb>kVcA-VR*N zj&%m^~)K`(TvoW=*h3Z6E&;WqkBn-BG|Y1pV<5 zV?u5Z`ph2*nQkWkJNSNt%#*MCphKE7BWeXvepT!BOPe4GUypxA)2meC?$?HKxTFC0 zx2~N*Puyl^wCf#-Qnxi*?>Qwbudek1r1;#AA0ODKFdVpjtxP*ri&*=3SFEnn+daYm zlJIDYR6fCZfS+2`y^zoaUQ>CSWUoEoYGvJBo;tbJpi84NGrwE;RI;V_zx8|b54&kg zS@=05ojOEZC*!SH6ZXl8{OFApZyK?Gt5!Ngy?NjG@H0)2kj6Aw`fPLJ4E5EXppm;X zM5?pfWskA?r3@3PhToTh<%WicUjQu%6)5wWOZhUUvXqElAK#O+N(QGxSZt3pvSBFR+Zz;Bh-9FXFK`hL^gydU=jE5n0s=Fv&aYE}V;YFGUlKMNksUj~wED_Ko|F$k73zX&0m zcCh&QR{6P!xg+7JDcfsLZ z(pLehSWclWlpbB|r31y9!uyin1eI>fSsQz2Yha(4?8%ahuVB{S_bO`2SLAO&uJ!_s zK6fGi{K0GuA*FACNnxexS%LLi4mr|w;mlBdO)CLNMMaSF# z)_bOa)f>KZU(2Z2S>C1^qHuWD%z-!$lybj*m|LQGhrWu_N6*_2U7Xo9LC^CMt4l*; zL_!+sRBe4&eT(W$UnG!ctBhK^Jse0}_z_PG><_l4;SXj?lTDh|8eXOLElAAD*kp~r zb~gzowATcPrQIJ0m$4pMdwS#1|Dc35{|hB_J46X(ulqRk>^uswwM52v0a2n#U86fu zB!yV^o7%;7NulN)ziXjj;^ce*l&WvnAIa0G$}yZnN^MKNva02da39PU;WL7Lazv_! ze!CAag+P2|r|^G_M<(aWK!bySEa5l0y3gUU!?wV&g(fLIsKDwBC+nw&kF8LscR>4Z zoQ>SQ#LS>4a*iZ;4gugnTwyhmRWYFbQPyOpa;P9fAOYjQ`J>C5B~0h>#csn zdkv=N@mu|05xdIg-#EkqA~NQZm_u-;%%Ye4Qny>2hLGTX-T%%4P)sMuLc|=;jGA;_ ze1ZjzU})1)dw~3;!q*Am&SAwYuj_-gS6U&51o}ex*~^*>0>i3zAJzc9p`4hP#PH3a zK@In!TIqtoNcDXEKH-diqs`rxyx00qiT>ex&YkgHa8oOHiCKy32I2SU6dW0e49pO@ z-muZixpoZfm`I*R1lN<%VBg(e1*l9(o?$N!E0~mGqrx_*F2L?JPo1UHd1o?Sww)YGAns`j#`~q)CFX4Nk z6vR`gzWS5@btVOkq6D7U`;LhyR68=meCiehw0!8Bx4e22w6cSDj>unDP9c~m{pVHe zwr_;U1V+lSneEl=Am2e`&RoC#mY~1Mz+hO-88qF6%05*a4G4a0R>_S8Hov*U7YsaGQka@%FPhs?oQC0y#7XquLrt?9sck-J5CB?dbl z6MJB@8-!waJge`&$Y>ErAKl=Zapibv8>R$#*IBb!qr2bryZAf?KxhXqFb8DpOm-Fi zO;&F$tsWa^Pt_Oo^}Y}-=bo5aHvO4>tZ6?}e1@X9c8L zbS-AMv_(YmRit=bAH`OG8z4nZa&*e7{u|C=%`;4`6&rJ1O$?AWp-`AkdCL1hBx@-!+B}aS5b=>ME=I=s$v;~X7#Y86 z9*8Yl0}x@+fNOaTj`%R-U|)R#i?a=!sJ$w{Db*wZm8kwPL{m@`IBeBx$A71FLl#XxwbD!^Dzu!BM<2K2G!!-$g zDw}6iTK)66OjQJ`H-DWTqlA(T&Zk|1T&l6V5vN&*7yd5b7Hay0$0GH(yJ2IfjYrjl z4;TSp<8I_?U<8=wGs#^og(-6j4g2{E=lVVWO9so-hqM#jd-6s{9&+&Z!J|1*WDDDy z?4&Rc6CsE#Xd(wVD8Ffogn1-Y3lX3DHRx)+C8xgh1C>cZAL>jYvpm;Av!}gRYmK+m zC|!1kVq~x1xvVEF8UqglG>2)*&o-XKPB1d$d7n>n7(DiSl85Du*rZUe9&?)Ny!xhH zv)7N&4g1Gx$1fY4Q%nmMHfKHyj`6XLEpfK>E@~kczWXtLu^$I%uxNWHh4H$^G`%z& z-n*f*>Qa9PNQ5Zg(YhGjQT@cu7t|kMU=l*2u8JL(1eKfGuXm>25gc+X^~o|b6Dm^g ztOFYdKJ&pE9F<5}&c>VXQ9N;LW+W}TFV@I4`pL4~&@*7cMi*6X<$({kW?#SsJIkWi z&jx1a13V*?PU_v=4(|=2+is)HW2LwVM&zmlUeWUJ-&?SOsWw4OH8;2Zc@R|bLcP_s zGdlB5@bs?L`?uznwgfH*5)-3F4_g61tNe69p!AyeTjS>H&I~T)e zj9GL}q@hRMTp01dk=z@G#Fea|r;3ehzj`PXe{qhPxi299V)4W^4et1V7BybVaJZFe z2-u>8k4q)Te@ozfEM;;%@%4|Er`@vbC*Pm5y?pxqakkbMKci0zz5n_4wYg7JruEKb zaH-r(FdENbRKLcQR!cF_tLt)Wm19e@yY1km;pU|$CO2Ta)&172elTs5I71HFeI+g4 zDrPQJUwfp z<3psaGC^Vf(eKaiuJQ-kULfqPv*$T79x$k9CZzqt^+#@Pm+)Q`|EM5GMRg~R{YyP z1Xe0r+4ahpPB|+nWKG#*B{hlk{rm`=y^_uF4vRSF=l0Vg2lF4fS`&v(W;zv{3h*PT z%Hm9Sp|XFLUGwD?PwQCG&**V$yS2^-3y0^W(3P}Z^TTD8^yS0mj{AoWPg30JdICVe+R~`s{E*Zj&HdjdOCZ@ z*?``{sqib+#qVi+J;R(*FUxd*R#FgQfg-gdO2???$?Bo+{L;*G=a# z!;HO}{kLa%>K%$JEV6Wy7~z*1fZG*CM#c%4q)G&HZOR$l+I+%XG_tk%Ez8uc+B9LB z|J5@iJ{?h+7MHbocUgMY1C&5EGoafso@Vua8C{mXG^7(U@hhO@XPs(I^$KzMU#j=RZjAk&%E9#Qp-^%ZZTGwC`v{YP_7Trhvm(1%d!oR;j!uQ-YW^dFILi5eX{RLXNkO>l zk7qMhi@l#z%{1D54FfOoN~vesJc?Ct-%36$KZQYs15?8D2x>0ll%#S_?tx}hIP z;Z24H<0_Ld^jG~bQD%O>wK{VM++Yd3sfdHO5l}bU8(7dfWwe$>^R5)}p7gOojNy_% zB^U%PwUqXa=yOnsx-m9GZXjL;)4C|HJE0zd+pgA)mR>ZX-@zWyk3kzN&^Ku$so_ArGXT-CWX=fHS~GiZ19{HrY(G zx!-X!vNG_J`xPHpGwdO8Xiqg5T1fbNIf|uK%>KI)^0D~2DZbf-9K+4Z_7plkTDWA| z2#K(;8;4Ytw>M0Mt9p9-n0+7TKz*EVK~A2&@JX4Z9wcS!1iN4Ew~=TjPNH=p4+P&%v9s# zaBI+P?}vjJ3+`ikE1x5Y8*Il^@5|Aj3DwAP6V3Bqr>zv?i_W>u3nj3Qzx6sSbp0ab zrZ*bfU<7C;oZK1u*@!^^kyJ#kgZ86YF2a1|Z4;Boleb0rI{5vHAX#HIe#iW^LMEH0 zj5jeCGaQK5%qF`1eUmxlx$SDR&PFQyGzuAjUH`$4af8~vFa>g#FS27*64jfH3*UK# z-kx*w?}1!LU5T6b|0P2(oQ&6&glDp=YX(XA+;;vd5PN51*U;emf1CbI zo7^kvAEI33hke%)>1+!2G5^?m>0%lHRL~ddJnD|Ao|-4^h+?BsNC8nG3=o*RF$ z{6g)mivB_+3#JL=%70?#-h>na$!Nxuf&-ztfpGo3IVIc4QLZp~EqkI}dU$iaY>&;- zsASd_2jrAhm;^Jz&RZF?6WGOd(8G9O8GDp7WBCkXmgM1wk&*oQyxQ&Tby74+DBMZH zD%GT>hfmG5Pf{8W11%7QdLRE`2*Kdr>qZ=j9`)Nb#0+x45~UI#DR7-@KYudUcMEXZ z(4Zko>KNLOmVpmkreyA-{b_^Jh|$B>ppRR`3S)Wji$fan$=VNiIv`D(F}N)BobF6p z(0Ar~ZOCS2X1VHWN`F}ll|PARQX{{%X}cH)-fsa*9k5KSf5BXWCJnP1R4E_gOiP+N z)sp-VI$)Ch!7S-uu6!b}#c4Au=+1ZA#_gX{y_yf+objHUEZB~^C41BrOEqYo2ue{R zj9=@^m;<@6VZ-F?+?306o9On37e!3sRx0~R7I1x5S2Y=ch3(*E8I2)u*ie|?qJTC4lRS$MRgI;}Sb3*yrUJBOb{ zskim}1}y7=3qO&}lq9lW>MgN{2sAPkK7$`WQ#GLD=qn8Kld)+>alg|xZ&{J!`~7S4 zT1;nEeZzYRFX9AvTsB=Gh}2_T<$vMB0NU?CuZ%;|%|jQ1wmA=0pz!0=gJxdl6(8<( zJMU-5qNDTx;lw&u0}OMiOnZr+e#F+gq}?NZN%o4}*DIwy1y`a2)ug>Ai$n0Has-{m zWEdpYA@|Rqtoi>=!gu@r3*YcYqHz zSCdePKEtF^*0)mMW`NSH4gp|1=`p}mRT%aF_;+YhVKEsn!fcn`WUfC%!f72#>hQpV zW!Owe)Dk09rHcA9LiJgFANm`0#~nF+GHM)t^Fc*m0X^KtMjg`KzO;I$dG^n4cH?BL;&(!kI>&Y zlNwIYAL2m;sO}XaDr@9l_8qB%D04{r5JHrIB>JxSZD z*lR6q4-9*}de2(8F97oqwRKe*_Py>VHk)fv=9&9!<{|VguQX&U4hI&9s7M*kmrG&` zt|H!uNQSEbd91PIiv(Q-YXJDp6m5G*0adH+*&Yci7RAbWxOJLhDB+vjKuSs5vZ$l@ znLi>d48=TAD*1o^QWB?9Owip2(L6^uqOJEo9z5lUo2{KDH|Se=K03jV{`HFOU(y>z zk3_^)8op`29kc&~nCN%9pjmyRg-04meP?3E%L<`b>Rp8dz}*ve!)_|Q{issZ7$&cH zv1S$gv*Mvj3PnTbF!A&_yTwe7P05EWX2>hFYMyt*-h<*6<{M*-ZWHB)FMxF?xHjg+ zNkT{OXw!wN5iiA==MO$SPn1fI}Brd2ptkGV*msTVGt10<@Q{Bod0|;Aaevp~GVRQyJ#jw@Ee&8RH#op}O z?s=f6ob@Jc{@*zye!TJ_4ITKBV-_m(halYv-a123qgxVWoHQn+e$jet+~h-vmDCMT z2ER(XFPTV@C{c24(0{jyJ_8Ca_tHHVVKT`Aus$l90Tyo%~y@oxi%6Yo6hY~GuV%`$(w&_2hF|BfD25|H2GcYVI> z?S6bJEw9f0<(hcEv`Tp0DbzuF=Z>EHDS&Uf=|;?=*#@h^!0X5CPK-92IOn*S7!1GY zYcYxOanK`_1-xHo8wwR5tn@PnYe52`OAC1u@v{yqhj4Xiw%_&9nGohQ(y?S;zb@v6U?JwoECqhdB5zDUY1Vir2G*8AC z0~f<<5^jn6d#@Psy8_ZjhSE(UOA`!)0^-#}djsOKBP{##Z$CZJ#e0w*oc;hk5UbUs z?Pqfup_P-n5rF4L-&U~}$a6Hu8s0PWOJp5)W>cFzi>b5kNvhB0NS}YucfMjK(JMz; z5mdYfohR% zo96IF=QHY*POVgt!Jya0no5NFeJpP-W@Mx1A=JlR;$?puD;p#9i=q0=dA|c>#1KRQ zn*{p300Zd=tf(q>!dhZe%xn7g?)QedSl11^H#Vd_3lX6>+l{n-6ul?hTnQyIJi;Hp zkLM^FVa$l2TEyEZzTsRQFG>S{il8R-G#%PnWVo-Oey`QjHa?)5r3dIj6DlWUY4UcErF{gqbam3y8Zb~Ih8LeAE|HrM4Fw{0neYRJ$6k6Gy0-U+D#uug-zq4r`zG#G2Ba;elcFQrydBIt@4@7V8%9~2QC%-xf1X{`jkKf62say} zsy&*_QdH^6B||cg_5&y*o)$S$VH}^lzWHaLDr`xee-zU(DmuhY^aTp!f?n^Y4qF4m z>F1dIFV?`_5#3(^c0|~`<7FrRBwu_5_qrR)^cJa<3}Z@yXXeG?R$w{P)#yK&c;yfj}>Vi-FA6 zO?$R&F!gGr;%velTBQ*s;+F-7yeJReYhcILpgzXh|d0 z+V0BNO24%rxOCA=*X->mRoNHiW2B)9HQr&re)B=CXBb{s^$fc_hs!PG=xoP^-9f}j zAgU(n*ae7GO){X)8)MSXGwp-q$9x41JwKtgdBrr`cD}0Z%U)xOZgjrUG2lhNI1B7G zjT{7XCD??X_k;hwjhHXojk-hPksW@2Si-(Rt+BLj9E(FZzaX9QsT0#Y5n2lbe0Ne$ zu~S-}%BH;;Yw-x>ixWe;8AV&T-il;ZAN9-9wX53f;%EyHi@R1T-vjJk|8=-X!R#R* z%w5npVIq!?KP+QovV3Z?Qf{gN?y{Aa%yXJ<7y8|=K+yXC^SxPhKmIkK&uQPLq4~T0 zxhbvV3b$rZo?86kgFU>M>W4c~?5>>J>qG0(>AE(yjU#{N|3T^f_mcs(ef0k9!vg}P zrnWgW@URoHR9DXTtrRf|>TH~?ZkoZ`#Fkum5vGU^6uPKrK)98yjuPzrR39J^>9rDP8j{Fq;ujG z!pQ-dvY1oaLJXfCF^131QJane?R~zt>Z+lpISj!>gbEki2)w-m%n88kq=%51G_Rj8 zXIjQ2)s=c~G5Cio?jGZ>Xl{4@o))?-BcmhD6HAH^{fZGS`^f)5Z7~a3xT>TI>fyYS zeE2i@ZX@>@rf-`*5CpgE`#6@+ee z$BnQcBm8Z4QV^*&zrpcR*^dM}gLCak-|7mR7`q8%vHI$j9qQ#jN(&MD z?}s~^iR-PMZfK(Q!Z)E}taLpf3Mf;%aO3M42`mRWui z%Q51ecLr>%sR$8*8#fU@8B4TS33pedB|=@>o=h^{JBNF?#T3!Z9kglsqNETN0e zx)_Vfa>im4q2Sl(cacMoZQkuS|45yOovIXPW?4D^bCaU>Sp(ZRvUhAOL^8T~V5)vv zYmHByd1lCT*uO^{FA-~JDSvRM{id-5!4i8w({k6;DRFZYj%au^^=(6P&r_xTy#GR? z;N~um;0Ae(mauPoMfA$0tkCY2qQ6*S^SX)P!1w*K_F8|&+^64sslNgw|Li~2YgWY9 z#WYXXJ;wPz#42$lAoSi&oR>9FbUP9Lv{P9c%S&vzCf%o4EQd88Z(Vn39A_xiW?ATc zjma`@9+}iM+qKLYPv_H!FOhefdHRuDhB6PMZKO73c;z#;SXXNb&OgCi>GRu~V-`>q z45K^VR9iA3-tHX}Rx&raW4a%Jyt5HP&r}BjGL=E5GR=MKAsvP_2+%@dUP-8f`l$*D z`&z7I-&W#H+_wtJPj3vBL!yy4ii5J7K1u5+qn zkCMhFVL}3f<3i5`Rli3Ynx$07YcGJ6#+CHjmVuQw8fjFosDJA6&m`i}g08PPBjnUE z-WU5p;T-Dqrh&rp?Z9Gp`8y@ij^?L~Gp&c-CoRWb$4weZp5G7QDlHJ$5+nq729)$X z3*3O;&P%(7uchC^w1_JMi-xnyMe#2t(=Ql4V7wHtGS&JsT*30x-@cEQZ37;Nndbao zti5+olWiBq`6{nqp}dMnCn^d^N4h|wBA`?er9*&7uK}c!pa@7;lp<9?n)D6=2{kA! zQlvwK&?P{qAqDo~{l0Hz_mAD3S$Bs2m|=!Ixu0{NbFS-mAAW7}5v^N8eleWYi9N7(b~3>;zZV|Iv!ik5HRUsCP~OI(k)AJ3NSl;DO09xFWf zGmpC92~S^_G?(t_c+y=}zzG1biZ`$VW~wbp_*l3wK%1e?cL5`K<+F=j;{x88Z(XtY z+yKIUhwDO2^bk8Y2YY|oGajZil&Fzwd?%O-k^yyYwPwauphgFv#NQj-=$QJ%y8NhG z;4kx7M0Bqc#&U^as&rG}$~qb+4X)56=+uvx*eZF+X2%d*c^{(|0Z-4Ij3DM)-)x3& z;Zdn6*lKcryRlWSQ1-c&c9@jKcFN!QqJ8>s>(TEW*T8OD8c^vM$8+vfiW0^kHxdFT zOUh;6AeWdwhD{+9@~xMw%}0XG+AW+y=`9z}=`vCR6WCxEF?+PgT18rkQ#EZ~8S~6B zMl438ex*oC{q2}3-7`mqOEFo6zBZ>A+vC|MJC8ai;_mG|vR~q99z@|K{%O?yS%nv- zU6iv8oVyv9y2VY1IS`uZy7YaDtEFX7^p9JqlV?IErn|w9RH9;ObCuPTa>i5YM55J? z$`rTYbmXfJ(+c`Bep7S>D;;NG23TcE`r?#|JeiU)->5o$XMBSjC#HefC|9(qCM0*j zeuIUDRvRQ`dz^#p=tf&*S9+lPV={0fyf$mq+?cR4)dkplx_rL|gb-C2{&tV?azvhn zzv(umhyGTudxnlNP?fWcMPmV|Kq1)e`4G!C| zNv~U4+4nGI4xKN+T{uX7i)t#HIZ&vA-~+`Pvk-B4;WsOPmh)&J_z9>dN3V5jz{g8; z`(N>?LTJ%SBYw^yscU9(yIbHuEgOKsbiJE+^_{%2609Ulj8NvIkQ*CZCKlU2{}8We zK@9z2rls_|EERuSKhAD)WttNG9fi+yV%l&wQ$lvRlZ1f1Ve%-|FWr=u^Rp}w=fZpo z<+&?7V4ar%?|;>^-EPW2^%v_pn`KX~^vQA)X#_cuqY7Mpe+Kca5mUA1;O}SNUG6ZM z)a|$KUwPtjrQsrMaDFP^X3&lU2C}>7ttS&4d$dNG{t%u=AF8_IY^`1c>lcdYx!;{a z$OwNa+PW>ttjdZTo!FDswGFeA9I}=yJ{%DNc1;<- z@5Nzy(H|B#=V>BP-JUbuDPdI^aQze2y|mhD!@w6QE%cuagsVDUrC-?pBQM^uvqpqF|2sNPt*2Zl;{p?63`K^a5@NOajCrr4C8q| ztkJHTwVk$4+%)$^tG zGABuQ<=#_wIqPOzO+t4IgHF#Sho!#br+&q*DRdI>8S3Q7C{*(}OlX|*z!jy<%JY;|@$QXYv660#*UWJ{jV@l%J?UqkcC-b|3e!HgIbyw$W$@g`DOktIZENQMA zdZ({SjJ(p+Opgy+jlYGH2Q4=$XNa+W?657lI768PTAUMl>NgL!+D0if3hDPmSy%(C zk+_-0?!eiU^6U@oNiruvAdcYV_vJnEmM{sQK&e>(ILvKU2fJS|>V2wdm^+sDmqWc; zFkVj1W2$8nA16lp_EJ@3hCR$PS3w@Q;CwBBc|5E%43rX2mA^dlM&t!SqG{$vu)eD} zv)ARU;AR3g+)R_qDQgJ81qyn|iXlW@odZi&;SSdJMM6>s%WoM?v`e``9zFym*XSNtmu{rNbALkbJ2GDNWhGzgo-Zlu69EUw1!$lZ>7wV> zzKXp;JE%#-z{{S}q+*|~f%%suOF!FYuiG=`A+h6~LPU;;NtS&MbZMPtemnxBmOF)6 zV1gM@i0u>oq>!rZNb7vB2qltK|I-K?T@g~VCI2a?8$$Y zKyi-s$GtpOghGKi7c<2p^dQL%^f^*&Ls>}1X<7cDBGApdWZvb|ugCEx;wbH3FXZt- zm*&S62PF4X_}Qj{`I}{*Ya?eRRXDolcKgR=dP;tuJf_tS7NV6*u)Y!My6vO)B9a4= zXb+oG5#(sdbeDVQM!h4;aliKmJEZ2zGcr}m&qFue6i;8@r{g*ZHbi?U*B{V$)U7@xtB@kWApt&yX=xiYFL~P zib1B+?+b=Sy0_}2v5_D7{)u%=^W&|rzabs~K8VNU6h4O)Kn)u?ZY8vfI7<+F{vF3% z1jcdb^6y@u+=i{55s5(nUtjqipV;;C+@6E}3+ZTNx57}?)4%^D`b+m?2mqGb9#)*2 z49b<;cRQ&)z@CYJVgUEmUD-EbN*U*`TYE}Dd5*i&wW;M+U0H6@Dtoev=I2=WZdgCw z;lR9%bT6$w$p`a{0#{6}&hgrhZrkdJhU+&uQU?WVceHRx#oG0O00VFw@d-%#!aQBr z6_L%IUpD4>Z;wuy;lOY)P{U5hvO#`K)rvHeg$|d;j4S|}Ti%(Qdic37_Tsmfzbi1B zQVF?f>>rM*a<&X`V}qaw{SNm{LEL1}q#r6$Fu2+ZpbO>`Y}QjC)Yx__CuIm3oMUYj z)$MGPea1}c0Zi?C2kWFVMqkZy-n+bU(O_t|*E8sg@8oIG;>+=Ba%HHG={922gsH|| ze4j+KZCBS--p{vpCqqN0>U_N6lWw(&Gs-7BC!$z2Kp9?>R=U~E;rqIrh@TL8e*aE9 zciy$SF^*7|0f!OpG~l1?BZ|0lWIg++{)d-l&65k-Zd-bQ$x%y`XGrUpF1z2-ol^{s z+gJ7ZYK0i0Z*Qb{V98Ib=^`v1bIHm#mD|)UU*C|}3Qs_Ok?Z>O$;3{^&aVQTK}{_-N@-C89iE2^=W`9G%|iTHxsPX&T?fup)oD z$4GQ2&WDT4f3#XF@hGVietg>a& zUzWEVr7EM}&B_Pzi=F0PQR=dHqVovg?{)<-w#x;$2}LB$f&1^H#|IjOJnPxlo8vQ=PS-rqpM`jzW#BEgpxZf*o$L8>B` zu~*h?xC7g0&wv=Jmb{OhOIFUHpvp3gI4~j#La>n6|{aU8|Yx z6Dq4|t_ro8Avnu)0D}ivCSWUcnJfBdyI_ZyJVfk$5Bgr(8lokjxJbTLrW9AURa^OL zSu%bWNp<~;r4D2Wtc1#MiT?O@N;X9~Xu+IQUbBPsuZ0yok5Etn;pb1!-TSDR=zuxC zIcA>uJAJXuhUb503MRsZhw)kd&^hMqVt2$2s_~_O+xhF=?^vgdG`YUB6nQ+0Rl>Mp z6}F9Ic-r#d&se*?X@7>qjJ$MGSb`-BER&GfQ0`gz8el3GI|@w2rnX=rlz;URCk@EY z^-os%AcS_X@gr`1mrDogI4QSMk=k%&2f92cXuNYg1WMa?>@j_q^`g4pi{C1cY^{V& zk-;392XO^!U=jq{6XaAyLJ&cotko@J8=oE%rzjn%a?afNUlHIq=cn4o($L@g*$MOY z2hS8gwQz0CF_yMOx2Sv@d**Z|GaT_K6V90=4`go5M1{cRh-~yD|7Gmc*g@_MZ`QhrDjRP zjq>3*?mfgm)8G)*)nQBvPABfnk^gKL&U(_e2p)y#);5#RFisU(fK}f8wArk)Ao9kI zht71Nlv-A^Iy0Z|chKh6?UkSXZnZv#yXrPY(5ZaU0(mIY32^?4Pv1j(iT0h!^JKPeV0d0x?)r9eoK^#XpH6H?mb}E!yRy9|TB%qu=#GOqze zRtK8VLvqms1@=W)nYE23@=6%iatvHuBlCnB1BaB529{!i)#N_j*3E;~1@>7xs}5#_ zjTg~l-jyD(xyxp{mpO$7+v#FY8?mf=$b0^J!%$!?V^cSlLSRTly!*$W!`D%CJZ8c& zQCT@->~+cau%0_pYE@&;SMQ$RU3DW5y1B94O2D6KfWp6M>3fS-YTZvKrMfyC2kAS@LsQ#Y3e2 z)%e2CkRAk=Q236(B-}XMIXjg2G!}$O{#RV&UMTTK*IdLlf5q+gvekY>f=IWN_?8r~M&6 zzWt=Myao;2O2(A0c+1*I$dzSqrPWt5C<%PvIJX7zDfi`SoZwUHDD6LhPhCMwnGb~C zuva22^nTi|wlGYC8l0qpjXAK6A=122QoM+D2rD^fD2qiB7xV5t_grwQPKINNPdIM( zWhzw|zFAG?4u^A%EX{kgUfUa%|K0}RN}4$x*Y$>jBr#PqHGUV{W~G?d7}gcRtNsLDRlT zEuHm8zOrNoffU1XOWtm3)aAG{{9Y?p zL)^-d#96iL5bN?a82u-8EQnG1swd}V6G|fN&%hh5%_^6e+mK;--Aol8 zV>>}oj#Cm$=?03iS<}`*eaDqYFEt)Pngu%Ri%hhXNkLWQ zlArvyf46zd6cM|vGLQ4XsJ#abXKI<8XS(g9#$UE`3;ovn4JcWq(BvL`kep%BALzr7mW>9|t*A@()$U7ir5oUqPN}!h zq{2yTw8M6wUzW2ag^cimlWB*y1;^?UbaKz13kt}Ipm zCY`AKJRNVKau)~%lU@0TdFERrS&=EXL$3y?9~tUxU>xu^Pq)jkfC!XVNdJ!ofPZQ@ zzV+q|J+s`vFynA9F5*$(`^yDxoGRsK8v62Wx<61XFXS!SD|6{AGsuR_regqY|PLRjW4 z&F&Y5v45_nKPmVW2i>NM?J(}7$eF2WeU$2ne0_DfjZ@1*VX4lWJEH$rL&X(fV7%5Z zF(nzdnPe4k!`L|sp!judGXzimRkFx%w#0JSQ_{)D!{K3XZO})dc%66L`ee?;qnw9~ z(SK_j1grNkC^UV_{rf^!~I zV2^<2abns5Sg8Cpyw=l@Myb^`f8qCk@o5r@iY&mtNDSYlc_XlnUj1bsuAGQtPl=V=6lswHFHzLoN88h_TnC!I9#>$!@Ac8`B-UsO64%s;+V zX5pk7?EX~*;gYj?6*o!~Azucvin@7(NO)dqXZfBC(mv)|Rznp#OdN z+}CM2Nd81|@!}2~n`aoJUlwEVkvZb+4{XEVxs{18W7#_dt5tftlu?o{ z?WsITJ%087bD;@3WLwL5&cr1JD2Vubr7Vxe|Cs|#{3NJ;#@=fv@$f)7Ja%?k!*V}N zp7yT+jN0BQMfmF~dl_(>U-!#MNrHOZf(w{-qcmxs9=@*ZZYCPAFxu*%F3!?_-q@Kc zSbT!&>#>*n98doK$)NzSaW`wekFIDbSyjSweq=^q#%Zz)1%UO-q0nmHdH1_tIi&1T zgea*7ezuiSelPy$Iz0o$03)TVEV~}3Vb$-~8(3@CRFzYN7ICKh_rCy zS6|94sCHH0b|cL6a1P4GH}juGd;uo#B@&~P**oni{NG)ytfv9TU zz;c>qZ2$ClJ1=KQ-&0qB25?}%~)hC z0GHGIT>6|~KUI*o?HH8Vk`<&SQn#yy%r&Ijo#6gHdZ%R5vi3lo0jaOR^!M+dJ0&wx z)1J?{lwZwbEl0%b?tx9K(e9 zow}*e;gVsB;9AB*Bmb*P0(*|qc3dF+#<$o)9dd)(6Z4TbJ?=Pdah?HE`s9|^Y)qv? zXrsJa#wCen2Qh*EEA_R6gf zwCbZRgp$EzJBB+fL!ELoWsc|PSh{#c%32IeAn3~Ks9|j#cHf)%pet<+g)=40spIQ1 zC_?fSVKogt(X&yUO^=g_FTDIg-gtN_Fb|?@WuD(%k}3{6zdxC*E3iX4 zg^3AK8Y30eQE02swDWS&g9@K5d%ii$blcWVDfTv4Rhy5Gl6~ z=f3|!j@{k?6OP(#-(C8%c2WQ23FWXXjr6v+z5gjICza{&=pF53jWShw>iBSD@0y*` z5@~?wIs-m?nY*)5zgc$~L-gp}PefOqlC3!zajE8p`XI#gJ{nRrU_swI0sxwhrxh#B zFC>4*nHI=QU%9(OQJHsNlsDWp*|oN;%tP5^jWSk1G`JI=Oe^uRos57mr7WW#eBy$&D`C>Z?*K)sIg*% z0r}X>vr4s4;=Z-VuKTS365o}@Epv@OQ#BX-JL%o~p6+LH)Dkx>kE$i6F`SzY-(+28 z7w~c7dm_vM+^aH7(S@w6&6WVhCG+RdZ8)aVKzaXdt}~mNs+ZL_7W&xA#m@ZQiMB#1 z*OGL!Xo1756_a^r8PyK?k*_*RtIpnwW_6yMdTO%p#Pbtc31kGuw5Oio|81`p6Yq4{ zm}Zy$VtCB7w?}R$^INCU=2-ZW4D;svWdD*nuzoLacU<{hh;!vnw+vRZ{taj`akI(& zo~mAS7WFIzStJqTpqF_CoFC2`T`MN-hIGM{D8DY-5`wxG&aRhSeAlU;$s+hTf)b2C?8)h|3CyQAu~CFR$E)FeMatxSa6g|*o!P^u0`U8Y2|rS+pODkK&1(~X zVOUlukCcd~p9{qP2ZzdGtt{}>4SL)`x5NfS7b1g9i>1z%!T7S-!EYuw;!t2bT_m%XY2^FH!k(z>sb>WC7N6UOlJwe;MF znuigewp3}uoDV&p!Avn%B*lAHQz8%;`^O7T%l=;;E)#C5>;9KZ8c-%JR84M{Oe((X zSzBaN7aRF~N;A|9V3?uGFRuOw5+&4R-8u8zzoF&z7jAQdVtKcd{(myY%O z@{Z0jKfJB$!t{@HLo(;4e$3#X=~@9Pa*k5rZYX4nB^g2vO(tg*fEOPv->0bv}$~D2(6+ zvQN=cZ126E%r2M~4wl=w#)vuR&K&tE>+dEao+efn0|+ByZZ;Aqt=q4DDg9f>gLn9f zNsh8JwUE4{T&ZwaPzjq&WrTFCqN<~XOK`)F@Zzy=k%sOEVQKpMZ(b~yh}YF!v!rys zO5z?C)I^s_^*Nh#C*}OE{|o-G#9F_TBAZ`-6rAWXKxwn*^3=0z`<#Uergk33^x7$X zsY*y0D^~6E@wRW)>!@EQj>H5a-UP+M&c}mqcT0mm#a`ob{t#}pri}?w&iCdKd*Gj! zLFD{k>z6q{IvlW|m9(!3(`y<_HId9D9?E)>g05t8A&n-`2CgZI1zLa9vWTBQoosRW znVi~@5kPAJwEvc?Vp#tHUkNlN5RKd2XbS#C2WmJ;67FRhgQDHr2lP>=6uT_}o4t~~ zMS2J6Sw>mF@z)2#?S46jgecP5YaLi~5lN`)=DTkccy#O(t6K1p^47BpQ&%@Cbz03` ztZ|0<(MOo?`>r2Y-%HxC+0!}Q^>qp&{M}LAQpghR^ZV;t?&09eh&zBwAa--reZ&=Q z?DcTCvoe5SZ$5J2mVQYrkb?NHRi_8A>hzr~MzQOR%Kjhem@V z?6kw{DH+3WuFd;(ILYIml3l%N%F@1}p_u){F4I<4)AO;Xo#$ergSqbS`6TY2<#(f! zq9;2KbLQQ-1e(5LQ?MzUUb^KHe4rnvfW`kqFv>JdAZSb`=HON=J7VGP)foAoT;1qa z8O@s^kqIE^R;oCobicoBW;pHAW5-`iv1iVCym1CWJVnmmNU~zHSNeA=lg(9U;?Q@$ zD9?jS;ggbOij)|>D1pA$CY{UeFj~E#+g%7R*7b(XU3W+H4|f8?H$C(LRe8_*%$0}_ zCwW7Q;=YZ&+n)u&ZM#E@byIGTbM5FYEv(rrG0yj2!!(dDu_P;~KP>p=?6GCn%iuW_ zd($cu&}hn0$E&~wqZ>5;hmo!*4c=40GRHwtW+?(%l9o!>g2=kU>bySTa+y_KnQYQs z7u~F=Fv5GeYG1r=db}i#%|?|R&fJ^q2_%aJ>3mS=^g_=Se2%R6jP+>j1f|4I7R|+f zU-9ioW@?)xWCq5YKt!wo)2bPh{W*;nSJA!pS9C>Xr~Tsov)%lkN5?ASg8OB}nADW> z&7;3b?4Ay@l2v>gM+}fgA8ILPr!?`GICFOPP;(R#V?V4##nF{n-?TGV+(pIL3C4eO zn575XHfA*UT)R1b{;!OCo>2q87CYn=Fy7mCUt>zW09q(Yk_*n3_s&7CW1_KifgR~p z=@TPzXRf;@FmV%i6LIHF?Z>1B4u?DNzy=_HM#D-5_F0WGk(jQKMN~}Ofe}?8~5c4r3lU;r}`m71dsro@9PCBzVVW(;-OPDZ*bliyH zc@A>}HL5DJ@;*vELMDz5y6}L(JYb6PX6#s+Y$`ZksOiu_{a*H14gvre~+0p0RISp7-0jb*$ z;_l6a?rF;w3(;b@Yf%p~d;GM#QsXrsc(GW^KU~FrztrG>DtxV~qKDXi&$ED~O=BhG zaX~xVVbHC^-uj>&d9hTE!F8lgr7r^znLoE-#7$v93A5TG! z?R#N-J1dL03&TW%Gj>!`bWv<1&vUgi0{mn;Ym ze@r#X+aE`9+s&sy0gFERa17Eiji3;EJNOPA+$l-!hxv;X)WN1$dEiWzsQj!Se)~g# zawE^<_687D2&Bk4ktH6nu6vZf)o#u0dX&|Y*brb!o5nkB> z#JaX#{?)1Dj0cTUz?JBvTlP0s%Ayp9h?V{ya5Ws||Kz?K+c5@+thfw4Sa$ohH!auvC z^{5w(8()8)IPYKf((!GDxVdnjuoN1n?VxJyZ8_X-4Twg{%qEJOu}O_vFFX+b+=v=0B`^;VM4fWsez`SMvEA7l?lIM`*W@*w z0BCCrcHt*&V$%KxkE>cIFU-jK0`l2vJRv5Vs0{O0mi+uVz9qGq<)M*vQQDqT^8hmc zyy_@#qRU!1j@&#JzJfI}_VvZWmmrxa_US8tWK<9Hercs{z_emn2wdILc^J|>p%D&1 z%>6@LAiH;!_*Si!n(Df74KH{I3nBO$*0igCF=wr$V!!<^3IC2=KBTZ>zW+W^s^@57 z%%Y^=eF6cTxQmO<;mFZ<5%6) zGukml&4;t2A4g07?2@RP)S4$~Ht~2INh`&ziP9376;=4hqkAeRdCBC0y0cc@*=b`=+H=IsvEs1 z=5Dd!ncPIm{=9ko611zVcib#tj+loYea1G-g>$EVjBrOT;f~g~KVuKE$>_sFtTA}= zLgpOQ@;(iE$kxqrhj)NFhKufyC=4#oxgWC!O*4YkmH%YuV)Wi;$48RcLw|JFej;st z3K#6Vh4R2*RwiQjeMKXoqP~C*B`%7RvizQ+Yc^bdd4vOAR>_vDTZ4xfVW!qlp3GI@ z*x)GBoCNdY*g;35)%Xf(fYMq=t--1w#+`Bx)LlA~d>=Uy{WG4z#FF=5#M#IY43I%A zzeJ3#!5<}5tJG1-GT?g`X|iRg$7d%6*ZK#c!G;jUerMGE%z4kHpstH*bL*tk}VhneeImgz;d_Z)Cv58}U zsR(v0eOFc|E$+1H>2EN~vD%zLi?tC?flB=3Wc-hp-kd29lH&@Dq9=Kl`LTg{@zAG3BWy1FB~x4X-u%Y{^q;PGMv_TE?| zz74$fLm1`xs^N>q(H=KxyK>f@POERfmi)<%2d@+Rp*EWMfT+eN(sk7N7e;L`^4K$d z%d{a#uT^c?qzsSj)*2ta+10swdzR!z4ht=n{reW z7k{^cl1@~G7pfbGgn>zc|TGAG}VV%lj#&rJk zEci_J>rm(9+pGyoeMOTT&-ah-bF!=S#CO3gW>wQt2&MCue`WzomwXw05`ac6bw4P- zGVR$b)_Va#7`rfV@`(2+lO~2npewwTb!qA{f{jvRl|Nj$}VaotqeuZgpGagrbay|KDu^} z63L=@7cX)p@N&4+B=X&-P8Vn~%Ql>9t;MP#tQ{wk_#&{9gHH`Kxb<4`2>JNvp4L>R zVs8V027FUp*f@C=#NGp~mn7ZOK_vQMvNu@hJk3e5sru@m>K3B|BPwvCJ=o`8)53R` zJu4bamnng$+d5-xpX`p_n34j%2D1#4<51c2B9##wzTcoD;fjUr-TA4E2#mtgCt04) zESQH&k4$TU*M!tsU*KlB)Ko4fLC8h5MRBs8x*$`|rif`Ezd>=C4M=)Em3EGazF+#? z=uSkq-ax!etp~>5An9VJc)F36si8@a^y zVXvXi9>}T5!)o|NRtDPb+0oI-C6(i{^`{5ckv&`5rjt_~p+mT^BE1{ckX(qekGB26 zgVG6!xaj9DvbNc%hk*X@a;E&vIG$h*caG6k?uhA);>a;XWj@XNW$XrVjPXF`9pma+ z+UPS)sA6hWsUgSleBM_HEUySCW(G-uaglj|DkT%;3tni;Z@mH*VZczl`-}VeY6G>7 zKPkFC-kxtR{K25Z_#OoP3sc5TO|dJ#BL8=1c#aH)9+L>&9Z@jvpTFCFuz87l9dB@$ zS(yPBqR)QZB>5d#<-ujya#f}-JIJ~@1k5`uNqDLsZjlFR&v%ii=`?BR8XWM8uj(_u z|7SCDfc&w*BCJBX$6{XAwDI-yAX@!#PQcD?0n+W9<3-NclDjB5OR5%Ac2sll`?r4cS(~f+3<}6vYP!zczOkDg?hQl1+X47 zZXdFpg6W_WTW##)>z_Q$i0gD%2y8_@<=8aDFE{`1#y>37o$%uyZVq>m#>4~1AY1}y zc;gug3eL>?aTR7HGe23d&_g6qx@&wNR=>I+^DRYvpt$;gCFwQ%BG`Jlr$9Ts+QL8#FV{gbZ;dN$a zq1fQPe7V0OZhG>tT=EaCm7d+TH=Ax*+6`4%Lqw-H2;GbeuhnC=2W}_QwCiD;4S>m- zGIe4YHS_rUO4?+eEQGJ%j_PGa(({0LUZNHO#lO@%9*!29sY5DnqdL1S@k(pilP#Ec#@0Jm6IbTLp zmV>9gO=9#7xhUw~f1Pljlq(XkG9L(r`W!s-F7{z|9-u6O%!0HNpaIf{+{@$c8Shi@ z?vJ1LaqIx{0oAvcYA2U$VF0V3M$<@Uz%M@~y7-Ya#x)>cjLU$=m$(b&;CgajsL^Z@g0*=g* zmWNta*)*9w+OH49`BDk!#em+@da=#mO(>a$CJ{jvWnb5NZXa|bb|aFTa0IuTqy2|x zN$f5z9s5sRDGKBs5JrjZS(m)TzDNe?XnXp(+oO3?N4duyD`yTKC%-8;;&M;HACJ`} za;VJ4kG$X+dvnvPU-U{Y5ZRksQmW9TYNIKw!0n=grY8hVguKZ$JP0Kg`sOQkt61~k zfnLy zV)B*>zj7BvKksl~>8lDj)YE@p=jK~_f7=dhx4t`Vvu6|CfGp^o1mHZOHm>F$MlGb3n&?6qRS6jXTyDN@iT+7>z3mmrk}Q=sLU7Eme%$X!>8V+bjI_vLpV z)=MbrUbrI*%)qZub{`=hJL3yrPXOy3SK*Njg1vnBL(MMsf9%S{IMlM#IE-4CZ~+*Z zbUg=9a+Sq2zd5;2(G#fbk|3Lu)#+@s;JdUAY>9r*V!uKyoAF;7mKWW<_{($8|DE&} z|LT1gzyUMA82ZD%@7G1d&ydB%3$Lf&v%l`G%!2EGupJWy{JI~%1h!LSFX|_8OYpZo z`m3SU*^AH0{rf*G>(NH^rcn3`K*+P@*PxCuWJWw?SiafuaQ1i! zL`qKF>U!l|-ZIJ}NF##KZin)a9rs}EnXBdo{Ca^iz$i`1$HBeZ{F_w0#hXf39HCwV zCFL%llG@b&Li6Cr;w=8FQ6={@dOYF0L`vY5y*BE1mGzI;<-3cyHkbyo zPyHz6a2?zb&pmS4Ng6;dSOtp43VEp-A*8;z+ONl6-11#aKB{}s8_!vYSVzPJqV?rz zR&1MDLOm`N6->N^$=t=o!j#ZS>YYM40ZPZFHIl=u+qNb1v^a%akKdYCl*~kWyg%@Y zm6hy`7&dxfJngmX!RX-K0`%VNUa*-X0JTfxJ0Nw7AxRMu zW+$CXmTQ%|@83W;LqI%)JjXHtUL#$hm-R6mlVE?rdi<5H`RDkI3SiI(_dKo&Ka|X4 zaghOVXYW_r<;CEf7^Ijc)I0`0I12=(vQTodmW?CGOX$UWc5H{!EB0otF56pkvd?$! z<>B;Vw(m(P;p?mt$~GN0z1&vfNQ+-e)`RYl6d$IF$OZ7x_3y$J^SvbG;)uK@Rc7Jo z#`O5$9!-T*V0}Rk(OsPu@*+rn`=S^|>^AtQ)MIT|cN<)AB)Fu(o@?oqMF|)-oAq2i zJjSZWNBv2vp*RBAKvJ*7Dfyv;->s@iAifh{a#f~?}k;4r{;cciAg%x<^RgU3B7>TxWknhwgA1=Gy(98fG}Iwerc*lHfdgb-Te05twn;JH)BrnR3~Je1hhi6N}0|Bim$2aP7d-u0tJ=+j_CJE1}0^;X~#M4Yet!}nzf2bC-IGuGFuspIK zcbRcAr!HIpM0602SIz|iJ$A}0AlEO8G5xa-<68yDam0_4f2GfUgDVTYZX6#%m)bVy zsX8_^Xg}ze_>b-Gz4~e|OXE1e+~EI+tpd3ub+c8{$Ma+=lzFtsz)cD)a}Z2gg$ltu?wX>pi(Ii z25H#rnRO^<2y;o@8{?QF0w%nBdlFA%(gA!(ksZUCXz~_ptwVG2jSJ`ct?rQ`Qw^_A z;YUHQYNavs)U|3oqtW);Ch}9t@~7(xKy}H>s#zoHA+k-Ye6p*z#pk&xuDXEpE;>|Z zC4PS^xg#29_w}awnVT~lEQpog4eDLC0k7GHW%z_|Ay^J;o-4*K^C{m5pUlu}WIRyN zj1-)UsBAvB|+ia=zafnAymcv{4;5mrrRPn+=4pK8vDndkwiuPC|J{|816PiaegihIt?k9vfYbAe&y%0@`c5n-@&I?dx7anIjF z7Z&n^7_Cn%d2|2Z{&53q|6d$=sBRG9XNpGVg?<+(Wydl<@~@8GnU^QhSfF+KzQ6nP zP-#t`W^!K7UGaXkz(S|&;Ck&wg9yA&7-dILbTNBdU6h4l7ICVD1og@GE$!OBW2u%k zwV?D3Nq#H)a7Q%NnevZ)3JrBBO`Ee|NMcIGlI3?(^>rn-OC5qoE(zr}knD?rAyK#c z3*RsCg!2&ZV-&FK-*Z|p#Cg8RRrWn?(5J#4pFijnwGwtij&6ZkRUQ4@-BNXP>Q3ws4OZrwY6t zK!?N<6ZQ@*Q3oyz2S|3st%BZs?!=6z#gn@y^8dneJB9>qCP^zLi2lx&5BTf!=Zgl=W16|$T^$5|>0{bIE~z2sQvUCMsKTcpg}cQ@ zOWnVRxC2Ri=Ur$^s^^;OnAT^@m}cC){T~bQJv5nr*h-)@Ihh62z=lad70RO_`&#Bq zexx%qLtG6ME;#e1cZ>}$d6?}&0rz47SC3v9r_OeLcZU)D z$8M;h*X0Vbf7EI{wev|p-29shvfbzn9Q9jwb=7>PC4H13RAbu27+!PGGjX)wE?+}x z+Uu>w2*YgCRnTxp+3U!kcPe%z50whb3f@T2KYmQ@ZQs}{Z@4z**0q_KH%hWs zSA*(7=OX`xw1&~24)|4IJNqSx*WD^WCSl)=(NO6O4q|&hdj6>TO2!Hj#De%nU26NH z&+oil@c;Ay|37^8|M}Jb=?S!l3e?I54n^cho$1zETq1B}I$LuI=3`d?`%z z;EAtuz%szLDpcLx#K+EMPhLfgYEL;nCL1yI+FsIb?)+JC*vsXmK#72sWtJ|&NO7aw z$VP`69L0jhhCzx6wRIFjC|2N#1x3O{{6Uk`S+ zWbS^}+0zyjSxmzeh`&}43Ku`x=Wy;szt^kvdTRJOUZE%XLs;B?p3*C7dyyIOF*$Kl zXINr6Zj->(8$xEQ$80GJ96Q}F+V(dbk%>3ZW@AxN&mk2)Owz~@(v6L0upDMFe%|)k zYq8;!k9ZVRB%0U%ax&tQVKT;Myho=QWq38pB{lg})HmB7=lB9k_PK+99TYX4*S}XZ z|Ha?rN>5Sm2>iLRLSR5Pe=#FUS|4Z1C$UfhEJS%4YD$?)V| z>t~29Q}&!*(m?47BX9p0E=X74MVNf&^9^G;T9Lk#l+6RaFRQ2de~|W`K~09=zNj4) z5DQ2rDk=yFg7lK8C@8%obcld}bV89HL=>b3q=X)j-fN^25kl`(X@NlKEwm5_aO3~( zGk5NtIrr?@&b%Kp`SL#NS!?~;yWM=M$Lf~i6aLAz{$*lx&T@#Y1#mJF$0Bg^RJW0! z&IDw?Q@`)M7x3-i0M}4nnMm^S7o}8`OKb%f1|rqT$2!z6N||)k59B{CN#`oh6NlX! z_BH`{Uc#&)5YY=-+8F$+f>dJQeK8;L+@sgfGuR@m`sB%LNC+LD+AHn|&=BTSA(OCr zoq<0XInH#Np1J`_-2cbpFZ%Za8bU6*hj!68nCiw|e4jt2W#7D)XYEJNKt>T;>81Rh{^d{&l&xgHPBLwNsbZ} zsPnv-tf9h$0fC7j7r#}R-A7TwTVevf%Sj{Q*evHPScrOvkz}^0ci3GecTF`;>VL^^ zM{;6^yE$^KMtnUAnw0zEf}y9Z1s6$rU-FHqWO+v}KKi>WM_u^{>VIAY)B@V7xIjr8 z>@!Kk392}j&U(w0k~r(Cc(4xk;samtJB_f261d#!X8S{*nD2nJ;1>6FqpxCH^vwF# zlOSEs35t$CG<}HZqrz9QI%4w+&Z1n$3T?|xxkCZ+hSEi`U2D{U-H3orK)N|g8-LH1 zu{E#no3gRS^SgwA>%vD_#S99*KfzsZr8skMIKJ$d%j!hgY*@#-9u!x)%_`KVPs*%ia4{OY%|oud?oyG!AB>A$30GFi zt3C}=O^zhHd4~}WnizDi`t{{6KF^p4`nN72`L|5wn3r_Bngbq=>&b~56pT-X^vEsS zd@{Qlf$Z#=VClUAaErN>)XE)iwn2w*D-c-Pz5}+yL-FI1f>8Of%4Nb3P1nNxu)3C! zNP&T#c)P{f5ffXB&kUw&;g@75qZm|-ASWWWM+CN5g=GWV8s)l+snf zrq!O!WIiwC5Gl$s=i1!96$4i&zznE zskhGDGds&1?U9NKF`T;(;K+xG7#;QsRh65wW{yOajXD(FDhxK)CTkCbcuQNMAE0%2 zs5#qpW4p+cKc~mk+PRp7qTXAWy&Q;BkiTl%#2!9?ZlJEREhahp16IuLb8JJPmCRTo z?(3}{82F+hh9k>#kgIs3_W6YRQM7tKAD$XGTsuCrczHws;x35XCj?!ygm&kjXfYY> z?eDEts|B7FuMayNInl+;NrNhp&jp#qgaVuALQ2Yl`zneRT9n72f2%^ol@(cCEKk=7 z8*=teewzbtO_BPQOw`0en1th!no5v)yLb;RRxkz+?^K0;6oNRuRw^N;R~sv)FCQY% zPhWBMvk=)+=W|!Se_cP(MvPog`T0M8;87m|;6rS|Hb7%&JwTl3G)PH{n)dJyig%{w zOxeu+lvjDbENLheDEH@Q&y>`*_(CBPg*a+4Kf{%p3k$`(r&fnYM9&U~Nh1^T$8)-0 zcbl`+PrTTyNIBzmvl|xzzSfAc4dNO)q0%;(ZCy6)#men~Aj$q>y^v(jO5D{)$+s58 zR=$g^-Eny^-hP^i{@noum%e)p-L6{Y)dLm`A34!MgWQg6T=QOjVYoQdwZ}0fdefXw z^%~+%b2W^5F18I}*CJwS`)v7tWve^3^S_;QC;-Sbu{u6no5~CB;BI(atsU$i)BMHKl z9)cN+Po7gwP^k*=8qW7vf&=&(AwCjLC~VYm2)FUER9$YPeM?1e`&~8j5SO_R zm3E0oE5eQAdw1xomP;63E{8MK37$dkYZl0V3VMcr5AvP_)+iy&+f@$?Xzi0g!1p)K zzjGb(#wc;0hUB4Lb+T3Wdg@m;CC2Q^igN_NndwVfmpt;b`At~^4gqX(VY_vQO^Hh0 zBSqhP`Z{tv>h~mcOfTL+xnl!BhtgDxWN}09i~De)uxv#B(h@R5RAsz*Bt<=Vsrc1s z4^AP~kukBjJ>aa{qO|NJXBSgi8B)hV1(H`kdZgb54-;F} zIn?tf#80Q+6{|3JJ*n{UEvm)wSz-LG@c~SSedFdbC1CAu>4yt*n?}Y7ss(34|9hPT z{%N)1e`NvuZx%qxlfPZ1nRyYZ+#K*={B`)_%}KqY5SOkWpVH$+03i&C%5Q!4Y{Q4& zcS%6rNqh?7F?L^Qdlt*&b$aKzZ+jn0LHj<}M1O%T#HgjNQ+e}S(M+Ek47+CLppf^WXdU+n%yuMbUC0Ga3|*KFej}0`HkW zR+F**U}Y~`a4^G9isOc`g+&kgXe{l{XdErX?ao4l-AqnbqW4hK_g#sh2KZck#gWA0 zUkqY)C-d6*G#TaFAWx^l9g(B&IBFc8ht0W7U~>9ptvO$E)}Pq#A8Qqr-6{?HBGW76~^x+B~nK z?&wS@OQ+HiQpr`@H*?1FkLa;?=WbeMfc~Y`sLWVhIe4ChY7oU3$8)`GngCR7~Z#t26cMdh?QbRAk0SqZcZu(zyO zEi#+%CE-Q(o~9hcWOa#BWz^{#TVgckUS9zn#`R7t;)X8F8vc9iVu9rsM6CgKjomNd z6)*@@xGo~=3{GreI@=szLMc9R7DAr&=%xWtml#Mj~#O#$NYnZF<464FzhR}&A?0WN%dHM=7S^3?EsNlTXr^z zGg(M#10#c!{I;(JE3ON(sxb@K+blT-f_(~_7#JSUUhfN=%^KX0hCg8lth0e&@?M0m z#=9L1{m)xJ^f7%tM7r8-sLR$5)ePhxq5=4ZDz;X} zs$c7Ju)s6cQt2X-vVO98tUy)nXL-$O^++FrU^SIU)3_UALT5g0wOTE@g|mmAwjKS-M_?wo8qhLhf2mk8_Xdz}+LUy+dHQW!j! zJL0c;$fA?T;6Gn!Q*wb@HF*}q7&EtG&iM7+EQsxzm-}(ta+EWo?DjSE(?lQylgJ1F z!vmpe;G^$R=NV{zO8(eJ`Q)XHNd#Fn@jiFMK>o1Qf?L@7J-2j`^bZ!(O~blqvMVH9 z_mFUc4E9sSo~XAscDF8RB!VE8 zq3Zstmr^QcUFojLP7`lc>D&pvfUF*m1ho8?mJo#EMM<2PmlG<|9ldoj&S~{{|saMgOm@ZbK#=DDd9Z?@P-XSeXUpF z);={qdKCz>t6GfPi#9Xn_yc8lRQ7<~vo;QE&|jq68^afesNgHQ`4qm-dMBGED30dK zci-R%5{=Kqw(zSju{zBQ+K$swM^l4#*8GJMtu1Vxv#GHsF)DD-!O)9zr(Z!a{Re-> zHa0~#9^rEZ0Iqc~C^@V}OqH|~_i8G=zF7f-A8dAu#-v;4$g{32uSHlEi~8`J?9rZg zGrjCWWDlL0ytt)|rNeawK)MIxo#SLtXNy`bGE2y`WaKR^&h~~Dn?9X|cOZ5?85`!Vq$f`2@q0YgF=lX77G3ykU#yEn2!+;H#^)U?2_R8~q4i z1^Z~2;Oq}B^DC1>FQYq<;Ksn#I~*48NIS;K{5s_wx{x?qlVVh0+re&8^^3-khnut? z9I1cK_TU{;7VFE-XfuIp^J-ZffmRDF{%j5uLLtL?66RbJ_Aw@-q|1Ce~d+{B7Y+sb|e5yg(4CW5x} z?Xp=3?4D0`5C%*PQ=9VGDmKcY>KjNqS6AdXQ`OD!C&dSuyd(dJp3q#UuI{I2nU|TB zIUMIr-F#3q;$O_i_VsJ*IlL>(jqJDJ8D1K>-`WB${sx|qo6>&lajW8q|4HKy<9w(q819-fAY*%7z8E;Lu+y)A47 zq8VPi+(0V%iPas$w{pI`n4OWpRe%1aktWG2D8M~m`rsjKn((>;JFz$D>($U0C3=ls z7lW@o9O!1>ebd#?PCfpm2ja4GJ?eBX9y6n~Wqj`FN7S)tklZ^5niQcLs(x*A?fjcZ zxjzP#+|o&U>!CXK7J5;9Cg91-$4?cB8O{o)9Eus^F8)b+>yR^9^m!23O~|CiBOUO6 z=na!RCI28FgV*#L)h$G;amTm$%kGr^z27EGGn+$cXZT2y8f6UsumYaFb>MamuCY8; z(vKK*C(Y1F`1Y|E0z%p}ID}%8s@goTc~SBV+>d(YmTcPCYFv`@4_$~JOV5QDoSP3) z%E4K|DmYFA(Dsb@a@zove)zcsWqJ`l;Ng)mF?ZkG=5S)p=)B&R#~I4PZpQcQl8Ag6 zfX=U$AW1&L0G$8xOZH>>SP+^&aN8>m@b>Jb%wRu9rY<-T3|q!Rdp15``=1-lGdB=r zib*4p6vEZ94MQA6b>|M}Xlr8+)H2}^^g(fvSMs4Myx@36w_xz6c!N;#c->YKEgu&z zG5aWv26J)8V>m3H4@l)FLg5`&izBfd^wGKzT}On6jV6IzB1)Ko@{T~f3=_}ZqZ66L zE$+KqN-wyuoNE_1%Zlr%r#pXqnKoKgTjjiwcU{zeWr!ia?`R{^kKHA+)iE%KHTJjJ zKlNmg(%+uE^o6`v-pcM?>dkIQ$eT0*(El!KuwOf2M9_ROGw5a)=CYc}I9s>y3;lyj zOUtnM%UgcsvX!wj*ln0jahinJt`|VOaxsxS|B_8Pz>%_kP^t3+>I0Fl;?M4c{OVXE8>svp>5i`on{_?v)y!GUnkyTt1$Tu_1~4?hypLjX|xF?HtJi4glQ~3C+5^>v;BXnClUnNUf{lhi}tN{EH(A}_!?+`!NCtLOt!QZ4-aqeYOhX2{PAaE&`~S@Sw;NpS4o9N zn`v>p5X0@3$m4KsBzZi&aXx`$RWL0MrbQ0(a~x_W+nbZ1WDjOazmzEAvAu*NIh85` z>Hs81)(Q2w84Q%(U*8fec?KS{q^W+tgh(H^yUZbu*8Xmv-+5H`kzK}2l`3& z#OejHv>NanBWa66Ocm5J!ttdDo{A?NafUiTtFSyaE1QPNR`nx70G@^e{)`9bwU6#E zZy-UCY>xo}Mkk@b>4RniBo3J?FoA$WoFIIUil+TvHFpKUH#2k3d?tH;aVO*T_k$FZjgkuwBmz)_@Ditt@fXCPrwB|z_x1tF86U{B zh?xlU%u0--yF_D@u)`i--3U_s2jEv_26=_T&Tx4*eMrk84r{Xd{+Z!MDV09bDy`dD z%5+A^4h(pDd;(^TRO*b3dj1YbSPfuc`Yv@6?j!XrMT!Q%u`@#H&JP~c^pt)UZXoGO zTOjzYU;JHGRx4#vMGpKf#&0z+7B~a;G>p2so_COYF3Z@7u6DWAh+~i-KxZSr_eP2x zb?&Lbwn{M62B+u?ax$yZ&0@`1eJ3$t{tWo+7pxXFWM0XyP|V{;8pBq_)rOSEBHh_WS#a*fg?f#FIKDR*)ex5e=imANrVGt@#;evan?7bCq#nInKS#*x+bkMiQgeBy_~5i zWW;$;>8;(kf0kOxC(|FBmLHyHQbQjWyWmnwYsFyhkJ**sW1@up6b%YAFe?b zqenr8V^Qpelj`|d^W5eaBn1uVZxUk>Arpvk35)I5LI4|$Nj9E#eb`}F{5lCPX4J@} zjRvm_K-uS=$lp5E+r(7X(d`c!d>|my1%D8kQur6UW>fOcG2lb5jF3(Xlf~dAj7Y7{ zb)Td{rrph8zWP1Z4rc?SlBK?z{Hng3Vn+&|IeR3N6L11Pbeet1lr$9;`(-_!zaP$w z+IEM~N0)W6&zik5!BvzGulR|l&7xu(V2@qp#3<9Jy>l#%%#}m72@(eA8)1#6cEi4D zGFn7idU%HnP%V*P^*DstLMrNI;BeZ33ASi6=NQfpS31&h^CNh~-U|rP9{5UC+h<)LjgX zCIEAft}rMLyvoB5F3rO2^OEE)|AFFzQ7BpW?(d9< z-7Alo0GBJ!6D4q4qX+o|N?pBGsQCH=DmHY4M5_|j-%O8Kl{Jnd;N@oADIlCZ0R9|KI;S@3Z zra0JTao~~{@ZgEq;=`kMJ?U+y*yC_6B)KNZs~g~H(-`(TD19dMAsL9)3wuJW~(CsXw`gUUAsWYUFdvl<^l0m1t>nO<4y z@s2HL{#EnSK>n=?wJAl!)$_?(w1M+4HeIQ4#Sfh)POJzo&|#xM8@Jc*szczbRbxg( zRpp49Th+vY%`%UAt+JOf)2w`q(oXfEQ*%Zl6|7_vcL$q2;{Uf|0>hF^=nDxRAh{(7v z+UqRuCDy7ovDXwVEY7o%ack>7XzqMpZhaE;N@<5oL`d#9*@XRPmG6w$hlH|+U$4~s zIaOb5yZZY@SZ2*tAWQc2NI=hT4jq@b`G}=~g4>xXPcBWlk&Fx`cHE`nj|Ba1!Wude ziJmG}rq>OpqICJraF5mpM7Y{|p+UL4(>C2bJ=4)wd58)$Tn<0kBLApY3K17vNIbnX z$P8B7o*?|FbkxklUz)WCVa2=t8ywnYzW2g>NY1GCC@JdAOB#DE5-5tO^xI zcFNG_i9~Q5o+wc-3MXh^-^sjk2pR~m{ZgxzUp=>P_=iuYLU86lF8J!akaUGHG1K=h zcq_AA?n_OJc44g;Rjx7tPjRI~-B@xjWMl~HUDw6TKcxsZlU(gJtgV{2QLN_rSYFMO z)L2~g>L%aBkn)0|IhtozVCEKzC2~sF1jnX!t%i#}v(&iszY<#Pt~Ud{g7g$yrL4DHl+ zo=)sWu?LwSYp5iUXcu!0KmfI`f!Fw7VP-SM@7MyI7niRP^l zBcdS0{Mvh~>>tfW2_(Lo+^jk7REF3y`D3{P%l~LLWpbTiAWYKR^llR34KY|sIS(gV!-_4 zEMKE8Y?wa%zqp0!2#ghp@{qgPBeh8`0&+^0xF38=HxU;Jehdj{mCN0zDxCU9P3FXf z?Qo^ZVor98GTqyX%LmYHD;E+$ZIOjBsS8OX5M!1EosGF*>(scr(e!1lxj*rd#aG^| z2|L5T1sDSQk+rW01!UGo>S0Mk3X!Hh&&YT4{5gcBg|D^A3V$$lLBR;2y+tzSYQsFO z{lTK%aTeV1w^a2PEbY$q=~-k&+$Jc}URp>cuPI!&S9-FD_yFUAm>Eh}{mxPNt{=;i z)IAV!y3IR6(DIH5KI@1sZ@5)h!}c4`@-c{K<-}lP=eQB^a#z2a3ZVO|E9igsSq4%+ z6gRgKTNI>D)~>>jN+wV`a$Jf0eo+NEZBksL?UKN>?eq^=t@-YZ%6q0>U^Srcy$RRn ztF;|{4XrVWam|W)Jp`fe9Jd23V@uK@6B`WCcwW!EnwvcPRJyP5>zdG5#qD+LsEWbC z%>^OpKaWvj^*&ZsnH(gS*q}GCnB8E!_bYzdp-lu{SLytE&Q%;<&s^Z?RUG|G0WRxz zAyU3`H{MhjFGFqAKCQB$Y-i7RI7FbSA7K8!S-(Wj6I1xE22<5@DP9Om04&7R^E2Ox zlKHlX3CwySf?>)+R@=6>FpBLt=hM*-Q#tq?Of=8P7aa^fBb%L(1D!659ki3L`$tgG z{@k&`gGRr*Aw|b^?hJgHOlwnEe^uh6EOfBJ)KS3M?y=>$gjhDuj%aK15(h>R`+7`w z$sRZeygD~$WkIUVJoEs^q*KN4p{;Mp{fUL`;emLQTeK^w`d@$8c#ub&QorGw?uS5ZJDVzX zwb+%|@Kf{I*KO?Vw~#U}4Zuv`fufXR@Rom77N%G6^M~Z7rfG6z)T?6`MIC#UG}idh9`ieg$|kXpLS4^7d3J$s>3| zhQMT_B*J&TXnt1x-w{oYoHM+}BI zcNK|mm3Wqpy4J^I7G^1vEXmd}s%|PZL&j`ZKw5E!lAs}b$MW3pW$U;1^UR*{7BeJ@E$TRtXw2@Bm%rsTp9*@C$4~(wh+`roc}EPD@{7?TGeAPs5R%ps`>+X zUM(m1`qX#6hkBxkC!IahBZ#|vb2{eFrfE2;rjewReX1(r1GY$@LY~ZGaK1B_61K^3 zG*axEM~oVKT>dnouLIG@Gq^iO@;#_)NbP4Tv>8OgF>*d zjv!7RPTX8Bqtpk#X#X{ZH$+F96Bb?8XaOdRgY1V{vfine5Kh>8+v4Dlh%wwOr%begRqeWdHMszR8x=@1?1p zN=!&TxzpZsVL{PrD!=-5Ti|Q6 zAeYrRp*mZ>&$|!9DZ9o2dJYk5DMJ$EopP+6F)-rQwFhbVbcSTpTVihGQ9W_iYGIEs z$zPG)D{o!7n$UptKN;C))FvZ(RN zaB+3}{^kHz7pnNDmeYMhJoYtP-G`mtT1xR3Kuq8VE~YA|7?ke)0sk>zzctfH&Ssi! z)m`@>6>`FDdQMY?N#esd-D^n)k6~Npg|7Jg_}@=>+h)(VX}X=d=wa|nZ&gUK8}F$m zfzU2`IDTITO*t)~9IR74;02IK?7yiz;-58YUNMZ{@#_J2Tf$-@ zPQUoMmDaV*_f9T_st$Ao(D=DGD*d#yxWEojI0|%EQg)AyiEUB^l~AR^ADMAR$6~mb8lCyn%)XX~9PK zVCq+_D4pMr^2JiK-{@wg2%^gK(2;VqcmB|ksxS2uL>+AVUZ?}wgI~Du0&QHW&IA$o z=^agSXv^*!{$IRM?p8C{?y)C;0VS3^h!QK9o47@1Kv9rC%==*6{|A?W+h%?w;@h1i z5?At1)1+FNlE>xZvo&bjFw z#R*3=FFK#)FaAKbu=v8#`rb*MG4Q#2V~2!w&8* z6Wj$A5&RlVEx(0q&?6TXnk)-PRw5avz25V@I6qPTDlA z6>g0AIItkdWjENk>&Vt{!T@F1v+?k$?FBSEXav#O^}16m)1_YcE<;@>+w5Q z&I)mI9CrfHV!+Ax}XSfLdx5$^h zNV_6;K=S%cR2xtU<(m8)>0RwwhK$cD=@mz7r{pTG1bJz`WQ|^6nfS_c2TPMH0AD;P-bYC z6JC!(wL3We7f-f$s12G6Vt-rr+!eJPXj-^JBP93~iw--G%Zu|pJj#hh#qLu5bqcdD zWHa6p57lTuMhRY`YRg6ccEJz*9re+%`v$!Govl$x@8*mgFa7MDsH2gW^g1jglQmu} z%+l<oa~6z};Q3AM7p@u(2$Ig5ry=JuhDnkv42GZniQz#Y-i>EK^cM{BLGiO2sDG<~^v* z;IdBxK3bgFQF7f?wNg6OTK&$n z_r#8lx*Ou{~s@ksPgVJx{$%;M*nN%KJM&v@|2c0#Vb6 zam_hdHQ`wOeoU(khW8smlP5%bZq9$~;@2~i%Ps0tJP~alApFllltEVn{Am%fNgi_i zS8S38*M%oeJ^$Y9Sk1W!U*c+Y-q+rSm6L&~tmg4b&ea zditHl_$?c+YA;Cw?tRsB3#&{nk!4QVv1XmmyWnGVpgSx6%YjnP*`Wq_~PQs92;9;5^3Q>H6+2vCqn|Ja@)2Wk*yH@utQD`gBK}mR>683VavPl{WKM;R#*G5?Y3t@qJt<|G z!+OTXYr5`P?D{o>1b2C=t4|mI=cn`R$$a=50kmW#l=VPkC;#qFNBdZ!CB^jL1PH2kaJio!*N`#e zh=w*vr9I5NkcE}+KF}g{t0^k+aGmm-(T6ni0yrPJ_rx>{;wkWweZ_Wer`%8WQ*uD7 zq{E_>tsSSyL%w;+_op|V2%SNNlU}lwx0@YS)*@unJBOre>wYMuTq*TryON38etPzH zv!A7U{^ z>)Xe}d+#2H3p+1}WKrLEEeDmT6*T5S?Ka_xaN;+`UJ1KO;cgR3iia^=$2$HNYaO_0 z%((m}_|6+eLp1J?bBgVuF$GKV2{zZTjKxIQqL*HRK)s3P5mR~r68GC?qfd%4?h=jq zPTfs6jzbjLvXVsqV-pl{#osti76isRC|8`?@ud!~#t^udd&(sEvqNxzd=G4GhoSH{ z+)Orc$>@*?**W5%w_bOTIpR?dm-*L0;}~s4s`4&U_MM`z*weP<{^Le%s#ur*)Xw74 zwBNB+;q6ItrhMu$gXhi&5vrAjz5A!LfKf=p<+hM$UV57297a3s`^U>cv51~($*rwR z_uVC25H8}bsggCaOV_*Bc4X9hdmHK|pY)JxZphV2KMvYEG*%?6?xTmswKrN!#B_e0 zMP8_h0QRS>qRSoj#t2$02MGw2>sK`$-wcCitc!TGZi9 zKlV0;C()EF4*0Rk>@zb60w%?QhnzrSjeW^@XDOd56Z2raBz9)L!gkB-Xa))MNfu>J z{JX_J_n|`f9GX&mR6ApN%bu9_ArDg<2eL-QSfIJvwM*>xaj~(Zk(Ltn*vbz7Ijm&D zT%ZksyJhrb=kVSA8L!GoLfA%pS$O>M*k=om;`F$9&N;OIVP-z` z*f_g*>vfwTRtUlfedOH9{Gmv_Y~0G2vPad9?q=GK&yt+>mntsJjJFH`Wh|#1tlI0` zw%d*#u*%cXRW75@jLrzYLR|rL9)q#Nv&}T7&J2e7GfTX_%|SIy#+)yN zDHZH178ynHA&i%~P-CfyX8*>~qwYVM&i!nR9%`H-G+ne49_7FC*Hhnq@v>L%+oh7J$Ymfa=zCO~i z`}u8-;W~*IrG7nKKjI&3i1`_T7PJc~g3dcTjyk_uFt` zz8J(7GaQOR!etst^DbkHV4sqa@#~uuwIQ?`uT8t^_WRXOE18=+V!)$U-yYF7s~OIE z_=m8$o~5dJ2T#}B_o9I|>#do3z{*rSQko+2+&tfBOpj^!AVBEYWG{eTOtsmq;b{c8 z(`)2#n#S7sH=p!jy+l9NdwLMeqc8`-NGLZ9GdvP`a;-g=YCi+LTM`k3#oh>T zo}_Bva69YW7f)RT;Q6oXtJh}6EWpw***rR`I=_eE?f7*J&j_wLk#YG$YCw{QZ%zQS z$c|}d_tsBsCjEaC>$qQ`Fz@S{QzN-L@yQ_yseOszhcl7M)aX2^MeZB5#3wKIEr#VQ ziV|yu+ghDgs4$*>j!1r=0l#Y6Rkbx~k>P%e?`*>NuBmbCAY}!rkoeC%Q;CY?{7ALP z47|C{{HtVpB3ZMb*Ks?ip^(*9~?h2&mu_+l&u?%q$tXQmo`4gj;QcJr-O8Hrk<^oN9XkXDJ-O?a?X$JM>n)Z47}Nk!#RBn zKTSkg+a}CW^zI>wxz)bwEzF)w<<+ls5iQ;yXmR!S^(}cRfAzocmThVOX>}G**HCq^rMT^X)T7^4uh5Eh10Bs-dCwgjcbc;t zh?ro~yr}xVBL2JA5cxP9pOPcv;Kh;6a=cY++3WacjM`Y`|BunMeDF9Vk00X*6@HM~ zbMzk{5S6R*vzP3;UE&Dw6XNgiI6p*Rb*m4ZqN~J6R!|Px`nN$JqdtS%InRJ}E>qS~ zOkTA7GcG05*BrOth4`qTErtP`iwyVryzl7?ueA+)%y7#Z?x0X2+eQ<=;8UX``sDfR zLKb^&^}tCFxxQ7G;u13Yi+5-9B>8%~DAlPTcpt1Wl6Cz`E8VDP58!cElYVze!M*j` zx}RdF^&G8nUq%Pcsg1w()fw??099^i9VVx8dY?5c?8-Yw1G(MTGxb^qD~T=MKXBY* zr}wB%AIBX;hfbl!CEUlZ{})w1pvsJi%E>`P#kZXm9S=kGvqI8CaS`l6r2_ebr<0oj zm{4eOe8qPm-ZAT~6ZafnsY2bmthQC;S)KxtWIn>!)nKEeowb zaEVYe>X3YL8Nj!jS-ZWWYeW%wnJ;B|*2ugLwl5lD_;d^$N2TCy{0Y+xv#tI|G&b&8 zy=HKd_ffbw`i8rw(_QhEm2?LC>2=SMpCqBreben-w;U<}hE+)~i;@_WUuGCCm? z+7Zr<*;832k+(HzciDkzJ3%*k`zd^9nEDKdy>q<9PO0phFk{k^b{!X!hBZH88*Q^l zsaH|`;yV2ZG?w=qviS18vh+yn5e=SxTKhgs*>EeJN&C$#!4pI9ybEPMVtgZ;ny95d@>A z{h+*)bt@>D(5xniLY-NDVRnAZq zhN`MuPoJz9)U*G#qI$<`z=(mlo_Z0*eS!P&f->tMGOqh(pt4S8Z?fL2HqSs?U}d^~ zqCCrj)&8r+;`nT_h@vCRlh30fg?3>msR+aS| zF6~Qg$rOx=)}oYP>m4f!P9iZt9iSrS#RNc0-={Jt3Pl7Sbxq$k*I(7~FCQQe@JPb7 zYav15V^+*4`@(O0_-Cs7hCzZ{O!1lvmX5k8p@xi20EB%IC5o$ zfNa8wPC`MM!HsKy_ek0CPpi!BRLviFCl_%OH&UuER z?`0EF?8MBa0#oK5(}SetUPsA2fEaFAwp0GE770`<2mWg=H_aF4Tf-V177Jwy0 z`2G8^9uFPYf9&A^p6iZavoAiU=XwjyvRlqEdcPxMcKY1K-%k_=E{|}|(LYEok+?Un zFwy;V!3uaSbY9HFAb6zb+`Y~hcwf5orLN<8UfnO1Hwaz5ODW;JeQUPf=D{m(6H_q@ zH3gbipDgaIdme zs1C1pUSBTI#W?S#5!C`5T>jCU;QP~vC5MH?GX;A8DKf#}ylGbbiXMMZ!>+{OGF^o^ z>#VGe>)UX0BW{k@c~1sA+SAvfKRtVY$eLwQFNk1yR5ixDDE zKyW)8T(*yZ_z-`+iX(zNvlcO<{O4?ySxEWR`w|ZBxobXKiWuR_Z0rAO`HmW=g6&8? zYW_-$3pF7jllS}nS!)hv&53iKtQpv54OB-#R3ofzY z7L!0sF8ol4dCwHVs6uFJr_|l?Tj8F5#_4br!2V&S+m_h6Yw6lQE)eUSb z=w{h@Gg`T`X&JhUY$no|d$R*zIUyFk2D8RZ|7HLNss9H7xD(|{45XsI^~(&M8aZ=C z303cf+?4e{WxG`-xr{ZET5g{o`)Cq)boWJWXN73&B}{rBa}bpI`cI)IWY*Wo7NjA< z;MMX)ajoG))}e|+=!T{m-7gln;MTawmpL_JFNS8F}IdFYyfC(mSM^(bMNTo zfd$xM(LnjyR}Ocs3OR3lV$}9oT5eu;gfH3P^cM=xCQ75zS4qLc2l1Go#WeuUZcI~| zKbmg)yJi4EiP1A%{vjR=z#n(%cz^dg#7^E90bBLtuVeMcn-j@z#UJE3aP(F~ysPGB zMJS!pycR|F8VMlgB7bj@#&*$y3*5uP@fUn;r)Ow}VBnzJ z>bt9?I}CFMJrur>=0u0QCSx4R%S;)#btKYuG3t{ zE(MzZr6g6Pwo6RrYO(*anNp#dj)#Ir86U*{y=hQ4IByR$=y+j6$2+SSs%E?+k^|_2@;7Aq9SFdmXn3E8G={F~$IOwSq)mmCevqV7ZXx93vMAdmUF=6bl zk$T6bq{SrZUcYn)luKbs%6hE6kKQ*5{K0z2t=MIn)A{3q*uBWBU(EGWQz}dBmTk@k zX3<}Cz9qo5HwzhVCBn0cA8DbafChm=JQRTSoE9q>QXa%X_z3Qw-O7LKJ--mP#r7`c=tquxP4x zl(luaP3!d4*;Q|S0dB}uyx5sH>p^A55r+?>rp7);Gegl~(%;^aUtncMuT7VzZgwSnbngJS6vOTI>Af6!2+aRH*EXsyOl1@5+rcnYQp*_vEe1FuA3iyKlzo~W1 z=%}HT<}uDL>FaOGgi;2Kf&-+2iv^aK*wkBKI^7XoSLW?~wJxod@9lirb4p+0vFB1K z&k@$KA)Gy1@VQyiVnWgJCqb;>^DQj-F;gvn_hZSdHRCMR7|8`e4Z)s)U9t7x)8``C z7EXP%T(~}`Tp1Gw)%}xa?_j)3N4r&ua+I@!68FQmn!k$vux_55(VfG8zVR1>x=)$v zJ>fHUG}~XKYKW;1Y13#s#wIj3JACg&dO z3)tIhL*5V-HhPq+wT8FMNZP_Lj5RlWpy3tVCez4k$!L!7p<5P02$gB~ zJpT1cJZ$+%Wd1B`;q3LLk9OXJ16^e|ye1Uui2~;;{JVQr-=ubnl^O^t-tZcGXE23y z_%7ToaQY&5(G!~ULeiLJ`2aomqFNualuWx#`jY>|hqqVDh+E7V)2dOmkS$)&a)HL7 zWNj6GgDZ%=Q7gKu3BrS#>qEXg zp_Gk}Z??JIdr_d_fk!L3M=jdcWT^1;g?)IKfbqZtAL8&4o#=Aotv`V6lO)8^>nX`a zY0CNahrM+Xe*1x}>SKD(oYG9KE71H@h5D_G8zR-DEe>dw_!Q6L^6ORfnj0oA<5gsZ zJ;qpIaveHM$zJ!>A+B@T7W|@c*${P!2kw!w(mS~CC+`cq!wSeo zd>!IO1rHz#uL$V0MMPPsyjh?SV(oXjPLE|Ac>fRaUw%*W^K!%2xGlc6LI$Yu5(0VK zznXkD)QJn0LpsS{rBF3B>SKr{4g5`w))c$t zfU##O!CVT!?InA;g)gu%b@N*J&!P!jHSS?0`SMu1zo7IC=4Jg^8C~uLILzep!+>ED z`|ki(THlgVX%r)_;57%lTs5Qf;&dGP8tQt_#qA&{n5RwePHGQo&_Ly!uIx{N&h_hM zxl6YGK0c>xee1o2Q@@%J-k=R+tRiCbM=ss9P4B0S;8YH;;&IM!YqJ<b~1HTU$=QFE^U5qoPC5^}Mf!kEjbgDOGH@b}WdQ%8SHc?Vu}T7*J5;)b93zTMO=C z`_2(|$^NJcn|FbsNXZdesvL>i{-8&5t#5X1Yp^}C*p!_u9Q-*vFn_4<#WMxZ5NZx!6Yc)_a^CLD5K?ZN$$x@&=9z0GT%zKj! zhUCtDxT$rD-mK=`^KaAJUByrGnZF8~*U!>c)bN7Fk|B_{vI{RFBl^>IxyCt;UoSJM<=eH}`>baolu5i7na8i{vEt&`XLc9$= z_l=-_^4iTS>LIDDy+V)cM6f>Yafx2v+=i6?0A_+1;W^i>Q&tr zd*r)6795p~bZH#dSR#r=%G&0kkypgrem@9Rxlp`RU?wo(cSaE1mGAj90VMedNaWZw z1y6w$=O-cX!<8Q;G_$TRg!ZSVt?x1?nROSp$-zjEidVVg*0^Hmw)H+ip}u|J#LvUs zaPC!LxCX5yVV8pHY`TekzF4IUx1!zr*G3JYG?ShZj}Z$u>TTVeTApAWAu1WhU}#(c zfWTiYV(k7rYURW{n8Il3K0Lm*PZMQHgB%kWTW>O*3_uRTZ!RAq>lX%^#3AmMd)(WY z?YeD0v5vpjGmM?0wp~p*78h(VWSur80e11tRj<%r`Un?6Bc7(`)E>UyRr8hHK$2Xz6-ey5El~NVkm4W#Cx}%s2`=or*xI* zKfHhD1wY-r+B>Clk@FjxWn#d!HGz5qqBeRiq|<_hwVfGHLcv$C>pcWM8|OFE_O>O- zz{H}xEOUs`IbloMMlT1mkumpbrga`tOLmS9dUT?O4OMjFs>bpbJ~FbC2$H~>nNClm zlad9ZbLul@MJD(Fxk;mCWC!E7x+B8`Tr~S5;mwv}-l&_aEJ$LW`p+ju&mT6#L_Z&Z z?Gi;z1+ehsA)Y1vb)R^=gN&B6Vrij=Nma612|c8KKe5agFRK95WG(o1RG#CLzxWjuqw4#TSL=f zwBbXOf7=kL{5Lchvg51X7uMm5Hz&;iznhjOJbw`pul7o+D*Y~Ele!>hSLNkb|1B&VdXy?fbW3f7waFY|{a|RbsW*%2LXBSZ9-)0dNOZd=>^ZiGa{58jmd8ysA<3Fr$PmA~6i6-FRG*8fi z$8$Y@q-Y+jK2x)`h~^dunyRodV&}h7hhH`fl|aojJy4|7nbFU*?T2X*I3T2>XI(&K zq*B!R%>UvkX@`S;_E7MzW8`bzggPT2hwc0Sr2T#T=>l#=p<25`;%?xh$>S5hJ}rS@ z^nTD$*b9%q+mwrQ4)rbrx}GO!oA@jzJ*2{Cq32#|8iNvMSGA5}OZkE8$-BI&KL$>9 zPEKEX$Zm%GMD29uT0358YP}|@c@!Y^vd(%&;Xz~}#Vb`Q()RW>+kjESO-P z9`S82w@ZeBw_1`=b2h(`d9@2F1~2}PegDm=Dh~sooxKEd6%z}1O_KsVvSQR~O*p*I zxkoz+Dq0#v9r3j|bvPGk&J3zzG=6N>@MQ?3_J)If!lt5+pX$IvGY!bb^)-KKR5@8T zgggO`c1F|f#cDBs*p(Fq4vyXK>TfPSUR4$NUjsjL_H4hu@?P#0q{gnj>zohx=Zf#$ zFT?&}d=kr8$*o?&C%pTAYfD`$O&too^`=ETe3Ej?RfGg-24O^4r+#@<8OJ{>18C%7 zi?GQ?MfQ^Un9Q9M_mV;*lMp^8Nl1o8&(P`2m}wp8;&lg4FIVAib{?kD71oPy@0CCw zDO;n8o~YYp=zf6%paK6@2~%RJMI2fHntd3|MK z?=gB`7^D-D^2A{6z)qY8BcqCd)t>pjw0rfsf>^i~Z-y94lt7R&$&uG(A|I{c$rQZuG(Za-0Ma+~5< zP3F&W%pcCeNOjE8a2)6%NVyjvZQ8>nemu^HiaxufE4CW21S`(Li)Ki_TOu32sTe|7YOP8(9I9f&4{jHln8 zw~2dd4{x;oo1j0X3AP9v%e%q3?2*1L*EBOH-*u~U6F7$O@+@Cc6BFna6ZEoI<{i*e zKKK$KlS7oDW)Z*h+F1i{>2W8dxUhvBkn-}LqW8qkW(B_LSyYGm>I<8OIL*c1Rk26` zEiE&?)oG6+mOatz_~tqql1K_KQ-D=|V&bRgx6-oyc+tso-5QkJZb}Z1B5z+WlK{?B z9XFpYev3Uc!XiRR`6 z4?hl$>KYy@y~E?jkm7WjKlrBTTfl8Vh5i<8zW*8h2YLJz2XxX1v5d;uESYda z=wcyl*-3GGI)Bt?lt81W-cvizt>>+mgJ}8??W~J$H~ymqGX8NM)VjOl*6_x%e&Dkk z+i~KIe@H{gz^9%Ae};3F(>ZI13tZf8zw!duQgxA8OJ00OPXH;N%Zljg>V^F0W4|IA zbw=V$g1nUKXYVrgB#!Ju=l?iBaSfOc*`>-N@K;7E4@5Wv=U+IDX3^<`(?<$W1gn9o zTFY?N(x(JnVpKSEHjJ?-Q0bMM`(Om8HxY@vuJJ2>8;O?UQ>9x;)U#_r(ViEe}biJ-c zDrTsn?av-M*oYreC)r2cp_L3|^wBGfsulDBblO^PSjGmlVpzs=X( z_gj>Bo))ogM!a!ZMe`14k?C2J@z;Ci7Yyg)*Yoy1vi&;FPFOGaG9)WDIj?tAqIbIb zlzt(YSz?dindMK4I6PEP1aw2jCh~ry~}B~dTv@a$GT$q!b0#< z7?Z^40Kf~kdC#=akUpHm9(=q(a#F{lXiKCDWdz1OdYzepqR%CJa&!-Ezh61>_wZyq z1M=FdBpRR=8cV*83f|V=a>n8oJ4p>c@s1ggYqSh5u;62WTSdnqP5$Eo@);D1RO$zb zE;>bvK*g9OY#^i_ORXUf)dVdZS+5JxkPoKr# zwNV*$Bx9Slm|lJH7MIqL&RI!Ia-q z?*3Pt6-NdszO)=4eQw^bg}(6`gWJ2ec{pEy*jR9{iD(r|| zGxjylaMs5Hm41D=-hpU$>BtjER1aa(yCx!(bqz*_QTq%d4sM`nN?&Yk6G@t zoI^t&>G&y&l7z-+*|d+bRm5W2D8^(^chnXGZH2M?+|P^%)U=o{uccexHh9~EK|d-D zJM#98n@vgYZ!WhQ43<^efsh~HXUw3v$>^sV-GTZC+xvD zRw@m1(xNge|4m$Kq5ijTYK$}J?XKmS-d#%u&2>SOlWg z32&!;XGB?|Rsu&HVRGd4YOLn?hS&>z&a~{twH<8>!SD0kZTy9P94a=`jHxm+5M?vq zfC0DdBCPyI%3hrC@osc$oRUkV7EA44CeGzWdp6))hjH<0uoJV{>!8Z7j;5#9S<0m1 zJPF7(Es`i8M4@P>d{7o)<)6^QbxcZh0z1P)tuDI=JW>vjg8beZ2=7z2VGG#ZE(T{| z7qwWtYBu^CPSnxdLErymblP$P$PP88^lHnXVO+pC|IqyBXOZpU=v_b5M!}G&<6MMk8wf6we@;7k_Z zbNsGY$ofHx9JBO~$WrzLhTy|E@Bm*Wy5V1;so4%SZp=EH;|i@AG+oo=X-z z?u}v$ChvDoKWQ@r7+bh?$gI761F;+uow`GZ1GUa6>X(#j@J>}*gJA&@O7!^$-U~C(cLUm3o+C4|pU{_U8Hds1u*sZNh2rjtQrxJ{J@8!U{01@b?}t z0a|o_+E{l~32IJ#9laG~w5oQdq>@ZLsrZ%ntKDGpD3JD^{5cHn4-Fp0cA6EjB6m-L zVbMPhvlI(zi1}_DxigJqK4Am`am~z-h?Zjf5$4_xMle;r<~ivvTh9VyBJ?c`YE=P4 zV!cn_72L-ZaOj5n8Wh;VHG!j;8U3B)@reIagC;Ze0XjCQHtBeSJL!>79Od;iwX-jMIU&#d443a@!I|Egj{u0lmR%1yRH7#Q%Ws@%eh6v68<;8bIYyVRoDJ_BN&()G z2mE(3TtaY9j}pRdOS->C*GGxH1OaumuDn$wIOyV0GvEyGKfOBKeLl^l_nzqUu|}j5 z9!)xcA-g=h0Q1xh2*vx3Z9c2QZ_M@g4}Z;@n7F9ht*(FpBI*aC>Q>EQB|hgH8S_VB zSNE)XI4sV)Ls@>U3i@l>3m6u<$180%E2WvbbfM!8y>LP0&3owxA0of`8C&Bc+BN;Lde{2 ziU%7ju!R1PijY-}jGL-|{x;2jPn0neig|gK90@W)EX#lFH{`n5juqB}JDHxw;V5A` zNr@Tof<;78sX7(c9B zThbL6EA6_}Fz}w!p9dsG;0JYK79)&Y&qP^{ZSk1)j0Ub{(KP7GTAW|7jn=;18mCv3 z9RK`b*2TRV>jXElB)A0Ug#~UXQu^EdEBH{p75T}-KMd9v2+28dm-RCF-BF;CagKt< zk}n(*x!_O~jp}TS4rnkc=2NJRB4COO(Q-k%*;;gRWF>rmgIWJbojDfFSN$9FsFYm4 z0S${K8`>7oVsk0AjCua-*($Agd?l&( z0Cj={b8UGAo_EGkoqa%=y0>HThb>xDjTLiAZY!t})nX2c3JYG^ec&F38rk-%I@rGL zbpXK+#q9ELwDZx;V+m=3GR$A}%ren6q*OMnhVh$*>=-B_%XwMLM>K4;Ow+Ci(9x=$ zaNwwfTLrS!LS_i#&kmY>pO!PaFB-!xzK}?ZDQoTNmb5v@J9mjKT&c4-arU90ZW1D6 zpW)U>>q=gbKunE^p{*Sw(k{~ZNfM8X&G)ZOMj7I(JG%JWqk&EXxhEGSYj}mWGuZNX zXT1g@m6U~)F^+E|yryKM4vQFcvE^h`;iZF?oN*I%g>@yY?00?AT{hf`fiRhj!Ks8q zhArMRagFYRm86lKS`}MqjH%US#0Fo_|A-uu??At{D2smDX4)PuFm)2u9G+wxQhgRtA@a(EVi(A_{z-(G{^! z1!vQfhrkmdkA`(F_p(6w8TJq z{rBtoP|LzN6R+5Gud+J_p5-&IV&UpONg0bLh`T%2brMzwUP#`Q>t~QUKc6>H92x!E z&bz@=z_U<-k$eZO^DJk^dB9C(yfcbmYILyQ4yS0`$a>C_yuKW`doLwTT#!Co{3WCS z!<*w5r1(;EE^9PDwucqi_6J}kzkX6k=Z6_xHvkV$pz4V)?A*G7St3NB1)(nUhE5gy zx8`dxxTbfhJha2&q4yNbO>We)VJf1r9#*11-8Yy><3O^bD@VV^QD-<4f2q_if=r^? zm&pyO-qY>*ez*{3ixMUEcAQTqp67jp$b4VR+Hj#uz^9{}`8+!tPUzKeHqJ3UswmG1|;p>Xk1 z`)bcF#rFb?8$4dWxJHo{?vkl^h^hVI%=09j)$nd(dB%kUd~Ch%8;^P8t~ScYufg9J zu$EC;U7OIG8B42v+3phaS8V5Gx{2xf+cwanYL4IrP|efKTk&Om1Okp1ZF7sB4`=ZXH) z{l6auC-1YUjPK9MOJ~~O(OhiDUySQXB^&O^nx`2wO7Xk7-peDOeW3cAE!5q+I_tx` zg_A%**->!t>%7H4L*T*Atu$+iBj<5Tb<693G?`fI7V*Mjbwx+6!MNV6#$1LEV>c@6 z%gVZ=q8);-Di}%bWaBuhtK7>oChmdScP%EbIASJMgEJYJ{C@4MfC{{)ToSg$$A4=9 z&3*Knazuh4!vev@u_=K+V2858!TERR7D8tG>(++A@o*&QscJY0RtDI8DMS&T5BCW5vdDP=94xghrMvn}Df{x|s(^!sO^fGM=W-Xot zDA;#sd^>cNk5jjnY~_)gd6=cq(2Z!ER(;>TSf$h@!%N}%@l%>YVy-jt7^o*(E#u}) zA>Q{vh1HKVPZ=g(0OBFdT2n=p6QkrD<*lsH2kx^UoYblI2_4C9h{<5#TXEy>1misj zpfOfxMvhtxhx%mdn&(^2clJk@LS2y4e@4px5jYytp0>t4|Kqz%8|k>lC7DI3-5F9B z8$`c)=H*Yw)o6IFb}_&^>2Q<(I+NOuROi51KR_b+>kz3FY*(JEoRCHwVCYo73iQ3< ztHveFIl#%;>#5h_rdsx?r}8<+wD4;d(JLp3jQwmhl$c4{CZ&OW_gRnN4fEVc3#v^`{oPVudG|h`g?{Nn=1HnDs7C?Ot zJ-k75{z0;=Yq)Jt0Cf!Z!Tx>-&;>^oLSrp1B<0arc~u~DXPpD?T3#U=yOiMYHWY>r z(d*#NY}bNz!!el%|xO|;>(v)nsrmjDiJ^rh(mVtZhxC8++K2J zz#q4@dj)@>V^Z}#^?yG_+5Lu#(BtA1qKH)zz16h5%a3Q@G8?9rTQp>Gg`-(q?BS?F z$w27KJ?G;*A3Ylz8`D#qK0G}UWYoP_8s~Z})?5BZ(}4yNqJ8-@JdBbT4FDDMD*?3y zX7foslGOa{9|i3*PLgl{i^fa!=&lUGCBsPl)40MXNrFMU%bs4QQ4&52T_O=lvYJ34 z;%uB)ACSL$Z!)g-_+YNX}+uT!G(*Xq_>SxlXM+C1)IJ zMO-B&wfat$2il&spt~*tn|-}(?|HXrW}@I0-wlaTqch-BVtew}7GAU8@wRFCWVObb zVfP*bOeq-Ml@L?W+b=zH{RQ0#XR@CDp^BSfr!CU;_N&wZHkaAZ5Jlhjea%>DLEDeO z_*X$eHlKb5rAZc!vP!o_pM>yiaL)?58&1Rc?_#!dlb)@$Wo%0fZ=Fc>x;7?s5;sqa zq)hNzYWM)E`9Ao=os7WhRgQTreE1;y&ggddKDxSG-+GF3;6nY_h`=3Y>CPSJW7EQ5 zGik|^V9bF+!#Eg^yzG=mcCOItweVggZThYV-Ff)yK#zt!ZDacCOi9Dv$!*H-!c-7k ziLh#p6cF6F6>jL=82ebyGOTb$=NwdI?*}s!B~v0LI%Yw8G_rP|XPuO@69fo8)|{enNz;;dlNT`dkd> zC|(N@kB7DYyuwczHc&A6H}P`M`BRRQtmU+RoOqaf{30ja-}WXh?x(J!42p8LfBJfk zjJCpw1s|1=+%5smBB5`2YR>tu=!kECy85oR8QB??bb-%Vv3>V-wJb+uBEx$|^B$#W zRoB(A& zIf|R5oA}xwO6xSvb&XQ6ZMHq~-Fsz?cIG~~mND-nX$tn;d8a*Joo>laJ#267bJy5z zY?tn`ests?Uh;0?k!ERz%aa7q6Gqsmbj!FqRa0T5ZnY6EB9F{26ZBD|rZ6+KNiw7r zuo}*?3Yf>?LYXfTZGAEpu3o1D5U-M#w_#`B5T_kw;VSuwHW%C3t9OpS3H&lJHzwMG zH9^Y+ha2UW>uA&WSBa#W$4PeEi{s<_>q8$SzF*_j0gAz^q;jA*iMd~kg1KP1(e*4^$_|LI@$Aj z*s4+Lwv&ZN;`XOyi0eqnlE$C$+I&H7A`xAp|0~gsI-fn)ebe& zTKz-vlp-!yJ4pFlPSo!RTLz4IPG`h?kLr)5MG*On-Q?Vn-9gwd)vumU`>?@$T5WPQkDJw=$Ttc5;qfrQZFRVk<2>rWJ9H=z#1^Mc1%(C6T9q z{C0({II*zqjjNS9wyO!b6_&AlCdALkn8GMzkB{Lw0lRB!R$^C%n&u6IJJ&Drj<`Qm zb{<8&5Pc*znT+hLkn+5dlJP1pkL#0#m*kYykZ615>W+~Ci;vf@!jVsKo>AfqQe*KT zIP41iAe(eDTdVe+dShh^ zAP$4PZaW+IKFycX`%2>I>(-Ix)&)Uswl|36y;*GXd@Wp?w|Cd27Cs4$XQySx`&Dc4~; zXH%xmN&Av!`2507v?mYLm_@Qqv%+-IQ@&3uDpf|`BK3&~6=2NR4fa$Z8kpP>^Jo63 zSvFo;mmz8Y-01C%Bp%6veZZvgPdQsP_qj6<;{ntKH2F66iY;)g{|WyOccMWT$Gf|G zI!;i_mVc~;Ju}b`^?CxlpW*g7 z(^kQ`r7(-oE0?-0?W>n23lPYvlP_-+RI#c2)M1zAh$3XHMV59O+-cagiXY-+4zmSK zpV6xADKuwM9af*5n8u$OaO?aWIPQl7V@?E~j`{u8H#0hb4KqQJPbYOGB)`UjTB*{x zQ9wt-dGEfHLXKtRBlP)+Mt}h5q;0tQal5r?RmxJvmPNq_jla^U?7^Z5r zYWKD`>yK4a;e(98;=_XNERnOZaUO)(zsH$4&cr0HRZ3{^Qn8mT`DVA&Zvo`!0lxF7 zdPz&*dA7^Ri-?p@U6_f#p@?A^0Vno)6Aj{rci{)ZRep|*2mt+>T zd{-j)gJEp}mVW1X|ihZ?>8oUv!u zzMOiF|jKm^Jd#Vc<`Y~ z*O3bk%TX+{Bu;y?s+C94h7djwLAO`oMB`>!VKDea!vhbNM?r}=B)2OCPBikk9 z%95Ph*@z4&VCim>5d;o0d|Z7|zeX?l=#rBF8Jp0rN2pQ-zHN#lnJS5!twV$ zf&0xDTNYB9SfR3Mbd7aZ1%(mk68toD*8*eLoedHF&rV~j0) zm}8&z*%bT!NMv8MAk^fO9%n3!F|$mvB$zzY3$M%qm_KTMslz~D*qWM#H~+ED3Nm9F zpQqEq!=EOoFc^mGOI)}eBGV}ajA}3APVEo&DdXRXo=MVk$_!s-aCr7%;abXFJ^xyr~ZZ*6#d1qYWdv7Y=&lZLY*G&R5jjnI6e6)Fc|;9JyN~@!uZI) z$q@PeXX4)vV>s(RBb6#2-ge%)Gbf8l^WLr)s7#DCoPhXwGqpgw&90%lcOuCaRMY*9 zB!*cR&G1Po0=_d4Ie3O9h}~Ic2WQ%T?OYQg8ZkI2tA{DwF|00K_YSjt)JlkJ41Du* zW0~$dC!nmb+ZeSLhGjE+(4im9#>Kwh;F5+IJ!0o2U`pfqhQy*%$sqL|XM$|Yh$wZ- zzJD|1VSB-Uv_Jc5_4sXtF;!N<@2$TQS>RkiYq1%rX@-n>5J|n=sQznZu?n?1J^!g( zoKkeYitozo@s0#v;>^C+qR!=MTxZ+JPFXAv97`Q2^}FqCb_|=t{@+;upQB;lrA%l* zpk073$TfpQoOO?s__F36orjy84o1ijt-V zfW^%2+R*GZP{TA@^8VL=GzwdTy_!n2?wjiI*^t60&+o@$fco&V+<-rCI{TsM>P#Q8boY-wjz`vn)pmszXSI8LuRW=M+5#x zGoYsJe{nXMgA;l%xQFUf2PZi@T1q4I{mMAKd--pV(#%S6+dRZQRBdRFECqae1K{1NIJe4 zuw!A#j5NJQ{4Y!Wtr~cYnTMX4(TX$hqmACSW-7WKv|6&S6atLq&Drp$&ipOEJkmB$fD1qvo#E^GX4vh z*Vz|a(2%CX`e5v;Zt!IsrEOuDq|PGr*}h;Vl4FQE_(!=CMKz`X^}@tkAAja1JxU?@ zf|AV-fbowVC<+UN0=QQNIPh>gpS&Av+fp6%zrrHVb-0Asgq%U};A7M_Y)Qq9@Kk}f zxE+_seJP&mIKJC&0)!(K#wy|{N9wiuPtPyd7D>J_JvH_j=@MwNSZ7NV_TjZ)wccAa zZ;cS#5{+pb-+Je8Y}UlyxcWy@n*!7{mBfE!{7D``?`{`BF#;qcwSAFIq}iD-(EQB# z*^|)5sg;{jatrL(Hu#?m+51^k?%%|@a7D~Wz>XLFbD0U%>)|KB8i-Asng?Oh{P@dc zm426qo24-)I?SZQpz*k3qMG_9lZr2JZ`?(=IsIE!<@Y8F8_<&~;bkfkRMqXNC0dJ3 zpL-(zhiy|r_+R%AiZ#bm0xbD(A#^Ly^OXIeflbT28oX|%pvfd(6- z-4I=k(;PoIc{n|I+ ztu$Oh!T-cZMZPGpH?yhNVa`!qO}rNW$AhS7v4(Ihz`-*)6w#$sXFf#V> ztZoHp-$a?)ya2is?RF~vdQUDRIJ zkKqEMB9P+?!a^OfZ^l`h=Mtsc&w&uc5l7j!i0Nt7zkjh~+sCVoPM6PX|J`viH5|pj zVq;wH=DD6Rx0oxx5d}PYSXET~soSb8hmNtcOue zVYGq{eSDyzih1QD(HXXqqAcYDS{lO7r9hI!>WhLM`M{VL z_Mq_d1z&`AO0z#TZY_&-NL1!mPOP2EZ715BDWW@(?n001X?Wp%^3m&+ivo96Y#%wEY=WT!reA3qYQ`yKQT&?PSL1W7`c}6rM8jo-xGtjNI z{H7b|{3#v0T4z$JzbEwUDw_0b-Q)yDg1;ULHLIS&s#*NmJgGg;4HL2EVjtc8izOPH zL$55!0Nv$}IV=jdy1C#?G+p5lVs4?Tkn@wvOEdvBbzH}ymWl1Eo?wGfhw%?Y!=X#- z+u6uJ02qitMGp#K&F$2kH*Wez#31$oQ%?19z71e{w!oE)O&@T^i%P)Ee9wsAImC7x*D|dbf2X??@K9e>#f%l$izt5Nnu=% z{)o1w4!6*^1kMNaI?*)PK6!9rGAgE%SUTWGvdvz%yAg4&VrXgkll@+o%QS6C;rN2K zAcB<)CRTWVS2_HN+8Q~fjKjjiX4VQmRnGWSA8hO~>+dC{?Y~Og$SQjEr(E}XtBv^b zd~K+UnOIV5-JMz4zG&lfJ@+rEjQjd!Xfp~#++E|ugah{NMxJP$&CU%>%37>TO7a}o+EC6Ic&VYm$hG`Kr@i!NPl180q>?sxp7XM>D*6Y9Mi8^`nM>^*q zm={kJwy_$lldcs?!8h9!`b!cM`8r2;@@`$=QRbx7)zcwFOw<-~-u_;oUk!&;=mgN9 zr+0uP&8?$6ew?_dYj$jwOF*58=h1QVelzz-WpOGsa!Rw{g{|tFQQhhCSV<0Kdl;SG zUvLu1JU5zdUCzdMJyKfTIkdCQ&Y|bmNAJ_fAs7}@3~Or7{K1Nn9*Go9ho3BskJ3?( zFdkoIPWGw+)@P31MR(;c9$hw2*oyybLau%_UvmEDrnt`~FE4qP?aO+6G<7F#1}(zu z!(Q8e9-uV(qxyjQ;m~ac5uO;V}P^h1N z9syY;l^~#$m`>_9EW+TDzLAmH-|5j~YgFR!u*FKi_2u(FFno3B-BxGEEv~mM$kCGOCtPZol3p$+){oC*$ z{Q=WX@9wHpaY?w>?ij9$i&EEWD zi;~9=#MRz>H=Qpq2-Rb1G{_*wrVOwWn7sSzH5_ejR2$0rt85Fv%+AiVyeD zr7wVYuYI&45I`J5v|zE}m4n#5U3Z=FVZQ$H^esNuao#&-czaZbRZzw9Ey?|C=EV(J z{!YG#9j~K6cy1AGUAizYz5-Qw!o3zlHL_Pe0z+61toHkj&M63IR36OE(Nc{A+hINp z`;>VKdiP>eE0>RzF8=>w?Y)AU@S<>EQ4tjZ0qG?IDo6`OIwT?jDqVUP5UJ98NkpWG z0wMxZBhq{CP3gV&79g}xrH1qy|L2@JcjnIAJ9E4_- z7chlE*uMsX!oxi>e;`Po`?KA?;lTxj#yr2^NC}wu87gE-NRn&^0mkEtp626f6CfAN zTj@SEaXjXgjklX(-33E-6MEM32+TpG#lMvdVLDF{eieW`8;=&nELPcD<`T=08@;Qa zf4mb)znoXOBt38*lz@Gd-aq`vEWY7$kjc?X-Tlkrm{2?yEZxwT`*s9(akR}^4VE5A z>ImKxTzt8O)=FGd$tL-S9IbH0b{jZtCFWuQzpAwyfArg&4>%7aC8OPD#o6B4;rby!w%AU^C2|T-&-4A%s^w{2ISv9k8Vxv;Jellu)%(5v$6>t`Q zqokgJ#0gyeAzKuU$-2#0q%k?C?enV#Qa)nrTKQO;-S+%)9md42nd>KIxdlV#8;8ML zMc0zbEi65zM(P2~ZE#DeHp=t%I9PO0ErJmBClUbqxT-@|EVJ;k-F<1q=8K&XThE&u zE&5~E#%{la1-G5^#)W4;%B$hq3l;9RK540|Oy>8?z5DYLT95GgNBjZXyY3nJ&QyrY zLIKM`J6-r#f;R_gj#Cm=gF3A9S}Z;-bX|h)8y*z_gByPwGkxk_v$Qlsi{6s&&`;?5 z>PO^Mm$KjV?wGQ|>fGts9N1VFP465V!!(J>uCr~16CXTgzPCLYxMOoBI&2{o>`SJ0 z@nP2;cXD{vXSMYNHY3vT{8cF<`q*Cy4F5&1>CRf~m2`WF!bFGAWP7a@FyL`)Bhr(% z;nQ~SEj#pqI_~OPckJ6+5X7OeARxX8Xu+BUgU)8K<;ASMIAcz^^ntgOA*~JAm&1)6 zVG4MHi``%8Y0_vlsQ$;|PZE>fE^=UV8_1>LWFajT()}^0C-y%#b2%CZuH2zbjDsC} zhBRni?RkJa`+aq);7LMN0PAar%Qx77H7oaoaPGR53+?gB*GrNLhB*c7fRNSCJDsO5 zYw5Bs`5P*PMI&<{!gM_KVtjn5h$IZ{w+a?ryPc+emdswG2h$H(Di_Hu7?QkIO-cpO z@ft0kzz5=QJ3-EZX^sOg>8D@X=mO`SL}dtjq7x!bq+d_?lR_Fs$f+N=PgAH%MbX%X z(@yU+@0x?_LmsvhzXO;%$523uY=nzIbS_xGlp;g(_9JuPa=GXz!u@@o=}vp@@=`1v zM{81OY@l;xQ|pqdU`(bVp=yIKa1>p>Q>@|@3UNq+^IAo|ER@|{n}UqXl|)Z)iSSDL z!a%q}1B4o{eo*6&SlN+s!D&ok76Rqe5;I(y?Wb z2t2_GmVc}H^;w2`brXxP{6Xj!nbrtY75B)fSqxl;! zmBr1?`5Yb1p=-2TvbfkKf7827M`~taN9$MRC2Y)WVUsBcCq6}kFO)NVx*oTSXCWtY zlsczz2J2l&f=YqB^{nGyY%wED3&s1A#zmA75#Yvm2p_GzpcR47Y=@YxHkc&ZnzH}O z!;x+t@_y*V%tp47K))*+Z@ubY>2bTmB)!!8#k^0GyHKZBsP{`aJ#qr20*NrhOSQGT z{eA)W_3?M(iyCY!-$WMCzrett2s*jZ!V%ZIQFF?5tTXkvn`{SJpyH`EdPMuioVn}0 z)oqo51TDiP|C{lxQ&G68Wj-H^?`EdVkH8Si-GHwCrq)=#ox3CRrL>BlnmujXJz8w>xcH;T0A zd^B~~qLB2M5dJ$wK=wvRSC7>1O@z|w-qg~kNR33;OQruQ_m|%~UFnT9rnflG8lDKH zG`11WzUFxAY9a->H9J>BoL}Wq!tumc_Dz-alE?M3MpDmJf=z~MN*WjM4Shb~lipZH zGAHggOZykXWxs^J3ib+#iEOBXggenn`#p20(AQ<&$SuRF$#1|*5*tnab_%wOY|`_* zkyBdcERQZU{kntcMB`hpj-y})2)j?5Zux>ONZrOq_uAg3vx6u=JD*b0!!d4!w9C|@ zKMoP0!I)Mx3II>9>u)oIjRotuSXJ}9*U`V2pktwb_%$h6x68YAio7UEYYUN~Wj<19e~Kba>+SB+(bm7Lnyky#%ZOSb>^*}O-T3q0wg-p6L{Q^$%t~#g_d~w&HUGzG!SDt_C zR(fG91J-Qgtr~l_y@I(`{SFYs0Zz=N7*%3=H z1F82tK4yLq7>5QRu59g|$WSo}$0`vZ3jA(nb`NUHuv(wa!(zxjv|jY!O|EWXwNRPG ziT%epN&%XtWMXuJ<|RpFC2A+;Uy61b^CNUEud57=r(?#qE~+fTb_01~wKMI{k<7JW zqUxAzHJ=Ibzdj@V@Xb|n{&7^gLR*__U6`!Sl?~U%(-wfiv6R9K!-kIOutLh|HZbDy z^jX@ON}M`do2#+pbU#c;18lNvg_q+pCp8c>sRHaXZ5ldPP*`gPm0i1xJ-XZk+)o_O#Pb^eoe1V{WwQKr zkt~?(^hy@D0Yl2!w9i?^g}u|SzwC|llpU6!LX zqlOCJEy5Zh@<6p9(hxumBOS1v&}xVEQ?LoiQI|&6+2&zUdKjNiX6$ei6*#CWUNl)M zzcpXV^b_h#P~m3mu#xwazM<6nIrOOMz)Zc@^B=fF!Jj|lKjf*or%8SS->#p3b3>T0 ztZhzV9xH{#-KFA-+lvpAXW!l?H@sSL=-759$~M7dp1N#y+vx@D8Yx^sKPd=4%NZf5 z${eNDU5*9S_f-SJK}fTGb3hU2hGPZi2o~I|1oMK_PRiw|22UP%M3f~=Jwpd`xPlN7 z79>yCLAetzP9a&=8DBNb_tF95-&+~?0ID~280s|u6!`C#ANXkaeppssg9nwWKDsF3 z-5Kgc=N+q-0J{<~m)D?kzUOf5t(j~Q(H&fOH{+Hf9Q^`{4Q~76;PMx9V80;jM&$fV z+4_er&+7g?R(0)Thpy;&OSfAPL^LmssNfo3v!-GlIBOBmXY zP@)4}V#R_M;F?{Ey0@OKkJK96TIb&YTJ_#aGl8STvl z2i*Qy8KDD`H1COn9sQPdr%Q#+$TEoY|0zC}7?d5H302pk;pb~DdSm^$^6~dOUsJ=Y zG&QW$DxVl<$x{uZX=QfO$Zr=0%$jMye2U+XUGV;@)O~=NC>IPwY?=95Mi2t={teDs zMt3$(NpilNKc7-%u4{)@a)$~Xa*F}|(`@$9Ux=g_L9C=BE_!J%o`L2#=7#*< z?Q4jE;K0S6Nzyak(Hs?uDBNk3-~pZ^9i5=}5kNEbz``y~wd0M|=(UdyxVaSA*t9K)^X*QG_H& zzoqOxAUQ1m?G7-xj3BKpMlz-b)c8vYYBo$rov&JBrRs3GLxyynL1D2{QEqqPk3}}N zRF-Ahe5sgH10q-QdAu5ErEexGa6T=>1Wz-o+!FtD$x& zmNmaJf#z$rxld`*Vz17-rqbz#$rh9uSzu~|P zN|eIdj8ItCkswLRcqo!wC)r-NTG#>bvSU+AWI?03=B~XN)7~g=dXYwO0SwWD0`FLt z2-ji9b#@N}4nXwb%g05-rLGsIq~YOI4qSYm&%|M1MDdO}?iM2bkwKhg?U{k<-ym}K z-yrfn<{Zv)W0cJ~e@o|=$M0-l(!d`LEi?0C1tN82jd>Ysspi1sexC&Gu^6G}JnUQB zE`A;uVkQ}oxZ+O6#Mwx5U~u_`8fZxD!%*67^iB`CommYR_?jm>K$dO`|{Bd}`0BBw}cKE_jZAVM_U_Px8o9p`y#oojSXd zZe{V}YfX2y+206gpRL=}#)zAT0rox2e_kz^3Z|a{;%8eFOk0jFrw;1I%|A3vO1NG0 zpmAUpC}`aVvN%(@lyUwnbIjF9{^pl}Klty#(W*BGN-<*?z-4U&81A-Cyiiyu!^fz zolMy?^P%Ui<`3_!+N&8pF@d#DJA|1FejWWmjke7ZsOkxR!F9~z`<&8FlP2Pzi(h{F z2|L(rY4;IDPrX@JAGDTvgPgf7;#7h#mP;_frZAEe0To2kyFbRIvgtv&Ofca(G%K`X zZG1o#>;Eb)LaC$Li2jK;%R1DxOMDlXgeEcJ7B3r;kJFHUS2W_Z+W6}(q64-$Psh+K z*~(AYzcI+>o@RTF+Q{ni{n_qnV0mYV=J(F;f0T}RLr4pcoKvDh5A~T7<@{}ao^K4( z+8eNKYG4dx^v8VOONdr#J$Zr zbK4!FORx-Vnlh-rnkglpw!v@tu`(;fdHaM-_DNR-4Jo)dG{TH5_r~yz2HSOipO!^X z(FbxJcaSsz?MooyXDBfje?>CpR@70~%tbld^2<=KQje;gHRuRi(u>#wRpdf&bf^{k zxE3(T+@7kJ^yJTP2m+T&_G}#rImY(TKdT;CpO5RRtzivaacBm{NI3gL9^zJB7 z!u(v6!|ERBw4c-hM7-P4JF!C){7Kt zgYV7J(-FZeL=i8EM9^A#68rW)m4Nu4N>JC_dBViXR1j<-x&*|$|LZu+6O&3E=*iyP z07|A`*egnmw$_&#$YUY=tE@Bl95G_AkE=Zm|IP*9Gj~|Yve9?9pMw2Gd%Q)A&i@uK zmiqhf>lEq>dPlYpTp?Odot`+<;0+E-ooNpZuyXL+8XjL{czl+Qd;9!7Ha3D+HIO%TRwgQn9)_6L8g*n~zK0soZm;k7n z2?hzu&4}y^U!MShnX4_pBzKZ=KcYd{Nb(Nt{>-n@cQx#Od&(B7 zBWpH~uwQlZN7LIsX5l!OgH;}WCV88pNkMhHt9h`Q1n+gV!=u1C_QDzpq8z7D;3hXw zPC$6=+0qn!_9LLQyC6h*mr45ai(X+rlz=9?_+bd_KkUHVslD1kIo(qS5_LchvNp~5 z?B^v&H>|kdlT&epf#Q9#qQLKn9}#TI{+5d(b(O4O!TIBV%okB!S9jH0dtlzmOO_hg z0Xtviq_LP(VrQX$auyypJoEJ6cFeoQdN$L@ju;9_M=g=ZtC=BvF#+rbt%AGi3m-`~ zLZr-eK4@G8>7s@2_faS<3o@Q&A&-#?az^tD6v@7=sqlZK*Y5C)3jeiyxpy?F;7PE^oV;$!04 zERLLh zw6`ggSWjZ3`tYiFj+7@Rsl{cx(m6^`aJwEP1b$&WlO@IrFV}qa*+{vWKdLEf8e2>P zCnuji9Xr{2?>jjvXVA?8c=@DC0&;y+n%p6U6FBsZLqGe_I!DX!m4o!O2`*orb%b%m z0ok;$lQx4lf7jktNwjfQ@1IhdcyNKo0zUd%+3sR8En)`prr=bXmr?0F6B1<}8$I{7 zDzw>YTDuL4DATgyc!_g6gz;!nGkf#|X#eDIys!v+0Nsmzejjy?swNg|uy^^^tm%>e zG9U_Wql;^ISOWwU-dE+}A|-{-#mrXo6%{^r@Ul%ECgPf+zsWynX#)4F zB)f42N7D#!7F)`5CnIecO5M?x^Mc{z+Fl@^w#{j)BkY!e+5^{{rI{aj88>Xvv|z`V zJxoQbA1x(sBfjqpoRt7%)G~0DR>z~}k~cmb4Vvvi0R4c(vra9jrOu5F%*gy;>_ft% ze_EYosX^L*oUO1IKuZpXy<4tOlZ<%_IKcf-9ya{mes+y+YK)Cq&u(}IwAetJ@5N83 zx_pii`eT&<9FU#TzQNjP6zcja^85U&lHh5fDte>5B}cNBol*l+>11x|z~O_1eHj30Ai97{rQsNm@;MI(Ba2{!`A)Da7H(m{EK4c~ z7G++~MpA<@=8q%r_?VMef^yR7o&m;dNv`GU9S)6%DO3j8aZ^XxDYfFjh_Ybq1&hj> z5^i_^p{X)~*vkwCoT6+5Y5PH!W@1;er zLQZ?wz6)cp7-&kKWYGDccd2a9Dz*VHxPF0s&uP8y*?d6(9CrQRo+6=!Q`D;R3IU%v zQgh^w$b*l$mdrD|zDoH}a(P^r!grt?f9OP%N%eEc;ddr&&w2HK{%K2m+@^y>Dn@5H z?QwLIu@R50qUW`62%O;W_vnJ?T~a4NRlbf0nU($qOC16nSNu+jV*!Eq+irfadQA$R z`p4x5%@thIn!EJwgQaVJWT(eMjQn|4z^vX7VbXT4@KHDzgN&JMNIjNk=fh);126QXvMoeQKTurSM(B7%Pwye;$qy9YSBqO)j4g4 zz?oRH;cHp|JYbby{PHA=SU&Dv=d6!Xlst-$HB4tHM-Fi6_LmxBUfBqrz3bTX3>sr{ zKS6nKo1Z<;bJoMp>BvqJQ-#h(>XatO54(m)QM9^wDzcBfX2o0zO$pMZpnw5~<5S3- zVM{{NDo(}fgTwIvh&0SAvm^q~UgQZPU#og%ZGUM!tpP_Ut4rp(p*w`zW^`Zbi{*sfBbCO zc|u)59M*nr$qusSQ+F@V-)bp1hKNE3x0_0Z{|6DMd`CtdJ+PGz{cp!$Vp<<{OV830`u0AYlCIz5=%pre|EERSX zqOp%&=`^#O-!eU_3o8CTRXB`!MZRO7(?TQpBWMo)JnSf(hORdP@TD=qR^nC_tai?D z&>+=8{5$!@EG4$H7hKZTEMr~RCKZJ-iy$RWWf8kJGd1W&_7`#BcE4IUaNkCeJS!5H zOtT3jxVNd?bv$tow_9l87FO(v4DhRHv>d_4ek>`vNewG1Z2m7-%*C#qgl+KZx~L*B zBu%%^2M15}y8m|k*_~78ZQmSq?uV5}9yhv306F0ECsZsMkB7)n zchU$1e_FoILA4CjE0%z0F+2$N6(F-e!(feMT^c1y7eXbnDDZC6zcNwXtCFqeqr$}d zFu{ePoLBx1-rz5s`_5HnO3qQa zeLb)1Zp>lv1wR3Kn3sr-E1|wXJ!^SwL-@A^x0Y&u%YF2S4c0AfV}i1L4@P?Sn_j6B zytP4XHou{GBjMNPnlvO0CPNC&H&GXQ2YQ_vvn5aQFChBSqrbix>L)yx+lmlwOaPL< z&@r*727nwZN0L?JV#E6S$?y0( ztVfx=m#T%43vY|#2EGZgus_v(Cp|Z9jM%Ru+{{Cc6pj-R&n4-^NfRM0&-F0*{hwuL z{N^*dkh%PXje!G<51>N2wdOPD(J^3Od8V+A5q4@Tv>G}5GPXUttUHIIO|^i`X^l@H zDL(5Ewo~%c>Sskw)~ZbfA|M8-Ak<-VyJdwdqie?R)@Bg4Cg7HJ8o)PIbjD#aoHJqd z#UE)9PIbvy`ozvsRgdIy|-w`aAvy9BK7{1YtgIbY%eJ zqo^=(El`xDYt?`MkiZ}E1zMFKX2V~Fy{^;HA?7_e0AzbW(-)_ent<>!I-F`NYxhD7eaHIUYGS_HnZxjbdHKLls{3Wi^Q)^M?lr;xpe>GLTY z8z6GHn$dA0leFYc!`sZ;+`%&+gze|t6?PjPnxkTN`$DpsOH)&N50#zS>si?aKR0SL2VFuB0pw8wyj46TIcEemJ)`NquBJe$&*XIA*#z^#!>LqI zSRW_m#rEhxx0~J3LX$C)KEjs_N9Ncvo@Ir$G`SIZaQp>)b+Uf5t@>sWV7iFF#uUv& zQ%j#B3BoKfww5`cCC<2EpX?sqa9EQJTxD(^H8qdH1tvp+7M+E`Lj#u1vPVZsA#24k zos|Ct46PENRdnCojRpSq)c@;?{zI@0J#TTgd)Ge;|D&#Ytk@q7$}BX_>^+j-L|aHZ ziELE&ahG}}+IH-ty{bY4Z+koPK<<1W@NMZIiD2Zv7T17o-H}(wA4SU|WtmAAJz2Jw zyTEY^Of(DR0X$*0xLGcL<5j$b=_;?jo!Z``h`J{_kI!sp(h-x{mj{=pO%vsI56?U} z7>gW?zt?eE4md?(SAV^G@-lMQ8Ww)^p>A9;C;Iv?$(UgXVOkYDFJg7yl%hWxzuZ{I~(#&?7$p;-L3Pj-Bvp&xd%KF%HPQ_;vY6kpi_`-jr8<+6HJV0HxH7x&&8c{G95-oWkr z{cpojhxM)%*8rXu&K2qa6RcVjl!h8QA>-w#Y@TNUZAr@%xaJmnRv$FK@jG+6$PJmO zRa8T_kXdyN(`tcNvh3opb)=0(rHp5WOxNvvJs<&y?OKXBi!&=D5~xdfiE47EmG4d$ zOJwsen1Ux|uJW0^9|ugZW{?ttXkQ!TX<@vMci_%$9&AH&u`QzTMKB&K?fn(L1GxF6 zwU|?z7;}gXP}s06K21o|{Z%#0^+&91b(&ZlxaD?n{|idZ-smcY=#nsTw$%6M!4-3D zv>_Xgarv+B58(VW`L8=2c7q-qoYh6y@)@hP({6y4Dq7HUKgK>RnPGd+p)O#jioqsp z2KBm5(evtUgYAHbLc4!Y2`!l&{@8d1>ZNV6J6R(C{weELkMtwZ7H-zL3B;$zgINRro%TGHEa+u2ha&~PNj)~C?9NHL6iIrV-rLQw4&8@k3VMFHk% zUb@&{_8I^C$~A|s9f8F`e$%k*eDgO{VzbT!1MnviQKsaX=Zh^-n!}h`b$n1~>bG+q zrpVtwp)xIo=Q4{=MueZS(+CWKq~cWy8tbDtc{I!jcWXyo7dBd|C3ELQd_aZIJ)&X3)OomKroONMael3S#SuF@g@ zRkbaWov(^<(-omU&HM9o2wEO1TjUp^8qFWSx|+?#o1zj0Al%+{h zW+q?TR07U6xP|U{J=L%G@BA1fC>d7bAewxVmjFp*lQ(LU<`aq%wB@!xVyK(D^(0V2 zxJ`&@S8I|z!p~hOC~5&*xyC^Gx;01;Lvx{{RHK+^6kbOOUU@VWy}oLt?mprV~3t^hUuasR}XLy+10r*{bKIf5g zZPjB-AvX4afjpfWiUk4H*JdH4s=<<(ko%|We^w0wepaq=Cx~%;HKi1g=x#p8cObZA z)!e^9)P5X3V`3lN?2er5+Qo?plg*h=#)GfA)c}KALdr}hY4&rWTkdCSB1toN+NoWP z>qej%>Ck*(G%N8iLy?!!_P3lUy{Vai0{_UxA!sC-(z-V$3SS23JSF&^ulW6kD*vD8 z0Wh7b~agh^_d&?I?m69}xk*TESP-v35DZA*!A_By+q4>S#6 zY%DBA*HgMtsYSz>hS%fy9@)HTW^t~HcD|dC#diA@z>zwuW;LLaJvv05`~BT^n^rSp z7yE;4A0FA=-KvsxeW)5mLHx%;c%qs*%s=+-rn>c9a{RXNou$NV$QuzG)xOdff0s6jt8X<(|ce6`m zi8~q*;DPJ{tiEt6I;={JgUe?>4SEq*y5)eTVnZCmN-jQIhLXR_rRcFWX@4X{vIhM6 zw8E}Abf>r+>Re@DS$h1ySfO3iZ8SvO9o@somn+L33qv<^(|x|H-g+Z=HEDt`EFSly zqIle=XycJ^+uP~me~cSLNZgU!*=^5eva1V)9X$s|X&!d2dsSUNt}e8Rwyz*RA2$@0 z%+2Ssc{Z?^dmCkZ9Nd*Pk7YQQ`piyqQx7Kry>3-j^RRWjOHeNpRuk(Z07$>`dHI>1 zOD`+hI1g(@EaX}67C!T+e`&Qz(1X(-QD?xoVkDPYW(*+r-97;cr{=A540b^53t zAAgROdf;thX&K{Ivsc~kdoOq?7TFbnb0?b%fS0|btI*j&61q}me-P|9or2J%|LHee$_32`Luh*<+@N|Ut5z#Nm&$JquT zFPs3{1`aWiQpQbYBiqOeg~)azEMJj3a+Eyb{~0r8Qx*^cdX|K&9nTbUa5{trd3+I$ z9soNdS&%ZLR#R6F?%w9KIyPM3mUp~KF?~!Ok zlgf6p6rZk05{{^@RQp|jr&~0n80;2>7EP4N4_&;7a7fD=8u^nTXG-;E`98qY-D^9o z>?G>d|Z^=dA8Ecki%Ubnl(#Kx(@? z1*Ox^?{sV94J^fz%m3>c5Dq8y*xmod0wC)&>rOhSHE^EirX@Pavu8~EVfH{aE4#!> z>G6h(I-jKK3qgr+63j`X_gT--&zbK77Vc3*C$Q=O@IlwDjRKgA{g<(FdCj&55bIH? z7-4?m+_|^u>C1`HkHg$x@AmQu-hrHk>Cse<=)`Rcdo5DHXP+(|#p)ZdP? zyK=^o>*bx>tw zL3ziU|GD&F$$2VMZ;O9VpPa7`&D zCZ9!hI3bJzKv9A_EU6TSwKtmFh*_)Q59P$|{Mh0p-ey)b77pEISEGjXs;H~rCdK|E z5vCYR3C&D0%V!t@nE(t%HdO_R4CR+LJ6zdp58-g%o>ZbP@$+w$pg}9~lI2TZo+Mb7{m^b*cKac#3V9HFc6ROa@JzFFF-)}FeMNVF zYXy6nJa5aq9Y% z?N&p5(Ak{pB^#$*D$&=d`hzxp#u;cU%+S1P_>@AVw0`ZSX?)40WZ+qJrEJkg2GD62 zLB%2CpRPo6YBe+mF9jG}=p_ow*qwpR%N>g`d;S;%)zb}>cgdrKCFh1El)Z@T->9fy znH}za#r&zFLbQwE7k3!p|mmZE;BadR**NRxG1oN zeZ3{@gey|q5(C|isM%RMg(_IQCz%S3FLiRW!F(;B6#mxOrU$+@>j?#HeN=}6H>Iv^ zyrBK&e(}q_hOV<*Dr7BR8vPcC^GYUR%Nv_RkX2vk+!#_$)}|c0#K*rpj7h2c$ApnO zDPh#ifz4=OkRi_CP{S3z%&Nv+*+s!!e0NNpuw=RF`LX?hL$Ml-qz+;*=U9G*HEWLt zRDo>XoQRV6dRhBX2jQrk!~3`-eHNX~Rxx%_{Dv(`Pkip@9CZy@IM-D{im0 zvS}>Wg@?DgnY|i1F#~BT53EEZNwv*C^jr?{H#p0d-9%S=2cd71=CpAtaz0>{DUUe>0vO083J#om2d|WQO zwC*2b^M@sJ?Z5~16MOfS}r4+JkSaPY6CL4;9Ak1;5Wn1Fb!Sl@Q z@B7T2*jip~J0fKVN)mOOXO~JoP(eQ92Q^R&Rw4Ipp4Q_k+oQlv4NoLlZ#-*{U`&?L35a2wV{bN|Qte+(22{T&}RsDfoT0%^mCG#YE-7@w4fppF!8cCO?< z$)b)>O`lC>6P@3NW4%zg(vF~(qgPPvA16*MCBOw+C(hJwnJ#mD>^xc2a-?SSmh#R@ zM=w5_(FX3mvE_n@0~#8*E^33TD>NmzgPpViq`!?B9szF`?~*7T^>uthrHVWS)O+Pg!a$?rZdj=A>PB%5`&5mLpRV>KAb=i z-1S=4pxsj0$^9?;A8M7|ieJv)0|l(II*ey|UF3RBLjgUzmA$dQiLotpONr~<-cJ`= zaD>>!)~nC7Ei(sar|b^qoUU0JazBf^L-w!=r?lF8l(O}E^ZI)?i74&HHrj8HsQ4wn zF)e6pt1=SXcGjJZKJ-M&W=)EjkO{mZFMh{Re%avHO{4#lKSJQemogspQEr91GpwzE z4^DH#{vuk= z?(11l|H9~ZexYb5=A;uH=c?EAHdb8y4D%7{B?cv=whJHx5PyA3Vu?6?G3tJ`{y*C$~ls@YsZ&ejHC(9x? zNme3SXVI08Co)XrVpG$pW?tKWPS-H1nFj_wp?yNbCOQ}WqDcCZ3GRj_iPV%+IcR0* z|9F@dmbP2IL5va1m3{6!UexFS9SWK~&Wh``(haMGm5(z65HCX6!uJ4HxrLn}`CS2> zX}TaIf6Ep#XT4rlwy#Q`_j-kKR{wSY{vH}g-DRj<;8F9qW3 z0uPV1+X|kvp* zpO7V<)0-c9`$hyNa$(K4`6z4mb!$H*cIdYL3W7~ST7!SwwL22?O#<{mLRXOz;M4il zcQL_KI+0A@?fwpx8gf8uP`V6mU9|!wAqUfZy|}RAh4A1uM{}2ay!so_uswk`t~--B zOFzVTGo5>zF!1_^J9p`9z7+4D0&(0f6@lh?UJ10DV$TlJ1iGb}DlU^AA?FvtiX!74 zIKI>l^V-4Ckzv=mc*`S)R=~yC)8_^7$Jv^~&G|AH_Gb7`t$SBIGgI28)hPJ_fAh6h z_x`jzw<_%aP~b;|L>k@=uy0)(%kMUP!fL=WHMY3{xulwHjVOzJbe=K{L7m1t8^VL{V9snkBfs_a~sTbnp^p(<0-hVfyXm;(+8Y6vw%P~YQ1!1K$u8QH8r7Al2yJik|-YH^OWr&*@0 z&hkk<&XHZq1LFp*WB+GG{{Mb4;H=3B(wU&2jP7XFPEE5p?Xrr4K1&q`KE`skd>h53@t#CdnbB+B+&Y!KoX*Q}g#-v;3oXyFNfP5XubZV7D;`z(m!kv^QG)B~=K zFXEY_RH2m=Y_0r65Ye}7Uo^%CioP}48KpXGo~p+=2sEqI4C+qlG4|VxQ0Dj%THW8o zY+<_go9|-(xBypq+in2}*JCLy9$T4oBw`~j41*QBPDZqslt;`^E-tf7!7hzd#23%7 zkHz~5G09_4z~lal32>WL?;8|NElz;&`TOZq_;XX|aL6`!5(M0qdHRyHh3nbJ1S2i+ z7G1Wi;{4#mgGoe;f)-o5iTD{tu$%qb>+kTs8i~`Nat*mH=%$`o)VYb{GFURk0a|X}O+1tVWsKF0nWu%8b zu9X~hQ7cXK!EN0_k483RVisjIeQbQbi%uwbwx=3N%qJ2fBA*-Uv?K`;Lx}NLKlRyj zHG~btfxE2r(i!E9@>At|zEysL#+LcKDQy3cIg*RP|;(S8iiCfT^Ur4!vvpwnHRuEghHN=M5ZHhw}2wd-RS z4F}2Ji#=UVD;NG8IdZi>*?B=MPr|bg3HsdG4(9Y-OQ+ZOKT1ijPl75P>Au@bA92{a zY9giKdraAWyT*S&GpK_`$TvW%`sl5Nx92SKHaHme+ShN2_{Nv*tfec2fc9N^1A`x~ z(UOa94T`_@{@L9>t%83~0nRB}44Dggvk&L>KJV3yRy7EQCAm?7tq%lS(B$6@(PcPU z_0^|gGx>@Bh5QhK7ihayoqaQA;qU9C7vQ5{icnf%?0wCvMylsu?iaLFpLOSC_H5s} zit%lgB{f&#S???o!QKv{#06ALwz;;d9FMuXFRR3sRgCNCvi|>43sw&0 z{je~6T425VUB9Mve!W}na$tEdbGd$B$HZz->PYCID(xL@o{zS+TPKPx!}=6CTe7j} zZT>fDCt6jL#%}~IRuP%56>JCcqwG{>I~xcQ=F-I+`CAX;dRIl$bKjcfi^=V_mW<#W z=0O7%VO?K(>;0Aw@BtiRn;G$Phzx}{ems8DPe@qTrZ+a+DhoOc3FY2 zO_K-tB@+|N?ZqXiz`$#YRd#?zWzzxrlN7W`^bNeR6w=$8f1bdn%5XCWz-jW{(ud7i z5Ar5=>}oDmdp1q2a4|K3CO}$0xz-b&rO_UVdkEYgTkXFo=gLp8Q{| zy;oGzUDx(2qSB;Eub~P8Qlx|qB27SwbSa^ubfiN_M5=T|dIzOP6 zSl_ngXQ5y4BIEAc*6}BSNR#98=~pV(FFtf$Gl$m9XA)?d0td%vX;>v}{!X>O^Ay>yKXkOF)0+=+IG$^r!R;S$O6Z32tYneter} z%t&e7M$eN?3DAAztb`>W$u#rg;43}=pkE0E#_)h7)c8za8A-EcHZd`7zXc110}A3q z5E7eZ16@oH4z#(d_2`X7%O|+S&9p`KC>n3|eA+psM#82~Np&;N8tV>qo-U)|6R!zBz=57|iSgG8}_AYJ;1zpkv zY#TQCu8_(0yHSuMa1xi!bHKcnUh!F%1tV*$viqSZs}&r;Rac05n&4ZSNC5NuAkaB6 zovtWdY+RGeEn{mS8xfHa4UilA$RtJm2Gk^V3#O?>wKMYbnO`%JRki!1w>XRiv$<3K z>~!GM&FbZpm3ga8KoHPIh}~V_8}A2Yc@h5A`X@59AcwCS zmcV{f65Pd&c`6sj;sfxnmftQrITqYcxv z#UA$;)Y_r+k?Htmf3DV-d&`{;>#6onzfa3;8xs{nYDcsNQ+sA|5?tS`!8LAf=bT>~ z=vWDW{72BL4SGE5J|;Ky$od6W#5*W-J0tNOQ)$g=r`f<8;77L1GFr=)){{L2ee;2g zty869iM^Z0w;SOS%&_n`BiPDV$;58%{b8Hd0MHBle z1vLW33I@&j_{w)G1yJ3W)Y)6I3uPt7r&75jHy4^AfGcIh?_jtnP2_+}bH~eBw#Pc& zd6({#&nIVtL|+mER%J4U;{<1UBR@cLK5N-z-J1~CdH?X1A?NKwkBg&Cpow%DrX5DG zImB{0Y;b*k5k7Szn#?Q_=r(^U0Ufbkqg?sOmM=d0>G#t_&>!0Cr{jGjTxe3&caLHF ziU+1|bQI5}zEs}aDhT{hy)M}|nSiWA0s4-wsvU}?>_0=6-7q)ajiO0^qc>E(e>)u9 zfbkQ@i^csl&uPfY{JLGK^Xc%~)F;FhHjpW89ucE{1rGl8LUurwsu(=nCs|5OS3Vvu zBBk7=sOY=JThrgik$>`Y3I(Q8D4}@K$IGT<^SyBbZt0-+sB*JNft!}NbqQmsU z8Qlyz?eNq4B37z!pOzMc071JllF5GeTFez?`%yC2yLF-oICHy&E_#SOMpE`uRLv7G z5jyJ|11oP*u%tnf)TjYb1R*8^FK@#CYhCm{Z)D0{8{kyTov06GZmV=J-nc6FxkNJ{ z1G?=YPs44D1vAEY2ChH+Gaq1*S)Fq_6}cHubGCj+io1f9ctV6h$nlO-f5_JKYI<;8 z;I)w?Be)iB39Kqjy2r+IMVVJy)4xhnRZVRInOI=R-WP!DoM>oyg@MkgG9ZiJiL))8 z@bfnKRVFmXlFYv|lm%@1>5B{K zbX`y_2|@_VD;#f{vm}82SJLnQTNN-00+s(-mcGY8JVh6n7BtSfxWjlTo;y6=68t8# zY}A)sBa|i6Yi(=C0+RwJK3NSeLLGi(iyG}Kqo>2dYT>p&oYYnB;RQ0ReFb{Y<+HdBllWTWbv$kb(jLs!S`!K=TG=q9sRIP&RN-6<_G1U zbUV=9n3vxSha>slH!w{u--cD?>3&yyZm{uQ>lSY=;&dDRjL$L3`Lf=0D0*uR;XvZbc#@^0% ziy>W9wh(|ZvYAKV3bH~&kypnrz`XcN3R3U%+(f!g-q!IFCtz#;>y_+D2E<}U96kxv zXqY)ITC=8}4IR1=9trP$sl5|yKkPY&jMJ3Iri{TH)qL@nn;R=Fi04D07k@$^qJwu4 ztN|gLz3L{ezZf!)piicTHotj#jm0g-%2ZrB_9BY}p7;*lESp$`}KS z6V8yj2AqY)SNM8a2}RK+vcf!XDSO*Ue5R}TG{(`J59=Nm8zwM@#N1;Y-^mCkhgX*l z)g1Gw4)2uk;2^p=%sZZ~F2AsabruF)UY>l<`7;uC84V?CoH@1Q@3C*OGM3G-I>a;C zH@8f-If|Cse;@y+n^cA)Eog&^sb3C3z@;pq99H^?cJl7;bfL^sY)dbYvsPd^8{?(h znyX^IOB?~Ei6(hxSmZt;Wz}8VZzs$Zi7T|^J#17C$8=S$+DFX!QT4Z3oRifs#C%z17@R;?My#^9R3%MSDhLaxYd zy~pDuZTcj}!EzOgb}yp)TP*D_X0L>>* zNg%8i$Y{A5|9-j;oV&rXD80&ixgbzVDiDfsPpF!95G(B$>pUmU+aS5Q=eyu48%9WnrN? zl{I6({bn{t+bE~P#M_|AY0Bm~YuO6x00%(rQhW>unxCyHEU!OZ;Na^T{ zd1gRpIR|+2cGmDAT5l^XQ}%%89@;}kMBEg&JzHoZ+9;p;3VpX|eV!|@D%jBzt+GJVy7S7d}LY+nJf!M{wf@2wVd>z4)3#9dEyWZ9x`kZiUR^JlUX z68Y8Ct^yiF+@vz`iCwYL?eO9RRuy%7#6I7st`VW#s!z`7FGuxMrJ{JLYkIXXmKg1v z10u!>>b$ID7sJd`>!o0bT0m6KDQ6Dq8D3=dMoR1MN3OLe#|_py=(SHWKS7adW?ZR^duNBNnX2Y ziTm@Be(#H4i~+qp8qzmWgy}H)9aOojtRL3H#fHZN>dk%p`Tl%4;d%_8kVnX$1-JSX zQZ5#QKpVPxni<8~ZFu=T+kLy%+UH&*(hRS+6|0r|x+`vdah1dxrs9&zmV;D+(gkqB z3#o)2AY)#Fk3<T(u(~a?&`+Y^2C^AYIBab&H{s7Kq=-1-Jd>VzO`HS&?ghr2H1+ z!CK~P9#%qo=+nXNjSL6F^Y~ld5qwpv&VSlRsq|NES2CTZ+*MKMOY#U>X%3XPHYv*_;cK;-^O}$$N&3k1vAF@`| z6z|EhwYlyQM-y*^WI>CRTQcMz}78jkjgL0T{R`Sd^Sdz7Y@3!ox`!Y6z;@pIS z0Zk(r&$fAlXw4ZP3z!0=wX;N_6}XNYb(+5YCV_h0gt~^(Y|@i-_mK-8&wg3jCmZel zN=24Ah@Y&vfhqaVI+}@(W_8$;vUI+Eio3ruxcAQYAeo$8+Rdg+?dOwEViqI=sZrV_*YTh_ zjbb9`fh=D#ffIkXVIF9at2@amH63iFXz-N1JMbnQ1mfQXnVD9EDP9HV; z(!h%QkUH!_2Q_Y!mWa==p9zUR@ZrZkEhf`LTnm?O!|%}E8K^?^uhU(prl=g$P$R7q zD$?N77|Zp|v1Qbfw!QH$TIMWKfB^yYQSZy5YOf~BSmGbZr`c;XFC!*oyI*h)mY<5S zS=0eN7?fi+65THcmB;0ruC$^l%_)`_&HF2F92yZLVQ47^ik7m=Hk6Y}mBB>PN`F^OGP;DW$EZ&pH9*5-g-9ZMyi+ebnf>RE zny+$j+Aqjc0&K@4M`A|asodEzYLlzaH*9k>9#Xn0 z4ZJ#SZOwy#CYqg+nh^}^GP+BYq=>7qy=V2pilNQzK@d6RRL8hc!u&vN# zx_)5@U%Oy#@zLPAdmxR!soMMvPK?DAh%L1qx}rWyiBEpqI)&dBjt8QI6A%|eKpAz+ zC@EFIY)7sP>wR$bCa8utG$Tni|2#ud^`;PXS%%WmxpxGG<{O&23Kg6^DEy9kcmIDa zB>rP0S+{r!DE-yG(A14sc28j!EoMni3klaPRLpKS1MK&%Ru(WYR&FI-fvxYjtUo-8 z!&2S!i0|iHxN%W`I}_BcQ~X7ec2nwAFA3XDcle{SioWt6 zbWtxRc&Lm;jeYHcrtrJLbg?^_+}kPO&1w&{G`L-hbbA#36FX3t?^fYJCy7vf-boGLXoH$;n-GB?9XH?$DVQBr-E47Qdpw7DUeR!HSahA zml^kcpk9lca_xycbf3kY%#*Gqf*qS&NEpyCsbbs5I50UQ<}fBarewZ#K25A!KrE_f zhN??Tk^0&}W2YAH@p6p)M1Brf*bwDSiF0L(+XYwzcqeDU`*P2A-A_NB+JE7vPmvM) z?3brzdOwgogBHMnRgVD26u~stFB^GlcO0T*3ax)sL{N~io82<%KG{^4t4Q2e+@YkX zdyf6TC`eA2L^%DE31pVTjP+mm=qcEdK{cO$hvf{8W%7#%c(bH9L!;k9OWdV*8AEltp^@>4mrQ55Sv#m(Dj2<|MTJ* z1gHVw1xy&sa!u$(&tJY>bm49@D~J%up{K>hqB0Jiq@YCQ<@q!Br)lr9)Iq)BGtPQdNFN)rHAPjD*%9CU zq9`nol)9dYuF61BLyTP0^ho;$4>PG;>AsfW_G!^yxcnEfm;b^4T>h*}n!oaVIh+l# zcmGv;97&bPrkviVwbib7#~s+r8f|~(m2TVawk{+@kV2@*Al2an-~C>3T%>ayt)8sf zsv1R(?ydC87WObp9WFrtOA?poEWbh3vcCkiYHPcdtn<@55b#8Ii%erRvcS zuww&q3Rl%q)uk^_q1U^Kff~%SG#WBI+5X!)N94@jB4752Y-z;o#hBAnyY(X$M3z~D z(<&8^(ku$!`2++3(yU{>M6#^%vP%dYYZ6UeZgX5AdYaCA6L%a08c?SV(zaRuJOj9! zk017&q9-qmnvNaYBn(etAF0p&$?(qeT_me%TC!4(^PP>uCzd-_&lbJvjH~}XI7WBH zt?|#4z&GL(qaatMLYjp5btQLmRchC1v**W`Ya`!tQ}{ zT-q{^#)04mLh&kPDzc>Y*m-v;MdeT5c!};0Nma;)*u!IrohrN^xf&0?6UcXIa?A4B zquRV7F>nI)B0jz8ga0Nw6=fk(W!5J8MX!2m#XfgV){B=D1Hkf5Gm89x-_QyDKr1l* z?30J4CV8#5VvHxAY~$D+XY^-5B%c8W(1mY+7>rh%`;!|wv%a?6^D_G6z_B`;oKu;r zh-qR`s-7oreU;%7;F@~a2pY0#7<%!3*K#{iD^k((B#r^BvK#OnoD+AX3xNq47F{Sd zq7AZ~m*Kpy$g*;a6d(A~hA#WA^^FW!6~p7@B+{+d|JH<-<43Td$;P#^h(TUhMWPQD zfe>U=H5%+enQ*ZEu8d@<#)q5wwzkAO4Iuo{C614&D+@c5G96`w@Oz|DF z`k^y z7#TC>zUn4gr3f*Q1qc>PGrA8${CCyLP^G#C4L!m0PG7IzQNI=O2eT2^oM$A7)4%tNNJ+fn(q)>KeW&=bPLz+by3Dy|lUvoDSevVf)EFtHwrglBk(&pCD?RAU?DOoepHMH(tMvKHP4^j>u75Fv<6Zx&x zW|OCQ57(T09(ufH-MD%5V6(Vw78eZK4<+p=BN2L!aJ$1lyQYE(ExLrQa+!CeL)Kb6 zMJ|iSgF*V-urMi8xMI2YFe)Mr#YXiqt<=@2$Bx%^EC1IyG_288E? zy6mRhdp3Xmxu+Gzl`h}qY1f}4IH$dwQ~CJ zJ>~x+Csp5t8RN(ncLJAJ@*bIr2dMWlNb|K571_CGa0RThT>Hw0km~(Ox=U3F?BvE^ zrGE{5+3N`9Qwv2AvDj~h8E5f9OCe)+wIx6v#d=A>au2wYz%UCiVKBY~Ops8NY?5O6 z_(Xbv>7`j!zm5P;`15B*$8U=tZ?ReY&;eA$KzJ*6%W9-MWrlRmsJhQA9mp&EUcZ`{ z&broav<75iMFgYdC?K!%jU(?eviQ0N%EM~By+D_NKEHj9Bf3EJruFnThF;Y<;8-=O zZ9Y9R)tPcRod}l(V*-&{=J#3UlpVOhRcv0ujXM(X`Lf}ADVwlyIu`S#>cWTE>AbzM zJMI||@KvbE!ML|8*ag+gy>*QUez6Op=!bj?cBQ`T)?FUSJ|u!|FpRZAFVLALM{Td( z+YiCm)r$N(YDT+u>gf?OD2Nw#7HcW0c*)h-7iR?eZ_@?;_aqpsH1d*Z z#jo@OmyfBr;?_GPK#cueI8ZC_N;bxg?C>G=GaZ0L$la{C8@Yaaxnhdh@)Th^IS+tD zb75hquW6@xo5HhNqa@Zcq)Jx#>|y%dZz9k&hcoU)gifm0C}@)Smk}|A#Kf5{uA*R} ztgy9uCv75L$Cs8GM|=IkP8RD=e&KqiC#wEPOW@Ub_=rEgi+C+yhUe=3x4N|ekktna zwWjw{EW!(;oI?H!O4e%t3DfYuN%$srTyZDJcOm|39i|;5CRoS@vsav_6Se+K2bujO zcP)J>R>SjSZopqzac+#@s-PeOFQ-8`OrP1;>T`cTbfLIjPA%IOG=F7_-ondUBU;0RXD?{~TGsbP>ZXvhPVVf)zJu%kOr+ znr+g8<~w!Uc*Tx*4-xh*bf>fbEN_lE919K|@~pZVa?p4JRdbMQ3`xAa7^swyk?yM1RYJ zr+o>HF;?TOyZB7KZ5%f0`lmtI5qb`HE2$Ab0lT1J74*vq}~>rI2{Y2oO*4nNCnY%@pN2F<#0) z+YbG$l{4rK*~J&6MFj^PY}6Sahv0j&2YH314Q>PV+;(+x2TOI)e~8IH={yT(^*x)t zD+I07qTf5#$=!Pv@X#^)h9Q|}6@(#~I@xsuyao0$U$!hYaWLg1?5VJNNMCIC8)>+5 ze~akxpTMSEm9=l!eMpm~@iYe|;UMp$#Oeh9nblv6Y(G|oK}iWDwGs8vWrll5tNjr=Qt_Q1@3?pJshWs`z5ty~OnH{S^f08DW+jVil-3^@0C!DVO zc!}LzBbS%q1l6}Jusuatl0=%k_A(M>>y9?@ledrTIF1FcbGEbwOYZFDxuEEr`}j2K z6GhX@+T5aUDD76t_s0cKknBZfdyZz0atOKEincw?PUI%drb48S`t2mZxr?1pbdu{K zeZ#JD1^$>*vy(MuHA1TNu=wFsOa1(-!5Y(AfrxBhs>mloV1F$BW>ZCzA~N97LzSx> zz`Z#?9`HW?X+doh#@CYH)UX_fe9>*S<;y2&lu69#MLo=Qg$^eXJqR?R$YGkj!BWID zi=4nS6b}ZLS2JEgFOim%#qr?N0G7-vPS8ZGT>DKAscc@=kFUY|LAy=IM6kd`s_fe} zs_qWg#&5WvCyn}_Uzc-A(Q~3xQpbW9tAW|&k@*==A-ECH#zr5$nIdz!wGbtfH2XUP zRyZcEjjUd?Dd^f=!^uNS^WV^Y8@Uvf7sECsEw7;9YWL8A+Yh^!3Pzi~A8t4tc~L$1 zJnl~fDz>$>Ka%{g!5Gr^d9?L!gFv*MYTa1ZLGc&^WGoKO9m?RG>%_7>BNkg|A1U|0 z){C&lGXt#Il<($9oR@(#p)=H;D8egJ3>!?yKDcvmz4AP3cBpf(N}+$6fk1D&*WLg; zfpYkIBFewfz9hNA(AF#yCX&E6W4C$1Ai4YD*j=-Ug8wSrU7gX6qK~d6dvITz)MUFr zjAi+p`%C)ilg;ud_*s+VLgDybBwjHb;VLZbupjYoL>g!6#uKpmm%A3S$F50C`g@NoBROl(Dl{dCgTu zxF1tc$`Xr{o(wrzAZBnJ<0E3(pb5{0;LCp9XMF-v?pD0BTuxS#D-O%kCv{+%?RFsJ zX!YfO>Yg!LWx+~itibeg)cwXWFg2LHBb$5MhIV!>9#IElA;{2H>U94t|$6VcbhgYO{tHUcOo4HHw?aa9Rqm!09j&@nS zc5)IP=kW7qc7x15jJJzCgA0!n0{d4d2m{k(Y}mo;LG%>H@aQ)mtE^G`v>-W@#c zJXEm(=ys-_$BYF@AMhVgSv{IDS!QbR%sNB#J?i}V!m(*9;dBG;a#j7>-vG0rTauD` zUF}7^6R4j#qdwsv_am4IvjMBN*X0IyYB?nOIkD%X2wQN z?2Jx7h;_s-7Q4j^+~VXLeB-j>K_!619J;$|6pX6fIr|}T{dSN?dk#wC8SM}0PAv@a zWMpSweMQ>0bQl3qYT*HChg{x;vEbRz)Zh~`4^40(R7r6di)iJ*(~lzn{|$2j)}r)> z_}`~PBo4ikp+M#+<^t3^UXS3plS#0Z@u;I6Od=>Mx9f$oKE$@e4IExKz@d!1DzKR1 z^#N-8+44f6>%9ph4ygstz6f}T#K$~Ta9YXn{f47ZSJte#Fs^a;hJjJfdlvZJqb_o9Cm_+k+U|r;dn!1I_QV>)N*HT;pem^p_D+923~!@!@xX_eMrC^K#R@ z=Y}%gEh##dZ$=0QCl%88IP_L?VD3+@+@ zuT9t46F*l!8)e{d$z{C=Jnpz~Z7kUF3&lzfN1Gxw$EMYc@1S1h=UJ}b^cNXG2wLJw zRJZSS%5u~n%NpxSE$NbA-?x^wP^G?j4R2YWfP=Rf^!(K~nTS8zF?Bs0wJMVfI(24Q zpI6Z_>U3U*psO-9at74<$NSZ&DOu~P&fmxEL8w@&AYoI~lC@VGf~G1sz5}$1cu*)H z2_7$5j_;WbUT2dRS5LVpPEwP+Ax(uafvmv-+BNg>SjUp+VzAkl+JsnL&ND9TO_L)T zzi8xddzF_1QNcDAOPE`yyOWnvCRi237aUfIlwGtb28>`ZqR@#l7%lj(9!Ca*HZ z3H5r?()qd?!W(|1OMB@&rjN2OdrMeE=rxeUBZ^1L*zuSm&=W_LzWBD~4^-`_{2wi$ zxNm%MQ{@1*J7gB4kxox{J_Ds6W=9mqupem^tH!9*pRvLEII*c>T}4BPj`DhEu{+W> ze(p^?>N_j|Dtq!Mr-pv+2}MfLJdprmHJy#rQN8%yES0$LGrrc1D2`*zeSrrDv@=%+ z-bJ5)0~NMx%A4!wC;EZQm!FENXTs8aoTvGsn6Ok}l8K1ecwxk>GkU4|O9x#36?XhI z*?mu4WfoUC!zZTEtmJ*!qk}bari77L3OQt9O!J!7NpjZHUs>z6q`HU1Lcmki!40?3 zn-5*q$4VNe2U@}hpA4NxRkAasXd*26QW~gt{h%rA-=>wC{It5s&n?W1ljEj-UO zyP!*GQ+iFkJp45+_G$4(d6Bgt4sNKk9UCR936p81e~YwP%QAL#?wfBX`RE0bd(x|LF>sk+;Uu1{JnB5L+n8VlVYDONx~ z_+~8k)qH}4F@35H3MUmd z-Pjer213?2f1a3KMNAS$IiHZ_xHh3=Lr9_mS4*0UgWE3I_-;N9HAZ@-?z_|@_0_*eF6%i1S@Eca5lHV*@Z4p#hd--4cCQ*D8)@6-Rh z@_to^lA(PLG#QTrJ}!X;%M<@RIfBCavoW%UoI`KF|JSI3|0^cI^l_wLJ~EW~8e+n@ zaR1IaDak3tI=gEST}Ze%t%>RjfP`M?lq7e^DppFMNUD-t)Y7ahp@|X_dfl6fd7N`E zpOp177tFfVEh8H$GVmIJOD;($SfugwS2kwQYgKOFi7)ZT2SR-(+?xMLaCtnsFOmBB~W zs^|C5mxa`!5~ey4CI`=QEJ^ueR1yf|&t=SI+GFK- zU1ukSx`hH*tt{nO;m73DD*^<{O1ZEK7`X8FooHbsb z_X&r+r`5p&OrcinU&lc|*;(UPid!wn&2`~234zz{OTB*hMsjx z-T#AAcTSrklZT%d9+SGS{7s)RAT~}*Jjs5+Qsq^0z^`<%^Dod8zbXvD_D$(i+EzZLMJ44yOCMcy8D3FajE*T$lvg+ zmSY#^1`NR}78fd{to9t6eAt6nYwlojfuS`8J7L zO-brpn89s*I8^B$yyEPS+0TrOmWQa$Xw)~z@HNLlXt%MmEC8b>Ln6J#S$)M3+h*_YK zFu9T#!|=MAM(QtaCI&ta1f2sPZ63B$4|Gy^1nL=-=?_#MP!%7&Qe0#puVC|r@vdQ&Kl&@t_mwP$@ z$nz(EKC3A1j;0hI$oUJ}A&~bMUeaa!qmirb4Ax=T4^m7`!4s0MeZ! zO$fW@fH$Y8S3f)=jy4)T=mC(llO~*CvT~>TU5cvLZ0r#e{`ARj9{rUxyewfPoXn_d zF48iz^3%Ib7FzqB0?o&3gFZ>t#lFN}-lTtvCj&@}kXYN; zR&uX7zkC>{<@P+ZVLVz49t;(@tb%=C&Nt{p7~@gq$@+b7)i9Wr{jr*_;)SJW(?qWO zf3hm}o$V~HIhjC83m78TH+p18k|g}>%HEtg-QwlojlBO3@?PtRd-m$KiK?nIqWf-x zoXcA-WWdjPPBeDOG=8?&)|g+)7aF1iY2k_P2-)w`}meK4Ac&YAL=&VSQ*IcQOqonwy~9 z2!hEgmlV)uZ~V=-WTNBze?bP_(#XsR+CTZ~=g?rDB20Ng7HyJi%m7A7?u-Xb%Wp51 ztu7@Nq8#%Vj)UPp$KlwUQC8%mfjc+#hj79V?^liwJT1HfKXAw5uZy@o=5V?y(0r(p z#SYWL5oW?hP$$H-KGu<0*DZNgHX=tP(=gMGV1(?hp6rd;z1h>3-B)Dt8=hJHTK+=n z*{ZU~J71-Ah25pMUY|IfT^PPy*!7sr|C%iD(jwoXnv9gIH}N4^Q0eST=5HfFjyr)y?~Z^O-mu)(Db-W2vjyrE|0ZGmuj5jQ55?t|Dma zm1E6GAD4>!R}tvK(cbj|O7Nfg;;hif8hn~~@}Jx~>Qp9vaaI5AjKr#o4+BF^J5X}? zzNs5Jkn9M{E%09(kf?tST5GS0*awGY2{%54?5duBbP%uolMgh7$?QEi(A_$BqG|``vu9?!mMM_gbDjM zev~hn^j-c;j~n=*W0$mTMfs%wukRLAs`|S+@4R`5Y6~3K5`NP2H*|rryJxwdmz*e^ zr*O=(qRg2U+i5F15ZQRd8*V+v8_v{&lKQtrSMK=!fup%^1}d*A3A8LGRt0b0Y$6|p=fDf4b!&M7gooVV~S^iJvQ3Luk0HG zEZUxrem8G!hv$VZXz#szFw}UdSW>{)uR?rHgtxp)=CQ)V$NL`XGDDTDU0`d9Gs|K` zvlY?iit@%F0}8+IKGZjE_1(GH+>jcInU5K@JA{XuP4|XkgIOZT zQ~Rn`|8b;wKR<+C=eQ7*@J@cnJ{~zxm8dp3?s@0gl{?L6h z01HkhSf(xZX!8GM!DwRlCcD)(h)-m9L%e9+Z;|`-)IwpX3TVdY%3bm<8ShR<(R%x@ zpNfi2zQG`hzHCxqDS#_&35q|30NovB0(p`a9$(N+mU>?f7R26BRyoI1lw3zX(Pd_R zrov@6L&$OTRhpFdA!++Yy>+v7l~df1lehQh8-=(xs2tz**XO|VX?v4JUAYkEA7MxB zu>F&zsvN3OQ@#}ES0AVUbXB1%@69gz*_l-o_>22JaNlp=!fJ)9EfswJsj#DsX^JE; zUe){4Hjpzy>WVt26#8WmwfF!K67eUcNm`sz=}mG|Pi9etrb9PT6+))!GLizMzvG!C zB`EdB7xCJ@mPT(qK?$}G*GnR3T&5`fP}sjrT=lb1@SdZDNtkDt$-B*8vHf#cgaIm0 z>2*bCw~9-i4Q<1vjXGNDiR`jAaoxZl1#d(Xq76I50G+;wThk|AK5e>Ik8|Q`a=CWe zG*RC1$d3?Rbr41W)*|A&iOi#Umho-h?KkE_rWD6JK5=!wnh4Vb>V^rRgZ8zLJ{Z4! zG7t=R?`S;Ud44xZr_E{V>Lu1|!dWZt>(?Qka5n0Q(lN2sQ~(c7M}bS7x~J@uUvaue zq(7ao$1AKWEK@EF(*w=;1qu^7%}R{Z#zsF?K($OkOIyYq3kQ@#`{3`JVYlriM}4=` zAnWCCa$(lelcZml{O)DH+t)m2YMGoTj$HNsG=w)KbbxDBjDPAc!pfm?=acOMGLQh9 zYi1pcDYz9@ek_obw3vEO?}seE(?ul^n3L|x$?v@pZ>VQ4DNEh9+8Y|sX%8`02YXYJ zUtzE0b#`+gM;!NgbcyuVns3!IS2ooGmSOPm&bTPJ-R*=PJZVfEkt3PB*wpo;)lIak zO3+~gE)Jja{~aeWF@p=Cv+D^+{~`y)OdQYEyp^*)tq?G0ZF`=&PW4$1?vZ1?>tJMS zE0=faai7h#rq1bWUJAd|EE3xNLZA;`DoQ{fk74g#*%mnc{UlONMJWCicvS00tJ3#a zb;P@&95#-e{gEHUi;d!{WZ(Qvz4JT=VQnj&VG%?xFK3*cqaSNCsNQN769>tBZ+awCFYCph8Em5;bRxU^ndG(x_; zmK|eS&Af72AIdbh>V{meyf}=nBwxx7<4vP>TlPvSq@PE>7?OS|{b*olIQqITWBelR-DJ)eOIRrk_C(>Vj<8lYya*_{@nh4T*#s}DCVRmU z6B!}O{6HxTgVRWP3wNvvI74WWt`J$ko`T2*hqG{xgF?MnHwU7$tckAhl|SXS{*db zcKOP-i(i+bcM3dY__J|2_$+`4-6OtT-n1cw_|%bFFu-&^)lLIhdt&xr*=BU-9gkB- zed0EdP)Uo(m7KdxpFxSPa8+f{RU1=T{M?J<=2yBRlG1zT#7*xNM9Sg*>CG3*WdhX) zPg$5>EAS3+mAiU3ym4P9;6{-rWd~pGzLTN49fVG=JGc_fZHf*t>~F2v-6*Ixq6|

    6#mMF(b7f$!SCrD_Jr{GX*||ieytG!FUf!f&#a$) zc$QNr9j@`(GM$e;l6~fQUnpul7$fa9Id8?~^h*k@8Y(o?FFRQ`J9b~#ZRuIjMn}fc z35PjdCXBrxXY^KnfFRvnuNK=b<57o|N);AyZL8at7(p(-SGhD%&KKRh6*&EP{sZqsZk;S$0W&gw*Afo5D$HIlQu( zs92baC}0iFOd@5)8}q*R3!hLbJd|8yeogdJ)5Gwoe>|mOyZT_-Gu_!SBd<}gcZOoR zd^oR0D%eo=tTD>_=zAMo&%z&zavv`)2t)gjo>T`M0G85&2U40Ex% zRQo^n#;HisgVLXgDQQ$C5lghEa#&UFZ)nA>gq^`^n9AT)aq%+X5;n>{NP;iS)FGY6 zfaA5~9azn>khJXOrkZm`*y!;?MYbR<-Y1}~J5>6Tu|CLsXmh6+EGtbGD<(mEo(ZxY zeK)-mvMcxe^e*pfyy`k)KioZHijK;n2ZZy3{-qh{A>t>p41T2}w`C(P-z9f{)Rwt2 zPsL^;x+4nYUoqYkYIVFghcHIG*$_GhpIQJChR_W^-Jhs={O|yHV-a9aEO0yJev8Ir%HsIhg@iP%Q^4jEjPNokO0U6vZ>7T# zb*%SOp7zYm%Rhbly!fa>a(`Li3QIevdBZ|t=uDZixJRS;-E(f!FnCwvJZR*eWO=wp z;b+#;esdkB3RrmDJ%>f>yTn={w;M6)X>BJoIMLnu#~xpP>le0F1DV>c9iL;32Yx0i zw=$#OK{}n0>*u(IFenFB=j?tU-<56PExrSl=MlcLb>Cn<& zf&x;uBQBl{bcq-n`?soyZIJ#2mueYR1YXiDyzaYSuGkV-7tcM1xl=rqg_=h278R`9 z()mH0Hm0EWB$zllOD;aVjI72PY2n4Vb>BPdVHY{*+q36@=%?(5nD%#Uw7pt z$p<>4{|pze>*3#oxwFd-mB-L8kTQnpoQGhp)o-xe(2lAdwx6C77vs&a*AiFkXD6X+ zC!9B&)Z@9y1VmwuV1PxZVtsY9?CQ#`24?(1N!q1&st1y={qc`w8M5W98fU;3 z-HQ!!oaoPsw7~HTt>qW1!plmJ`zDL0mQQT$Ct2u|(9vAWnF(VF1Ivk9CJm@!83d=C zD1Gm0f7ZfD!`p27ky*Jw>bN&4TaELnjMI-|7bDX)Qp~u`$-gbjp|c6&!X|xJau7og z^z9stVo021M^NvByN%E+YpWbnU(D`3fYI71KAP#!FGLVSslgR^-w$&>aSPngf%f2~ z9Npf(zwjfmHUu_4OB>u~P^~mw@2$3`ZKctsNad~$vT0=?Jm$UXIW#mudRx64HNyDN zO0MfaUIaCPm;rwD+x!V9dt3>XS3P8Zhkzh2T^zCp4jw`%Q!rL`J)e~n50HNQ%aEwk zm#I(&DLRVhy8f8tyvnOqT5>H9Lx8A$@Cwo`sMQf(CAjAq;BME%(D$=;fMGISbvRVg z9lNi{aORA5>dG-oXT{gLC%LND`01PCG=@IM2`mn6M^g!j$oeC-8*Czw7@-+0IA9L- zWAD@h)cA3h-ZFlktPKWd;!FtKF*<5v zE*w$K3Be-k%Wf{a&V?bZnEtA;vgP(hf{h`T^jOq6JV++KA_eB z$c?y1Ovo_&gffGfI9@anE!3?og%;4%6Z}y8G>+&( z`1hy^iBO7ATBd}1+-hCyXCb4D(CC<(&IH(0ALBR8$#|pSK~;}k_Eu>8h~inI^MxKC zQ14BtF!yH$Ysw2wR#ujTV$)+>I-JoxrYe zTT@kt?%MYcer*_;!GWO9V7^j(^KLrgBg)4jY|y*bn#4%)4#v{`s|ueeMvj#&j^Ceg2 zRr|<z{!x*YUu8^`Hd9(HCUS`tvn-1O*1{2P4WQM|jhGt##MSRnIu0nvNi@4(u=Is98h?Hj83>Qr-6kixokY+4 zvzPwTYTg|!{bpn|;`M{2-DDr`#?_OagiZJnKxu3>0WM*DoF7 zTCdZVFkrN(YPNo^mqv8i<`zOuivr1rP8nI7W=6X|nzS!Uo~XWVd%|z5gK;V=n(if*04{g#4b8VMVY(UeriDKRYkk9sIL1vtevYqpoytwJmvOHUs3> z10u&)>dXA!68ttDO<)I`TL9haZ9n$L$_wMq)fA5#k#TueV25IiPy8#q2^-^9lh zXak97p65((>Y36}%P0#-d7eyKuvPifey@mg4+)7*yGq_0K&e{tg_q0`E$lp_+zqP% zXT&o&ye$h6OhE3WbHaX?Qe3E^w}m_T1*R?!8n9$W!auI7ewgfe)Tcd#SJG*+1Bss9 z;y9Ni8kQhaOJ21Te#)uvDVcfVnBgnvpol{Vc9srATT5s?Ubg~Acqb;JipGp_{J%Lk z`0MT{%6-n-db_73>FIE`(-9F)GIC9aj?H)1yCdNE#7d=z7nY0`ed;ai5fXguR`*Zs zCEhDG=1+Nh2E2(k1qgS7+3y+OBk6l;!-Cz+7%*ihbZ}Y})j($B{NomK=erhD~CY$e3}NWJxb>g>3I? zPOF7V9Rw`Zv7i2H=~v{z+4p>b86|33HX)*|K2LP|BkSbK!0{U#F>-60p=`30z^Isp z;FyK3A!oyU3VkN=)AuSnB;$Por@yg?pI|t$(WgX0EPd`AN`6x+<^8zviXEOg86f+T zxAY)wX1?Wm(A)R&E8bT)P8~Gejg-bYxLt?0REZpFgf^LVcRfz)U9CA>D)TZ*4>S~s zc&r_A$bbpp%0D>Wi_Dr(+^arfgN+_l@^;3_BH4Dus1qfMXculB_}*fd|4~DE$+s`~ z9MnC_p9Gzx_#IRA^M8N{`jKQ_RQleGH?6m{&z|J_`qJ>5d5Y~~KG3Q?{rE2+S&kCXf$8;O(*4X%Fo{5*$4Ctr||NL0$ z?Bz2eu7<9XPpV$~4S~9n2$AWSiC=gYIhQ}SvN1XaG0*bOnlltR(77#LTU|CrT}cNZ zu52*f{6za!&sH7h{a9)`$O;IVfw_PrX3k}fY&SOh-_9My)+zY4nR=E5&94^S!kph{ zCUN_FoInK?)KSu_w3xJ^%Ue!lYYQ))C28k5ulgQphBf~t!$g9P62iXH!0pw?yT2*= zeY6_}tul@<_2D^T+3E+@G;~c<7)*rjC1=cUyU(7Qp9LFAu)`zqklJJ5ag# z(c)mPPC%BdbhZ6^`{=pNr`+#!h0&L3Q^N)SLOw6DasL;l_E*>Cr0+Ps@nrUGUcb@9 z)^m3?L0D+x)}&b;ZQ+E!$UC2izNDZCzK|FF%KJlE6=GY)DlDHe_Z+(qBNV)k!`)7) z33bZ+gk`ky;-tp7KOR@qU7|PG83_;^%9DP+F5NOi=Q0t>2V$2;=;(t`}HcL9`KtS--T2 zZ9{4QZhjd_G2k^#Y9gjhdd&fsyh{l!vT&i{TMn&0D8L~hmi z`L=tZ#_=Wd_~{Xmu4u*E^H9>+{}4-tfgImD*}&I|6pIA^@(~D%Uf9^G&qJp>tOu{& z#c;(Emw7-PDLr}&R}_0RS~lDTqw z$2ibVrBItZq)&s$1XUuVp@12F`rbjF`_cXml*TkEuUub8|MW~!>EWaS|MGW*=2*&= zyCVsVu^5xIUB7_Tn>5ML7rZYby?GIb5%P5l^-P~(o<+f*aS~^P!B?jMW&EQ)-dp}r z)wvnrA72UPyk8LWx9WVlSswET<3lzY%QT1-*0o>fDsq1^z;1}}oY|^WYx|Vd zr5rb#cJRt5HRXKi9dLAbrL!+P&+ol9yS7@y-Ehzd;c=6?f>d1<9|JkdHKCR|h-_Tm z3~aLW^|7<;EeaS3UE3;C_ohdt-djAHBk#3quj^N=^95HZ1s%ZUrZVh02wOdWs-*fy zYUyc_k34!G?AQEC$AUtc#ULqQ1Ibu`U0^;&kK(im&yPeHsYgmeAqeuy9cddNNB3qb~9M z7wHDv-wP*yPHl5Je-k0v!r9MqBV4d0sSAd{LB_ z@|b~Vd$RN3vB!vY<1Ia2ydGOIONa!G{-)uv7>WEc)zQ;rK2;WqBwn@jpbAMF@2Xw? zaIl#AX(N)J+1MdG%ZShIV+3<1#t~*1mTA_ac?u*EujjFj>@32(U>lGpoX7aWA?aV= z{04j#E+T+IL9on7PYVCm58jI4Tj#o0JLjA^CeeQnL4OBkNe5B<*3c(>sc^P8pwU9a zU7C*cZBThHfMERVM?8k|_0iEwc01x(2VmGX)x}HPy@Rwoe^MRgERB}+ivKc?u3r^x z*5lF-Wf9I1d-A?tFObCzKt4e?r=PPK2sYrKi^##Gb(twqRC_^%2u0N0U6-%Hf=n^r zr~TYrjB>Cb*OTN~!fqYU7bf(sW!z5^7=u@dm!?t6SwGBPrBgqF4id#FVi5bz-%o!m zY~Ko$FFYASwrTq7IWk z`+?aq?%FOthQOE0Fk6?2q@Men(^U2!XpzGD_gM`(rRSt-292+eS;Ys!iF-Uy^MQJE+@WGP14?Dt}sNwL<%*vyL@7RjT(;DTrmHZ=H*WfYs0mz^uj1$B& z*o(G$8(vzqm)2;R^KOJe?9QO(hQ~Gwt-4}nWsUN*)8eiZWB;O0(IsH69D@HAH|z{t z{ehs;`}3Iw%I~z1gx}~VX^ka=ltFwSuU+*qrIzGq;cdt(=BGoctlUh__*IV77B@o{ z5H^8;Pm;GLIPWLjX~Xm;&U{R_`3Lt+ zJ+Nb-dVcj+i*w7QFgDP9?<;p)^aU8ccFwVz-!Pz1@XcniM`O=d1+~wp_60rFUN!xM z;^ZLb|6wDT$D;kdItUeyP%KHC4^AU~P)t@$*c$<>gp=7e)7ISlZAsWpCspoyR||>C%*^h6Q=XZ=)f`))a@h>U^*@^aq6=L2I^(I;{5!`K_0 z^^i!RQ-+byvX7ZTIMU^;CaO?LFI)(+b-!UqXOH?47#8+8ofrwCAGZbY~_Twia6PlNO+=)G~;#+9`5ecAipme(UK@ zlJI|Ij4!)4a<+AtQ~9mpkqGQ)Q2JYw=5A8(+uC>__}WXJrSUP-zk^6;h|ChCJOwc^g6zf9Ir^`yaEDqHFOE+*fLOo^2bQQ6NiG5Y9)!HI{k zg<=-tq)EH|BiqMYSp5eD6-GBxT}H}K>W``a#v$l?F2V(`5@?C~YUqN5BzwQ+edh%E zvfFG*&8zN4>-5O|Di%r7c=j)HvAqIR?gkTCo*vBiMg>>c-?ziiBC$)i$K4giODX=& z3QF=e9%T}GmCVI-#M@8~i!Cz<%jopmK>hyWTBmrGzSj-OxPCrnMQwpyc-#$Y} zeO(n;f|jLEKjR%lk#pByR-f4_dL%B89}d z*XM0J95Xkex?q<)9dOr4)FpHAJekAzPA26FOEQIu`n zr5AEntlBIPo~nn-c`cr?wP_R_y0|1C+5$z@uNw#Ko0p&AZ(2_B%k&&4iv}t|bI(Tj zn-e8xo95fb7U(X!Q-Zt4+%vU(r6#Z5N#g+Eo)y4R$h!HpmgEJX-z6?o9K;WVsO)5T znhFfE0Ab04Vh;6xAW?Y#l_(C?vzv~txyfZ4NR5ae7mKnzoR6`y+29^asWv6nUOIe2 z`|*I^{dkS)cru*8LPJtIeY5Px`=`v3Ldt~eWpdVAlcIA8;N8g$J0p4Ok}xNVO-4b< z(Fbs;L1T;WmYI2^s!_X}3`Zgn!5rpt0{5b8Q#kEHJ&JXCR-1ffW=Xva<%Ww*Ax4#L zHOd-Q%&bvlvx-vP(1IG`nYvVkd8Gwg(2>-Y(+ex8V+HAY7d+L^HL0~7)qStlI0I|q zeONC2;2>g@lF0LGmt({r=#h4L?>=C$M@}d&?zkmp4qpMeq9yOb@WC$&J4bJRu%w6XtS}1A8ACX;$@k6;F1n6; zK!U{GQ(NRAC`dd<*@bA)nZ`&(l`wBB_uZBFYYRLa7g~yG0rAtgi)QX#f-upy%iW-2 z9y8A*`jKwoX5Ed`trrs1PfiJ`Ami@n)z{$ZG(kyWVIQVHActmiW$y=Ym~^EEG74QTBO0$~tuLvReO`trgoQm}DG~B(l-||X zn=-_8T~KWrha&9xr?*QM_0VY_Jpk=8)G*tb+I+a8GDUv%y%e?E}{vKrWPPw71+{6X+ljqLKKd|OMFqhWO7_Y12S6?7$SM)xYSG$ZE;gNc$=&9t40W$(52k& zjQJWjTSaKN*lRYRfQvW^(uV}Vy<#}Zn0b+6&v~+Mp-mOHIq~HUC-1MSg#V+l*D)Yk z3s_Df_C~2FW%+3geVG*g#e1QMpGqfYnOB$su-ckOO7$gGB?ubidVJRn;QtNG1{YKx zZQJ?poA0I3p*^dULQ?XARTTz&*pLO^wjo}f4Vwxx;0S{sn&0~d%*#JXZH<&MCnhPM zO@CWt+w&%JKB~rRduTR~q{ z@P$JjtSVYFmJS!hsTi;HUBTO}i;7;sFZ^V~mmpOS;*Mmhm~WtdvXj#0wOF`TTtjmp z>&9=kij{~<=#}Rm9e|!YmoXi7)LU2DqMbCNtJXkgq^?YVPG&Bu#EA6o!mYQ4hKtM! zF^B0GhA|DxQSg{pv||G1NRo06CHz~AgW)WK2jqc#Z)#he!el(-ANn6Cp~m`dc~e)D zyJ~^;q=g(DHfL=|d*5xKM;@m-&j8<*R`?|@@a_jxT*JS1Q{txvo3Hl!Vf+1#S}>z~ z8HK}*j9S+y3nV@A@#4_gRt;y8Qz-8bUW#X zed&<#T}tW?INJGTGf4RPf*ve%n{zaybmDHqoUO^9TR$c*_SG`SV;=|gob-g1&DHc- z{M`eJAw`iK`3T`}8b)_WUDCe3A$J5v<$*=chuj;*jW5;iXUCHh%({PuTxBxvw1(#S zB(oYn>~!U9dj4+0Q2-(H`-I8;Hox01rid?DF#s)NJN>86j~aL;o>=pZNX(v+pj>n> zx*F3zI7ucM|2;`Ed9KDKg?KDTj2=V@Q)xJC zX=qVM#B>|>MQ3NgWjxs;J=Xmp9-+@B9cNdxW;)(TP)T~mpm&~xe!t;9{<(TuRp4ZEahlbuM&gwu4Y||#^#z5d%R=qg5eV-1q6MkZ(nhQ>?$4z>{rrq zRh_XlUmP-c3#TK=J{Pr+()Fyou%u1~2 zjOkHLNypJ3E7;V%y6BNv;PLEZM&jqWWm5C6-@JF4BwiR@s{xAJ5U4Ccn4OHPW>|-7 zb|d`b)%9s~WYqvy_#)5bW6BMK&A8WMLeR-Te8SN?<&`72N2 z_RhuRKiCdl|J56qx1pS^=;!Yq*I3Kxzaz61n|bzI!GG8mxmNs^NGvqK@b%PplH3dE zajWO?TMyXgC>)>S)ndJF2GJ@6uPlEBXez1e(R}O?LrgvyRj>k^51ihtVZs!yqD?{9Ljv0bgx49^jz{uf(X|g)M2EYUB0AeN0LRm z_K7rdWt=H>MDjt7`{8cC^F)E9BO504`mUSCEfW(5y8mGTECC(wfw=-jx+_YtDj<6= zEcyxKqx2hOyO=NN2TQarO1cq#3Pr=W)(>`ow3A}+K}0{Lw-BN?C(rIZ$T#2Lhrow3 zMA(X^tj7s4Tibc&WiQDLhKr)8g;$Q2ZMy`0@5&EEQsy*(z;${+0NPjX;-i*sJuxzq z^N~^W%rkJVsIq{TB9F8dRZ6ST{^8S7pH6dLPRpY~1rf)w(KjKnG6`_KNUi43gb932S4wf)W+MfnATh{|6qb>bT201gsHyX(TZViZaKQEQwdijy`m!2Y05IIU zW39xETF)t0RUdOM&0huqQUpvi_TV2_p+^nx=Tdd(Su#ie2HIRbli92pvJ@6Qb(;*9 zsYY-0DsAcbEUTC#UN3!DrFrAXLkrz>Rfv5^liBAOS^{UCh^8N!H8z#^-{icm$MW*W z(7L1XMi;GltbS;M!f#-9h_M7*t4l(9{85c*sz4L=@rS}W{_bY)`tChfb1~A6zyD0x(i>uXf z_^4aq?4f;S>$v7*EdU@@#n=9nkQDugFluP&a&47N}-ZaV* zcB3Y3a`%L-t)Q|)M=CbMG#qtdIHNmYO#uCL>?*6`xvPjy2}cbP?t-|-N8Wn+t4|y!wK3aTJD}T;YQ>#|V+-vT+!%7lw;@u#4`90gydvPZr=?&W=_2=Iop?3#>{s7Zig2@tSu8L;L<2vmoFcZml>QH{pyo-tn9@!h znA?~_dmTn47ZW7kP05m6PRl38pb zoEX^{_c+96zX@KE0mX^Zy$E%A&b=PUo(u3-*O2V2z?c|*&l5$TgYQUTt2T>mG zn6-{Jm}jiFovgDhTxG;dH`2~zNApA8ZdcKnw|aLk|ERSKtdwWo-QVU9Bs_ET*Twp( zbs5fw)4#uRQe3BC20bEnvz__)+^Mm{*0fjUo1P`KIBEB4efA~;UvB5~F<>Ys7tire zh%$oMX5%+7Y~I4YcX2iHkTr5uSx@?@$l&WLz(?4O zTSPQ<6)(PMD(|VsHp}~ae#7Ggy8W7sZJaJrt^tr%$EJ(cUPt^WxcgX;)!pjnA>y=Y zK`rBws8{XXcECgA=gHrdY5Z+W)oTZO37l)YN#q@sI1_$=zpG=|aDA=iwC< zJzjI0dd5jsM(O3j$Zf32h_oBl;PfN63XJg+BUqXsD@!L<^#G(jv zit<$@__HpCj8|3#Fbtymy``AS;)Zbp^DK)c^LXZw`y;_~DTC2I`9%H|Sl_HYQ$ku+ z?oG`AODlVwF_y_j)I55_E~f0U{iG19bpnFcx8eB3Qh%fKhKxpiY|MJ!LM7V9?E|}S z;Z6=?y5NmrCQ;A&JZ=DzfKyU9O0Yr=S3PXJvyGUIbss@>d^DdP=Q79E3){iq;Z1M* z=G}hwv2}!t8KHy@$9rc50ej){8mPi`5b`Kwy=_zDC^4Oqgc%XM>BfFI1?w+~lmZPz>n8KsC>a9;yd}8!X(qD#mUOD1TP|laKa`Z2fpOP)UF4Z~rEu!5XZ>ku1AMbM_p} z^X}2;%F5OOZIn)~CKGv4c~pGvjOf-o_Xx4o_;LhB==}YaVbMhRBvBCp2uNN`Xx&tg z7OU3z$$m^viQ6_t14jx7csURNwCf@IPI{t&A_up))ZhN&?pXN*zA>{jSiu7Q-%tci z$6H)36hUWS{P|y)SPTe1O7f!$Qk;Ec4=^WI>Z}7$kBHSy6~^9aAOBjpzJf#LjltHb zf$%O*gGP^lv@aiUrEGWmgjkI{AIIgg>YATw04J&n$U6^K~yTO0J2OCt^j8e;K z_jQ>OH5a$d7akf;=tA&SO?R^+FWj4#p9EV3($EE|5qU=xX>fK{BQ89$`FZ|K_CsQA zVb3*Kb9xu0j&kUA;KO~HxFl>1n_kOfUQAd&C8f@~3~^HX zCKp6jz5JnZ)A8V|3^wuWv>v^;We3M_XfdY#XU?IWDd5iZUnUZ$OrSO}w}vcS<1g%4 zQuU$GP+CS_*{R*E$1%{@dGfJ=fCNKQF<&B0ZAyiPNf4kATjZ=gwJGjWlQ6a+V>qRpZXZ zd+rMIz!mDR$s02QMd?xYlvHOr#3{ zo7H87TCYD?vtCQnm_+Xv5p!i^ZN>4(-WUB+*_F#m0P> zk=aJ{f(7uODmlAfupK|KeY9o0mjN`~W78-J*@y7z@oVI)W)SDtms+*E#g;a=>DaBw zHGqXectR9q`OU}w?n|5ueZ|kt+O`YzCsVGWrRO#2k`L9YyAvOf!Mx3|yflx6SBhE&{$;jORT{s9vo218K{LX$-p`YqKJMQj02Bpg z36@pABg4$NLg@iF-^}s3fvv1oY;J^5Jd2vywxA?U7*3gfQm6=l&tYMemy<_mx`{_D!iL+R4Sl-Y%(R^_(GojOm7LfzA6! z;5@5%^62>YzD*5^4gtstr<64g=rWZnmJ(W7WTeR1iz%*xuHU)$AYF#;Y9>aX-`X6G zy=kQNvvPgs%A??xL8G-+L#O$lqmgL^nt!6awGFhm>=f06MEsQ~c{*cVGy-w|qM4!Q z2JEo?X>K>+a^0I1soo*ZE{0xCc(_j2rePob2P>8+TdLk5jU2gjv+rb96D=8eqf2(2 zDQtafok|Vn9Rwdhea_hd(y^9k$DB_fpPHjSN5z!{)d*gY)X$eJcVjTm9}3IeHeCJ6 zYN#(#B}A*MqI}!7Y!S@xMxbz@lVVH-QkLKAJ|o)0+Ra>8?>4QlEcIQ z1!o6t-ioQ9k&E}0#m}O(Q1q6J3j0ZL(I&UCjz%nJ4tbGTZT3#=FLtA;aG{zQqzQ`bTlb_5s^L z6hbKL+w-fAN`Ta@br+T@T*``dt`XvaIDdv1pJ0y2`;8wtIRZ38t+YAC41r2ibM0k! zBWCt+r1Z@lq(5r1bHGyMz1aWW1^7pPLm$bD!Gw(4oc+1J95S-h@U}Q?9^BcS3A^Wx zdLOdJ*?1Uq(ND>e2cFKq7{vQsoUa|=mId*7)iA+RqViq7WvqO(7{0s)Qq`T#Yw@@c zh(Co1PqO&d(>!75b()ylw-bj>;x$! >^JI0-8wY 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

    pTPGW;O58RGpLwtH9m{CROL;Su$u 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%0DY)A1NVZKyAg?zl=Ug%U)_5K6?D`~ek8(+7^sL< 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 - In your Infisical dashboard, go to **Organization Settings** and select the [**App Connections**](https://app.infisical.com/organization/app-connections) tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -72,7 +72,7 @@ Infisical supports the use of [Service Accounts](https://developer.1password.com ![1Password Connection Modal](/images/app-connections/1password/app-connection-modal.png) - After clicking Create, your **1Password Connection** is established and ready to use with your Infisical projects. + After clicking Create, your **1Password Connection** is established and ready to use with your Infisical project. ![1Password Connection Created](/images/app-connections/1password/app-connection-created.png) @@ -90,6 +90,7 @@ Infisical supports the use of [Service Accounts](https://developer.1password.com --data '{ "name": "my-1password-connection", "method": "api-token", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "instanceUrl": "https://1pass.example.com", "apiToken": "" @@ -104,6 +105,7 @@ Infisical supports the use of [Service Accounts](https://developer.1password.com "appConnection": { "id": "e5d18aca-86f7-4026-a95e-efb8aeb0d8e6", "name": "my-1password-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "description": null, "version": 1, "orgId": "6f03caa1-a5de-43ce-b127-95a145d3464c", diff --git a/docs/integrations/app-connections/auth0.mdx b/docs/integrations/app-connections/auth0.mdx index 42e78cb66..91c5f5e60 100644 --- a/docs/integrations/app-connections/auth0.mdx +++ b/docs/integrations/app-connections/auth0.mdx @@ -42,7 +42,7 @@ Infisical supports the use of [Client Credentials](https://auth0.com/docs/get-st - 1. Navigate to the App Connections tab on the Organization Settings page. + 1. Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) 2. Select the **Auth0 Connection** option. @@ -67,6 +67,7 @@ Infisical supports the use of [Client Credentials](https://auth0.com/docs/get-st --data '{ "name": "my-auth0-connection", "method": "client-credentials", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "domain": "xxx-xxxxxxxxx.us.auth0.com", "clientId": "...", @@ -83,6 +84,7 @@ Infisical supports the use of [Client Credentials](https://auth0.com/docs/get-st "appConnection": { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "name": "my-auth0-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 1, "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "createdAt": "2023-11-07T05:31:56Z", diff --git a/docs/integrations/app-connections/aws.mdx b/docs/integrations/app-connections/aws.mdx index 195f98247..08ae05be7 100644 --- a/docs/integrations/app-connections/aws.mdx +++ b/docs/integrations/app-connections/aws.mdx @@ -184,7 +184,7 @@ Infisical supports two methods for connecting to AWS. - 1. Navigate to the App Connections tab on the Organization Settings page. + 1. Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) 2. Select the **AWS Connection** option. @@ -209,6 +209,7 @@ Infisical supports two methods for connecting to AWS. --data '{ "name": "my-aws-connection", "method": "assume-role", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "roleArn": "...", } @@ -222,6 +223,7 @@ Infisical supports two methods for connecting to AWS. "appConnection": { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "name": "my-aws-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 123, "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "createdAt": "2023-11-07T05:31:56Z", @@ -361,7 +363,7 @@ Infisical supports two methods for connecting to AWS. - 1. Navigate to the App Connections tab on the Organization Settings page. + 1. Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) 2. Select the **AWS Connection** option. @@ -386,6 +388,7 @@ Infisical supports two methods for connecting to AWS. --data '{ "name": "my-aws-connection", "method": "access-key", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "accessKeyId": "...", "secretKey": "..." @@ -400,6 +403,7 @@ Infisical supports two methods for connecting to AWS. "appConnection": { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "name": "my-aws-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 123, "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "createdAt": "2023-11-07T05:31:56Z", diff --git a/docs/integrations/app-connections/azure-app-configuration.mdx b/docs/integrations/app-connections/azure-app-configuration.mdx index 4efd19f30..cd9c707be 100644 --- a/docs/integrations/app-connections/azure-app-configuration.mdx +++ b/docs/integrations/app-connections/azure-app-configuration.mdx @@ -83,7 +83,7 @@ Infisical currently only supports two methods for connecting to Azure, which are - Navigate to the **App Connections** tab on the **Organization Settings** page. ![App Connections + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/azure-client-secrets.mdx b/docs/integrations/app-connections/azure-client-secrets.mdx index 37e7d49b0..cb25fb596 100644 --- a/docs/integrations/app-connections/azure-client-secrets.mdx +++ b/docs/integrations/app-connections/azure-client-secrets.mdx @@ -94,7 +94,7 @@ Infisical currently only supports two methods for connecting to Azure, which are - Navigate to the **App Connections** tab on the **Organization Settings** page. ![App Connections + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/azure-devops.mdx b/docs/integrations/app-connections/azure-devops.mdx index 4744a35c6..7eabff84b 100644 --- a/docs/integrations/app-connections/azure-devops.mdx +++ b/docs/integrations/app-connections/azure-devops.mdx @@ -117,7 +117,7 @@ Infisical currently supports three methods for connecting to Azure DevOps, which - Navigate to the **App Connections** tab on the **Organization Settings** page. ![App Connections + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/azure-key-vault.mdx b/docs/integrations/app-connections/azure-key-vault.mdx index 866a1de82..b2989efae 100644 --- a/docs/integrations/app-connections/azure-key-vault.mdx +++ b/docs/integrations/app-connections/azure-key-vault.mdx @@ -83,7 +83,7 @@ Infisical currently only supports two methods for connecting to Azure, which are - Navigate to the **App Connections** tab on the **Organization Settings** page. ![App Connections + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/bitbucket.mdx b/docs/integrations/app-connections/bitbucket.mdx index be4fdbee7..3b3385202 100644 --- a/docs/integrations/app-connections/bitbucket.mdx +++ b/docs/integrations/app-connections/bitbucket.mdx @@ -78,7 +78,7 @@ Infisical supports the use of [API Tokens](https://support.atlassian.com/bitbuck - In your Infisical dashboard, go to **Organization Settings** and select the [**App Connections**](https://app.infisical.com/organization/app-connections) tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -95,7 +95,7 @@ Infisical supports the use of [API Tokens](https://support.atlassian.com/bitbuck ![Bitbucket Connection Modal](/images/app-connections/bitbucket/step-6.png) - After clicking Create, your **Bitbucket Connection** is established and ready to use with your Infisical projects. + After clicking Create, your **Bitbucket Connection** is established and ready to use with your Infisical project. ![Bitbucket Connection Created](/images/app-connections/bitbucket/step-7.png) @@ -113,6 +113,7 @@ Infisical supports the use of [API Tokens](https://support.atlassian.com/bitbuck --data '{ "name": "my-bitbucket-connection", "method": "api-token", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "email": "user@example.com", "apiToken": "" @@ -127,6 +128,7 @@ Infisical supports the use of [API Tokens](https://support.atlassian.com/bitbuck "appConnection": { "id": "e5d18aca-86f7-4026-a95e-efb8aeb0d8e6", "name": "my-bitbucket-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "description": null, "version": 1, "orgId": "6f03caa1-a5de-43ce-b127-95a145d3464c", diff --git a/docs/integrations/app-connections/camunda.mdx b/docs/integrations/app-connections/camunda.mdx index 68084cea3..7ad0f8ef9 100644 --- a/docs/integrations/app-connections/camunda.mdx +++ b/docs/integrations/app-connections/camunda.mdx @@ -50,8 +50,7 @@ Infisical supports connecting to Camunda APIs using [client credentials](https:/ - Navigate to the **App Connections** tab on the **Organization Settings** - page. ![App Connections + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/checkly.mdx b/docs/integrations/app-connections/checkly.mdx index 38234744d..943a470c2 100644 --- a/docs/integrations/app-connections/checkly.mdx +++ b/docs/integrations/app-connections/checkly.mdx @@ -37,7 +37,7 @@ Infisical supports the use of [API Keys](https://app.checklyhq.com/settings/user - In your Infisical dashboard, go to **Organization Settings** and open the [**App Connections**](https://app.infisical.com/organization/app-connections) tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -55,7 +55,7 @@ Infisical supports the use of [API Keys](https://app.checklyhq.com/settings/user ![Checkly Connection Modal](/images/app-connections/checkly/checkly-app-connection-form.png) - After submitting the form, your **Checkly Connection** will be successfully created and ready to use with your Infisical projects. + After submitting the form, your **Checkly Connection** will be successfully created and ready to use with your Infisical project. ![Checkly Connection Created](/images/app-connections/checkly/checkly-app-connection-generated.png) @@ -75,6 +75,7 @@ Infisical supports the use of [API Keys](https://app.checklyhq.com/settings/user --data '{ "name": "my-checkly-connection", "method": "api-key", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "apiKey": "[API KEY]" } @@ -88,6 +89,7 @@ Infisical supports the use of [API Keys](https://app.checklyhq.com/settings/user "appConnection": { "id": "e5d18aca-86f7-4026-a95e-efb8aeb0d8e6", "name": "my-checkly-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "description": null, "version": 1, "orgId": "6f03caa1-a5de-43ce-b127-95a145d3464c", diff --git a/docs/integrations/app-connections/cloudflare.mdx b/docs/integrations/app-connections/cloudflare.mdx index 241c737bc..33a9a992c 100644 --- a/docs/integrations/app-connections/cloudflare.mdx +++ b/docs/integrations/app-connections/cloudflare.mdx @@ -88,8 +88,7 @@ Infisical supports connecting to Cloudflare using API tokens and Account ID for - Navigate to the **App Connections** tab on the **Organization Settings** - page. ![App Connections + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/databricks.mdx b/docs/integrations/app-connections/databricks.mdx index 38d125ea6..e0b861184 100644 --- a/docs/integrations/app-connections/databricks.mdx +++ b/docs/integrations/app-connections/databricks.mdx @@ -43,8 +43,7 @@ Infisical supports the use of [service principals](https://docs.databricks.com/e - Navigate to the **App Connections** tab on the **Organization Settings** - page. ![App Connections + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/digital-ocean.mdx b/docs/integrations/app-connections/digital-ocean.mdx index 5b047f017..ff2eccfc1 100644 --- a/docs/integrations/app-connections/digital-ocean.mdx +++ b/docs/integrations/app-connections/digital-ocean.mdx @@ -45,7 +45,7 @@ Infisical supports the use of [API Tokens](https://cloud.digitalocean.com/accoun - In your Infisical dashboard, go to **Organization Settings** and open the [**App Connections**](https://app.infisical.com/organization/app-connections) tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -63,7 +63,7 @@ Infisical supports the use of [API Tokens](https://cloud.digitalocean.com/accoun ![DigitalOcean Connection Modal](/images/app-connections/digital-ocean/app-connection-form.png) - After submitting the form, your **DigitalOcean Connection** will be successfully created and ready to use with your Infisical projects. + After submitting the form, your **DigitalOcean Connection** will be successfully created and ready to use with your Infisical project. ![DigitalOcean Connection Created](/images/app-connections/digital-ocean/app-connection-generated.png) @@ -82,6 +82,7 @@ Infisical supports the use of [API Tokens](https://cloud.digitalocean.com/accoun --data '{ "name": "my-digitalocean-connection", "method": "api-token", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "apiToken": "[API TOKEN]" } @@ -95,6 +96,7 @@ Infisical supports the use of [API Tokens](https://cloud.digitalocean.com/accoun "appConnection": { "id": "a1b2c3d4-5678-90ab-cdef-1234567890ab", "name": "my-digitalocean-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "description": null, "version": 1, "orgId": "abcdef12-3456-7890-abcd-ef1234567890", diff --git a/docs/integrations/app-connections/flyio.mdx b/docs/integrations/app-connections/flyio.mdx index e42756254..bf36ccc9b 100644 --- a/docs/integrations/app-connections/flyio.mdx +++ b/docs/integrations/app-connections/flyio.mdx @@ -30,7 +30,7 @@ Infisical supports the use of [Access Tokens](https://fly.io/docs/security/token - In your Infisical dashboard, go to **Organization Settings** and select the [**App Connections**](https://app.infisical.com/organization/app-connections) tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -48,7 +48,7 @@ Infisical supports the use of [Access Tokens](https://fly.io/docs/security/token ![Fly.io Connection Modal](/images/app-connections/flyio/app-connection-modal.png) - After clicking Create, your **Fly.io Connection** is established and ready to use with your Infisical projects. + After clicking Create, your **Fly.io Connection** is established and ready to use with your Infisical project. ![Fly.io Connection Created](/images/app-connections/flyio/app-connection-created.png) @@ -66,6 +66,7 @@ Infisical supports the use of [Access Tokens](https://fly.io/docs/security/token --data '{ "name": "my-flyio-connection", "method": "access-token", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "accessToken": "[PRIVATE TOKEN]" } @@ -79,6 +80,7 @@ Infisical supports the use of [Access Tokens](https://fly.io/docs/security/token "appConnection": { "id": "e5d18aca-86f7-4026-a95e-efb8aeb0d8e6", "name": "my-flyio-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "description": null, "version": 1, "orgId": "6f03caa1-a5de-43ce-b127-95a145d3464c", diff --git a/docs/integrations/app-connections/gcp.mdx b/docs/integrations/app-connections/gcp.mdx index 129c26c2a..9458339af 100644 --- a/docs/integrations/app-connections/gcp.mdx +++ b/docs/integrations/app-connections/gcp.mdx @@ -82,8 +82,7 @@ Infisical supports [service account impersonation](https://cloud.google.com/iam/ - Navigate to the **App Connections** tab on the **Organization Settings** - page. ![App Connections + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/github-radar.mdx b/docs/integrations/app-connections/github-radar.mdx index 376973efd..491070a8b 100644 --- a/docs/integrations/app-connections/github-radar.mdx +++ b/docs/integrations/app-connections/github-radar.mdx @@ -97,7 +97,7 @@ Infisical supports GitHub App installation for creating a GitHub Radar Connectio - Navigate to the **App Connections** tab on the **Organization Settings** page. + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/github.mdx b/docs/integrations/app-connections/github.mdx index 9a952f815..e44fc405a 100644 --- a/docs/integrations/app-connections/github.mdx +++ b/docs/integrations/app-connections/github.mdx @@ -85,7 +85,7 @@ Infisical supports two methods for connecting to GitHub. - Navigate to the **App Connections** tab on the **Organization Settings** page. + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -156,7 +156,7 @@ Infisical supports two methods for connecting to GitHub. - Navigate to the **App Connections** tab on the **Organization Settings** page. + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/gitlab.mdx b/docs/integrations/app-connections/gitlab.mdx index 60e9236ca..4f7223d93 100644 --- a/docs/integrations/app-connections/gitlab.mdx +++ b/docs/integrations/app-connections/gitlab.mdx @@ -70,7 +70,7 @@ Infisical supports two methods for connecting to GitLab: **OAuth** and **Access - Navigate to the **App Connections** tab on the **Organization Settings** page. + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -193,7 +193,7 @@ Infisical supports two methods for connecting to GitLab: **OAuth** and **Access - Navigate to the **App Connections** tab on the **Organization Settings** page. + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/hashicorp-vault.mdx b/docs/integrations/app-connections/hashicorp-vault.mdx index c49b53ab8..7d5502fc5 100644 --- a/docs/integrations/app-connections/hashicorp-vault.mdx +++ b/docs/integrations/app-connections/hashicorp-vault.mdx @@ -131,7 +131,7 @@ Infisical supports two methods for connecting to Hashicorp Vault. - In your Infisical dashboard, go to **Organization Settings** and select the **App Connections** tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -184,6 +184,7 @@ Infisical supports two methods for connecting to Hashicorp Vault. --data '{ "name": "my-vault-connection", "method": "app-role", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "instanceUrl": "https://vault.example.com", "roleId": "4797c4fa-7794-71f0-c8b1-7c87759df5bf", @@ -199,6 +200,7 @@ Infisical supports two methods for connecting to Hashicorp Vault. "appConnection": { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "name": "my-vault-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 1, "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "createdAt": "2025-04-01T05:31:56Z", diff --git a/docs/integrations/app-connections/heroku.mdx b/docs/integrations/app-connections/heroku.mdx index fc2d1fbcc..9c3397e02 100644 --- a/docs/integrations/app-connections/heroku.mdx +++ b/docs/integrations/app-connections/heroku.mdx @@ -51,7 +51,7 @@ Infisical supports two methods for connecting to Heroku: **OAuth** and **Auth To - Navigate to the **App Connections** tab on the **Organization Settings** page. + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -93,7 +93,7 @@ Infisical supports two methods for connecting to Heroku: **OAuth** and **Auth To ![Heroku API Token](/images/app-connections/heroku/heroku-api-token.png) - Navigate to the **App Connections** tab on the **Organization Settings** page. + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/humanitec.mdx b/docs/integrations/app-connections/humanitec.mdx index 570d3ba5d..669798eeb 100644 --- a/docs/integrations/app-connections/humanitec.mdx +++ b/docs/integrations/app-connections/humanitec.mdx @@ -53,7 +53,7 @@ Infisical supports connecting to Humanitec using a service user. ![Humanitec Connection Created](/images/app-connections/humanitec/humanitec-user-added.png) - Navigate to the **App Connections** tab on the **Organization Settings** page. + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/ldap.mdx b/docs/integrations/app-connections/ldap.mdx index db0b596ce..f0afa1157 100644 --- a/docs/integrations/app-connections/ldap.mdx +++ b/docs/integrations/app-connections/ldap.mdx @@ -33,7 +33,7 @@ Depending on how you intend to use your LDAP connection, there may be additional - 1. Navigate to the App Connections tab on the Organization Settings page. + 1. Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) 2. Select the **LDAP Connection** option. @@ -58,6 +58,7 @@ Depending on how you intend to use your LDAP connection, there may be additional --data '{ "name": "my-ldap-connection", "method": "simple-bind", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "provider": "active-directory", "url": "ldaps://domain-or-ip:636", @@ -76,6 +77,7 @@ Depending on how you intend to use your LDAP connection, there may be additional "appConnection": { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "name": "my-ldap-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 1, "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "createdAt": "2023-11-07T05:31:56Z", diff --git a/docs/integrations/app-connections/mssql.mdx b/docs/integrations/app-connections/mssql.mdx index 7e940804d..77e8e676d 100644 --- a/docs/integrations/app-connections/mssql.mdx +++ b/docs/integrations/app-connections/mssql.mdx @@ -62,7 +62,7 @@ Infisical supports connecting to Microsoft SQL Server using database principals. - 1. Navigate to the App Connections tab on the Organization Settings page. + 1. Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) 2. Select the **Microsoft SQL Server Connection** option. @@ -96,6 +96,7 @@ Infisical supports connecting to Microsoft SQL Server using database principals. --data '{ "name": "my-mssql-connection", "method": "username-and-password", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "isPlatformManagedCredentials": true, "credentials": { "host": "123.4.5.6", @@ -115,7 +116,8 @@ Infisical supports connecting to Microsoft SQL Server using database principals. { "appConnection": { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", - "name": "my-pg-connection", + "name": "my-mssql-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 1, "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "createdAt": "2023-11-07T05:31:56Z", diff --git a/docs/integrations/app-connections/mysql.mdx b/docs/integrations/app-connections/mysql.mdx index 38a8a4e97..6055d77cc 100644 --- a/docs/integrations/app-connections/mysql.mdx +++ b/docs/integrations/app-connections/mysql.mdx @@ -52,7 +52,7 @@ Infisical supports connecting to MySQL using a database role. - 1. Navigate to the App Connections tab on the Organization Settings page. + 1. Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) 2. Select the **MySQL Connection** option. @@ -88,6 +88,7 @@ Infisical supports connecting to MySQL using a database role. "name": "my-mysql-connection", "method": "username-and-password", "isPlatformManagedCredentials": true, + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "host": "123.4.5.6", "port": 3306, @@ -107,6 +108,7 @@ Infisical supports connecting to MySQL using a database role. "appConnection": { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "name": "my-mysql-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 1, "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "createdAt": "2023-11-07T05:31:56Z", diff --git a/docs/integrations/app-connections/netlify.mdx b/docs/integrations/app-connections/netlify.mdx index cd4dfb1b5..d2a62113c 100644 --- a/docs/integrations/app-connections/netlify.mdx +++ b/docs/integrations/app-connections/netlify.mdx @@ -35,7 +35,7 @@ Infisical supports the use of [Personal Access Tokens](https://docs.netlify.com/ - In your Infisical dashboard, go to **Organization Settings** and open the [**App Connections**](https://app.infisical.com/organization/app-connections) tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -53,7 +53,7 @@ Infisical supports the use of [Personal Access Tokens](https://docs.netlify.com/ ![Netlify Connection Modal](/images/app-connections/netlify/app-connection-form.png) - After submitting the form, your **Netlify Connection** will be successfully created and ready to use with your Infisical projects. + After submitting the form, your **Netlify Connection** will be successfully created and ready to use with your Infisical project. ![Netlify Connection Created](/images/app-connections/netlify/app-connection-generated.png) @@ -72,6 +72,7 @@ Infisical supports the use of [Personal Access Tokens](https://docs.netlify.com/ --data '{ "name": "my-netlify-connection", "method": "access-token", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "accessToken": "[ACCESS TOKEN]" } @@ -86,6 +87,7 @@ Infisical supports the use of [Personal Access Tokens](https://docs.netlify.com/ "id": "a1b2c3d4-5678-90ab-cdef-1234567890ab", "name": "my-netlify-connection", "description": null, + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 1, "orgId": "abcdef12-3456-7890-abcd-ef1234567890", "createdAt": "2025-07-19T10:15:00.000Z", diff --git a/docs/integrations/app-connections/oci.mdx b/docs/integrations/app-connections/oci.mdx index 58fb3c1d3..10d5fabaa 100644 --- a/docs/integrations/app-connections/oci.mdx +++ b/docs/integrations/app-connections/oci.mdx @@ -117,7 +117,7 @@ Infisical supports the use of [API Signing Key Authentication](https://docs.orac - In your Infisical dashboard, go to **Organization Settings** and select the [**App Connections**](https://app.infisical.com/organization/app-connections) tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -139,7 +139,7 @@ Infisical supports the use of [API Signing Key Authentication](https://docs.orac ![OCI Connection Modal](/images/app-connections/oci/app-connection-modal.png) - After clicking Create, your **OCI Connection** is established and ready to use with your Infisical projects. + After clicking Create, your **OCI Connection** is established and ready to use with your Infisical project. ![OCI Connection Created](/images/app-connections/oci/app-connection-created.png) @@ -157,6 +157,7 @@ Infisical supports the use of [API Signing Key Authentication](https://docs.orac --data '{ "name": "my-oci-connection", "method": "access-key", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "userOcid": "ocid1.user.oc1..aaaaaaaagrp35tbkvvad4y2j7sug7xonua7dl2gfp4at2u5i5xj4ghnitg3a", "tenancyOcid": "ocid1.tenancy.oc1..aaaaaaaaotfma465m4zumfe2ua64mj2m5dwmlw2llh4g4dnfttnakiifonta", @@ -174,6 +175,7 @@ Infisical supports the use of [API Signing Key Authentication](https://docs.orac "appConnection": { "id": "e5d18aca-86f7-4026-a95e-efb8aeb0d8e6", "name": "my-oci-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "description": null, "version": 1, "orgId": "6f03caa1-a5de-43ce-b127-95a145d3464c", diff --git a/docs/integrations/app-connections/okta.mdx b/docs/integrations/app-connections/okta.mdx index 3c1295cf8..cb5edecbd 100644 --- a/docs/integrations/app-connections/okta.mdx +++ b/docs/integrations/app-connections/okta.mdx @@ -31,7 +31,7 @@ Infisical supports the use of [API Tokens](https://developer.okta.com/docs/guide - In your Infisical dashboard, go to **Organization Settings** and select the [**App Connections**](https://app.infisical.com/organization/app-connections) tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -48,7 +48,7 @@ Infisical supports the use of [API Tokens](https://developer.okta.com/docs/guide ![Connection Modal](/images/app-connections/okta/step-4.png) - After clicking Create, your **Okta Connection** is established and ready to use with your Infisical projects. + After clicking Create, your **Okta Connection** is established and ready to use with your Infisical project. ![Connection Created](/images/app-connections/okta/step-5.png) @@ -66,6 +66,7 @@ Infisical supports the use of [API Tokens](https://developer.okta.com/docs/guide --data '{ "name": "my-okta-connection", "method": "api-token", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "instanceUrl": "https://example.okta.com", "apiToken": "" @@ -80,6 +81,7 @@ Infisical supports the use of [API Tokens](https://developer.okta.com/docs/guide "appConnection": { "id": "e5d18aca-86f7-4026-a95e-efb8aeb0d8e6", "name": "my-okta-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "description": null, "version": 1, "orgId": "6f03caa1-a5de-43ce-b127-95a145d3464c", diff --git a/docs/integrations/app-connections/oracledb.mdx b/docs/integrations/app-connections/oracledb.mdx index 8cab6371b..47aa33356 100644 --- a/docs/integrations/app-connections/oracledb.mdx +++ b/docs/integrations/app-connections/oracledb.mdx @@ -62,7 +62,7 @@ Infisical supports connecting to OracleDB using a database user. - 1. Navigate to the App Connections tab on the Organization Settings page. + 1. Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) 2. Select the **OracleDB Connection** option. @@ -98,6 +98,7 @@ Infisical supports connecting to OracleDB using a database user. "name": "my-oracledb-connection", "method": "username-and-password", "isPlatformManagedCredentials": true, + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "host": "123.4.5.6", "port": 1521, @@ -117,6 +118,7 @@ Infisical supports connecting to OracleDB using a database user. "appConnection": { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "name": "my-oracledb-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 1, "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "createdAt": "2023-11-07T05:31:56Z", diff --git a/docs/integrations/app-connections/overview.mdx b/docs/integrations/app-connections/overview.mdx index e698c4302..8b1032e7d 100644 --- a/docs/integrations/app-connections/overview.mdx +++ b/docs/integrations/app-connections/overview.mdx @@ -3,12 +3,16 @@ sidebarTitle: "Overview" description: "Learn how to manage and configure third-party app connections with Infisical." --- -App Connections enable your organization to integrate Infisical with third-party services in a secure and versatile way. +App Connections enable you to integrate your Infisical projects with third-party services in a secure and versatile way. + + + App connections can also be created and managed independently in projects now. + ## Concept -App Connections are an organization-level resource used to establish connections with third-party applications -that can be used across Infisical projects. Example use cases include syncing secrets, generating dynamic secrets, and more. +App Connections can be used to establish connections with third-party applications +that can be used across multiple features. Example use cases include syncing secrets, rotating credentials, scanning repositories for secret leaks, and more.
    diff --git a/docs/integrations/app-connections/postgres.mdx b/docs/integrations/app-connections/postgres.mdx index 239608905..dcb6c76d8 100644 --- a/docs/integrations/app-connections/postgres.mdx +++ b/docs/integrations/app-connections/postgres.mdx @@ -60,7 +60,7 @@ Infisical supports connecting to PostgreSQL using a database role. - 1. Navigate to the App Connections tab on the Organization Settings page. + 1. Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) 2. Select the **PostgreSQL Connection** option. @@ -95,6 +95,7 @@ Infisical supports connecting to PostgreSQL using a database role. "name": "my-pg-connection", "method": "username-and-password", "isPlatformManagedCredentials": true, + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "host": "123.4.5.6", "port": 5432, @@ -114,6 +115,7 @@ Infisical supports connecting to PostgreSQL using a database role. "appConnection": { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "name": "my-pg-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 1, "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "createdAt": "2023-11-07T05:31:56Z", diff --git a/docs/integrations/app-connections/railway.mdx b/docs/integrations/app-connections/railway.mdx index 7b53d02ad..b88b3fbf1 100644 --- a/docs/integrations/app-connections/railway.mdx +++ b/docs/integrations/app-connections/railway.mdx @@ -96,7 +96,7 @@ Infisical supports the use of [API Tokens](https://docs.railway.com/guides/publi - In your Infisical dashboard, go to **Organization Settings** and open the [**App Connections**](https://app.infisical.com/organization/app-connections) tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -115,7 +115,7 @@ Infisical supports the use of [API Tokens](https://docs.railway.com/guides/publi ![Railway Connection Modal](/images/app-connections/railway/railway-app-connection-form.png)
    - After submitting the form, your **Railway Connection** will be successfully created and ready to use with your Infisical projects. + After submitting the form, your **Railway Connection** will be successfully created and ready to use with your Infisical project. ![Railway Connection Created](/images/app-connections/railway/railway-app-connection-generated.png) @@ -134,6 +134,7 @@ Infisical supports the use of [API Tokens](https://docs.railway.com/guides/publi --data '{ "name": "my-railway-connection", "method": "team-token", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "apiToken": "[TEAM TOKEN]" } @@ -147,6 +148,7 @@ Infisical supports the use of [API Tokens](https://docs.railway.com/guides/publi "appConnection": { "id": "e5d18aca-86f7-4026-a95e-efb8aeb0d8e6", "name": "my-railway-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "description": null, "version": 1, "orgId": "6f03caa1-a5de-43ce-b127-95a145d3464c", diff --git a/docs/integrations/app-connections/render.mdx b/docs/integrations/app-connections/render.mdx index 580ec953e..78e050135 100644 --- a/docs/integrations/app-connections/render.mdx +++ b/docs/integrations/app-connections/render.mdx @@ -33,8 +33,7 @@ Infisical supports connecting to Render using API keys for secure access to your - Navigate to the **App Connections** tab on the **Organization Settings** - page. ![App Connections + Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) diff --git a/docs/integrations/app-connections/supabase.mdx b/docs/integrations/app-connections/supabase.mdx index 9716b1526..80290cec9 100644 --- a/docs/integrations/app-connections/supabase.mdx +++ b/docs/integrations/app-connections/supabase.mdx @@ -34,7 +34,7 @@ Infisical supports the use of [Personal Access Tokens](https://supabase.com/dash - In your Infisical dashboard, go to **Organization Settings** and open the [**App Connections**](https://app.infisical.com/organization/app-connections) tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -53,7 +53,7 @@ Infisical supports the use of [Personal Access Tokens](https://supabase.com/dash ![Supabase Connection Modal](/images/app-connections/supabase/app-connection-form.png) - After submitting the form, your **Supabase Connection** will be successfully created and ready to use with your Infisical projects. + After submitting the form, your **Supabase Connection** will be successfully created and ready to use with your Infisical project. ![Supabase Connection Created](/images/app-connections/supabase/app-connection-generated.png) @@ -73,6 +73,7 @@ Infisical supports the use of [Personal Access Tokens](https://supabase.com/dash --data '{ "name": "my-supabase-connection", "method": "access-token", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "accessToken": "[Access Token]", "instanceUrl": "https://api.supabase.com" @@ -87,6 +88,7 @@ Infisical supports the use of [Personal Access Tokens](https://supabase.com/dash "appConnection": { "id": "e5d18aca-86f7-4026-a95e-efb8aeb0d8e6", "name": "my-supabase-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "description": null, "version": 1, "orgId": "6f03caa1-a5de-43ce-b127-95a145d3464c", diff --git a/docs/integrations/app-connections/teamcity.mdx b/docs/integrations/app-connections/teamcity.mdx index 889355954..311326f07 100644 --- a/docs/integrations/app-connections/teamcity.mdx +++ b/docs/integrations/app-connections/teamcity.mdx @@ -51,7 +51,7 @@ Infisical supports connecting to TeamCity using Access Tokens. 1. Navigate to App Connections - In your Infisical dashboard, go to **Organization Settings** and select the [**App Connections**](https://app.infisical.com/organization/app-connections) tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) 2. Add Connection @@ -68,7 +68,7 @@ Infisical supports connecting to TeamCity using Access Tokens. ![TeamCity Connection Modal](/images/app-connections/teamcity/teamcity-app-connection-modal.png) 4. Connection Created - After clicking Create, your **TeamCity Connection** is established and ready to use with your Infisical projects. + After clicking Create, your **TeamCity Connection** is established and ready to use with your Infisical project. ![TeamCity Connection Created](/images/app-connections/teamcity/teamcity-app-connection-created.png) @@ -84,6 +84,7 @@ Infisical supports connecting to TeamCity using Access Tokens. --data '{ "name": "my-teamcity-connection", "method": "access-token", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "accessToken": "...", "instanceUrl": "https://yourcompany.teamcity.com" @@ -98,6 +99,7 @@ Infisical supports connecting to TeamCity using Access Tokens. "appConnection": { "id": "e5d18aca-86f7-4026-a95e-efb8aeb0d8e6", "name": "my-teamcity-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "description": null, "version": 1, "orgId": "6f03caa1-a5de-43ce-b127-95a145d3464c", diff --git a/docs/integrations/app-connections/terraform-cloud.mdx b/docs/integrations/app-connections/terraform-cloud.mdx index 02deb22cc..bc3da7810 100644 --- a/docs/integrations/app-connections/terraform-cloud.mdx +++ b/docs/integrations/app-connections/terraform-cloud.mdx @@ -30,7 +30,7 @@ Infisical supports connecting to Terraform Cloud using a service user. - 1. Navigate to the **App Connections** tab on the **Organization Settings** page. + 1. Navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) 2. Select the **Terraform Cloud Connection** option from the connection options modal. ![Select Terraform Cloud Connection](/images/app-connections/terraform-cloud/terraform-cloud-app-connection-option.png) @@ -52,6 +52,7 @@ Infisical supports connecting to Terraform Cloud using a service user. --data '{ "name": "my-terraform-cloud-connection", "method": "api-token", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "apiToken": "...", } @@ -65,6 +66,7 @@ Infisical supports connecting to Terraform Cloud using a service user. "appConnection": { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "name": "my-terraform-cloud-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 123, "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "createdAt": "2023-11-07T05:31:56Z", diff --git a/docs/integrations/app-connections/vercel.mdx b/docs/integrations/app-connections/vercel.mdx index 7ab7bea1b..17973db9b 100644 --- a/docs/integrations/app-connections/vercel.mdx +++ b/docs/integrations/app-connections/vercel.mdx @@ -37,7 +37,7 @@ Infisical supports connecting to Vercel using API Tokens. 1. Navigate to App Connections - In your Infisical dashboard, go to **Organization Settings** and select the **App Connections** tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) 2. Add Connection @@ -52,7 +52,7 @@ Infisical supports connecting to Vercel using API Tokens. ![Vercel Connection Modal](/images/app-connections/vercel/vercel-app-connection-modal.png) 4. Connection Created - After clicking Create, your **Vercel Connection** is established and ready to use with your Infisical projects. + After clicking Create, your **Vercel Connection** is established and ready to use with your Infisical project. ![Vercel Connection Created](/images/app-connections/vercel/vercel-app-connection-created.png) @@ -67,6 +67,7 @@ Infisical supports connecting to Vercel using API Tokens. --header 'Content-Type: application/json' \ --data '{ "name": "my-vercel-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "method": "api-token", "credentials": { "apiToken": "...", @@ -81,6 +82,7 @@ Infisical supports connecting to Vercel using API Tokens. "appConnection": { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "name": "my-vercel-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 123, "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "createdAt": "2025-04-01T05:31:56Z", diff --git a/docs/integrations/app-connections/windmill.mdx b/docs/integrations/app-connections/windmill.mdx index 5cab9fa38..d90c83a1b 100644 --- a/docs/integrations/app-connections/windmill.mdx +++ b/docs/integrations/app-connections/windmill.mdx @@ -47,7 +47,8 @@ Ensure the user generating the access token has the required role and permission - In your Infisical dashboard, go to **Organization Settings** and select the **App Connections** tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. + ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -82,6 +83,7 @@ Ensure the user generating the access token has the required role and permission --data '{ "name": "my-windmill-connection", "method": "access-token", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "token": "...", "instanceUrl": "https://app.windmill.dev" @@ -96,6 +98,7 @@ Ensure the user generating the access token has the required role and permission "appConnection": { "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "name": "my-windmill-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "version": 123, "orgId": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "createdAt": "2025-04-01T05:31:56Z", diff --git a/docs/integrations/app-connections/zabbix.mdx b/docs/integrations/app-connections/zabbix.mdx index c4d47b22e..45141e827 100644 --- a/docs/integrations/app-connections/zabbix.mdx +++ b/docs/integrations/app-connections/zabbix.mdx @@ -31,7 +31,7 @@ Infisical supports the use of [API Tokens](https://www.zabbix.com/documentation/ - In your Infisical dashboard, go to **Organization Settings** and select the [**App Connections**](https://app.infisical.com/organization/app-connections) tab. + In your Infisical dashboard, navigate to the **App Connections** page in the desired project. ![App Connections Tab](/images/app-connections/general/add-connection.png) @@ -50,7 +50,7 @@ Infisical supports the use of [API Tokens](https://www.zabbix.com/documentation/ ![Zabbix Connection Modal](/images/app-connections/zabbix/zabbix-app-connection-form.png) - After clicking Create, your **Zabbix Connection** is established and ready to use with your Infisical projects. + After clicking Create, your **Zabbix Connection** is established and ready to use with your Infisical project. ![Zabbix Connection Created](/images/app-connections/zabbix/zabbix-app-connection-generated.png) @@ -68,6 +68,7 @@ Infisical supports the use of [API Tokens](https://www.zabbix.com/documentation/ --data '{ "name": "my-zabbix-connection", "method": "api-token", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "credentials": { "apiToken": "[API TOKEN]", "instanceUrl": "https://zabbix.example.com" @@ -82,6 +83,7 @@ Infisical supports the use of [API Tokens](https://www.zabbix.com/documentation/ "appConnection": { "id": "e5d18aca-86f7-4026-a95e-efb8aeb0d8e6", "name": "my-zabbix-connection", + "projectId": "7ffbb072-2575-495a-b5b0-127f88caef78", "description": null, "version": 1, "orgId": "6f03caa1-a5de-43ce-b127-95a145d3464c", diff --git a/frontend/src/components/app-connections/AppConnectionOption.tsx b/frontend/src/components/app-connections/AppConnectionOption.tsx new file mode 100644 index 000000000..2978dc9f0 --- /dev/null +++ b/frontend/src/components/app-connections/AppConnectionOption.tsx @@ -0,0 +1,45 @@ +import { components, OptionProps } from "react-select"; +import { faCheckCircle } from "@fortawesome/free-regular-svg-icons"; +import { faBuilding, faPlus } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; + +import { Badge, Tooltip } from "@app/components/v2"; +import { TAvailableAppConnection } from "@app/hooks/api/appConnections"; + +export const AppConnectionOption = ({ + isSelected, + children, + ...props +}: OptionProps) => { + const isCreateOption = props.data.id === "_create"; + + return ( + +

    + + ); +}; diff --git a/frontend/src/components/app-connections/index.ts b/frontend/src/components/app-connections/index.ts new file mode 100644 index 000000000..7ced7c907 --- /dev/null +++ b/frontend/src/components/app-connections/index.ts @@ -0,0 +1 @@ +export * from "./AppConnectionOption"; diff --git a/frontend/src/components/permissions/OrgPermissionCan.tsx b/frontend/src/components/permissions/OrgPermissionCan.tsx index 8e0bf08ad..bdb39ba1b 100644 --- a/frontend/src/components/permissions/OrgPermissionCan.tsx +++ b/frontend/src/components/permissions/OrgPermissionCan.tsx @@ -1,8 +1,10 @@ import { FunctionComponent, ReactNode } from "react"; -import { BoundCanProps, Can } from "@casl/react"; +import { AbilityTuple, MongoAbility } from "@casl/ability"; +import { Can } from "@casl/react"; import { TooltipProps } from "@app/components/v2/Tooltip/Tooltip"; -import { TOrgPermission, useOrgPermission } from "@app/context/OrgPermissionContext"; +import { useOrgPermission } from "@app/context/OrgPermissionContext"; +import { OrgPermissionSet } from "@app/context/OrgPermissionContext/types"; import { AccessRestrictedBanner, Tooltip } from "../v2"; @@ -14,7 +16,7 @@ export const OrgPermissionGuardBanner = () => { ); }; -type Props = { +type Props = { label?: ReactNode; // this prop is used when there exist already a tooltip as helper text for users // so when permission is allowed same tooltip will be reused to show helpertext @@ -22,9 +24,18 @@ type Props = { allowedLabel?: string; renderGuardBanner?: boolean; tooltipProps?: Omit; -} & BoundCanProps; + I: T[0]; + ability?: MongoAbility; + children: ReactNode | ((isAllowed: boolean, ability: T) => ReactNode); + passThrough?: boolean; +} & ( + | { an: T[1] } + | { + a: T[1]; + } +); -export const OrgPermissionCan: FunctionComponent = ({ +export const OrgPermissionCan: FunctionComponent> = ({ label = "Access restricted", children, passThrough = true, @@ -41,9 +52,7 @@ export const OrgPermissionCan: FunctionComponent = ({ {(isAllowed, ability) => { // akhilmhdh: This is set as type due to error in casl react type. const finalChild = - typeof children === "function" - ? children(isAllowed, ability as TOrgPermission) - : children; + typeof children === "function" ? children(isAllowed, ability as any) : children; if (!isAllowed && passThrough) { return ( diff --git a/frontend/src/components/permissions/VariablePermissionCan.tsx b/frontend/src/components/permissions/VariablePermissionCan.tsx new file mode 100644 index 000000000..a9e24e3c7 --- /dev/null +++ b/frontend/src/components/permissions/VariablePermissionCan.tsx @@ -0,0 +1,17 @@ +import { OrgPermissionCan } from "./OrgPermissionCan"; +import { ProjectPermissionCan } from "./ProjectPermissionCan"; + +interface PermissionCanProps { + type: "project" | "org"; + I: any; + a: any; + children: (isAllowed: boolean, ability?: any) => React.ReactNode; +} + +export const VariablePermissionCan = ({ type, children, ...props }: PermissionCanProps) => { + if (type === "project") { + return {children}; + } + + return {children}; +}; diff --git a/frontend/src/components/permissions/index.tsx b/frontend/src/components/permissions/index.tsx index c40079a4f..db6ca3296 100644 --- a/frontend/src/components/permissions/index.tsx +++ b/frontend/src/components/permissions/index.tsx @@ -3,3 +3,4 @@ export { GlobPermissionInfo } from "./GlobPermissionInfo"; export { OrgPermissionCan } from "./OrgPermissionCan"; export { PermissionDeniedBanner } from "./PermissionDeniedBanner"; export { ProjectPermissionCan } from "./ProjectPermissionCan"; +export * from "./VariablePermissionCan"; diff --git a/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx b/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx index f5b9a39b3..9666c3c52 100644 --- a/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx +++ b/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx @@ -1,8 +1,10 @@ -import { useState } from "react"; +import { useEffect, useState } from "react"; import { faArrowUpRightFromSquare, faBookOpen } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { useNavigate, useRouterState } from "@tanstack/react-router"; import { SecretRotationV2Form } from "@app/components/secret-rotations-v2/forms"; +import { TSecretRotationV2Form } from "@app/components/secret-rotations-v2/forms/schemas"; import { SecretRotationV2ModalHeader } from "@app/components/secret-rotations-v2/SecretRotationV2ModalHeader"; import { SecretRotationV2Select } from "@app/components/secret-rotations-v2/SecretRotationV2Select"; import { Modal, ModalContent } from "@app/components/v2"; @@ -24,14 +26,21 @@ type ContentProps = { onComplete: (secretRotation: TSecretRotationV2) => void; selectedRotation: SecretRotation | null; setSelectedRotation: (selectedRotation: SecretRotation | null) => void; + initialFormData?: Partial; } & SharedProps; -const Content = ({ setSelectedRotation, selectedRotation, ...props }: ContentProps) => { +const Content = ({ + setSelectedRotation, + selectedRotation, + initialFormData, + ...props +}: ContentProps) => { if (selectedRotation) { return ( setSelectedRotation(null)} type={selectedRotation} + initialFormData={initialFormData} {...props} /> ); @@ -42,12 +51,56 @@ const Content = ({ setSelectedRotation, selectedRotation, ...props }: ContentPro export const CreateSecretRotationV2Modal = ({ onOpenChange, isOpen, ...props }: Props) => { const [selectedRotation, setSelectedRotation] = useState(null); + const [initialFormData, setInitialFormData] = useState>(); + + const { + location: { + search: { connectionId, connectionName, ...search }, + pathname + } + } = useRouterState(); + + const navigate = useNavigate(); + + useEffect(() => { + if (connectionId && connectionName) { + const storedFormData = localStorage.getItem("secretRotationFormData"); + + if (!storedFormData) return; + + let form: Partial = {}; + try { + form = JSON.parse(storedFormData) as TSecretRotationV2Form; + } catch { + return; + } finally { + localStorage.removeItem("secretRotationFormData"); + } + + onOpenChange(true); + + setSelectedRotation(form.type ?? null); + + setInitialFormData({ + ...form, + connection: { id: connectionId, name: connectionName } + }); + + navigate({ + to: pathname, + search + }); + } + }, [connectionId, connectionName]); return ( { - if (!open) setSelectedRotation(null); + if (!open) { + setSelectedRotation(null); + setInitialFormData(undefined); + } onOpenChange(open); }} > @@ -87,6 +140,7 @@ export const CreateSecretRotationV2Modal = ({ onOpenChange, isOpen, ...props }: setSelectedRotation(null); onOpenChange(false); }} + initialFormData={initialFormData} selectedRotation={selectedRotation} setSelectedRotation={setSelectedRotation} {...props} diff --git a/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2ConnectionField.tsx b/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2ConnectionField.tsx index 665ab05a6..4b0503648 100644 --- a/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2ConnectionField.tsx +++ b/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2ConnectionField.tsx @@ -1,14 +1,17 @@ import { Controller, useFormContext } from "react-hook-form"; +import { SingleValue } from "react-select"; import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Link } from "@tanstack/react-router"; +import { AppConnectionOption } from "@app/components/app-connections"; import { FilterableSelect, FormControl } from "@app/components/v2"; -import { OrgPermissionSubjects, useOrgPermission } from "@app/context"; -import { OrgPermissionAppConnectionActions } from "@app/context/OrgPermissionContext/types"; +import { ProjectPermissionSub, useProjectPermission, useWorkspace } from "@app/context"; +import { ProjectPermissionAppConnectionActions } from "@app/context/ProjectPermissionContext/types"; import { APP_CONNECTION_MAP } from "@app/helpers/appConnections"; import { SECRET_ROTATION_CONNECTION_MAP } from "@app/helpers/secretRotationsV2"; +import { usePopUp } from "@app/hooks"; import { useListAvailableAppConnections } from "@app/hooks/api/appConnections"; +import { AddAppConnectionModal } from "@app/pages/organization/AppConnections/AppConnectionsPage/components"; import { TSecretRotationV2Form } from "./schemas"; @@ -18,19 +21,26 @@ type Props = { }; export const SecretRotationV2ConnectionField = ({ onChange: callback, isUpdate }: Props) => { - const { permission } = useOrgPermission(); - const { control, watch } = useFormContext(); + const { permission } = useProjectPermission(); + const { control, watch, setValue } = useFormContext(); + + const { popUp, handlePopUpToggle, handlePopUpOpen } = usePopUp(["addConnection"] as const); const rotationType = watch("type"); const app = SECRET_ROTATION_CONNECTION_MAP[rotationType]; - const { data: availableConnections, isPending } = useListAvailableAppConnections(app); + const { currentWorkspace } = useWorkspace(); + + const { data: availableConnections, isPending } = useListAvailableAppConnections( + app, + currentWorkspace.id + ); const connectionName = APP_CONNECTION_MAP[app].name; const canCreateConnection = permission.can( - OrgPermissionAppConnectionActions.Create, - OrgPermissionSubjects.AppConnections + ProjectPermissionAppConnectionActions.Create, + ProjectPermissionSub.AppConnections ); const appName = APP_CONNECTION_MAP[app].name; @@ -66,37 +76,56 @@ export const SecretRotationV2ConnectionField = ({ onChange: callback, isUpdate } { + if ((newValue as SingleValue<{ id: string; name: string }>)?.id === "_create") { + handlePopUpOpen("addConnection"); + onChange(null); + // store for oauth callback connections + localStorage.setItem("secretRotationFormData", JSON.stringify(watch())); + if (callback) callback(); + return; + } + onChange(newValue); if (callback) callback(); }} isLoading={isPending} - options={availableConnections} + options={[ + ...(canCreateConnection ? [{ id: "_create", name: "Create Connection" }] : []), + ...(availableConnections ?? []) + ]} isDisabled={isUpdate} placeholder="Select connection..." getOptionLabel={(option) => option.name} getOptionValue={(option) => option.id} + components={{ Option: AppConnectionOption }} /> )} control={control} name="connection" /> - {!isUpdate && availableConnections?.length === 0 && ( + {!isUpdate && !isPending && !availableConnections?.length && !canCreateConnection && (

    - {canCreateConnection ? ( - <> - You do not have access to any {appName} Connections. Create one from the{" "} - - App Connections - {" "} - page. - - ) : ( - `You do not have access to any ${appName} Connections. Contact an admin to create one.` - )} + You do not have access to any ${appName} Connections. Contact an admin to create one.

    )} + { + // remove form storage, not oauth connection + localStorage.removeItem("secretRotationFormData"); + handlePopUpToggle("addConnection", isOpen); + }} + projectType={currentWorkspace.type} + projectId={currentWorkspace.id} + app={app} + onComplete={(connection) => { + if (connection) { + setValue("connection", connection); + } + }} + /> ); }; diff --git a/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2Form.tsx b/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2Form.tsx index d931d9d3c..62efaa8d2 100644 --- a/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2Form.tsx +++ b/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2Form.tsx @@ -34,6 +34,7 @@ type Props = { environment?: string; environments?: WorkspaceEnv[]; secretRotation?: TSecretRotationV2; + initialFormData?: Partial; }; const FORM_TABS: { name: string; key: string; fields: (keyof TSecretRotationV2Form)[] }[] = [ @@ -64,7 +65,8 @@ export const SecretRotationV2Form = ({ environment: envSlug, secretPath, secretRotation, - environments + environments, + initialFormData }: Props) => { const createSecretRotation = useCreateSecretRotationV2(); const updateSecretRotation = useUpdateSecretRotationV2(); @@ -93,7 +95,8 @@ export const SecretRotationV2Form = ({ }, environment: currentWorkspace?.environments.find((env) => env.slug === envSlug), secretPath, - ...(rotationOption!.template as object) // can't infer type since we don't know which specific type it is + ...((rotationOption?.template as object) ?? {}), // can't infer type since we don't know which specific type it is + ...(initialFormData as object) }, reValidateMode: "onChange" }); diff --git a/frontend/src/components/secret-scanning/CreateSecretScanningDataSourceModal.tsx b/frontend/src/components/secret-scanning/CreateSecretScanningDataSourceModal.tsx index c95baaae5..520aa0365 100644 --- a/frontend/src/components/secret-scanning/CreateSecretScanningDataSourceModal.tsx +++ b/frontend/src/components/secret-scanning/CreateSecretScanningDataSourceModal.tsx @@ -1,7 +1,9 @@ -import { useState } from "react"; +import { useEffect, useState } from "react"; import { faArrowUpRightFromSquare, faBookOpen } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { useNavigate, useRouterState } from "@tanstack/react-router"; +import { TSecretScanningDataSourceForm } from "@app/components/secret-scanning/forms/schemas"; import { Modal, ModalContent } from "@app/components/v2"; import { SecretScanningDataSource, @@ -21,6 +23,7 @@ type ContentProps = { onComplete: (dataSource: TSecretScanningDataSource) => void; selectedDataSource: SecretScanningDataSource | null; setSelectedDataSource: (selectedDataSource: SecretScanningDataSource | null) => void; + initialFormData?: Partial; }; const Content = ({ setSelectedDataSource, selectedDataSource, ...props }: ContentProps) => { @@ -41,6 +44,47 @@ export const CreateSecretScanningDataSourceModal = ({ onOpenChange, isOpen, ...p const [selectedDataSource, setSelectedDataSource] = useState( null ); + const [initialFormData, setInitialFormData] = useState>(); + + const { + location: { + search: { connectionId, connectionName, ...search }, + pathname + } + } = useRouterState(); + + const navigate = useNavigate(); + + useEffect(() => { + if (connectionId && connectionName) { + const storedFormData = localStorage.getItem("secretScanningDataSourceFormData"); + + if (!storedFormData) return; + + let form: Partial = {}; + try { + form = JSON.parse(storedFormData) as TSecretScanningDataSourceForm; + } catch { + return; + } finally { + localStorage.removeItem("secretScanningDataSourceFormData"); + } + + onOpenChange(true); + + setSelectedDataSource(form.type ?? null); + + setInitialFormData({ + ...form, + connection: { id: connectionId, name: connectionName } + }); + + navigate({ + to: pathname, + search + }); + } + }, [connectionId, connectionName]); return ( diff --git a/frontend/src/components/secret-scanning/forms/SecretScanningDataSourceConnectionField.tsx b/frontend/src/components/secret-scanning/forms/SecretScanningDataSourceConnectionField.tsx index 3f995e1d0..6b252e55c 100644 --- a/frontend/src/components/secret-scanning/forms/SecretScanningDataSourceConnectionField.tsx +++ b/frontend/src/components/secret-scanning/forms/SecretScanningDataSourceConnectionField.tsx @@ -1,14 +1,17 @@ import { Controller, useFormContext } from "react-hook-form"; +import { SingleValue } from "react-select"; import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Link } from "@tanstack/react-router"; +import { AppConnectionOption } from "@app/components/app-connections"; import { FilterableSelect, FormControl } from "@app/components/v2"; -import { OrgPermissionSubjects, useOrgPermission } from "@app/context"; -import { OrgPermissionAppConnectionActions } from "@app/context/OrgPermissionContext/types"; +import { ProjectPermissionSub, useProjectPermission, useWorkspace } from "@app/context"; +import { ProjectPermissionAppConnectionActions } from "@app/context/ProjectPermissionContext/types"; import { APP_CONNECTION_MAP } from "@app/helpers/appConnections"; import { SECRET_SCANNING_DATA_SOURCE_CONNECTION_MAP } from "@app/helpers/secretScanningV2"; +import { usePopUp } from "@app/hooks"; import { useListAvailableAppConnections } from "@app/hooks/api/appConnections"; +import { AddAppConnectionModal } from "@app/pages/organization/AppConnections/AppConnectionsPage/components"; import { TSecretScanningDataSourceForm } from "./schemas"; @@ -21,19 +24,26 @@ export const SecretScanningDataSourceConnectionField = ({ onChange: callback, isUpdate }: Props) => { - const { permission } = useOrgPermission(); - const { control, watch } = useFormContext(); + const { permission } = useProjectPermission(); + const { control, watch, setValue } = useFormContext(); + + const { popUp, handlePopUpToggle, handlePopUpOpen } = usePopUp(["addConnection"] as const); const dataSourceType = watch("type"); const app = SECRET_SCANNING_DATA_SOURCE_CONNECTION_MAP[dataSourceType]; - const { data: availableConnections, isPending } = useListAvailableAppConnections(app); + const { currentWorkspace } = useWorkspace(); + + const { data: availableConnections, isPending } = useListAvailableAppConnections( + app, + currentWorkspace.id + ); const connectionName = APP_CONNECTION_MAP[app].name; const canCreateConnection = permission.can( - OrgPermissionAppConnectionActions.Create, - OrgPermissionSubjects.AppConnections + ProjectPermissionAppConnectionActions.Create, + ProjectPermissionSub.AppConnections ); return ( @@ -67,37 +77,57 @@ export const SecretScanningDataSourceConnectionField = ({ { + if ((newValue as SingleValue<{ id: string; name: string }>)?.id === "_create") { + handlePopUpOpen("addConnection"); + onChange(null); + // store for oauth callback connections + localStorage.setItem("secretScanningDataSourceFormData", JSON.stringify(watch())); + if (callback) callback(); + return; + } + onChange(newValue); if (callback) callback(); }} isLoading={isPending} - options={availableConnections} + options={[ + ...(canCreateConnection ? [{ id: "_create", name: "Create Connection" }] : []), + ...(availableConnections ?? []) + ]} isDisabled={isUpdate} placeholder="Select connection..." getOptionLabel={(option) => option.name} getOptionValue={(option) => option.id} + components={{ Option: AppConnectionOption }} /> )} control={control} name="connection" /> - {!isUpdate && availableConnections?.length === 0 && ( + {!isUpdate && !isPending && !availableConnections?.length && !canCreateConnection && (

    - {canCreateConnection ? ( - <> - You do not have access to any {connectionName} Connections. Create one from the{" "} - - App Connections - {" "} - page. - - ) : ( - `You do not have access to any ${connectionName} Connections. Contact an admin to create one.` - )} + You do not have access to any ${connectionName} Connections. Contact an admin to create + one.

    )} + { + // remove form storage, not oauth connection + localStorage.removeItem("secretScanningDataSourceFormData"); + handlePopUpToggle("addConnection", isOpen); + }} + projectType={currentWorkspace.type} + projectId={currentWorkspace.id} + app={app} + onComplete={(connection) => { + if (connection) { + setValue("connection", connection); + } + }} + /> ); }; diff --git a/frontend/src/components/secret-scanning/forms/SecretScanningDataSourceForm.tsx b/frontend/src/components/secret-scanning/forms/SecretScanningDataSourceForm.tsx index b1ea0b559..49568dfec 100644 --- a/frontend/src/components/secret-scanning/forms/SecretScanningDataSourceForm.tsx +++ b/frontend/src/components/secret-scanning/forms/SecretScanningDataSourceForm.tsx @@ -27,6 +27,7 @@ type Props = { type: SecretScanningDataSource; onCancel: () => void; dataSource?: TSecretScanningDataSource; + initialFormData?: Partial; }; const FORM_TABS: { name: string; key: string; fields: (keyof TSecretScanningDataSourceForm)[] }[] = @@ -36,7 +37,13 @@ const FORM_TABS: { name: string; key: string; fields: (keyof TSecretScanningData { name: "Review", key: "review", fields: [] } ]; -export const SecretScanningDataSourceForm = ({ type, onComplete, onCancel, dataSource }: Props) => { +export const SecretScanningDataSourceForm = ({ + type, + onComplete, + onCancel, + dataSource, + initialFormData +}: Props) => { const createDataSource = useCreateSecretScanningDataSource(); const updateDataSource = useUpdateSecretScanningDataSource(); const { currentWorkspace } = useWorkspace(); @@ -48,7 +55,8 @@ export const SecretScanningDataSourceForm = ({ type, onComplete, onCancel, dataS resolver: zodResolver(SecretScanningDataSourceSchema), defaultValues: dataSource ?? { type, - isAutoScanEnabled: true // scott: this may need to be derived from type in the future + isAutoScanEnabled: true, // scott: this may need to be derived from type in the future + ...(initialFormData as object) }, reValidateMode: "onChange" }); diff --git a/frontend/src/components/secret-syncs/CreateSecretSyncModal.tsx b/frontend/src/components/secret-syncs/CreateSecretSyncModal.tsx index 5ff72e810..e504389c0 100644 --- a/frontend/src/components/secret-syncs/CreateSecretSyncModal.tsx +++ b/frontend/src/components/secret-syncs/CreateSecretSyncModal.tsx @@ -1,5 +1,6 @@ import { useEffect, useState } from "react"; +import { TSecretSyncForm } from "@app/components/secret-syncs/forms/schemas"; import { Modal, ModalContent } from "@app/components/v2"; import { SecretSync, TSecretSync } from "@app/hooks/api/secretSyncs"; @@ -11,18 +12,21 @@ type Props = { isOpen: boolean; onOpenChange: (isOpen: boolean) => void; selectSync?: SecretSync | null; + initialFormData?: Partial; }; type ContentProps = { onComplete: (secretSync: TSecretSync) => void; selectedSync: SecretSync | null; setSelectedSync: (selectedSync: SecretSync | null) => void; + initialFormData?: Partial; }; -const Content = ({ onComplete, setSelectedSync, selectedSync }: ContentProps) => { +const Content = ({ onComplete, setSelectedSync, selectedSync, initialFormData }: ContentProps) => { if (selectedSync) { return ( setSelectedSync(null)} destination={selectedSync} @@ -33,7 +37,12 @@ const Content = ({ onComplete, setSelectedSync, selectedSync }: ContentProps) => return ; }; -export const CreateSecretSyncModal = ({ onOpenChange, selectSync = null, ...props }: Props) => { +export const CreateSecretSyncModal = ({ + onOpenChange, + selectSync = null, + initialFormData, + ...props +}: Props) => { const [selectedSync, setSelectedSync] = useState(selectSync); useEffect(() => { @@ -67,6 +76,7 @@ export const CreateSecretSyncModal = ({ onOpenChange, selectSync = null, ...prop }} selectedSync={selectedSync} setSelectedSync={setSelectedSync} + initialFormData={initialFormData} />
    diff --git a/frontend/src/components/secret-syncs/forms/CreateSecretSyncForm.tsx b/frontend/src/components/secret-syncs/forms/CreateSecretSyncForm.tsx index 8a1be69c4..082054ad2 100644 --- a/frontend/src/components/secret-syncs/forms/CreateSecretSyncForm.tsx +++ b/frontend/src/components/secret-syncs/forms/CreateSecretSyncForm.tsx @@ -29,6 +29,7 @@ type Props = { onComplete: (secretSync: TSecretSync) => void; destination: SecretSync; onCancel: () => void; + initialFormData?: Partial; }; const FORM_TABS: { name: string; key: string; fields: (keyof TSecretSyncForm)[] }[] = [ @@ -39,14 +40,20 @@ const FORM_TABS: { name: string; key: string; fields: (keyof TSecretSyncForm)[] { name: "Review", key: "review", fields: [] } ]; -export const CreateSecretSyncForm = ({ destination, onComplete, onCancel }: Props) => { +export const CreateSecretSyncForm = ({ + destination, + onComplete, + onCancel, + initialFormData +}: Props) => { const createSecretSync = useCreateSecretSync(); const { currentWorkspace } = useWorkspace(); const { name: destinationName } = SECRET_SYNC_MAP[destination]; const [showConfirmation, setShowConfirmation] = useState(false); - const [selectedTabIndex, setSelectedTabIndex] = useState(0); + // scoot: right now we only do this when creating a connection so we know index 1 + const [selectedTabIndex, setSelectedTabIndex] = useState(initialFormData ? 1 : 0); const { syncOption } = useSecretSyncOption(destination); @@ -59,7 +66,8 @@ export const CreateSecretSyncForm = ({ destination, onComplete, onCancel }: Prop initialSyncBehavior: syncOption?.canImportSecrets ? undefined : SecretSyncInitialSyncBehavior.OverwriteDestination - } + }, + ...initialFormData } as Partial, reValidateMode: "onChange" }); diff --git a/frontend/src/components/secret-syncs/forms/SecretSyncConnectionField.tsx b/frontend/src/components/secret-syncs/forms/SecretSyncConnectionField.tsx index 94e587709..ffae4ed88 100644 --- a/frontend/src/components/secret-syncs/forms/SecretSyncConnectionField.tsx +++ b/frontend/src/components/secret-syncs/forms/SecretSyncConnectionField.tsx @@ -1,14 +1,17 @@ import { Controller, useFormContext } from "react-hook-form"; +import { SingleValue } from "react-select"; import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Link } from "@tanstack/react-router"; +import { AppConnectionOption } from "@app/components/app-connections"; import { FilterableSelect, FormControl } from "@app/components/v2"; -import { OrgPermissionSubjects, useOrgPermission } from "@app/context"; -import { OrgPermissionAppConnectionActions } from "@app/context/OrgPermissionContext/types"; +import { ProjectPermissionSub, useProjectPermission, useWorkspace } from "@app/context"; +import { ProjectPermissionAppConnectionActions } from "@app/context/ProjectPermissionContext/types"; import { APP_CONNECTION_MAP } from "@app/helpers/appConnections"; import { SECRET_SYNC_CONNECTION_MAP } from "@app/helpers/secretSyncs"; +import { usePopUp } from "@app/hooks"; import { useListAvailableAppConnections } from "@app/hooks/api/appConnections"; +import { AddAppConnectionModal } from "@app/pages/organization/AppConnections/AppConnectionsPage/components"; import { TSecretSyncForm } from "./schemas"; @@ -17,19 +20,26 @@ type Props = { }; export const SecretSyncConnectionField = ({ onChange: callback }: Props) => { - const { permission } = useOrgPermission(); - const { control, watch } = useFormContext(); + const { permission } = useProjectPermission(); + const { control, watch, setValue } = useFormContext(); + + const { popUp, handlePopUpToggle, handlePopUpOpen } = usePopUp(["addConnection"] as const); const destination = watch("destination"); const app = SECRET_SYNC_CONNECTION_MAP[destination]; - const { data: availableConnections, isPending } = useListAvailableAppConnections(app); + const { currentWorkspace } = useWorkspace(); + + const { data: availableConnections, isPending } = useListAvailableAppConnections( + app, + currentWorkspace.id + ); const connectionName = APP_CONNECTION_MAP[app].name; const canCreateConnection = permission.can( - OrgPermissionAppConnectionActions.Create, - OrgPermissionSubjects.AppConnections + ProjectPermissionAppConnectionActions.Create, + ProjectPermissionSub.AppConnections ); const appName = APP_CONNECTION_MAP[SECRET_SYNC_CONNECTION_MAP[destination]].name; @@ -51,36 +61,55 @@ export const SecretSyncConnectionField = ({ onChange: callback }: Props) => { { + if ((newValue as SingleValue<{ id: string; name: string }>)?.id === "_create") { + handlePopUpOpen("addConnection"); + onChange(null); + // store for oauth callback connections + localStorage.setItem("secretSyncFormData", JSON.stringify(watch())); + if (callback) callback(); + return; + } + onChange(newValue); if (callback) callback(); }} isLoading={isPending} - options={availableConnections} + options={[ + ...(canCreateConnection ? [{ id: "_create", name: "Create Connection" }] : []), + ...(availableConnections ?? []) + ]} placeholder="Select connection..." getOptionLabel={(option) => option.name} getOptionValue={(option) => option.id} + components={{ Option: AppConnectionOption }} /> )} control={control} name="connection" /> - {availableConnections?.length === 0 && ( + {!isPending && !availableConnections?.length && !canCreateConnection && (

    - {canCreateConnection ? ( - <> - You do not have access to any {appName} Connections. Create one from the{" "} - - App Connections - {" "} - page. - - ) : ( - `You do not have access to any ${appName} Connections. Contact an admin to create one.` - )} + You do not have access to any ${appName} Connections. Contact an admin to create one.

    )} + { + // remove form storage, not oauth connection + localStorage.removeItem("secretSyncFormData"); + handlePopUpToggle("addConnection", isOpen); + }} + projectType={currentWorkspace.type} + projectId={currentWorkspace.id} + app={app} + onComplete={(connection) => { + if (connection) { + setValue("connection", connection); + } + }} + /> ); }; diff --git a/frontend/src/context/OrgPermissionContext/types.ts b/frontend/src/context/OrgPermissionContext/types.ts index 4a569be06..60f069c1d 100644 --- a/frontend/src/context/OrgPermissionContext/types.ts +++ b/frontend/src/context/OrgPermissionContext/types.ts @@ -1,4 +1,4 @@ -import { MongoAbility } from "@casl/ability"; +import { ForcedSubject, MongoAbility } from "@casl/ability"; export enum OrgPermissionActions { Read = "read", @@ -126,7 +126,6 @@ export type OrgPermissionSet = | [OrgPermissionAdminConsoleAction, OrgPermissionSubjects.AdminConsole] | [OrgPermissionAuditLogsActions, OrgPermissionSubjects.AuditLogs] | [OrgPermissionActions, OrgPermissionSubjects.ProjectTemplates] - | [OrgPermissionAppConnectionActions, OrgPermissionSubjects.AppConnections] | [OrgPermissionIdentityActions, OrgPermissionSubjects.Identity] | [OrgPermissionKmipActions, OrgPermissionSubjects.Kmip] | [ @@ -134,14 +133,13 @@ export type OrgPermissionSet = OrgPermissionSubjects.MachineIdentityAuthTemplate ] | [OrgGatewayPermissionActions, OrgPermissionSubjects.Gateway] - | [OrgPermissionSecretShareAction, OrgPermissionSubjects.SecretShare]; -// TODO(scott): add back once org UI refactored -// | [ -// OrgPermissionAppConnectionActions, -// ( -// | OrgPermissionSubjects.AppConnections -// | (ForcedSubject & AppConnectionSubjectFields) -// ) -// ]; + | [OrgPermissionSecretShareAction, OrgPermissionSubjects.SecretShare] + | [ + OrgPermissionAppConnectionActions, + ( + | OrgPermissionSubjects.AppConnections + | (ForcedSubject & AppConnectionSubjectFields) + ) + ]; export type TOrgPermission = MongoAbility; diff --git a/frontend/src/context/ProjectPermissionContext/types.ts b/frontend/src/context/ProjectPermissionContext/types.ts index acfab612f..ad6b5bb0a 100644 --- a/frontend/src/context/ProjectPermissionContext/types.ts +++ b/frontend/src/context/ProjectPermissionContext/types.ts @@ -154,6 +154,14 @@ export enum ProjectPermissionAuditLogsActions { Read = "read" } +export enum ProjectPermissionAppConnectionActions { + Read = "read-app-connections", + Create = "create-app-connections", + Edit = "edit-app-connections", + Delete = "delete-app-connections", + Connect = "connect-app-connections" +} + export enum PermissionConditionOperators { $IN = "$in", $ALL = "$all", @@ -173,6 +181,10 @@ export type IdentityManagementSubjectFields = { identityId: string; }; +export type AppConnectionSubjectFields = { + connectionId: string; +}; + export type ConditionalProjectPermissionSubject = | ProjectPermissionSub.SecretSyncs | ProjectPermissionSub.Secrets @@ -184,7 +196,8 @@ export type ConditionalProjectPermissionSubject = | ProjectPermissionSub.SecretFolders | ProjectPermissionSub.SecretImports | ProjectPermissionSub.SecretRotation - | ProjectPermissionSub.SecretEvents; + | ProjectPermissionSub.SecretEvents + | ProjectPermissionSub.AppConnections; export const formatedConditionsOperatorNames: { [K in PermissionConditionOperators]: string } = { [PermissionConditionOperators.$EQ]: "equal to", @@ -263,7 +276,8 @@ export enum ProjectPermissionSub { SecretScanningDataSources = "secret-scanning-data-sources", SecretScanningFindings = "secret-scanning-findings", SecretScanningConfigs = "secret-scanning-configs", - SecretEvents = "secret-events" + SecretEvents = "secret-events", + AppConnections = "app-connections" } export type SecretSubjectFields = { @@ -431,6 +445,13 @@ export type ProjectPermissionSet = | ProjectPermissionSub.SecretEvents | (ForcedSubject & SecretEventSubjectFields) ) + ] + | [ + ProjectPermissionAppConnectionActions, + ( + | ProjectPermissionSub.AppConnections + | (ForcedSubject & AppConnectionSubjectFields) + ) ]; export type TProjectPermission = MongoAbility; diff --git a/frontend/src/helpers/appConnections.ts b/frontend/src/helpers/appConnections.ts index 88d9bb0d1..99103c794 100644 --- a/frontend/src/helpers/appConnections.ts +++ b/frontend/src/helpers/appConnections.ts @@ -8,6 +8,7 @@ import { faServer, faUser } from "@fortawesome/free-solid-svg-icons"; +import { useRouterState } from "@tanstack/react-router"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; import { @@ -221,3 +222,11 @@ export const AWS_REGIONS = [ { name: "AWS GovCloud (US-East)", slug: "us-gov-east-1" }, { name: "AWS GovCloud (US-West)", slug: "us-gov-west-1" } ]; + +export const useGetAppConnectionOauthReturnUrl = () => { + const { + location: { pathname } + } = useRouterState(); + + return pathname; +}; diff --git a/frontend/src/hooks/api/appConnections/mutations.tsx b/frontend/src/hooks/api/appConnections/mutations.tsx index bb8831342..9679df466 100644 --- a/frontend/src/hooks/api/appConnections/mutations.tsx +++ b/frontend/src/hooks/api/appConnections/mutations.tsx @@ -6,6 +6,7 @@ import { TAppConnectionResponse, TCreateAppConnectionDTO, TDeleteAppConnectionDTO, + TMigrateAppConnectionDTO, TUpdateAppConnectionDTO } from "@app/hooks/api/appConnections/types"; @@ -20,7 +21,10 @@ export const useCreateAppConnection = () => { return data.appConnection; }, - onSuccess: () => queryClient.invalidateQueries({ queryKey: appConnectionKeys.list() }) + onSuccess: ({ projectId, app }) => { + queryClient.invalidateQueries({ queryKey: appConnectionKeys.list(projectId) }); + queryClient.invalidateQueries({ queryKey: appConnectionKeys.listAvailable(app, projectId) }); + } }); }; @@ -35,9 +39,10 @@ export const useUpdateAppConnection = () => { return data.appConnection; }, - onSuccess: (_, { connectionId, app }) => { - queryClient.invalidateQueries({ queryKey: appConnectionKeys.list() }); - queryClient.invalidateQueries({ queryKey: appConnectionKeys.byId(app, connectionId) }); + onSuccess: ({ projectId, app }) => { + queryClient.invalidateQueries({ queryKey: appConnectionKeys.list(projectId) }); + queryClient.invalidateQueries({ queryKey: appConnectionKeys.listAvailable(app, projectId) }); + // queryClient.invalidateQueries({ queryKey: appConnectionKeys.byId(app, connectionId) }); } }); }; @@ -50,9 +55,28 @@ export const useDeleteAppConnection = () => { return data; }, - onSuccess: (_, { connectionId, app }) => { - queryClient.invalidateQueries({ queryKey: appConnectionKeys.list() }); - queryClient.invalidateQueries({ queryKey: appConnectionKeys.byId(app, connectionId) }); + onSuccess: ({ projectId, app }) => { + queryClient.invalidateQueries({ queryKey: appConnectionKeys.list(projectId) }); + queryClient.invalidateQueries({ queryKey: appConnectionKeys.listAvailable(app, projectId) }); + // queryClient.invalidateQueries({ queryKey: appConnectionKeys.byId(app, connectionId) }); + } + }); +}; + +export const useMigrateAppConnection = () => { + const queryClient = useQueryClient(); + return useMutation({ + mutationFn: async ({ connectionId, app }: TMigrateAppConnectionDTO) => { + const { data } = await apiRequest.post( + `/api/v1/app-connections/${app}/${connectionId}/migrate` + ); + + return data; + }, + onSuccess: ({ projectId, app }) => { + queryClient.invalidateQueries({ queryKey: appConnectionKeys.list(projectId) }); + queryClient.invalidateQueries({ queryKey: appConnectionKeys.listAvailable(app, projectId) }); + // queryClient.invalidateQueries({ queryKey: appConnectionKeys.byId(app, connectionId) }); } }); }; diff --git a/frontend/src/hooks/api/appConnections/queries.tsx b/frontend/src/hooks/api/appConnections/queries.tsx index dbccade88..48c084a4e 100644 --- a/frontend/src/hooks/api/appConnections/queries.tsx +++ b/frontend/src/hooks/api/appConnections/queries.tsx @@ -5,29 +5,36 @@ import { apiRequest } from "@app/config/request"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; import { TAppConnection, - TAppConnectionMap, TAppConnectionOptions, TAvailableAppConnection, TAvailableAppConnectionsResponse, - TGetAppConnection, TListAppConnections } from "@app/hooks/api/appConnections/types"; import { TAppConnectionOption, TAppConnectionOptionMap } from "@app/hooks/api/appConnections/types/app-options"; +import { ProjectType } from "@app/hooks/api/workspace/types"; export const appConnectionKeys = { all: ["app-connection"] as const, - options: () => [...appConnectionKeys.all, "options"] as const, - list: () => [...appConnectionKeys.all, "list"] as const, - listAvailable: (app: AppConnection) => [...appConnectionKeys.all, app, "list-available"] as const, - listByApp: (app: AppConnection) => [...appConnectionKeys.list(), app], - byId: (app: AppConnection, connectionId: string) => - [...appConnectionKeys.all, app, "by-id", connectionId] as const + options: (projectType?: ProjectType) => + [...appConnectionKeys.all, "options", ...(projectType ? [projectType] : [])] as const, + list: (projectId?: string | null) => + [...appConnectionKeys.all, "list", ...(projectId ? [projectId] : [])] as const, + listAvailable: (app: AppConnection, projectId?: string | null) => + [...appConnectionKeys.all, app, "list-available", ...(projectId ? [projectId] : [])] as const + // scott: may need these in the future but not using now + // getUsage: (app: AppConnection, connectionId: string) => + // [...appConnectionKeys.all, "usage", app, connectionId] as const + // listByApp: (app: AppConnection) => [...appConnectionKeys.list(), app], + // scott: we will need this once we have individual app connection page + // byId: (app: AppConnection, connectionId: string) => + // [...appConnectionKeys.all, app, "by-id", connectionId] as const }; export const useAppConnectionOptions = ( + projectType?: ProjectType, options?: Omit< UseQueryOptions< TAppConnectionOption[], @@ -39,10 +46,11 @@ export const useAppConnectionOptions = ( > ) => { return useQuery({ - queryKey: appConnectionKeys.options(), + queryKey: appConnectionKeys.options(projectType), queryFn: async () => { const { data } = await apiRequest.get( - "/api/v1/app-connections/options" + "/api/v1/app-connections/options", + { params: { projectType } } ); return data.appConnectionOptions; @@ -64,6 +72,7 @@ export const useGetAppConnectionOption = (app: T) => { }; export const useListAppConnections = ( + projectId?: string, options?: Omit< UseQueryOptions< TAppConnection[], @@ -75,10 +84,12 @@ export const useListAppConnections = ( > ) => { return useQuery({ - queryKey: appConnectionKeys.list(), + queryKey: appConnectionKeys.list(projectId), queryFn: async () => { - const { data } = - await apiRequest.get>("/api/v1/app-connections"); + const { data } = await apiRequest.get>( + "/api/v1/app-connections", + { params: { projectId } } + ); return data.appConnections; }, @@ -88,6 +99,7 @@ export const useListAppConnections = ( export const useListAvailableAppConnections = ( app: AppConnection, + projectId: string, options?: Omit< UseQueryOptions< TAvailableAppConnection[], @@ -99,10 +111,11 @@ export const useListAvailableAppConnections = ( > ) => { return useQuery({ - queryKey: appConnectionKeys.listAvailable(app), + queryKey: appConnectionKeys.listAvailable(app, projectId), queryFn: async () => { const { data } = await apiRequest.get( - `/api/v1/app-connections/${app}/available` + `/api/v1/app-connections/${app}/available`, + { params: { projectId } } ); return data.appConnections; @@ -111,53 +124,82 @@ export const useListAvailableAppConnections = ( }); }; -export const useListAppConnectionsByApp = ( - app: T, - options?: Omit< - UseQueryOptions< - TAppConnectionMap[T][], - unknown, - TAppConnectionMap[T][], - ReturnType - >, - "queryKey" | "queryFn" - > -) => { - return useQuery({ - queryKey: appConnectionKeys.listByApp(app), - queryFn: async () => { - const { data } = await apiRequest.get>( - `/api/v1/app-connections/${app}` - ); +// scott: may need these in the future but not using now +// export const useGetAppConnectionUsageById = ( +// app: AppConnection, +// connectionId: string, +// options?: Omit< +// UseQueryOptions< +// AppConnectionUsage, +// unknown, +// AppConnectionUsage, +// ReturnType +// >, +// "queryKey" | "queryFn" +// > +// ) => { +// return useQuery({ +// queryKey: appConnectionKeys.getUsage(app, connectionId), +// queryFn: async () => { +// const { data } = await apiRequest.get( +// `/api/v1/app-connections/${app}/${connectionId}/usage` +// ); +// +// return data; +// }, +// ...options +// }); +// }; - return data.appConnections; - }, - ...options - }); -}; +// scott: may need these in the future but not using now +// export const useListAppConnectionsByApp = ( +// app: T, +// options?: Omit< +// UseQueryOptions< +// TAppConnectionMap[T][], +// unknown, +// TAppConnectionMap[T][], +// ReturnType +// >, +// "queryKey" | "queryFn" +// > +// ) => { +// return useQuery({ +// queryKey: appConnectionKeys.listByApp(app), +// queryFn: async () => { +// const { data } = await apiRequest.get>( +// `/api/v1/app-connections/${app}` +// ); +// +// return data.appConnections; +// }, +// ...options +// }); +// }; -export const useGetAppConnectionById = ( - app: T, - connectionId: string, - options?: Omit< - UseQueryOptions< - TAppConnectionMap[T], - unknown, - TAppConnectionMap[T], - ReturnType - >, - "queryKey" | "queryFn" - > -) => { - return useQuery({ - queryKey: appConnectionKeys.byId(app, connectionId), - queryFn: async () => { - const { data } = await apiRequest.get>( - `/api/v1/app-connections/${app}/${connectionId}` - ); - - return data.appConnection; - }, - ...options - }); -}; +// scott: we will need this once we have individual app connection page +// export const useGetAppConnectionById = ( +// app: T, +// connectionId: string, +// options?: Omit< +// UseQueryOptions< +// TAppConnectionMap[T], +// unknown, +// TAppConnectionMap[T], +// ReturnType +// >, +// "queryKey" | "queryFn" +// > +// ) => { +// return useQuery({ +// queryKey: appConnectionKeys.byId(app, connectionId), +// queryFn: async () => { +// const { data } = await apiRequest.get>( +// `/api/v1/app-connections/${app}/${connectionId}` +// ); +// +// return data.appConnection; +// }, +// ...options +// }); +// }; diff --git a/frontend/src/hooks/api/appConnections/types/index.ts b/frontend/src/hooks/api/appConnections/types/index.ts index e63979a8e..3a5147b92 100644 --- a/frontend/src/hooks/api/appConnections/types/index.ts +++ b/frontend/src/hooks/api/appConnections/types/index.ts @@ -1,3 +1,5 @@ +import { ProjectType } from "@app/hooks/api/workspace/types"; + import { AppConnection } from "../enums"; import { TOnePassConnection } from "./1password-connection"; import { TAppConnectionOption } from "./app-options"; @@ -116,10 +118,11 @@ export type TAppConnection = | TNetlifyConnection | TOktaConnection; -export type TAvailableAppConnection = Pick; +export type TAvailableAppConnection = Pick; export type TListAppConnections = { appConnections: T[] }; -export type TGetAppConnection = { appConnection: T }; +// scott: we will need this once we have individual app connection page +// export type TGetAppConnection = { appConnection: T }; export type TAppConnectionOptions = { appConnectionOptions: TAppConnectionOption[] }; export type TAppConnectionResponse = { appConnection: TAppConnection }; export type TAvailableAppConnectionsResponse = { appConnections: TAvailableAppConnection[] }; @@ -133,6 +136,7 @@ export type TCreateAppConnectionDTO = Pick< | "description" | "isPlatformManagedCredentials" | "gatewayId" + | "projectId" >; export type TUpdateAppConnectionDTO = Partial< @@ -150,43 +154,64 @@ export type TDeleteAppConnectionDTO = { connectionId: string; }; -export type TAppConnectionMap = { - [AppConnection.AWS]: TAwsConnection; - [AppConnection.GitHub]: TGitHubConnection; - [AppConnection.GitHubRadar]: TGitHubRadarConnection; - [AppConnection.GCP]: TGcpConnection; - [AppConnection.AzureKeyVault]: TAzureKeyVaultConnection; - [AppConnection.AzureAppConfiguration]: TAzureAppConfigurationConnection; - [AppConnection.AzureClientSecrets]: TAzureClientSecretsConnection; - [AppConnection.AzureDevOps]: TAzureDevOpsConnection; - [AppConnection.AzureADCS]: TAzureADCSConnection; - [AppConnection.Databricks]: TDatabricksConnection; - [AppConnection.Humanitec]: THumanitecConnection; - [AppConnection.TerraformCloud]: TTerraformCloudConnection; - [AppConnection.Vercel]: TVercelConnection; - [AppConnection.Postgres]: TPostgresConnection; - [AppConnection.MsSql]: TMsSqlConnection; - [AppConnection.MySql]: TMySqlConnection; - [AppConnection.OracleDB]: TOracleDBConnection; - [AppConnection.Camunda]: TCamundaConnection; - [AppConnection.Windmill]: TWindmillConnection; - [AppConnection.Auth0]: TAuth0Connection; - [AppConnection.HCVault]: THCVaultConnection; - [AppConnection.LDAP]: TLdapConnection; - [AppConnection.TeamCity]: TTeamCityConnection; - [AppConnection.OCI]: TOCIConnection; - [AppConnection.OnePass]: TOnePassConnection; - [AppConnection.Heroku]: THerokuConnection; - [AppConnection.Render]: TRenderConnection; - [AppConnection.Flyio]: TFlyioConnection; - [AppConnection.GitLab]: TGitLabConnection; - [AppConnection.Cloudflare]: TCloudflareConnection; - [AppConnection.Bitbucket]: TBitbucketConnection; - [AppConnection.Zabbix]: TZabbixConnection; - [AppConnection.Railway]: TRailwayConnection; - [AppConnection.Checkly]: TChecklyConnection; - [AppConnection.Supabase]: TSupabaseConnection; - [AppConnection.DigitalOcean]: TDigitalOceanConnection; - [AppConnection.Netlify]: TNetlifyConnection; - [AppConnection.Okta]: TOktaConnection; +// scott: we will need this once we have individual app connection page +// export type TAppConnectionMap = { +// [AppConnection.AWS]: TAwsConnection; +// [AppConnection.GitHub]: TGitHubConnection; +// [AppConnection.GitHubRadar]: TGitHubRadarConnection; +// [AppConnection.GCP]: TGcpConnection; +// [AppConnection.AzureKeyVault]: TAzureKeyVaultConnection; +// [AppConnection.AzureAppConfiguration]: TAzureAppConfigurationConnection; +// [AppConnection.AzureClientSecrets]: TAzureClientSecretsConnection; +// [AppConnection.AzureDevOps]: TAzureDevOpsConnection; +// [AppConnection.AzureADCS]: TAzureADCSConnection; +// [AppConnection.Databricks]: TDatabricksConnection; +// [AppConnection.Humanitec]: THumanitecConnection; +// [AppConnection.TerraformCloud]: TTerraformCloudConnection; +// [AppConnection.Vercel]: TVercelConnection; +// [AppConnection.Postgres]: TPostgresConnection; +// [AppConnection.MsSql]: TMsSqlConnection; +// [AppConnection.MySql]: TMySqlConnection; +// [AppConnection.OracleDB]: TOracleDBConnection; +// [AppConnection.Camunda]: TCamundaConnection; +// [AppConnection.Windmill]: TWindmillConnection; +// [AppConnection.Auth0]: TAuth0Connection; +// [AppConnection.HCVault]: THCVaultConnection; +// [AppConnection.LDAP]: TLdapConnection; +// [AppConnection.TeamCity]: TTeamCityConnection; +// [AppConnection.OCI]: TOCIConnection; +// [AppConnection.OnePass]: TOnePassConnection; +// [AppConnection.Heroku]: THerokuConnection; +// [AppConnection.Render]: TRenderConnection; +// [AppConnection.Flyio]: TFlyioConnection; +// [AppConnection.GitLab]: TGitLabConnection; +// [AppConnection.Cloudflare]: TCloudflareConnection; +// [AppConnection.Bitbucket]: TBitbucketConnection; +// [AppConnection.Zabbix]: TZabbixConnection; +// [AppConnection.Railway]: TRailwayConnection; +// [AppConnection.Checkly]: TChecklyConnection; +// [AppConnection.Supabase]: TSupabaseConnection; +// [AppConnection.DigitalOcean]: TDigitalOceanConnection; +// [AppConnection.Netlify]: TNetlifyConnection; +// [AppConnection.Okta]: TOktaConnection; +// }; + +export type TMigrateAppConnectionDTO = { + app: AppConnection; + connectionId: string; +}; + +export type AppConnectionUsage = { + projects: Array<{ + id: string; + name: string; + slug: string; + type: ProjectType; + resources: { + secretSyncs: Array<{ id: string; name: string }>; + externalCas: Array<{ id: string; name: string }>; + secretRotations: Array<{ id: string; name: string }>; + dataSources: Array<{ id: string; name: string }>; + }; + }>; }; diff --git a/frontend/src/hooks/api/appConnections/types/root-connection.ts b/frontend/src/hooks/api/appConnections/types/root-connection.ts index 5b8f5cd02..3a90ca12b 100644 --- a/frontend/src/hooks/api/appConnections/types/root-connection.ts +++ b/frontend/src/hooks/api/appConnections/types/root-connection.ts @@ -1,3 +1,5 @@ +import { ProjectType } from "@app/hooks/api/workspace/types"; + export type TRootAppConnection = { id: string; name: string; @@ -8,4 +10,11 @@ export type TRootAppConnection = { updatedAt: string; isPlatformManagedCredentials?: boolean; gatewayId?: string | null; + projectId?: string | null; + project?: { + name: string; + type: ProjectType; + slug: string; + id: string; + } | null; }; diff --git a/frontend/src/hooks/api/auditLogs/constants.tsx b/frontend/src/hooks/api/auditLogs/constants.tsx index 186a8e539..1166da805 100644 --- a/frontend/src/hooks/api/auditLogs/constants.tsx +++ b/frontend/src/hooks/api/auditLogs/constants.tsx @@ -132,6 +132,8 @@ export const eventToNameMap: { [K in EventType]: string } = { [EventType.CREATE_APP_CONNECTION]: "Create App Connection", [EventType.UPDATE_APP_CONNECTION]: "Update App Connection", [EventType.DELETE_APP_CONNECTION]: "Delete App Connection", + [EventType.GET_APP_CONNECTION_USAGE]: "Get App Connection Usage", + [EventType.MIGRATE_APP_CONNECTION]: "Migrate App Connection", [EventType.GET_SECRET_SYNCS]: "List secret syncs", [EventType.GET_SECRET_SYNC]: "Get Secret Sync", [EventType.CREATE_SECRET_SYNC]: "Create Secret Sync", diff --git a/frontend/src/hooks/api/auditLogs/enums.tsx b/frontend/src/hooks/api/auditLogs/enums.tsx index 4fe8948dd..3ea573bdb 100644 --- a/frontend/src/hooks/api/auditLogs/enums.tsx +++ b/frontend/src/hooks/api/auditLogs/enums.tsx @@ -140,6 +140,8 @@ export enum EventType { CREATE_APP_CONNECTION = "create-app-connection", UPDATE_APP_CONNECTION = "update-app-connection", DELETE_APP_CONNECTION = "delete-app-connection", + GET_APP_CONNECTION_USAGE = "get-app-connection-usage", + MIGRATE_APP_CONNECTION = "migrate-app-connection", GET_SECRET_SYNCS = "get-secret-syncs", GET_SECRET_SYNC = "get-secret-sync", CREATE_SECRET_SYNC = "create-secret-sync", diff --git a/frontend/src/layouts/PkiManagerLayout/PkiManagerLayout.tsx b/frontend/src/layouts/PkiManagerLayout/PkiManagerLayout.tsx index da9b5acdf..4e17e4b17 100644 --- a/frontend/src/layouts/PkiManagerLayout/PkiManagerLayout.tsx +++ b/frontend/src/layouts/PkiManagerLayout/PkiManagerLayout.tsx @@ -7,6 +7,7 @@ import { faFileLines, faHome, faMobile, + faPlug, faSitemap, faStamp, faUsers @@ -130,6 +131,23 @@ export const PkiManagerLayout = () => { )} + + {({ isActive }) => ( + +
    +
    + +
    + App Connections +
    +
    + )} + { )} + + {({ isActive }) => ( + +
    +
    + +
    + App Connections +
    +
    + )} +
    { )} + + {({ isActive }) => ( + +
    +
    + +
    + App Connections +
    +
    + )} +
    { }, [popUp?.ca?.isOpen, popUp?.ca?.data, reset, ca]); const { data: availableRoute53Connections, isPending: isRoute53Pending } = - useListAvailableAppConnections(AppConnection.AWS, { + useListAvailableAppConnections(AppConnection.AWS, currentWorkspace.id, { enabled: caType === CaType.ACME }); const { data: availableCloudflareConnections, isPending: isCloudflarePending } = - useListAvailableAppConnections(AppConnection.Cloudflare, { + useListAvailableAppConnections(AppConnection.Cloudflare, currentWorkspace.id, { enabled: caType === CaType.ACME }); const { data: availableAzureConnections, isPending: isAzurePending } = - useListAvailableAppConnections(AppConnection.AzureADCS, { + useListAvailableAppConnections(AppConnection.AzureADCS, currentWorkspace.id, { enabled: caType === CaType.AZURE_AD_CS }); @@ -457,6 +458,7 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { placeholder="Select connection..." getOptionLabel={(option) => option.name} getOptionValue={(option) => option.id} + components={{ Option: AppConnectionOption }} /> )} diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/AppConnectionsPage.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/AppConnectionsPage.tsx index ff3f31c9e..80aefe3f2 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/AppConnectionsPage.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/AppConnectionsPage.tsx @@ -1,24 +1,17 @@ import { Helmet } from "react-helmet"; -import { faArrowUpRightFromSquare, faBookOpen, faPlus } from "@fortawesome/free-solid-svg-icons"; +import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { OrgPermissionCan } from "@app/components/permissions"; -import { Button, PageHeader } from "@app/components/v2"; +import { PageHeader } from "@app/components/v2"; import { OrgPermissionAppConnectionActions, OrgPermissionSubjects } from "@app/context/OrgPermissionContext/types"; import { withPermission } from "@app/hoc"; -import { usePopUp } from "@app/hooks"; -import { - AddAppConnectionModal, - AppConnectionsTable -} from "@app/pages/organization/AppConnections/AppConnectionsPage/components"; +import { AppConnectionsTable } from "@app/pages/organization/AppConnections/AppConnectionsPage/components"; export const AppConnectionsPage = withPermission( () => { - const { popUp, handlePopUpOpen, handlePopUpToggle } = usePopUp(["addConnection"] as const); - return (
    diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AddAppConnectionModal.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AddAppConnectionModal.tsx index c74985a3f..b88b283da 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AddAppConnectionModal.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AddAppConnectionModal.tsx @@ -3,6 +3,7 @@ import { useState } from "react"; import { Modal, ModalContent } from "@app/components/v2"; import { TAppConnection } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; +import { ProjectType } from "@app/hooks/api/workspace/types"; import { AppConnectionForm } from "./AppConnectionForm"; import { AppConnectionsSelect } from "./AppConnectionList"; @@ -10,29 +11,44 @@ import { AppConnectionsSelect } from "./AppConnectionList"; type Props = { isOpen: boolean; onOpenChange: (isOpen: boolean) => void; + projectId?: string; + projectType?: ProjectType; + app?: AppConnection; + onComplete?: (appConnection: TAppConnection) => void; }; type ContentProps = { onComplete: (appConnection: TAppConnection) => void; + projectId?: string; + projectType?: ProjectType; + app?: AppConnection; }; -const Content = ({ onComplete }: ContentProps) => { +const Content = ({ onComplete, projectId, projectType, app }: ContentProps) => { const [selectedApp, setSelectedApp] = useState(null); - if (selectedApp) { + if (app ?? selectedApp) { return ( setSelectedApp(null)} - app={selectedApp} + app={(app ?? selectedApp)!} + projectId={projectId} /> ); } - return ; + return ; }; -export const AddAppConnectionModal = ({ isOpen, onOpenChange }: Props) => { +export const AddAppConnectionModal = ({ + isOpen, + onOpenChange, + projectId, + projectType, + app, + onComplete +}: Props) => { return ( { title="Add Connection" subTitle="Select a third-party app to connect to." > - onOpenChange(false)} /> + { + if (onComplete) onComplete(appConnection); + onOpenChange(false); + }} + /> ); diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AppConnectionForm.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AppConnectionForm.tsx index f1826e5ae..f82e4107d 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AppConnectionForm.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AppConnectionForm.tsx @@ -52,12 +52,15 @@ type FormProps = { onComplete: (appConnection: TAppConnection) => void; } & ({ appConnection: TAppConnection } | { app: AppConnection }); -type CreateFormProps = FormProps & { app: AppConnection }; +type CreateFormProps = FormProps & { + app: AppConnection; + projectId?: string; +}; type UpdateFormProps = FormProps & { appConnection: TAppConnection; }; -const CreateForm = ({ app, onComplete }: CreateFormProps) => { +const CreateForm = ({ app, onComplete, projectId }: CreateFormProps) => { const createAppConnection = useCreateAppConnection(); const { name: appName } = APP_CONNECTION_MAP[app]; @@ -68,7 +71,10 @@ const CreateForm = ({ app, onComplete }: CreateFormProps) => { > ) => { try { - const connection = await createAppConnection.mutateAsync(formData); + const connection = await createAppConnection.mutateAsync({ + ...formData, + projectId + }); createNotification({ text: `Successfully added ${appName} Connection`, type: "success" @@ -88,15 +94,15 @@ const CreateForm = ({ app, onComplete }: CreateFormProps) => { case AppConnection.AWS: return ; case AppConnection.GitHub: - return ; + return ; case AppConnection.GitHubRadar: - return ; + return ; case AppConnection.GCP: return ; case AppConnection.AzureKeyVault: - return ; + return ; case AppConnection.AzureAppConfiguration: - return ; + return ; case AppConnection.AzureADCS: return ; case AppConnection.Databricks: @@ -118,9 +124,9 @@ const CreateForm = ({ app, onComplete }: CreateFormProps) => { case AppConnection.Camunda: return ; case AppConnection.AzureClientSecrets: - return ; + return ; case AppConnection.AzureDevOps: - return ; + return ; case AppConnection.Windmill: return ; case AppConnection.Auth0: @@ -142,7 +148,7 @@ const CreateForm = ({ app, onComplete }: CreateFormProps) => { case AppConnection.Flyio: return ; case AppConnection.GitLab: - return ; + return ; case AppConnection.Cloudflare: return ; case AppConnection.Bitbucket: @@ -200,16 +206,33 @@ const UpdateForm = ({ appConnection, onComplete }: UpdateFormProps) => { case AppConnection.AWS: return ; case AppConnection.GitHub: - return ; + return ( + + ); case AppConnection.GitHubRadar: - return ; + return ( + + ); case AppConnection.GCP: return ; case AppConnection.AzureKeyVault: - return ; + return ( + + ); case AppConnection.AzureAppConfiguration: return ( - + ); case AppConnection.AzureADCS: return ; @@ -232,9 +255,21 @@ const UpdateForm = ({ appConnection, onComplete }: UpdateFormProps) => { case AppConnection.Camunda: return ; case AppConnection.AzureClientSecrets: - return ; + return ( + + ); case AppConnection.AzureDevOps: - return ; + return ( + + ); case AppConnection.Windmill: return ; case AppConnection.Auth0: @@ -256,7 +291,13 @@ const UpdateForm = ({ appConnection, onComplete }: UpdateFormProps) => { case AppConnection.Flyio: return ; case AppConnection.GitLab: - return ; + return ( + + ); case AppConnection.Cloudflare: return ; case AppConnection.Bitbucket: @@ -278,12 +319,12 @@ const UpdateForm = ({ appConnection, onComplete }: UpdateFormProps) => { } }; -type Props = { onBack?: () => void } & Pick & +type Props = { onBack?: () => void; projectId?: string } & Pick & ( | { app: AppConnection; appConnection?: undefined } | { app?: undefined; appConnection: TAppConnection } ); -export const AppConnectionForm = ({ onBack, ...props }: Props) => { +export const AppConnectionForm = ({ onBack, projectId, ...props }: Props) => { const { app, appConnection } = props; return ( @@ -296,7 +337,7 @@ export const AppConnectionForm = ({ onBack, ...props }: Props) => { {appConnection ? ( ) : ( - + )} ); diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureAppConfigurationConnectionForm.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureAppConfigurationConnectionForm.tsx index 433abf076..3772478f0 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureAppConfigurationConnectionForm.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureAppConfigurationConnectionForm.tsx @@ -6,7 +6,11 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; import { Button, FormControl, Input, ModalClose, Select, SelectItem } from "@app/components/v2"; -import { APP_CONNECTION_MAP, getAppConnectionMethodDetails } from "@app/helpers/appConnections"; +import { + APP_CONNECTION_MAP, + getAppConnectionMethodDetails, + useGetAppConnectionOauthReturnUrl +} from "@app/helpers/appConnections"; import { isInfisicalCloud } from "@app/helpers/platform"; import { AzureAppConfigurationConnectionMethod, @@ -15,6 +19,7 @@ import { } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; +import { AzureAppConfigurationFormData } from "../../../OauthCallbackPage/OauthCallbackPage.types"; import { genericAppConnectionFieldsSchema, GenericAppConnectionsFields @@ -25,6 +30,7 @@ type ClientSecretForm = z.infer; type Props = { appConnection?: TAzureAppConfigurationConnection; onSubmit: (formData: ClientSecretForm) => Promise; + projectId: string | undefined | null; }; const baseSchema = genericAppConnectionFieldsSchema.extend({ @@ -96,7 +102,11 @@ const getDefaultValues = (appConnection?: TAzureAppConfigurationConnection): Par return base; }; -export const AzureAppConfigurationConnectionForm = ({ appConnection, onSubmit }: Props) => { +export const AzureAppConfigurationConnectionForm = ({ + appConnection, + onSubmit, + projectId +}: Props) => { const isUpdate = Boolean(appConnection); const [isRedirecting, setIsRedirecting] = useState(false); @@ -110,6 +120,8 @@ export const AzureAppConfigurationConnectionForm = ({ appConnection, onSubmit }: defaultValues: getDefaultValues(appConnection) }); + const returnUrl = useGetAppConnectionOauthReturnUrl(); + const { handleSubmit, control, @@ -128,7 +140,12 @@ export const AzureAppConfigurationConnectionForm = ({ appConnection, onSubmit }: localStorage.setItem("latestCSRFToken", state); localStorage.setItem( "azureAppConfigurationConnectionFormData", - JSON.stringify({ ...formData, connectionId: appConnection?.id }) + JSON.stringify({ + ...formData, + connectionId: appConnection?.id, + projectId, + returnUrl + } as AzureAppConfigurationFormData) ); window.location.assign( `https://login.microsoftonline.com/${formData.tenantId || "common"}/oauth2/v2.0/authorize?client_id=${oauthClientId}&response_type=code&redirect_uri=${window.location.origin}/organization/app-connections/azure/oauth/callback&response_mode=query&scope=https://azconfig.io/.default%20openid%20offline_access&state=${state}<:>azure-app-configuration` diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureClientSecretsConnectionForm.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureClientSecretsConnectionForm.tsx index 6f70f789e..dcfdbaa08 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureClientSecretsConnectionForm.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureClientSecretsConnectionForm.tsx @@ -7,7 +7,11 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; import { Button, FormControl, Input, ModalClose, Select, SelectItem } from "@app/components/v2"; -import { APP_CONNECTION_MAP, getAppConnectionMethodDetails } from "@app/helpers/appConnections"; +import { + APP_CONNECTION_MAP, + getAppConnectionMethodDetails, + useGetAppConnectionOauthReturnUrl +} from "@app/helpers/appConnections"; import { isInfisicalCloud } from "@app/helpers/platform"; import { AzureClientSecretsConnectionMethod, @@ -16,6 +20,7 @@ import { } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; +import { AzureClientSecretsFormData } from "../../../OauthCallbackPage/OauthCallbackPage.types"; import { genericAppConnectionFieldsSchema, GenericAppConnectionsFields @@ -26,6 +31,7 @@ type ClientSecretForm = z.infer; type Props = { appConnection?: TAzureClientSecretsConnection; onSubmit: (formData: ClientSecretForm) => Promise; + projectId: string | undefined | null; }; const baseSchema = genericAppConnectionFieldsSchema.extend({ @@ -97,7 +103,7 @@ const getDefaultValues = (appConnection?: TAzureClientSecretsConnection): Partia return base; }; -export const AzureClientSecretsConnectionForm = ({ appConnection, onSubmit }: Props) => { +export const AzureClientSecretsConnectionForm = ({ appConnection, onSubmit, projectId }: Props) => { const isUpdate = Boolean(appConnection); const [isRedirecting, setIsRedirecting] = useState(false); @@ -111,6 +117,8 @@ export const AzureClientSecretsConnectionForm = ({ appConnection, onSubmit }: Pr defaultValues: getDefaultValues(appConnection) }); + const returnUrl = useGetAppConnectionOauthReturnUrl(); + const { handleSubmit, control, @@ -129,7 +137,12 @@ export const AzureClientSecretsConnectionForm = ({ appConnection, onSubmit }: Pr localStorage.setItem("latestCSRFToken", state); localStorage.setItem( "azureClientSecretsConnectionFormData", - JSON.stringify({ ...formData, connectionId: appConnection?.id }) + JSON.stringify({ + ...formData, + connectionId: appConnection?.id, + projectId, + returnUrl + } as AzureClientSecretsFormData) ); window.location.assign( `https://login.microsoftonline.com/${formData.tenantId || "common"}/oauth2/v2.0/authorize?client_id=${oauthClientId}&response_type=code&redirect_uri=${window.location.origin}/organization/app-connections/azure/oauth/callback&response_mode=query&scope=https://graph.microsoft.com/.default%20openid%20offline_access&state=${state}<:>azure-client-secrets` diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureDevOpsConnectionForm.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureDevOpsConnectionForm.tsx index c4511a0da..7d2a4ce7d 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureDevOpsConnectionForm.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureDevOpsConnectionForm.tsx @@ -7,7 +7,11 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; import { Button, FormControl, Input, ModalClose, Select, SelectItem } from "@app/components/v2"; -import { APP_CONNECTION_MAP, getAppConnectionMethodDetails } from "@app/helpers/appConnections"; +import { + APP_CONNECTION_MAP, + getAppConnectionMethodDetails, + useGetAppConnectionOauthReturnUrl +} from "@app/helpers/appConnections"; import { isInfisicalCloud } from "@app/helpers/platform"; import { AzureDevOpsConnectionMethod, @@ -16,6 +20,7 @@ import { } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; +import { AzureDevOpsFormData } from "../../../OauthCallbackPage/OauthCallbackPage.types"; import { genericAppConnectionFieldsSchema, GenericAppConnectionsFields @@ -65,6 +70,7 @@ type OnSubmitForm = z.infer | z.infer Promise; + projectId: string | undefined | null; }; const getDefaultValues = (appConnection?: TAzureDevOpsConnection): Partial => { @@ -132,7 +138,7 @@ const getDefaultValues = (appConnection?: TAzureDevOpsConnection): Partial { +export const AzureDevOpsConnectionForm = ({ appConnection, onSubmit, projectId }: Props) => { const isUpdate = Boolean(appConnection); const [isRedirecting, setIsRedirecting] = useState(false); @@ -146,6 +152,8 @@ export const AzureDevOpsConnectionForm = ({ appConnection, onSubmit }: Props) => defaultValues: getDefaultValues(appConnection) }); + const returnUrl = useGetAppConnectionOauthReturnUrl(); + const { handleSubmit, control, @@ -164,7 +172,12 @@ export const AzureDevOpsConnectionForm = ({ appConnection, onSubmit }: Props) => localStorage.setItem("latestCSRFToken", state); localStorage.setItem( "azureDevOpsConnectionFormData", - JSON.stringify({ ...formData, connectionId: appConnection?.id }) + JSON.stringify({ + ...formData, + connectionId: appConnection?.id, + projectId, + returnUrl + } as AzureDevOpsFormData) ); window.location.assign( diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureKeyVaultConnectionForm.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureKeyVaultConnectionForm.tsx index ed99fda01..8c0f00acf 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureKeyVaultConnectionForm.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/AzureKeyVaultConnectionForm.tsx @@ -6,7 +6,11 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; import { Button, FormControl, Input, ModalClose, Select, SelectItem } from "@app/components/v2"; -import { APP_CONNECTION_MAP, getAppConnectionMethodDetails } from "@app/helpers/appConnections"; +import { + APP_CONNECTION_MAP, + getAppConnectionMethodDetails, + useGetAppConnectionOauthReturnUrl +} from "@app/helpers/appConnections"; import { isInfisicalCloud } from "@app/helpers/platform"; import { useGetAppConnectionOption } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; @@ -15,6 +19,7 @@ import { TAzureKeyVaultConnection } from "@app/hooks/api/appConnections/types/azure-key-vault-connection"; +import { AzureKeyVaultFormData } from "../../../OauthCallbackPage/OauthCallbackPage.types"; import { genericAppConnectionFieldsSchema, GenericAppConnectionsFields @@ -25,6 +30,7 @@ type ClientSecretForm = z.infer; type Props = { appConnection?: TAzureKeyVaultConnection; onSubmit: (formData: ClientSecretForm) => Promise; + projectId: string | undefined | null; }; const baseSchema = genericAppConnectionFieldsSchema.extend({ @@ -96,7 +102,7 @@ const getDefaultValues = (appConnection?: TAzureKeyVaultConnection): Partial { +export const AzureKeyVaultConnectionForm = ({ appConnection, onSubmit, projectId }: Props) => { const isUpdate = Boolean(appConnection); const [isRedirecting, setIsRedirecting] = useState(false); @@ -110,6 +116,8 @@ export const AzureKeyVaultConnectionForm = ({ appConnection, onSubmit }: Props) defaultValues: getDefaultValues(appConnection) }); + const returnUrl = useGetAppConnectionOauthReturnUrl(); + const { handleSubmit, control, @@ -129,7 +137,12 @@ export const AzureKeyVaultConnectionForm = ({ appConnection, onSubmit }: Props) localStorage.setItem("latestCSRFToken", state); localStorage.setItem( "azureKeyVaultConnectionFormData", - JSON.stringify({ ...formData, connectionId: appConnection?.id }) + JSON.stringify({ + ...formData, + connectionId: appConnection?.id, + projectId, + returnUrl + } as AzureKeyVaultFormData) ); window.location.assign( `https://login.microsoftonline.com/${formData.tenantId || "common"}/oauth2/v2.0/authorize?client_id=${oauthClientId}&response_type=code&redirect_uri=${window.location.origin}/organization/app-connections/azure/oauth/callback&response_mode=query&scope=https://vault.azure.net/.default%20openid%20offline_access&state=${state}<:>azure-key-vault` diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/GitHubConnectionForm.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/GitHubConnectionForm.tsx index 5c9a5bcd3..c69f662c6 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/GitHubConnectionForm.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/GitHubConnectionForm.tsx @@ -25,7 +25,11 @@ import { OrgGatewayPermissionActions, OrgPermissionSubjects } from "@app/context/OrgPermissionContext/types"; -import { APP_CONNECTION_MAP, getAppConnectionMethodDetails } from "@app/helpers/appConnections"; +import { + APP_CONNECTION_MAP, + getAppConnectionMethodDetails, + useGetAppConnectionOauthReturnUrl +} from "@app/helpers/appConnections"; import { isInfisicalCloud } from "@app/helpers/platform"; import { gatewaysQueryKeys } from "@app/hooks/api"; import { @@ -35,6 +39,7 @@ import { } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; +import { GithubFormData } from "../../../OauthCallbackPage/OauthCallbackPage.types"; import { genericAppConnectionFieldsSchema, GenericAppConnectionsFields @@ -42,6 +47,7 @@ import { type Props = { appConnection?: TGitHubConnection; + projectId: string | undefined | null; }; const formSchema = genericAppConnectionFieldsSchema.extend({ @@ -63,7 +69,7 @@ const formSchema = genericAppConnectionFieldsSchema.extend({ type FormData = z.infer; -export const GitHubConnectionForm = ({ appConnection }: Props) => { +export const GitHubConnectionForm = ({ appConnection, projectId }: Props) => { const isUpdate = Boolean(appConnection); const [isRedirecting, setIsRedirecting] = useState(false); @@ -98,13 +104,21 @@ export const GitHubConnectionForm = ({ appConnection }: Props) => { const selectedMethod = watch("method"); const instanceType = watch("credentials.instanceType"); + const returnUrl = useGetAppConnectionOauthReturnUrl(); + const onSubmit = (formData: FormData) => { setIsRedirecting(true); const state = crypto.randomBytes(16).toString("hex"); localStorage.setItem("latestCSRFToken", state); localStorage.setItem( "githubConnectionFormData", - JSON.stringify({ ...formData, connectionId: appConnection?.id }) + JSON.stringify({ + ...formData, + credentials: formData.credentials as TGitHubConnection["credentials"], + connectionId: appConnection?.id, + projectId, + returnUrl + } as GithubFormData) ); const githubHost = diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/GitHubRadarConnectionForm.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/GitHubRadarConnectionForm.tsx index f9c39a502..446eeb4cc 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/GitHubRadarConnectionForm.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/GitHubRadarConnectionForm.tsx @@ -6,7 +6,11 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; import { Button, FormControl, ModalClose, Select, SelectItem } from "@app/components/v2"; -import { APP_CONNECTION_MAP, getAppConnectionMethodDetails } from "@app/helpers/appConnections"; +import { + APP_CONNECTION_MAP, + getAppConnectionMethodDetails, + useGetAppConnectionOauthReturnUrl +} from "@app/helpers/appConnections"; import { isInfisicalCloud } from "@app/helpers/platform"; import { GitHubRadarConnectionMethod, @@ -15,6 +19,7 @@ import { } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; +import { GithubRadarFormData } from "../../../OauthCallbackPage/OauthCallbackPage.types"; import { genericAppConnectionFieldsSchema, GenericAppConnectionsFields @@ -22,6 +27,7 @@ import { type Props = { appConnection?: TGitHubRadarConnection; + projectId: string | undefined | null; }; const formSchema = genericAppConnectionFieldsSchema.extend({ @@ -31,7 +37,7 @@ const formSchema = genericAppConnectionFieldsSchema.extend({ type FormData = z.infer; -export const GitHubRadarConnectionForm = ({ appConnection }: Props) => { +export const GitHubRadarConnectionForm = ({ appConnection, projectId }: Props) => { const isUpdate = Boolean(appConnection); const [isRedirecting, setIsRedirecting] = useState(false); @@ -48,6 +54,8 @@ export const GitHubRadarConnectionForm = ({ appConnection }: Props) => { } }); + const returnUrl = useGetAppConnectionOauthReturnUrl(); + const { handleSubmit, control, @@ -63,7 +71,12 @@ export const GitHubRadarConnectionForm = ({ appConnection }: Props) => { localStorage.setItem("latestCSRFToken", state); localStorage.setItem( "githubRadarConnectionFormData", - JSON.stringify({ ...formData, connectionId: appConnection?.id }) + JSON.stringify({ + ...formData, + connectionId: appConnection?.id, + projectId, + returnUrl + } as GithubRadarFormData) ); switch (formData.method) { diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/GitLabConnectionForm.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/GitLabConnectionForm.tsx index 8cbc2c54c..ed4e022c4 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/GitLabConnectionForm.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionForm/GitLabConnectionForm.tsx @@ -16,7 +16,11 @@ import { Select, SelectItem } from "@app/components/v2"; -import { APP_CONNECTION_MAP, getAppConnectionMethodDetails } from "@app/helpers/appConnections"; +import { + APP_CONNECTION_MAP, + getAppConnectionMethodDetails, + useGetAppConnectionOauthReturnUrl +} from "@app/helpers/appConnections"; import { isInfisicalCloud } from "@app/helpers/platform"; import { useGetAppConnectionOption } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; @@ -26,6 +30,7 @@ import { TGitLabConnection } from "@app/hooks/api/appConnections/types/gitlab-connection"; +import { GitLabFormData } from "../../../OauthCallbackPage/OauthCallbackPage.types"; import { genericAppConnectionFieldsSchema, GenericAppConnectionsFields @@ -34,6 +39,7 @@ import { type Props = { appConnection?: TGitLabConnection; onSubmit: (formData: FormData) => Promise; + projectId: string | undefined | null; }; const formSchema = z.discriminatedUnion("method", [ @@ -72,7 +78,7 @@ const formSchema = z.discriminatedUnion("method", [ type FormData = z.infer; -export const GitLabConnectionForm = ({ appConnection, onSubmit: formSubmit }: Props) => { +export const GitLabConnectionForm = ({ appConnection, onSubmit: formSubmit, projectId }: Props) => { const isUpdate = Boolean(appConnection); const [isRedirecting, setIsRedirecting] = useState(false); @@ -98,6 +104,8 @@ export const GitLabConnectionForm = ({ appConnection, onSubmit: formSubmit }: Pr } as FormData)) }); + const returnUrl = useGetAppConnectionOauthReturnUrl(); + const { handleSubmit, control, @@ -132,8 +140,10 @@ export const GitLabConnectionForm = ({ appConnection, onSubmit: formSubmit }: Pr JSON.stringify({ ...formData, connectionId: appConnection?.id, - isUpdate - }) + isUpdate, + projectId, + returnUrl + } as GitLabFormData) ); // Redirect to Gitlab OAuth diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionList.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionList.tsx index 2087ebf63..3170ad07f 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionList.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionList.tsx @@ -9,14 +9,16 @@ import { APP_CONNECTION_MAP } from "@app/helpers/appConnections"; import { usePagination, usePopUp, useResetPageHelper } from "@app/hooks"; import { useAppConnectionOptions } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; +import { ProjectType } from "@app/hooks/api/workspace/types"; type Props = { onSelect: (app: AppConnection) => void; + projectType?: ProjectType; }; -export const AppConnectionsSelect = ({ onSelect }: Props) => { +export const AppConnectionsSelect = ({ onSelect, projectType }: Props) => { const { subscription } = useSubscription(); - const { isPending, data: appConnectionOptions } = useAppConnectionOptions(); + const { isPending, data: appConnectionOptions } = useAppConnectionOptions(projectType); const { popUp, handlePopUpOpen, handlePopUpToggle } = usePopUp(["upgradePlan"] as const); diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionRow.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionRow.tsx index fb7f880c4..941a90db4 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionRow.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionRow.tsx @@ -1,19 +1,23 @@ import { useCallback } from "react"; +import { subject } from "@casl/ability"; import { faAsterisk, + faBuilding, faCheck, faCopy, faEdit, faEllipsisV, faInfoCircle, faServer, + faTable, faTrash } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { Link } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; -import { OrgPermissionCan } from "@app/components/permissions"; +import { VariablePermissionCan } from "@app/components/permissions"; import { Badge, DropdownMenu, @@ -25,9 +29,11 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { OrgPermissionSubjects } from "@app/context"; +import { OrgPermissionSubjects, ProjectPermissionSub } from "@app/context"; import { OrgPermissionAppConnectionActions } from "@app/context/OrgPermissionContext/types"; +import { ProjectPermissionAppConnectionActions } from "@app/context/ProjectPermissionContext/types"; import { APP_CONNECTION_MAP, getAppConnectionMethodDetails } from "@app/helpers/appConnections"; +import { getProjectBaseURL } from "@app/helpers/project"; import { useToggle } from "@app/hooks"; import { TAppConnection } from "@app/hooks/api/appConnections"; @@ -36,15 +42,18 @@ type Props = { onDelete: (appConnection: TAppConnection) => void; onEditCredentials: (appConnection: TAppConnection) => void; onEditDetails: (appConnection: TAppConnection) => void; + isProjectView: boolean; }; export const AppConnectionRow = ({ appConnection, onDelete, onEditCredentials, - onEditDetails + onEditDetails, + isProjectView }: Props) => { - const { id, name, method, app, description, isPlatformManagedCredentials } = appConnection; + const { id, name, method, app, description, isPlatformManagedCredentials, project } = + appConnection; const [isIdCopied, setIsIdCopied] = useToggle(false); @@ -111,7 +120,38 @@ export const AppConnectionRow = ({ {methodDetails.name}

    - + {!isProjectView && ( + + {project ? ( + +

    + + {project.name} +

    + + ) : ( +

    + + Organization +

    + )} + + )}
    {isPlatformManagedCredentials && ( @@ -143,48 +183,91 @@ export const AppConnectionRow = ({ > Copy Connection ID - - {(isAllowed: boolean) => ( - } - onClick={() => onEditDetails(appConnection)} + {(isProjectView || !project) && ( + <> + - Edit Details - - )} - - - {(isAllowed: boolean) => ( - } - onClick={() => onEditCredentials(appConnection)} + {(isAllowed: boolean) => ( + } + onClick={() => onEditDetails(appConnection)} + > + Edit Details + + )} + + - {isPlatformManagedCredentials ? "View" : "Edit"} Credentials - - )} - - - {(isAllowed: boolean) => ( - } - onClick={() => onDelete(appConnection)} + {(isAllowed: boolean) => ( + } + onClick={() => onEditCredentials(appConnection)} + > + {isPlatformManagedCredentials ? "View" : "Edit"} Credentials + + )} + + - Delete Connection - - )} - + {(isAllowed: boolean) => ( + } + onClick={() => onDelete(appConnection)} + > + Delete Connection + + )} + + + )} diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionsTable.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionsTable.tsx index bc448663a..18ae6034c 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionsTable.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionsTable.tsx @@ -2,16 +2,21 @@ import { useMemo, useState } from "react"; import { faArrowDown, faArrowUp, + faArrowUpRightFromSquare, + faBookOpen, faCheckCircle, faFilter, faMagnifyingGlass, faPlug, + faPlus, faSearch } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { twMerge } from "tailwind-merge"; +import { VariablePermissionCan } from "@app/components/permissions"; import { + Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, @@ -29,6 +34,9 @@ import { THead, Tr } from "@app/components/v2"; +import { OrgPermissionSubjects, ProjectPermissionSub } from "@app/context"; +import { OrgPermissionAppConnectionActions } from "@app/context/OrgPermissionContext/types"; +import { ProjectPermissionAppConnectionActions } from "@app/context/ProjectPermissionContext/types"; import { APP_CONNECTION_MAP, getAppConnectionMethodDetails } from "@app/helpers/appConnections"; import { getUserTablePreference, @@ -39,7 +47,9 @@ import { usePagination, usePopUp, useResetPageHelper } from "@app/hooks"; import { TAppConnection, useListAppConnections } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; import { OrderByDirection } from "@app/hooks/api/generic/types"; +import { ProjectType } from "@app/hooks/api/workspace/types"; +import { AddAppConnectionModal } from "./AddAppConnectionModal"; import { AppConnectionRow } from "./AppConnectionRow"; import { DeleteAppConnectionModal } from "./DeleteAppConnectionModal"; import { EditAppConnectionCredentialsModal } from "./EditAppConnectionCredentialsModal"; @@ -48,22 +58,45 @@ import { EditAppConnectionDetailsModal } from "./EditAppConnectionDetailsModal"; enum AppConnectionsOrderBy { App = "app", Name = "name", - Method = "method" + Method = "method", + ManagedBy = "managed-by" } type AppConnectionFilters = { apps: AppConnection[]; }; -export const AppConnectionsTable = () => { - const { isPending, data: appConnections = [] } = useListAppConnections(); +enum View { + All = "all", + Scope = "scope" +} + +const APP_CONNECTION_VIEW_STORAGE_KEY = "app-connection-view"; + +type Props = { + projectId?: string; + projectType?: ProjectType; +}; + +export const AppConnectionsTable = ({ projectId, projectType }: Props) => { + const isProjectView = Boolean(projectId); + const { isPending, data: appConnections = [] } = useListAppConnections(projectId); const { popUp, handlePopUpOpen, handlePopUpToggle } = usePopUp([ + "addConnection", "deleteConnection", "editCredentials", "editDetails" ] as const); + const [view, setView] = useState(() => { + const storedView = localStorage.getItem(APP_CONNECTION_VIEW_STORAGE_KEY) as View | null; + + if (storedView && Object.values(View).includes(storedView)) return storedView; + + return View.Scope; + }); + const [filters, setFilters] = useState({ apps: [] }); @@ -96,6 +129,10 @@ export const AppConnectionsTable = () => { .filter((appConnection) => { const { app, method, name } = appConnection; + if (view === View.Scope && !isProjectView && appConnection.projectId) { + return false; + } + if (filters.apps.length && !filters.apps.includes(app)) return false; const searchValue = search.trim().toLowerCase(); @@ -121,6 +158,13 @@ export const AppConnectionsTable = () => { .localeCompare( getAppConnectionMethodDetails(connectionTwo.method).name.toLowerCase() ); + case AppConnectionsOrderBy.ManagedBy: + if (!connectionOne.project) return 1; + if (!connectionTwo.project) return -1; + + return connectionOne.project.name + .toLowerCase() + .localeCompare(connectionTwo.project.name.toLowerCase()); case AppConnectionsOrderBy.App: default: return APP_CONNECTION_MAP[connectionOne.app].name @@ -128,7 +172,7 @@ export const AppConnectionsTable = () => { .localeCompare(APP_CONNECTION_MAP[connectionTwo.app].name.toLowerCase()); } }), - [appConnections, orderDirection, search, orderBy, filters] + [appConnections, orderDirection, search, orderBy, filters, view] ); useResetPageHelper({ @@ -165,8 +209,87 @@ export const AppConnectionsTable = () => { handlePopUpOpen("editDetails", appConnection); return ( -
    +
    +
    +
    +
    +

    App Connections

    + +
    + + Docs + +
    +
    +
    +

    + Create and configure connections with third-party apps for re-use across your project + {isProjectView ? "" : "s"}. +

    +
    + + {(isAllowed) => ( + + )} + +
    + {!isProjectView && ( +
    + + +
    + )} setSearch(e.target.value)} @@ -269,7 +392,21 @@ export const AppConnectionsTable = () => {
    - + {!isProjectView && ( + +
    + Managed By + handleSort(AppConnectionsOrderBy.ManagedBy)} + > + + +
    + + )} @@ -284,6 +421,7 @@ export const AppConnectionsTable = () => { onDelete={handleDelete} onEditCredentials={handleEditCredentials} onEditDetails={handleEditDetails} + isProjectView={isProjectView} /> ))} @@ -323,6 +461,12 @@ export const AppConnectionsTable = () => { onOpenChange={(isOpen) => handlePopUpToggle("editDetails", isOpen)} appConnection={popUp.editDetails.data} /> + handlePopUpToggle("addConnection", isOpen)} + projectId={projectId} + projectType={projectType} + />
    ); }; diff --git a/frontend/src/pages/organization/AppConnections/OauthCallbackPage/OauthCallbackPage.tsx b/frontend/src/pages/organization/AppConnections/OauthCallbackPage/OauthCallbackPage.tsx index 2798a7121..f5f6d2c88 100644 --- a/frontend/src/pages/organization/AppConnections/OauthCallbackPage/OauthCallbackPage.tsx +++ b/frontend/src/pages/organization/AppConnections/OauthCallbackPage/OauthCallbackPage.tsx @@ -12,73 +12,14 @@ import { AzureKeyVaultConnectionMethod, GitHubConnectionMethod, GitLabConnectionMethod, - TAzureAppConfigurationConnection, - TAzureClientSecretsConnection, - TAzureDevOpsConnection, - TAzureKeyVaultConnection, - TGitHubConnection, - TGitHubRadarConnection, - TGitLabConnection, + TAppConnection, useCreateAppConnection, useUpdateAppConnection } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; +import { IntegrationsListPageTabs } from "@app/types/integrations"; -type BaseFormData = { - returnUrl?: string; - connectionId?: string; - isUpdate?: boolean; -}; - -type GithubFormData = BaseFormData & - Pick; - -type GithubRadarFormData = BaseFormData & - Pick; - -type GitLabFormData = BaseFormData & - Pick; - -type AzureKeyVaultFormData = BaseFormData & - Pick & - Pick; - -type AzureAppConfigurationFormData = BaseFormData & - Pick & - Pick; - -type AzureClientSecretsFormData = BaseFormData & - Pick & - Pick; - -type OAuthCredentials = Extract< - TAzureDevOpsConnection, - { method: AzureDevOpsConnectionMethod.OAuth } ->["credentials"]; -type AccessTokenCredentials = Extract< - TAzureDevOpsConnection, - { method: AzureDevOpsConnectionMethod.AccessToken } ->["credentials"]; - -type AzureDevOpsFormData = BaseFormData & - Pick & - (Pick | Pick); - -type FormDataMap = { - [AppConnection.GitHub]: GithubFormData & { app: AppConnection.GitHub }; - [AppConnection.GitHubRadar]: GithubRadarFormData & { app: AppConnection.GitHubRadar }; - [AppConnection.GitLab]: GitLabFormData & { app: AppConnection.GitLab }; - [AppConnection.AzureKeyVault]: AzureKeyVaultFormData & { app: AppConnection.AzureKeyVault }; - [AppConnection.AzureAppConfiguration]: AzureAppConfigurationFormData & { - app: AppConnection.AzureAppConfiguration; - }; - [AppConnection.AzureClientSecrets]: AzureClientSecretsFormData & { - app: AppConnection.AzureClientSecrets; - }; - [AppConnection.AzureDevOps]: AzureDevOpsFormData & { - app: AppConnection.AzureDevOps; - }; -}; +import { FormDataMap } from "./OauthCallbackPage.types"; const formDataStorageFieldMap: Partial> = { [AppConnection.GitHub]: "githubConnectionFormData", @@ -148,11 +89,14 @@ export const OAuthCallbackPage = () => { clearState(AppConnection.GitLab); - const { connectionId, name, description, returnUrl, isUpdate, credentials } = formData; + const { connectionId, name, description, returnUrl, isUpdate, projectId, credentials } = + formData; + + let connection: TAppConnection; try { if (isUpdate && connectionId) { - await updateAppConnection.mutateAsync({ + connection = await updateAppConnection.mutateAsync({ app: AppConnection.GitLab, connectionId, credentials: { @@ -161,10 +105,11 @@ export const OAuthCallbackPage = () => { } }); } else { - await createAppConnection.mutateAsync({ + connection = await createAppConnection.mutateAsync({ app: AppConnection.GitLab, name, description, + projectId, method: GitLabConnectionMethod.OAuth, credentials: { code: code as string, @@ -173,14 +118,12 @@ export const OAuthCallbackPage = () => { }); } - navigate({ - to: returnUrl ?? "/organization/app-connections" - }); - return { connectionId, returnUrl, - appConnectionName: formData.app + appConnectionName: formData.app, + projectId, + connection }; } catch (err: any) { createNotification({ @@ -189,7 +132,10 @@ export const OAuthCallbackPage = () => { type: "error" }); navigate({ - to: returnUrl ?? "/organization/app-connections" + to: returnUrl, + params: { + projectId + } }); return null; } @@ -201,11 +147,13 @@ export const OAuthCallbackPage = () => { clearState(AppConnection.AzureKeyVault); - const { connectionId, name, description, returnUrl } = formData; + const { connectionId, name, description, returnUrl, projectId } = formData; + + let connection: TAppConnection; try { if (connectionId) { - await updateAppConnection.mutateAsync({ + connection = await updateAppConnection.mutateAsync({ app: AppConnection.AzureKeyVault, connectionId, credentials: { @@ -214,10 +162,11 @@ export const OAuthCallbackPage = () => { } }); } else { - await createAppConnection.mutateAsync({ + connection = await createAppConnection.mutateAsync({ app: AppConnection.AzureKeyVault, name, description, + projectId, method: AzureKeyVaultConnectionMethod.OAuth, credentials: { tenantId: formData.tenantId, @@ -232,14 +181,20 @@ export const OAuthCallbackPage = () => { type: "error" }); navigate({ - to: returnUrl ?? "/organization/app-connections" + to: returnUrl, + params: { + projectId + } }); + return null; } return { connectionId, returnUrl, - appConnectionName: formData.app + appConnectionName: formData.app, + projectId, + connection }; }, []); @@ -249,11 +204,13 @@ export const OAuthCallbackPage = () => { clearState(AppConnection.AzureAppConfiguration); - const { connectionId, name, description, returnUrl } = formData; + const { connectionId, name, description, returnUrl, projectId } = formData; + + let connection: TAppConnection; try { if (connectionId) { - await updateAppConnection.mutateAsync({ + connection = await updateAppConnection.mutateAsync({ app: AppConnection.AzureAppConfiguration, connectionId, credentials: { @@ -262,10 +219,11 @@ export const OAuthCallbackPage = () => { } }); } else { - await createAppConnection.mutateAsync({ + connection = await createAppConnection.mutateAsync({ app: AppConnection.AzureAppConfiguration, name, description, + projectId, method: AzureAppConfigurationConnectionMethod.OAuth, credentials: { code: code as string, @@ -280,14 +238,20 @@ export const OAuthCallbackPage = () => { type: "error" }); navigate({ - to: returnUrl ?? "/organization/app-connections" + to: returnUrl, + params: { + projectId + } }); + return null; } return { connectionId, returnUrl, - appConnectionName: formData.app + appConnectionName: formData.app, + projectId, + connection }; }, []); @@ -297,11 +261,13 @@ export const OAuthCallbackPage = () => { clearState(AppConnection.AzureClientSecrets); - const { connectionId, name, description, returnUrl } = formData; + const { connectionId, name, description, returnUrl, projectId } = formData; + + let connection: TAppConnection; try { if (connectionId) { - await updateAppConnection.mutateAsync({ + connection = await updateAppConnection.mutateAsync({ app: AppConnection.AzureClientSecrets, connectionId, credentials: { @@ -310,11 +276,12 @@ export const OAuthCallbackPage = () => { } }); } else { - await createAppConnection.mutateAsync({ + connection = await createAppConnection.mutateAsync({ app: AppConnection.AzureClientSecrets, name, description, method: AzureClientSecretsConnectionMethod.OAuth, + projectId, credentials: { code: code as string, tenantId: formData.tenantId @@ -328,14 +295,20 @@ export const OAuthCallbackPage = () => { type: "error" }); navigate({ - to: returnUrl ?? "/organization/app-connections" + to: returnUrl, + params: { + projectId + } }); + return null; } return { connectionId, returnUrl, - appConnectionName: formData.app + appConnectionName: formData.app, + projectId, + connection }; }, []); @@ -345,7 +318,9 @@ export const OAuthCallbackPage = () => { clearState(AppConnection.AzureDevOps); - const { connectionId, name, description, returnUrl } = formData; + const { connectionId, name, description, returnUrl, projectId } = formData; + + let connection: TAppConnection; try { if (!("tenantId" in formData)) { @@ -353,7 +328,7 @@ export const OAuthCallbackPage = () => { } if (connectionId) { - await updateAppConnection.mutateAsync({ + connection = await updateAppConnection.mutateAsync({ app: AppConnection.AzureDevOps, connectionId, credentials: { @@ -363,11 +338,12 @@ export const OAuthCallbackPage = () => { } }); } else { - await createAppConnection.mutateAsync({ + connection = await createAppConnection.mutateAsync({ app: AppConnection.AzureDevOps, name, description, method: AzureDevOpsConnectionMethod.OAuth, + projectId, credentials: { code: code as string, tenantId: formData.tenantId as string, @@ -382,14 +358,20 @@ export const OAuthCallbackPage = () => { type: "error" }); navigate({ - to: returnUrl ?? "/organization/app-connections" + to: returnUrl, + params: { + projectId + } }); + return null; } return { connectionId, returnUrl, - appConnectionName: formData.app + appConnectionName: formData.app, + projectId, + connection }; }, []); @@ -399,11 +381,14 @@ export const OAuthCallbackPage = () => { clearState(AppConnection.GitHub); - const { connectionId, name, description, returnUrl, gatewayId, credentials } = formData; + const { connectionId, name, description, returnUrl, gatewayId, credentials, projectId } = + formData; + + let connection: TAppConnection; try { if (connectionId) { - await updateAppConnection.mutateAsync({ + connection = await updateAppConnection.mutateAsync({ app: AppConnection.GitHub, ...(installationId ? { @@ -427,10 +412,11 @@ export const OAuthCallbackPage = () => { }) }); } else { - await createAppConnection.mutateAsync({ + connection = await createAppConnection.mutateAsync({ app: AppConnection.GitHub, name, description, + projectId, ...(installationId ? { method: GitHubConnectionMethod.App, @@ -460,14 +446,20 @@ export const OAuthCallbackPage = () => { type: "error" }); navigate({ - to: returnUrl ?? "/organization/app-connections" + to: returnUrl, + params: { + projectId + } }); + return null; } return { connectionId, returnUrl, - appConnectionName: formData.app + appConnectionName: formData.app, + projectId, + connection }; }, []); @@ -477,11 +469,13 @@ export const OAuthCallbackPage = () => { clearState(AppConnection.GitHubRadar); - const { connectionId, name, description, returnUrl } = formData; + const { connectionId, name, description, returnUrl, projectId } = formData; + + let connection: TAppConnection; try { if (connectionId) { - await updateAppConnection.mutateAsync({ + connection = await updateAppConnection.mutateAsync({ app: AppConnection.GitHubRadar, connectionId, credentials: { @@ -490,11 +484,12 @@ export const OAuthCallbackPage = () => { } }); } else { - await createAppConnection.mutateAsync({ + connection = await createAppConnection.mutateAsync({ app: AppConnection.GitHubRadar, name, description, method: GitHubConnectionMethod.App, + projectId, credentials: { code: code as string, installationId: installationId as string @@ -508,14 +503,20 @@ export const OAuthCallbackPage = () => { type: "error" }); navigate({ - to: returnUrl ?? "/organization/app-connections" + to: returnUrl, + params: { + projectId + } }); + return null; } return { connectionId, returnUrl, - appConnectionName: formData.app + appConnectionName: formData.app, + projectId, + connection }; }, []); @@ -530,8 +531,13 @@ export const OAuthCallbackPage = () => { if (!isReady) return; (async () => { - let data: { connectionId?: string; returnUrl?: string; appConnectionName?: string } | null = - null; + let data: { + returnUrl: string; + appConnectionName: string; + connectionId?: string; + projectId?: string; + connection: TAppConnection; + } | null = null; if (appConnection === AppConnection.GitHub) { data = await handleGithub(); @@ -554,16 +560,26 @@ export const OAuthCallbackPage = () => { text: `Successfully ${data.connectionId ? "updated" : "added"} ${data.appConnectionName ? APP_CONNECTION_MAP[data.appConnectionName as AppConnection].name : ""} Connection`, type: "success" }); - } else { - createNotification({ - text: "Failed to add connection", - type: "error" + + await navigate({ + to: data.returnUrl, + params: { + projectId: data.projectId ?? undefined + }, + // scott: if it's not an app connection page we need to pass connection details as it's an inline creation + search: data.returnUrl.includes("app-connections") + ? undefined + : { + connectionId: data.connection.id, + connectionName: data.connection.name, + ...(data.returnUrl.includes("integrations") + ? { + selectedTab: IntegrationsListPageTabs.SecretSyncs + } + : {}) + } }); } - - await navigate({ - to: data?.returnUrl ?? "/organization/app-connections" - }); })(); }, [isReady]); diff --git a/frontend/src/pages/organization/AppConnections/OauthCallbackPage/OauthCallbackPage.types.ts b/frontend/src/pages/organization/AppConnections/OauthCallbackPage/OauthCallbackPage.types.ts new file mode 100644 index 000000000..6c76a60b3 --- /dev/null +++ b/frontend/src/pages/organization/AppConnections/OauthCallbackPage/OauthCallbackPage.types.ts @@ -0,0 +1,68 @@ +import { + AzureDevOpsConnectionMethod, + TAzureAppConfigurationConnection, + TAzureClientSecretsConnection, + TAzureDevOpsConnection, + TAzureKeyVaultConnection, + TGitHubConnection, + TGitHubRadarConnection, + TGitLabConnection +} from "@app/hooks/api/appConnections"; +import { AppConnection } from "@app/hooks/api/appConnections/enums"; + +type BaseFormData = { + returnUrl: string; + connectionId?: string; + isUpdate?: boolean; + projectId: string; +}; + +export type GithubFormData = BaseFormData & + Pick; + +export type GithubRadarFormData = BaseFormData & + Pick; + +export type GitLabFormData = BaseFormData & + Pick; + +export type AzureKeyVaultFormData = BaseFormData & + Pick & + Pick; + +export type AzureAppConfigurationFormData = BaseFormData & + Pick & + Pick; + +export type AzureClientSecretsFormData = BaseFormData & + Pick & + Pick; + +type OAuthCredentials = Extract< + TAzureDevOpsConnection, + { method: AzureDevOpsConnectionMethod.OAuth } +>["credentials"]; +type AccessTokenCredentials = Extract< + TAzureDevOpsConnection, + { method: AzureDevOpsConnectionMethod.AccessToken } +>["credentials"]; + +export type AzureDevOpsFormData = BaseFormData & + Pick & + (Pick | Pick); + +export type FormDataMap = { + [AppConnection.GitHub]: GithubFormData & { app: AppConnection.GitHub }; + [AppConnection.GitHubRadar]: GithubRadarFormData & { app: AppConnection.GitHubRadar }; + [AppConnection.GitLab]: GitLabFormData & { app: AppConnection.GitLab }; + [AppConnection.AzureKeyVault]: AzureKeyVaultFormData & { app: AppConnection.AzureKeyVault }; + [AppConnection.AzureAppConfiguration]: AzureAppConfigurationFormData & { + app: AppConnection.AzureAppConfiguration; + }; + [AppConnection.AzureClientSecrets]: AzureClientSecretsFormData & { + app: AppConnection.AzureClientSecrets; + }; + [AppConnection.AzureDevOps]: AzureDevOpsFormData & { + app: AppConnection.AzureDevOps; + }; +}; diff --git a/frontend/src/pages/organization/Gateways/GatewayListPage/GatewayListPage.tsx b/frontend/src/pages/organization/Gateways/GatewayListPage/GatewayListPage.tsx index 729654d76..a0d440872 100644 --- a/frontend/src/pages/organization/Gateways/GatewayListPage/GatewayListPage.tsx +++ b/frontend/src/pages/organization/Gateways/GatewayListPage/GatewayListPage.tsx @@ -4,11 +4,11 @@ import { faArrowUpRightFromSquare, faBookOpen, faCopy, + faDoorClosed, faEdit, faEllipsisV, faInfoCircle, faMagnifyingGlass, - faPlug, faSearch, faTrash } from "@fortawesome/free-solid-svg-icons"; @@ -243,7 +243,7 @@ export const GatewayListPage = withPermission( ? "No Gateways match search..." : "No Gateways have been configured" } - icon={gateways?.length ? faSearch : faPlug} + icon={gateways?.length ? faSearch : faDoorClosed} /> )} { + const { currentWorkspace } = useWorkspace(); + + return ( +
    + + Infisical | App Connections + + + +
    +
    + + + +
    +
    +
    + ); + }, + { + action: ProjectPermissionAppConnectionActions.Read, + subject: ProjectPermissionSub.AppConnections + } +); diff --git a/frontend/src/pages/project/AppConnectionsPage/route-cert-manager.tsx b/frontend/src/pages/project/AppConnectionsPage/route-cert-manager.tsx new file mode 100644 index 000000000..8be255e73 --- /dev/null +++ b/frontend/src/pages/project/AppConnectionsPage/route-cert-manager.tsx @@ -0,0 +1,19 @@ +import { createFileRoute } from "@tanstack/react-router"; + +import { AppConnectionsPage } from "./AppConnectionsPage"; + +export const Route = createFileRoute( + "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/app-connections" +)({ + component: AppConnectionsPage, + beforeLoad: ({ context }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "App Connections" + } + ] + }; + } +}); diff --git a/frontend/src/pages/project/AppConnectionsPage/route-secret-manager.tsx b/frontend/src/pages/project/AppConnectionsPage/route-secret-manager.tsx new file mode 100644 index 000000000..2767c8689 --- /dev/null +++ b/frontend/src/pages/project/AppConnectionsPage/route-secret-manager.tsx @@ -0,0 +1,19 @@ +import { createFileRoute } from "@tanstack/react-router"; + +import { AppConnectionsPage } from "./AppConnectionsPage"; + +export const Route = createFileRoute( + "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/app-connections" +)({ + component: AppConnectionsPage, + beforeLoad: ({ context }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "App Connections" + } + ] + }; + } +}); diff --git a/frontend/src/pages/project/AppConnectionsPage/route-secret-scanning.tsx b/frontend/src/pages/project/AppConnectionsPage/route-secret-scanning.tsx new file mode 100644 index 000000000..724926495 --- /dev/null +++ b/frontend/src/pages/project/AppConnectionsPage/route-secret-scanning.tsx @@ -0,0 +1,19 @@ +import { createFileRoute } from "@tanstack/react-router"; + +import { AppConnectionsPage } from "./AppConnectionsPage"; + +export const Route = createFileRoute( + "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/app-connections" +)({ + component: AppConnectionsPage, + beforeLoad: ({ context }) => { + return { + breadcrumbs: [ + ...context.breadcrumbs, + { + label: "App Connections" + } + ] + }; + } +}); diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/AppConnectionPermissionConditions.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/AppConnectionPermissionConditions.tsx new file mode 100644 index 000000000..2991d895c --- /dev/null +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/AppConnectionPermissionConditions.tsx @@ -0,0 +1,19 @@ +import { ProjectPermissionSub } from "@app/context/ProjectPermissionContext/types"; + +import { ConditionsFields } from "./ConditionsFields"; + +type Props = { + position?: number; + isDisabled?: boolean; +}; + +export const AppConnectionPermissionConditions = ({ position = 0, isDisabled }: Props) => { + return ( + + ); +}; diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/PermissionConditionHelpers.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/PermissionConditionHelpers.tsx index a39ae8d64..f6c44b386 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/PermissionConditionHelpers.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/PermissionConditionHelpers.tsx @@ -23,6 +23,7 @@ export const renderOperatorSelectItems = (type: string) => { case "secretTags": return Contains; case "identityId": + case "connectionId": return ( <> Equal diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx index 856275374..f8032ac37 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx @@ -12,6 +12,7 @@ import { } from "@app/context"; import { PermissionConditionOperators, + ProjectPermissionAppConnectionActions, ProjectPermissionAuditLogsActions, ProjectPermissionCommitsActions, ProjectPermissionDynamicSecretActions, @@ -134,6 +135,14 @@ const SecretScanningConfigPolicyActionSchema = z.object({ [ProjectPermissionSecretScanningConfigActions.Update]: z.boolean().optional() }); +const AppConnectionPolicyActionSchema = z.object({ + [ProjectPermissionAppConnectionActions.Create]: z.boolean().optional(), + [ProjectPermissionAppConnectionActions.Read]: z.boolean().optional(), + [ProjectPermissionAppConnectionActions.Edit]: z.boolean().optional(), + [ProjectPermissionAppConnectionActions.Delete]: z.boolean().optional(), + [ProjectPermissionAppConnectionActions.Connect]: z.boolean().optional() +}); + const KmipPolicyActionSchema = z.object({ [ProjectPermissionKmipActions.ReadClients]: z.boolean().optional(), [ProjectPermissionKmipActions.CreateClients]: z.boolean().optional(), @@ -311,6 +320,12 @@ export const projectRoleFormSchema = z.object({ }) .array() .default([]), + [ProjectPermissionSub.AppConnections]: AppConnectionPolicyActionSchema.extend({ + inverted: z.boolean().optional(), + conditions: ConditionSchema + }) + .array() + .default([]), [ProjectPermissionSub.Commits]: CommitPolicyActionSchema.array().default([]), [ProjectPermissionSub.Member]: MemberPolicyActionSchema.array().default([]), @@ -393,7 +408,8 @@ type TConditionalFields = | ProjectPermissionSub.SecretRotation | ProjectPermissionSub.Identity | ProjectPermissionSub.SecretSyncs - | ProjectPermissionSub.SecretEvents; + | ProjectPermissionSub.SecretEvents + | ProjectPermissionSub.AppConnections; export const isConditionalSubjects = ( subject: ProjectPermissionSub @@ -408,7 +424,8 @@ export const isConditionalSubjects = ( subject === ProjectPermissionSub.PkiSubscribers || subject === ProjectPermissionSub.CertificateTemplates || subject === ProjectPermissionSub.SecretSyncs || - subject === ProjectPermissionSub.SecretEvents; + subject === ProjectPermissionSub.SecretEvents || + subject === ProjectPermissionSub.AppConnections; const convertCaslConditionToFormOperator = (caslConditions: TPermissionCondition) => { const formConditions: z.infer = []; @@ -515,7 +532,8 @@ export const rolePermission2Form = (permissions: TProjectPermission[] = []) => { ProjectPermissionSub.SshCertificates, ProjectPermissionSub.SshHostGroups, ProjectPermissionSub.SecretSyncs, - ProjectPermissionSub.SecretEvents + ProjectPermissionSub.SecretEvents, + ProjectPermissionSub.AppConnections ].includes(subject) ) { // from above statement we are sure it won't be undefined @@ -654,6 +672,27 @@ export const rolePermission2Form = (permissions: TProjectPermission[] = []) => { return; } + if (subject === ProjectPermissionSub.AppConnections) { + const canCreate = action.includes(ProjectPermissionAppConnectionActions.Create); + const canRead = action.includes(ProjectPermissionAppConnectionActions.Read); + const canEdit = action.includes(ProjectPermissionAppConnectionActions.Edit); + const canDelete = action.includes(ProjectPermissionAppConnectionActions.Delete); + const canConnect = action.includes(ProjectPermissionAppConnectionActions.Connect); + + // from above statement we are sure it won't be undefined + formVal[subject]!.push({ + [ProjectPermissionAppConnectionActions.Read]: canRead, + [ProjectPermissionAppConnectionActions.Create]: canCreate, + [ProjectPermissionAppConnectionActions.Edit]: canEdit, + [ProjectPermissionAppConnectionActions.Delete]: canDelete, + [ProjectPermissionAppConnectionActions.Connect]: canConnect, + conditions: conditions ? convertCaslConditionToFormOperator(conditions) : [], + inverted + }); + + return; + } + // for other subjects const canRead = action.includes(ProjectPermissionActions.Read); const canEdit = action.includes(ProjectPermissionActions.Edit); @@ -1597,6 +1636,31 @@ export const PROJECT_PERMISSION_OBJECT: TProjectPermissionObject = { value: ProjectPermissionSecretEventActions.SubscribeImportMutations } ] + }, + [ProjectPermissionSub.AppConnections]: { + title: "App Connections", + actions: [ + { + label: "Read", + value: ProjectPermissionAppConnectionActions.Read + }, + { + label: "Create", + value: ProjectPermissionAppConnectionActions.Create + }, + { + label: "Update", + value: ProjectPermissionAppConnectionActions.Edit + }, + { + label: "Delete", + value: ProjectPermissionAppConnectionActions.Delete + }, + { + label: "Connect", + value: ProjectPermissionAppConnectionActions.Connect + } + ] } }; @@ -1669,7 +1733,8 @@ export const ProjectTypePermissionSubjects: Record< ...KmsPermissionSubjects(), ...CertificateManagerPermissionSubjects(), ...SshPermissionSubjects(), - ...SecretScanningSubject() + ...SecretScanningSubject(), + [ProjectPermissionSub.AppConnections]: true }, [ProjectType.KMS]: { ...SharedPermissionSubjects, @@ -1677,7 +1742,8 @@ export const ProjectTypePermissionSubjects: Record< ...SecretsManagerPermissionSubjects(), ...CertificateManagerPermissionSubjects(), ...SshPermissionSubjects(), - ...SecretScanningSubject() + ...SecretScanningSubject(), + [ProjectPermissionSub.AppConnections]: false }, [ProjectType.CertificateManager]: { ...SharedPermissionSubjects, @@ -1685,7 +1751,8 @@ export const ProjectTypePermissionSubjects: Record< ...KmsPermissionSubjects(), ...SecretsManagerPermissionSubjects(), ...SshPermissionSubjects(), - ...SecretScanningSubject() + ...SecretScanningSubject(), + [ProjectPermissionSub.AppConnections]: true }, [ProjectType.SSH]: { ...SharedPermissionSubjects, @@ -1693,7 +1760,8 @@ export const ProjectTypePermissionSubjects: Record< ...CertificateManagerPermissionSubjects(), ...KmsPermissionSubjects(), ...SecretsManagerPermissionSubjects(), - ...SecretScanningSubject() + ...SecretScanningSubject(), + [ProjectPermissionSub.AppConnections]: false }, [ProjectType.SecretScanning]: { ...SharedPermissionSubjects, @@ -1701,7 +1769,8 @@ export const ProjectTypePermissionSubjects: Record< ...SshPermissionSubjects(), ...CertificateManagerPermissionSubjects(), ...KmsPermissionSubjects(), - ...SecretsManagerPermissionSubjects() + ...SecretsManagerPermissionSubjects(), + [ProjectPermissionSub.AppConnections]: true } }; diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/RolePermissionsSection.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/RolePermissionsSection.tsx index f50446a8e..f11756dc9 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/RolePermissionsSection.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/RolePermissionsSection.tsx @@ -16,6 +16,7 @@ import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { ProjectType } from "@app/hooks/api/workspace/types"; import { AddPoliciesButton } from "./AddPoliciesButton"; +import { AppConnectionPermissionConditions } from "./AppConnectionPermissionConditions"; import { DynamicSecretPermissionConditions } from "./DynamicSecretPermissionConditions"; import { GeneralPermissionConditions } from "./GeneralPermissionConditions"; import { GeneralPermissionPolicies } from "./GeneralPermissionPolicies"; @@ -77,6 +78,10 @@ export const renderConditionalComponents = ( return ; } + if (subject === ProjectPermissionSub.AppConnections) { + return ; + } + return ; } diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncsTab.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncsTab.tsx index 20a3c74df..036fcf03f 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncsTab.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncsTab.tsx @@ -1,10 +1,11 @@ -import { useEffect } from "react"; +import { useEffect, useState } from "react"; import { faArrowUpRightFromSquare, faBookOpen, faPlus } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useSearch } from "@tanstack/react-router"; import { ProjectPermissionCan } from "@app/components/permissions"; import { CreateSecretSyncModal } from "@app/components/secret-syncs"; +import { TSecretSyncForm } from "@app/components/secret-syncs/forms/schemas"; import { Button, Spinner } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; import { ProjectPermissionSub, useWorkspace } from "@app/context"; @@ -16,8 +17,9 @@ import { SecretSyncsTable } from "./SecretSyncTable"; export const SecretSyncsTab = () => { const { popUp, handlePopUpOpen, handlePopUpToggle } = usePopUp(["addSync"] as const); + const [initialSyncFormData, setInitialSyncFormData] = useState>(); - const { addSync, ...search } = useSearch({ + const { addSync, connectionId, connectionName, ...search } = useSearch({ from: ROUTE_PATHS.SecretManager.IntegrationsListPage.id }); @@ -38,6 +40,38 @@ export const SecretSyncsTab = () => { }); }, [addSync]); + useEffect(() => { + if (connectionId && connectionName) { + const storedFormData = localStorage.getItem("secretSyncFormData"); + + if (!storedFormData) return; + + let form: Partial = {}; + try { + form = JSON.parse(storedFormData) as TSecretSyncForm; + } catch { + return; + } finally { + localStorage.removeItem("secretSyncFormData"); + } + + handlePopUpOpen("addSync", form.destination); + + setInitialSyncFormData({ + ...form, + connection: { id: connectionId, name: connectionName } + }); + + navigate({ + to: ROUTE_PATHS.SecretManager.IntegrationsListPage.path, + params: { + projectId: currentWorkspace.id + }, + search + }); + } + }, [connectionId, connectionName]); + const { data: secretSyncs = [], isPending: isSecretSyncsPending } = useListSecretSyncs( currentWorkspace.id, { @@ -100,7 +134,11 @@ export const SecretSyncsTab = () => { handlePopUpToggle("addSync", isOpen)} + initialFormData={initialSyncFormData} + onOpenChange={(isOpen) => { + if (!isOpen) setInitialSyncFormData(undefined); + handlePopUpToggle("addSync", isOpen); + }} /> ); diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx index b7f8236da..fa25fbe20 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx @@ -17,7 +17,9 @@ import { IntegrationsListPage } from "./IntegrationsListPage"; const IntegrationsListPageQuerySchema = z.object({ selectedTab: z.nativeEnum(IntegrationsListPageTabs).optional(), - addSync: z.nativeEnum(SecretSync).optional() + addSync: z.nativeEnum(SecretSync).optional(), + connectionId: z.string().optional(), + connectionName: z.string().optional() }); export const Route = createFileRoute( diff --git a/frontend/src/pages/secret-manager/OverviewPage/route.tsx b/frontend/src/pages/secret-manager/OverviewPage/route.tsx index 968286e13..2be6c6f25 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/route.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/route.tsx @@ -6,7 +6,9 @@ import { OverviewPage } from "./OverviewPage"; const SecretOverviewPageQuerySchema = z.object({ search: z.string().catch(""), - secretPath: z.string().catch("/") + secretPath: z.string().catch("/"), + connectionId: z.string().optional(), + connectionName: z.string().optional() }); export const Route = createFileRoute( diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/route.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/route.tsx index 09970f698..0700b3322 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/route.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/route.tsx @@ -10,7 +10,9 @@ import { SecretDashboardPage } from "./SecretDashboardPage"; const SecretDashboardPageQueryParamsSchema = z.object({ secretPath: z.string().catch("/"), search: z.string().catch(""), - tags: z.string().catch("") + tags: z.string().catch(""), + connectionId: z.string().optional(), + connectionName: z.string().optional() }); export const Route = createFileRoute( "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/secrets/$envSlug" diff --git a/frontend/src/pages/secret-scanning/SecretScanningDataSourcesPage/route.tsx b/frontend/src/pages/secret-scanning/SecretScanningDataSourcesPage/route.tsx index b13c99db7..87b2b43fb 100644 --- a/frontend/src/pages/secret-scanning/SecretScanningDataSourcesPage/route.tsx +++ b/frontend/src/pages/secret-scanning/SecretScanningDataSourcesPage/route.tsx @@ -1,11 +1,19 @@ import { createFileRoute } from "@tanstack/react-router"; +import { zodValidator } from "@tanstack/zod-adapter"; +import { z } from "zod"; import { SecretScanningDataSourcesPage } from "./SecretScanningDataSourcesPage"; +const SecretScanningDataSourcesPageQueryParamsSchema = z.object({ + connectionId: z.string().optional(), + connectionName: z.string().optional() +}); + export const Route = createFileRoute( "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/data-sources/" )({ component: SecretScanningDataSourcesPage, + validateSearch: zodValidator(SecretScanningDataSourcesPageQueryParamsSchema), beforeLoad: ({ context }) => { return { breadcrumbs: [ diff --git a/frontend/src/routeTree.gen.ts b/frontend/src/routeTree.gen.ts index 1f62ba7b9..4d01ff47d 100644 --- a/frontend/src/routeTree.gen.ts +++ b/frontend/src/routeTree.gen.ts @@ -82,12 +82,15 @@ import { Route as organizationSettingsPageOauthCallbackPageRouteImport } from '. import { Route as projectAuditLogsPageRouteSshImport } from './pages/project/AuditLogsPage/route-ssh' import { Route as projectAccessControlPageRouteSshImport } from './pages/project/AccessControlPage/route-ssh' import { Route as projectAuditLogsPageRouteSecretScanningImport } from './pages/project/AuditLogsPage/route-secret-scanning' +import { Route as projectAppConnectionsPageRouteSecretScanningImport } from './pages/project/AppConnectionsPage/route-secret-scanning' import { Route as projectAccessControlPageRouteSecretScanningImport } from './pages/project/AccessControlPage/route-secret-scanning' import { Route as projectAuditLogsPageRouteSecretManagerImport } from './pages/project/AuditLogsPage/route-secret-manager' +import { Route as projectAppConnectionsPageRouteSecretManagerImport } from './pages/project/AppConnectionsPage/route-secret-manager' import { Route as projectAccessControlPageRouteSecretManagerImport } from './pages/project/AccessControlPage/route-secret-manager' import { Route as projectAuditLogsPageRouteKmsImport } from './pages/project/AuditLogsPage/route-kms' import { Route as projectAccessControlPageRouteKmsImport } from './pages/project/AccessControlPage/route-kms' import { Route as projectAuditLogsPageRouteCertManagerImport } from './pages/project/AuditLogsPage/route-cert-manager' +import { Route as projectAppConnectionsPageRouteCertManagerImport } from './pages/project/AppConnectionsPage/route-cert-manager' import { Route as projectAccessControlPageRouteCertManagerImport } from './pages/project/AccessControlPage/route-cert-manager' import { Route as sshSettingsPageRouteImport } from './pages/ssh/SettingsPage/route' import { Route as sshSshHostsPageRouteImport } from './pages/ssh/SshHostsPage/route' @@ -920,6 +923,13 @@ const projectAuditLogsPageRouteSecretScanningRoute = getParentRoute: () => secretScanningLayoutRoute, } as any) +const projectAppConnectionsPageRouteSecretScanningRoute = + projectAppConnectionsPageRouteSecretScanningImport.update({ + id: '/app-connections', + path: '/app-connections', + getParentRoute: () => secretScanningLayoutRoute, + } as any) + const projectAccessControlPageRouteSecretScanningRoute = projectAccessControlPageRouteSecretScanningImport.update({ id: '/access-management', @@ -943,6 +953,13 @@ const projectAuditLogsPageRouteSecretManagerRoute = getParentRoute: () => secretManagerLayoutRoute, } as any) +const projectAppConnectionsPageRouteSecretManagerRoute = + projectAppConnectionsPageRouteSecretManagerImport.update({ + id: '/app-connections', + path: '/app-connections', + getParentRoute: () => secretManagerLayoutRoute, + } as any) + const projectAccessControlPageRouteSecretManagerRoute = projectAccessControlPageRouteSecretManagerImport.update({ id: '/access-management', @@ -989,6 +1006,13 @@ const projectAuditLogsPageRouteCertManagerRoute = getParentRoute: () => certManagerLayoutRoute, } as any) +const projectAppConnectionsPageRouteCertManagerRoute = + projectAppConnectionsPageRouteCertManagerImport.update({ + id: '/app-connections', + path: '/app-connections', + getParentRoute: () => certManagerLayoutRoute, + } as any) + const projectAccessControlPageRouteCertManagerRoute = projectAccessControlPageRouteCertManagerImport.update({ id: '/access-management', @@ -2730,6 +2754,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof projectAccessControlPageRouteCertManagerImport parentRoute: typeof certManagerLayoutImport } + '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/app-connections': { + id: '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/app-connections' + path: '/app-connections' + fullPath: '/projects/cert-management/$projectId/app-connections' + preLoaderRoute: typeof projectAppConnectionsPageRouteCertManagerImport + parentRoute: typeof certManagerLayoutImport + } '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/audit-logs': { id: '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/audit-logs' path: '/audit-logs' @@ -2772,6 +2803,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof projectAccessControlPageRouteSecretManagerImport parentRoute: typeof secretManagerLayoutImport } + '/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/app-connections': { + id: '/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/app-connections' + path: '/app-connections' + fullPath: '/projects/secret-management/$projectId/app-connections' + preLoaderRoute: typeof projectAppConnectionsPageRouteSecretManagerImport + parentRoute: typeof secretManagerLayoutImport + } '/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/audit-logs': { id: '/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/audit-logs' path: '/audit-logs' @@ -2793,6 +2831,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof projectAccessControlPageRouteSecretScanningImport parentRoute: typeof secretScanningLayoutImport } + '/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/app-connections': { + id: '/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/app-connections' + path: '/app-connections' + fullPath: '/projects/secret-scanning/$projectId/app-connections' + preLoaderRoute: typeof projectAppConnectionsPageRouteSecretScanningImport + parentRoute: typeof secretScanningLayoutImport + } '/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/audit-logs': { id: '/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/audit-logs' path: '/audit-logs' @@ -3822,6 +3867,7 @@ interface certManagerLayoutRouteChildren { certManagerCertificatesPageRouteRoute: typeof certManagerCertificatesPageRouteRoute certManagerSettingsPageRouteRoute: typeof certManagerSettingsPageRouteRoute projectAccessControlPageRouteCertManagerRoute: typeof projectAccessControlPageRouteCertManagerRoute + projectAppConnectionsPageRouteCertManagerRoute: typeof projectAppConnectionsPageRouteCertManagerRoute projectAuditLogsPageRouteCertManagerRoute: typeof projectAuditLogsPageRouteCertManagerRoute AuthenticateInjectOrgDetailsOrgLayoutProjectsCertManagementProjectIdCertManagerLayoutCertificateTemplatesRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsCertManagementProjectIdCertManagerLayoutCertificateTemplatesRouteWithChildren AuthenticateInjectOrgDetailsOrgLayoutProjectsCertManagementProjectIdCertManagerLayoutSubscribersRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsCertManagementProjectIdCertManagerLayoutSubscribersRouteWithChildren @@ -3841,6 +3887,8 @@ const certManagerLayoutRouteChildren: certManagerLayoutRouteChildren = { certManagerSettingsPageRouteRoute: certManagerSettingsPageRouteRoute, projectAccessControlPageRouteCertManagerRoute: projectAccessControlPageRouteCertManagerRoute, + projectAppConnectionsPageRouteCertManagerRoute: + projectAppConnectionsPageRouteCertManagerRoute, projectAuditLogsPageRouteCertManagerRoute: projectAuditLogsPageRouteCertManagerRoute, AuthenticateInjectOrgDetailsOrgLayoutProjectsCertManagementProjectIdCertManagerLayoutCertificateTemplatesRoute: @@ -4212,6 +4260,7 @@ interface secretManagerLayoutRouteChildren { secretManagerSecretRotationPageRouteRoute: typeof secretManagerSecretRotationPageRouteRoute secretManagerSettingsPageRouteRoute: typeof secretManagerSettingsPageRouteRoute projectAccessControlPageRouteSecretManagerRoute: typeof projectAccessControlPageRouteSecretManagerRoute + projectAppConnectionsPageRouteSecretManagerRoute: typeof projectAppConnectionsPageRouteSecretManagerRoute projectAuditLogsPageRouteSecretManagerRoute: typeof projectAuditLogsPageRouteSecretManagerRoute AuthenticateInjectOrgDetailsOrgLayoutProjectsSecretManagementProjectIdSecretManagerLayoutIntegrationsRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsSecretManagementProjectIdSecretManagerLayoutIntegrationsRouteWithChildren secretManagerSecretDashboardPageRouteRoute: typeof secretManagerSecretDashboardPageRouteRoute @@ -4233,6 +4282,8 @@ const secretManagerLayoutRouteChildren: secretManagerLayoutRouteChildren = { secretManagerSettingsPageRouteRoute: secretManagerSettingsPageRouteRoute, projectAccessControlPageRouteSecretManagerRoute: projectAccessControlPageRouteSecretManagerRoute, + projectAppConnectionsPageRouteSecretManagerRoute: + projectAppConnectionsPageRouteSecretManagerRoute, projectAuditLogsPageRouteSecretManagerRoute: projectAuditLogsPageRouteSecretManagerRoute, AuthenticateInjectOrgDetailsOrgLayoutProjectsSecretManagementProjectIdSecretManagerLayoutIntegrationsRoute: @@ -4290,6 +4341,7 @@ interface secretScanningLayoutRouteChildren { secretScanningSecretScanningFindingsPageRouteRoute: typeof secretScanningSecretScanningFindingsPageRouteRoute secretScanningSettingsPageRouteRoute: typeof secretScanningSettingsPageRouteRoute projectAccessControlPageRouteSecretScanningRoute: typeof projectAccessControlPageRouteSecretScanningRoute + projectAppConnectionsPageRouteSecretScanningRoute: typeof projectAppConnectionsPageRouteSecretScanningRoute projectAuditLogsPageRouteSecretScanningRoute: typeof projectAuditLogsPageRouteSecretScanningRoute AuthenticateInjectOrgDetailsOrgLayoutProjectsSecretScanningProjectIdSecretScanningLayoutDataSourcesRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsSecretScanningProjectIdSecretScanningLayoutDataSourcesRouteWithChildren projectGroupDetailsByIDPageRouteSecretScanningRoute: typeof projectGroupDetailsByIDPageRouteSecretScanningRoute @@ -4304,6 +4356,8 @@ const secretScanningLayoutRouteChildren: secretScanningLayoutRouteChildren = { secretScanningSettingsPageRouteRoute: secretScanningSettingsPageRouteRoute, projectAccessControlPageRouteSecretScanningRoute: projectAccessControlPageRouteSecretScanningRoute, + projectAppConnectionsPageRouteSecretScanningRoute: + projectAppConnectionsPageRouteSecretScanningRoute, projectAuditLogsPageRouteSecretScanningRoute: projectAuditLogsPageRouteSecretScanningRoute, AuthenticateInjectOrgDetailsOrgLayoutProjectsSecretScanningProjectIdSecretScanningLayoutDataSourcesRoute: @@ -4689,15 +4743,18 @@ export interface FileRoutesByFullPath { '/projects/ssh/$projectId/overview': typeof sshSshHostsPageRouteRoute '/projects/ssh/$projectId/settings': typeof sshSettingsPageRouteRoute '/projects/cert-management/$projectId/access-management': typeof projectAccessControlPageRouteCertManagerRoute + '/projects/cert-management/$projectId/app-connections': typeof projectAppConnectionsPageRouteCertManagerRoute '/projects/cert-management/$projectId/audit-logs': typeof projectAuditLogsPageRouteCertManagerRoute '/projects/cert-management/$projectId/certificate-templates': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsCertManagementProjectIdCertManagerLayoutCertificateTemplatesRouteWithChildren '/projects/cert-management/$projectId/subscribers': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsCertManagementProjectIdCertManagerLayoutSubscribersRouteWithChildren '/projects/kms/$projectId/access-management': typeof projectAccessControlPageRouteKmsRoute '/projects/kms/$projectId/audit-logs': typeof projectAuditLogsPageRouteKmsRoute '/projects/secret-management/$projectId/access-management': typeof projectAccessControlPageRouteSecretManagerRoute + '/projects/secret-management/$projectId/app-connections': typeof projectAppConnectionsPageRouteSecretManagerRoute '/projects/secret-management/$projectId/audit-logs': typeof projectAuditLogsPageRouteSecretManagerRoute '/projects/secret-management/$projectId/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsSecretManagementProjectIdSecretManagerLayoutIntegrationsRouteWithChildren '/projects/secret-scanning/$projectId/access-management': typeof projectAccessControlPageRouteSecretScanningRoute + '/projects/secret-scanning/$projectId/app-connections': typeof projectAppConnectionsPageRouteSecretScanningRoute '/projects/secret-scanning/$projectId/audit-logs': typeof projectAuditLogsPageRouteSecretScanningRoute '/projects/secret-scanning/$projectId/data-sources': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsSecretScanningProjectIdSecretScanningLayoutDataSourcesRouteWithChildren '/projects/ssh/$projectId/access-management': typeof projectAccessControlPageRouteSshRoute @@ -4902,12 +4959,15 @@ export interface FileRoutesByTo { '/projects/ssh/$projectId/overview': typeof sshSshHostsPageRouteRoute '/projects/ssh/$projectId/settings': typeof sshSettingsPageRouteRoute '/projects/cert-management/$projectId/access-management': typeof projectAccessControlPageRouteCertManagerRoute + '/projects/cert-management/$projectId/app-connections': typeof projectAppConnectionsPageRouteCertManagerRoute '/projects/cert-management/$projectId/audit-logs': typeof projectAuditLogsPageRouteCertManagerRoute '/projects/kms/$projectId/access-management': typeof projectAccessControlPageRouteKmsRoute '/projects/kms/$projectId/audit-logs': typeof projectAuditLogsPageRouteKmsRoute '/projects/secret-management/$projectId/access-management': typeof projectAccessControlPageRouteSecretManagerRoute + '/projects/secret-management/$projectId/app-connections': typeof projectAppConnectionsPageRouteSecretManagerRoute '/projects/secret-management/$projectId/audit-logs': typeof projectAuditLogsPageRouteSecretManagerRoute '/projects/secret-scanning/$projectId/access-management': typeof projectAccessControlPageRouteSecretScanningRoute + '/projects/secret-scanning/$projectId/app-connections': typeof projectAppConnectionsPageRouteSecretScanningRoute '/projects/secret-scanning/$projectId/audit-logs': typeof projectAuditLogsPageRouteSecretScanningRoute '/projects/ssh/$projectId/access-management': typeof projectAccessControlPageRouteSshRoute '/projects/ssh/$projectId/audit-logs': typeof projectAuditLogsPageRouteSshRoute @@ -5128,15 +5188,18 @@ export interface FileRoutesById { '/_authenticate/_inject-org-details/_org-layout/projects/ssh/$projectId/_ssh-layout/overview': typeof sshSshHostsPageRouteRoute '/_authenticate/_inject-org-details/_org-layout/projects/ssh/$projectId/_ssh-layout/settings': typeof sshSettingsPageRouteRoute '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/access-management': typeof projectAccessControlPageRouteCertManagerRoute + '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/app-connections': typeof projectAppConnectionsPageRouteCertManagerRoute '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/audit-logs': typeof projectAuditLogsPageRouteCertManagerRoute '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/certificate-templates': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsCertManagementProjectIdCertManagerLayoutCertificateTemplatesRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/subscribers': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsCertManagementProjectIdCertManagerLayoutSubscribersRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/projects/kms/$projectId/_kms-layout/access-management': typeof projectAccessControlPageRouteKmsRoute '/_authenticate/_inject-org-details/_org-layout/projects/kms/$projectId/_kms-layout/audit-logs': typeof projectAuditLogsPageRouteKmsRoute '/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/access-management': typeof projectAccessControlPageRouteSecretManagerRoute + '/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/app-connections': typeof projectAppConnectionsPageRouteSecretManagerRoute '/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/audit-logs': typeof projectAuditLogsPageRouteSecretManagerRoute '/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsSecretManagementProjectIdSecretManagerLayoutIntegrationsRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/access-management': typeof projectAccessControlPageRouteSecretScanningRoute + '/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/app-connections': typeof projectAppConnectionsPageRouteSecretScanningRoute '/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/audit-logs': typeof projectAuditLogsPageRouteSecretScanningRoute '/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/data-sources': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsSecretScanningProjectIdSecretScanningLayoutDataSourcesRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/projects/ssh/$projectId/_ssh-layout/access-management': typeof projectAccessControlPageRouteSshRoute @@ -5351,15 +5414,18 @@ export interface FileRouteTypes { | '/projects/ssh/$projectId/overview' | '/projects/ssh/$projectId/settings' | '/projects/cert-management/$projectId/access-management' + | '/projects/cert-management/$projectId/app-connections' | '/projects/cert-management/$projectId/audit-logs' | '/projects/cert-management/$projectId/certificate-templates' | '/projects/cert-management/$projectId/subscribers' | '/projects/kms/$projectId/access-management' | '/projects/kms/$projectId/audit-logs' | '/projects/secret-management/$projectId/access-management' + | '/projects/secret-management/$projectId/app-connections' | '/projects/secret-management/$projectId/audit-logs' | '/projects/secret-management/$projectId/integrations' | '/projects/secret-scanning/$projectId/access-management' + | '/projects/secret-scanning/$projectId/app-connections' | '/projects/secret-scanning/$projectId/audit-logs' | '/projects/secret-scanning/$projectId/data-sources' | '/projects/ssh/$projectId/access-management' @@ -5563,12 +5629,15 @@ export interface FileRouteTypes { | '/projects/ssh/$projectId/overview' | '/projects/ssh/$projectId/settings' | '/projects/cert-management/$projectId/access-management' + | '/projects/cert-management/$projectId/app-connections' | '/projects/cert-management/$projectId/audit-logs' | '/projects/kms/$projectId/access-management' | '/projects/kms/$projectId/audit-logs' | '/projects/secret-management/$projectId/access-management' + | '/projects/secret-management/$projectId/app-connections' | '/projects/secret-management/$projectId/audit-logs' | '/projects/secret-scanning/$projectId/access-management' + | '/projects/secret-scanning/$projectId/app-connections' | '/projects/secret-scanning/$projectId/audit-logs' | '/projects/ssh/$projectId/access-management' | '/projects/ssh/$projectId/audit-logs' @@ -5787,15 +5856,18 @@ export interface FileRouteTypes { | '/_authenticate/_inject-org-details/_org-layout/projects/ssh/$projectId/_ssh-layout/overview' | '/_authenticate/_inject-org-details/_org-layout/projects/ssh/$projectId/_ssh-layout/settings' | '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/access-management' + | '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/app-connections' | '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/audit-logs' | '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/certificate-templates' | '/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/subscribers' | '/_authenticate/_inject-org-details/_org-layout/projects/kms/$projectId/_kms-layout/access-management' | '/_authenticate/_inject-org-details/_org-layout/projects/kms/$projectId/_kms-layout/audit-logs' | '/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/access-management' + | '/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/app-connections' | '/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/audit-logs' | '/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/integrations' | '/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/access-management' + | '/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/app-connections' | '/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/audit-logs' | '/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/data-sources' | '/_authenticate/_inject-org-details/_org-layout/projects/ssh/$projectId/_ssh-layout/access-management' @@ -6388,6 +6460,7 @@ export const routeTree = rootRoute "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/certificates", "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/settings", "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/access-management", + "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/app-connections", "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/audit-logs", "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/certificate-templates", "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/subscribers", @@ -6424,6 +6497,7 @@ export const routeTree = rootRoute "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/secret-rotation", "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/settings", "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/access-management", + "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/app-connections", "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/audit-logs", "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/integrations", "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/secrets/$envSlug", @@ -6441,6 +6515,7 @@ export const routeTree = rootRoute "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/findings", "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/settings", "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/access-management", + "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/app-connections", "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/audit-logs", "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/data-sources", "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/groups/$groupId", @@ -6547,6 +6622,10 @@ export const routeTree = rootRoute "filePath": "project/AccessControlPage/route-cert-manager.tsx", "parent": "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout" }, + "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/app-connections": { + "filePath": "project/AppConnectionsPage/route-cert-manager.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout" + }, "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout/audit-logs": { "filePath": "project/AuditLogsPage/route-cert-manager.tsx", "parent": "/_authenticate/_inject-org-details/_org-layout/projects/cert-management/$projectId/_cert-manager-layout" @@ -6578,6 +6657,10 @@ export const routeTree = rootRoute "filePath": "project/AccessControlPage/route-secret-manager.tsx", "parent": "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout" }, + "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/app-connections": { + "filePath": "project/AppConnectionsPage/route-secret-manager.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout" + }, "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout/audit-logs": { "filePath": "project/AuditLogsPage/route-secret-manager.tsx", "parent": "/_authenticate/_inject-org-details/_org-layout/projects/secret-management/$projectId/_secret-manager-layout" @@ -6670,6 +6753,10 @@ export const routeTree = rootRoute "filePath": "project/AccessControlPage/route-secret-scanning.tsx", "parent": "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout" }, + "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/app-connections": { + "filePath": "project/AppConnectionsPage/route-secret-scanning.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout" + }, "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout/audit-logs": { "filePath": "project/AuditLogsPage/route-secret-scanning.tsx", "parent": "/_authenticate/_inject-org-details/_org-layout/projects/secret-scanning/$projectId/_secret-scanning-layout" diff --git a/frontend/src/routes.ts b/frontend/src/routes.ts index 70c34edc6..76680a851 100644 --- a/frontend/src/routes.ts +++ b/frontend/src/routes.ts @@ -63,6 +63,7 @@ const secretManagerRoutes = route("/projects/secret-management/$projectId", [ ]), route("/audit-logs", "project/AuditLogsPage/route-secret-manager.tsx"), route("/access-management", "project/AccessControlPage/route-secret-manager.tsx"), + route("/app-connections", "project/AppConnectionsPage/route-secret-manager.tsx"), route("/roles/$roleSlug", "project/RoleDetailsBySlugPage/route-secret-manager.tsx"), route("/identities/$identityId", "project/IdentityDetailsByIDPage/route-secret-manager.tsx"), route("/members/$membershipId", "project/MemberDetailsByIDPage/route-secret-manager.tsx"), @@ -313,6 +314,7 @@ const certManagerRoutes = route("/projects/cert-management/$projectId", [ route("/settings", "cert-manager/SettingsPage/route.tsx"), route("/audit-logs", "project/AuditLogsPage/route-cert-manager.tsx"), route("/access-management", "project/AccessControlPage/route-cert-manager.tsx"), + route("/app-connections", "project/AppConnectionsPage/route-cert-manager.tsx"), route("/roles/$roleSlug", "project/RoleDetailsBySlugPage/route-cert-manager.tsx"), route("/identities/$identityId", "project/IdentityDetailsByIDPage/route-cert-manager.tsx"), route("/members/$membershipId", "project/MemberDetailsByIDPage/route-cert-manager.tsx"), @@ -361,6 +363,7 @@ const secretScanningRoutes = route("/projects/secret-scanning/$projectId", [ route("/settings", "secret-scanning/SettingsPage/route.tsx"), route("/audit-logs", "project/AuditLogsPage/route-secret-scanning.tsx"), route("/access-management", "project/AccessControlPage/route-secret-scanning.tsx"), + route("/app-connections", "project/AppConnectionsPage/route-secret-scanning.tsx"), route("/roles/$roleSlug", "project/RoleDetailsBySlugPage/route-secret-scanning.tsx"), route("/identities/$identityId", "project/IdentityDetailsByIDPage/route-secret-scanning.tsx"), route("/members/$membershipId", "project/MemberDetailsByIDPage/route-secret-scanning.tsx"), From 8fee3c3882ef6c889ed0f8107d411e332cb17e2b Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Fri, 12 Sep 2025 19:07:54 -0700 Subject: [PATCH 02/27] improvements: address feedback --- .../permissions/project-permissions.mdx | 12 +++++++ .../forms/SecretRotationV2ConnectionField.tsx | 2 +- ...ecretScanningDataSourceConnectionField.tsx | 2 +- .../forms/SecretSyncConnectionField.tsx | 2 +- .../hooks/api/appConnections/mutations.tsx | 19 ---------- .../hooks/api/appConnections/types/index.ts | 36 ++++++++----------- .../components/AddAppConnectionModal.tsx | 2 +- 7 files changed, 31 insertions(+), 44 deletions(-) diff --git a/docs/internals/permissions/project-permissions.mdx b/docs/internals/permissions/project-permissions.mdx index c823cf4a7..dbc2e5271 100644 --- a/docs/internals/permissions/project-permissions.mdx +++ b/docs/internals/permissions/project-permissions.mdx @@ -135,6 +135,18 @@ Below is a comprehensive list of all available project-level subjects and their | `edit` | Modify token properties | | `delete` | Revoke or remove service tokens | +#### Subject: `app-connections` + +Supports conditions and permission inversion + +| Action | Description | +| ------------------------- | ---------------------------------- | +| `read-app-connections` | View app connection configurations | +| `create-app-connections` | Create new app connections | +| `edit-app-connections` | Modify existing app connections | +| `delete-app-connections` | Remove app connections | +| `connect-app-connections` | Use app connections | + ### Secrets Management #### Subject: `secrets` diff --git a/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2ConnectionField.tsx b/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2ConnectionField.tsx index 4b0503648..407a473d1 100644 --- a/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2ConnectionField.tsx +++ b/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2ConnectionField.tsx @@ -107,7 +107,7 @@ export const SecretRotationV2ConnectionField = ({ onChange: callback, isUpdate } {!isUpdate && !isPending && !availableConnections?.length && !canCreateConnection && (

    - You do not have access to any ${appName} Connections. Contact an admin to create one. + You do not have access to any {appName} Connections. Contact an admin to create one.

    )} - You do not have access to any ${connectionName} Connections. Contact an admin to create + You do not have access to any {connectionName} Connections. Contact an admin to create one.

    )} diff --git a/frontend/src/components/secret-syncs/forms/SecretSyncConnectionField.tsx b/frontend/src/components/secret-syncs/forms/SecretSyncConnectionField.tsx index ffae4ed88..290f36206 100644 --- a/frontend/src/components/secret-syncs/forms/SecretSyncConnectionField.tsx +++ b/frontend/src/components/secret-syncs/forms/SecretSyncConnectionField.tsx @@ -91,7 +91,7 @@ export const SecretSyncConnectionField = ({ onChange: callback }: Props) => { {!isPending && !availableConnections?.length && !canCreateConnection && (

    - You do not have access to any ${appName} Connections. Contact an admin to create one. + You do not have access to any {appName} Connections. Contact an admin to create one.

    )} { } }); }; - -export const useMigrateAppConnection = () => { - const queryClient = useQueryClient(); - return useMutation({ - mutationFn: async ({ connectionId, app }: TMigrateAppConnectionDTO) => { - const { data } = await apiRequest.post( - `/api/v1/app-connections/${app}/${connectionId}/migrate` - ); - - return data; - }, - onSuccess: ({ projectId, app }) => { - queryClient.invalidateQueries({ queryKey: appConnectionKeys.list(projectId) }); - queryClient.invalidateQueries({ queryKey: appConnectionKeys.listAvailable(app, projectId) }); - // queryClient.invalidateQueries({ queryKey: appConnectionKeys.byId(app, connectionId) }); - } - }); -}; diff --git a/frontend/src/hooks/api/appConnections/types/index.ts b/frontend/src/hooks/api/appConnections/types/index.ts index 3a5147b92..8c1d86ca3 100644 --- a/frontend/src/hooks/api/appConnections/types/index.ts +++ b/frontend/src/hooks/api/appConnections/types/index.ts @@ -1,5 +1,3 @@ -import { ProjectType } from "@app/hooks/api/workspace/types"; - import { AppConnection } from "../enums"; import { TOnePassConnection } from "./1password-connection"; import { TAppConnectionOption } from "./app-options"; @@ -196,22 +194,18 @@ export type TDeleteAppConnectionDTO = { // [AppConnection.Okta]: TOktaConnection; // }; -export type TMigrateAppConnectionDTO = { - app: AppConnection; - connectionId: string; -}; - -export type AppConnectionUsage = { - projects: Array<{ - id: string; - name: string; - slug: string; - type: ProjectType; - resources: { - secretSyncs: Array<{ id: string; name: string }>; - externalCas: Array<{ id: string; name: string }>; - secretRotations: Array<{ id: string; name: string }>; - dataSources: Array<{ id: string; name: string }>; - }; - }>; -}; +// scott: we will need this once we have individual app connection page +// export type AppConnectionUsage = { +// projects: Array<{ +// id: string; +// name: string; +// slug: string; +// type: ProjectType; +// resources: { +// secretSyncs: Array<{ id: string; name: string }>; +// externalCas: Array<{ id: string; name: string }>; +// secretRotations: Array<{ id: string; name: string }>; +// dataSources: Array<{ id: string; name: string }>; +// }; +// }>; +// }; diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AddAppConnectionModal.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AddAppConnectionModal.tsx index b88b283da..bcea6b530 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AddAppConnectionModal.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AddAppConnectionModal.tsx @@ -31,7 +31,7 @@ const Content = ({ onComplete, projectId, projectType, app }: ContentProps) => { return ( setSelectedApp(null)} + onBack={app ? undefined : () => setSelectedApp(null)} app={(app ?? selectedApp)!} projectId={projectId} /> From 1f4b50a6e0305d062874b7165e658a72aa6ee67b Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Mon, 15 Sep 2025 10:58:57 -0700 Subject: [PATCH 03/27] wip --- .../src/server/routes/v1/project-router.ts | 1 + backend/src/services/project/project-dal.ts | 6 + .../src/services/project/project-service.ts | 4 +- backend/src/services/project/project-types.ts | 1 + .../projects/RequestProjectAccessModal.tsx | 88 ++++++++++++++ frontend/src/components/projects/index.tsx | 1 + frontend/src/hooks/api/workspace/types.ts | 1 + .../components/AppConnectionsTable.tsx | 74 ++++++------ .../components/AllProjectView.tsx | 73 +---------- .../src/pages/public/ErrorPage/ErrorPage.tsx | 10 ++ .../components/ProjectAccessError.tsx | 113 ++++++++++++++++++ .../public/ErrorPage/components/index.ts | 1 + 12 files changed, 269 insertions(+), 104 deletions(-) create mode 100644 frontend/src/components/projects/RequestProjectAccessModal.tsx create mode 100644 frontend/src/pages/public/ErrorPage/components/ProjectAccessError.tsx create mode 100644 frontend/src/pages/public/ErrorPage/components/index.ts diff --git a/backend/src/server/routes/v1/project-router.ts b/backend/src/server/routes/v1/project-router.ts index 5e7dce76e..5c5af7523 100644 --- a/backend/src/server/routes/v1/project-router.ts +++ b/backend/src/server/routes/v1/project-router.ts @@ -1064,6 +1064,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { type: z.nativeEnum(ProjectType).optional(), orderBy: z.nativeEnum(SearchProjectSortBy).optional().default(SearchProjectSortBy.NAME), orderDirection: z.nativeEnum(SortDirection).optional().default(SortDirection.ASC), + projectIds: z.string().trim().array().optional(), name: z .string() .trim() diff --git a/backend/src/services/project/project-dal.ts b/backend/src/services/project/project-dal.ts index 2766db379..d64977f8b 100644 --- a/backend/src/services/project/project-dal.ts +++ b/backend/src/services/project/project-dal.ts @@ -399,6 +399,7 @@ export const projectDALFactory = (db: TDbClient) => { name?: string; sortBy?: SearchProjectSortBy; sortDir?: SortDirection; + projectIds?: string[]; }) => { const { limit = 20, offset = 0, sortBy = SearchProjectSortBy.NAME, sortDir = SortDirection.ASC } = dto; @@ -454,6 +455,11 @@ export const projectDALFactory = (db: TDbClient) => { if (dto.name) { void query.whereILike(`${TableName.Project}.name`, `%${dto.name}%`); } + + if (dto.projectIds?.length) { + void query.whereIn(`${TableName.Project}.id`, dto.projectIds); + } + const docs = await query; return { docs, totalCount: Number(docs?.[0]?.count ?? 0) }; diff --git a/backend/src/services/project/project-service.ts b/backend/src/services/project/project-service.ts index d59f20bc6..2232a0411 100644 --- a/backend/src/services/project/project-service.ts +++ b/backend/src/services/project/project-service.ts @@ -1806,7 +1806,8 @@ export const projectServiceFactory = ({ limit, type, orderBy, - orderDirection + orderDirection, + projectIds }: TSearchProjectsDTO) => { // check user belong to org await permissionService.getOrgPermission( @@ -1822,6 +1823,7 @@ export const projectServiceFactory = ({ offset, name, type, + projectIds, orgId: permission.orgId, actor: permission.type, actorId: permission.id, diff --git a/backend/src/services/project/project-types.ts b/backend/src/services/project/project-types.ts index ceef78f6a..bf7b633a9 100644 --- a/backend/src/services/project/project-types.ts +++ b/backend/src/services/project/project-types.ts @@ -221,6 +221,7 @@ export type TSearchProjectsDTO = { limit?: number; offset?: number; orderBy?: SearchProjectSortBy; + projectIds?: string[]; orderDirection?: SortDirection; }; diff --git a/frontend/src/components/projects/RequestProjectAccessModal.tsx b/frontend/src/components/projects/RequestProjectAccessModal.tsx new file mode 100644 index 000000000..a0c5de76f --- /dev/null +++ b/frontend/src/components/projects/RequestProjectAccessModal.tsx @@ -0,0 +1,88 @@ +import { useForm } from "react-hook-form"; + +import { createNotification } from "@app/components/notifications"; +import { Button, FormControl, Input, Modal, ModalClose, ModalContent } from "@app/components/v2"; +import { useRequestProjectAccess } from "@app/hooks/api"; +import { Workspace } from "@app/hooks/api/workspace/types"; + +type ContentProps = { + projectId: string; + onComplete: () => void; +}; + +const Content = ({ projectId, onComplete }: ContentProps) => { + const form = useForm<{ note: string }>(); + + const requestProjectAccess = useRequestProjectAccess(); + + const onFormSubmit = ({ note }: { note: string }) => { + if (requestProjectAccess.isPending) return; + requestProjectAccess.mutate( + { + comment: note, + projectId + }, + { + onSuccess: () => { + createNotification({ + type: "success", + title: "Project Access Request Sent", + text: "Project admins will receive an email of your request" + }); + onComplete(); + } + } + ); + }; + + return ( +
    + + + +
    + + + + +
    +
    + ); +}; + +type RequestProjectAccessModalProps = { + isOpen: boolean; + onOpenChange: (isOpen: boolean) => void; + project?: Workspace; + onComplete?: () => void; +}; + +export const RequestProjectAccessModal = ({ + isOpen, + onOpenChange, + project, + onComplete +}: RequestProjectAccessModalProps) => { + if (!project) return null; + + return ( + + + { + onOpenChange(false); + if (onComplete) onComplete(); + }} + projectId={project?.id} + /> + + + ); +}; diff --git a/frontend/src/components/projects/index.tsx b/frontend/src/components/projects/index.tsx index 1fb78225d..a2dc754ad 100644 --- a/frontend/src/components/projects/index.tsx +++ b/frontend/src/components/projects/index.tsx @@ -1 +1,2 @@ export { NewProjectModal } from "./NewProjectModal"; +export * from "./RequestProjectAccessModal"; diff --git a/frontend/src/hooks/api/workspace/types.ts b/frontend/src/hooks/api/workspace/types.ts index 33eb0909f..e87bc439e 100644 --- a/frontend/src/hooks/api/workspace/types.ts +++ b/frontend/src/hooks/api/workspace/types.ts @@ -186,6 +186,7 @@ export type TSearchProjectsDTO = { name?: string; limit?: number; offset?: number; + projectIds?: string[]; type?: ProjectType; options?: { enabled?: boolean }; orderBy?: ProjectIdentityOrderBy; diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionsTable.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionsTable.tsx index 18ae6034c..63f757114 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionsTable.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionsTable.tsx @@ -38,11 +38,7 @@ import { OrgPermissionSubjects, ProjectPermissionSub } from "@app/context"; import { OrgPermissionAppConnectionActions } from "@app/context/OrgPermissionContext/types"; import { ProjectPermissionAppConnectionActions } from "@app/context/ProjectPermissionContext/types"; import { APP_CONNECTION_MAP, getAppConnectionMethodDetails } from "@app/helpers/appConnections"; -import { - getUserTablePreference, - PreferenceKey, - setUserTablePreference -} from "@app/helpers/userTablePreferences"; +import { getUserTablePreference, PreferenceKey, setUserTablePreference } from "@app/helpers/userTablePreferences"; import { usePagination, usePopUp, useResetPageHelper } from "@app/hooks"; import { TAppConnection, useListAppConnections } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; @@ -311,38 +307,46 @@ export const AppConnectionsTable = ({ projectId, projectType }: Props) => { - + Filter by Apps {appConnections.length ? ( - [...new Set(appConnections.map(({ app }) => app))].map((app) => ( - { - e.preventDefault(); - setFilters((prev) => ({ - ...prev, - apps: prev.apps.includes(app) - ? prev.apps.filter((a) => a !== app) - : [...prev.apps, app] - })); - }} - key={app} - icon={ - filters.apps.includes(app) && ( - - ) - } - iconPos="right" - > -
    - {`${APP_CONNECTION_MAP[app].name} - {APP_CONNECTION_MAP[app].name} -
    -
    - )) + [...new Set(appConnections.map(({ app }) => app))] + .sort((a, b) => { + return a.toLowerCase().localeCompare(b.toLowerCase()); + }) + .map((app) => ( + { + e.preventDefault(); + setFilters((prev) => ({ + ...prev, + apps: prev.apps.includes(app) + ? prev.apps.filter((a) => a !== app) + : [...prev.apps, app] + })); + }} + key={app} + icon={ + filters.apps.includes(app) && ( + + ) + } + iconPos="right" + > +
    + {`${APP_CONNECTION_MAP[app].name} + {APP_CONNECTION_MAP[app].name} +
    +
    + )) ) : ( No Connections Configured )} diff --git a/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx b/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx index 7b066a099..d5c91d810 100644 --- a/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx +++ b/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx @@ -1,5 +1,4 @@ import { useState } from "react"; -import { useForm } from "react-hook-form"; import { faArrowDownAZ, faBorderAll, @@ -16,6 +15,7 @@ import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; import { OrgPermissionCan } from "@app/components/permissions"; +import { RequestProjectAccessModal } from "@app/components/projects/RequestProjectAccessModal"; import { Badge, Button, @@ -24,12 +24,9 @@ import { DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger, - FormControl, IconButton, Input, Lottie, - Modal, - ModalContent, Pagination, Skeleton, Tooltip @@ -43,11 +40,7 @@ import { setUserTablePreference } from "@app/helpers/userTablePreferences"; import { useDebounce, usePagination, usePopUp, useResetPageHelper } from "@app/hooks"; -import { - useOrgAdminAccessProject, - useRequestProjectAccess, - useSearchProjects -} from "@app/hooks/api"; +import { useOrgAdminAccessProject, useSearchProjects } from "@app/hooks/api"; import { ProjectType, Workspace, WorkspaceEnv } from "@app/hooks/api/workspace/types"; import { ProjectListToggle, @@ -62,53 +55,6 @@ type Props = { onProjectListViewChange: (value: ProjectListView) => void; }; -type RequestAccessModalProps = { - projectId: string; - onPopUpToggle: () => void; -}; - -const RequestAccessModal = ({ projectId, onPopUpToggle }: RequestAccessModalProps) => { - const form = useForm<{ note: string }>(); - - const requestProjectAccess = useRequestProjectAccess(); - - const onFormSubmit = ({ note }: { note: string }) => { - if (requestProjectAccess.isPending) return; - requestProjectAccess.mutate( - { - comment: note, - projectId - }, - { - onSuccess: () => { - createNotification({ - type: "success", - title: "Project Access Request Sent", - text: "Project admins will receive an email of your request" - }); - onPopUpToggle(); - } - } - ); - }; - - return ( -
    - - - -
    - - -
    -
    - ); -}; - export const AllProjectView = ({ onAddNewProject, onUpgradePlan, @@ -419,20 +365,11 @@ export const AllProjectView = ({
    No Projects Found
    )} - handlePopUpToggle("requestAccessConfirmation", isOpen)} - > - - handlePopUpToggle("requestAccessConfirmation")} - projectId={requestedWorkspaceDetails?.id} - /> - - + project={requestedWorkspaceDetails} + />
    ); }; diff --git a/frontend/src/pages/public/ErrorPage/ErrorPage.tsx b/frontend/src/pages/public/ErrorPage/ErrorPage.tsx index 1910eb891..ef6a837ae 100644 --- a/frontend/src/pages/public/ErrorPage/ErrorPage.tsx +++ b/frontend/src/pages/public/ErrorPage/ErrorPage.tsx @@ -5,7 +5,17 @@ import { AxiosError } from "axios"; import { Button } from "@app/components/v2"; +import { ProjectAccessError } from "./components"; + export const ErrorPage = ({ error }: ErrorComponentProps) => { + if ( + error instanceof AxiosError && + error.status === 403 && + error.response?.data?.error === "User not a part of the specified project" + ) { + return ; + } + return (
    diff --git a/frontend/src/pages/public/ErrorPage/components/ProjectAccessError.tsx b/frontend/src/pages/public/ErrorPage/components/ProjectAccessError.tsx new file mode 100644 index 000000000..95a7d3729 --- /dev/null +++ b/frontend/src/pages/public/ErrorPage/components/ProjectAccessError.tsx @@ -0,0 +1,113 @@ +import { faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { Link, useNavigate, useParams } from "@tanstack/react-router"; + +import { createNotification } from "@app/components/notifications"; +import { OrgPermissionCan } from "@app/components/permissions"; +import { RequestProjectAccessModal } from "@app/components/projects"; +import { AccessRestrictedBanner, Button } from "@app/components/v2"; +import { OrgPermissionSubjects } from "@app/context"; +import { OrgPermissionAdminConsoleAction } from "@app/context/OrgPermissionContext/types"; +import { getProjectHomePage } from "@app/helpers/project"; +import { usePopUp } from "@app/hooks"; +import { useOrgAdminAccessProject, useSearchProjects } from "@app/hooks/api"; + +export const ProjectAccessError = () => { + const orgAdminAccessProject = useOrgAdminAccessProject(); + + const navigate = useNavigate(); + + const { popUp, handlePopUpToggle, handlePopUpOpen } = usePopUp([ + "requestAccessConfirmation" + ] as const); + + const { projectId } = useParams({ + strict: false + }); + + const { data, isPending: isProjectLoading } = useSearchProjects({ + projectIds: projectId ? [projectId] : [], + options: { + enabled: Boolean(projectId) + } + }); + + const [project] = data?.projects ?? []; + + const handleAccessProject = async () => { + if (!project) return; + try { + await orgAdminAccessProject.mutateAsync({ + projectId: project.id + }); + await navigate({ + to: getProjectHomePage(project.type, project.environments), + params: { + projectId: project.id + } + }); + } catch { + createNotification({ + text: "Failed to access project", + type: "error" + }); + } + }; + + return ( +
    + + You are not currently a member of this project. Request access to join project. +
    + + + + + {(isAllowed) => + isAllowed ? ( + + ) : ( + + ) + } + +
    + handlePopUpToggle("requestAccessConfirmation", isOpen)} + project={project} + onComplete={() => { + navigate({ + to: "/organization/projects" + }); + }} + /> + + } + /> +
    + ); +}; diff --git a/frontend/src/pages/public/ErrorPage/components/index.ts b/frontend/src/pages/public/ErrorPage/components/index.ts new file mode 100644 index 000000000..1940497e9 --- /dev/null +++ b/frontend/src/pages/public/ErrorPage/components/index.ts @@ -0,0 +1 @@ +export * from "./ProjectAccessError"; From d3acc90d6a7cf12a793c830e20996ea0f1e8568d Mon Sep 17 00:00:00 2001 From: = Date: Thu, 11 Sep 2025 16:24:58 +0530 Subject: [PATCH 04/27] feat: added v1 projects project-role-router --- .../v1/depreciated-project-role-router.ts | 287 ++++++++++++++++++ backend/src/ee/routes/v1/index.ts | 11 +- .../src/ee/routes/v1/project-role-router.ts | 89 +++--- frontend/src/hooks/api/roles/mutation.tsx | 6 +- frontend/src/hooks/api/roles/queries.tsx | 22 +- frontend/src/hooks/api/roles/types.ts | 4 +- 6 files changed, 361 insertions(+), 58 deletions(-) create mode 100644 backend/src/ee/routes/v1/depreciated-project-role-router.ts diff --git a/backend/src/ee/routes/v1/depreciated-project-role-router.ts b/backend/src/ee/routes/v1/depreciated-project-role-router.ts new file mode 100644 index 000000000..1b6a53bc8 --- /dev/null +++ b/backend/src/ee/routes/v1/depreciated-project-role-router.ts @@ -0,0 +1,287 @@ +import { packRules } from "@casl/ability/extra"; +import { z } from "zod"; + +import { ProjectMembershipRole, ProjectRolesSchema } from "@app/db/schemas"; +import { + backfillPermissionV1SchemaToV2Schema, + ProjectPermissionV1Schema +} from "@app/ee/services/permission/project-permission"; +import { PROJECT_ROLE } from "@app/lib/api-docs"; +import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; +import { slugSchema } from "@app/server/lib/schemas"; +import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; +import { SanitizedRoleSchemaV1 } from "@app/server/routes/sanitizedSchemas"; +import { AuthMode } from "@app/services/auth/auth-type"; +import { ProjectRoleServiceIdentifierType } from "@app/services/project-role/project-role-types"; + +export const registerDepreciatedProjectRoleRouter = async (server: FastifyZodProvider) => { + server.route({ + method: "POST", + url: "/:projectSlug/roles", + config: { + rateLimit: writeLimit + }, + schema: { + description: "Create a project role", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectSlug: z.string().trim().describe(PROJECT_ROLE.CREATE.projectSlug) + }), + body: z.object({ + slug: slugSchema({ max: 64 }) + .refine( + (val) => !Object.values(ProjectMembershipRole).includes(val as ProjectMembershipRole), + "Please choose a different slug, the slug you have entered is reserved" + ) + .describe(PROJECT_ROLE.CREATE.slug), + name: z.string().min(1).trim().describe(PROJECT_ROLE.CREATE.name), + description: z.string().trim().nullish().describe(PROJECT_ROLE.CREATE.description), + permissions: ProjectPermissionV1Schema.array().describe(PROJECT_ROLE.CREATE.permissions) + }), + response: { + 200: z.object({ + role: SanitizedRoleSchemaV1 + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const role = await server.services.projectRole.createRole({ + actorAuthMethod: req.permission.authMethod, + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actor: req.permission.type, + filter: { + type: ProjectRoleServiceIdentifierType.SLUG, + projectSlug: req.params.projectSlug + }, + data: { + ...req.body, + permissions: JSON.stringify(packRules(backfillPermissionV1SchemaToV2Schema(req.body.permissions, true))) + } + }); + + return { role }; + } + }); + + server.route({ + method: "PATCH", + url: "/:projectSlug/roles/:roleId", + config: { + rateLimit: writeLimit + }, + schema: { + description: "Update a project role", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectSlug: z.string().trim().describe(PROJECT_ROLE.UPDATE.projectSlug), + roleId: z.string().trim().describe(PROJECT_ROLE.UPDATE.roleId) + }), + body: z.object({ + slug: slugSchema({ max: 64 }) + .refine( + (val) => !Object.values(ProjectMembershipRole).includes(val as ProjectMembershipRole), + "Please choose a different slug, the slug you have entered is reserved" + ) + .describe(PROJECT_ROLE.UPDATE.slug) + .optional(), + name: z.string().trim().optional().describe(PROJECT_ROLE.UPDATE.name), + description: z.string().trim().nullish().describe(PROJECT_ROLE.UPDATE.description), + permissions: ProjectPermissionV1Schema.array().describe(PROJECT_ROLE.UPDATE.permissions).optional() + }), + response: { + 200: z.object({ + role: SanitizedRoleSchemaV1 + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const role = await server.services.projectRole.updateRole({ + actorAuthMethod: req.permission.authMethod, + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actor: req.permission.type, + roleId: req.params.roleId, + data: { + ...req.body, + permissions: req.body.permissions + ? JSON.stringify(packRules(backfillPermissionV1SchemaToV2Schema(req.body.permissions, true))) + : undefined + } + }); + return { role }; + } + }); + + server.route({ + method: "DELETE", + url: "/:projectSlug/roles/:roleId", + config: { + rateLimit: writeLimit + }, + schema: { + description: "Delete a project role", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectSlug: z.string().trim().describe(PROJECT_ROLE.DELETE.projectSlug), + roleId: z.string().trim().describe(PROJECT_ROLE.DELETE.roleId) + }), + response: { + 200: z.object({ + role: SanitizedRoleSchemaV1 + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const role = await server.services.projectRole.deleteRole({ + actorAuthMethod: req.permission.authMethod, + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actor: req.permission.type, + roleId: req.params.roleId + }); + return { role }; + } + }); + + server.route({ + method: "GET", + url: "/:projectSlug/roles", + config: { + rateLimit: readLimit + }, + schema: { + description: "List project role", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectSlug: z.string().trim().describe(PROJECT_ROLE.LIST.projectSlug) + }), + response: { + 200: z.object({ + roles: ProjectRolesSchema.omit({ permissions: true, version: true }).array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const roles = await server.services.projectRole.listRoles({ + actorAuthMethod: req.permission.authMethod, + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actor: req.permission.type, + filter: { + type: ProjectRoleServiceIdentifierType.SLUG, + projectSlug: req.params.projectSlug + } + }); + return { roles }; + } + }); + + server.route({ + method: "GET", + url: "/:projectSlug/roles/slug/:slug", + config: { + rateLimit: readLimit + }, + schema: { + params: z.object({ + projectSlug: z.string().trim().describe(PROJECT_ROLE.GET_ROLE_BY_SLUG.projectSlug), + slug: z.string().trim().describe(PROJECT_ROLE.GET_ROLE_BY_SLUG.roleSlug) + }), + response: { + 200: z.object({ + role: SanitizedRoleSchemaV1.omit({ version: true }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const role = await server.services.projectRole.getRoleBySlug({ + actorAuthMethod: req.permission.authMethod, + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actor: req.permission.type, + filter: { + type: ProjectRoleServiceIdentifierType.SLUG, + projectSlug: req.params.projectSlug + }, + roleSlug: req.params.slug + }); + + return { role }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/permissions", + config: { + rateLimit: readLimit + }, + schema: { + params: z.object({ + projectId: z.string().trim() + }), + response: { + 200: z.object({ + data: z.object({ + membership: z.object({ + id: z.string(), + roles: z + .object({ + role: z.string() + }) + .array() + }), + assumedPrivilegeDetails: z + .object({ + actorId: z.string(), + actorType: z.string(), + actorName: z.string(), + actorEmail: z.string().optional() + }) + .optional(), + permissions: z.any().array() + }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT]), + handler: async (req) => { + const { permissions, membership, assumedPrivilegeDetails } = await server.services.projectRole.getUserPermission( + req.permission.id, + req.params.projectId, + req.permission.authMethod, + req.permission.orgId + ); + + return { + data: { + permissions, + membership, + assumedPrivilegeDetails + } + }; + } + }); +}; diff --git a/backend/src/ee/routes/v1/index.ts b/backend/src/ee/routes/v1/index.ts index 5a43de381..e8d2153d3 100644 --- a/backend/src/ee/routes/v1/index.ts +++ b/backend/src/ee/routes/v1/index.ts @@ -22,6 +22,7 @@ import { registerOidcRouter } from "./oidc-router"; import { registerOrgRoleRouter } from "./org-role-router"; import { registerPITRouter } from "./pit-router"; import { registerProjectRoleRouter } from "./project-role-router"; +import { registerDepreciatedProjectRoleRouter } from "./depreciated-project-role-router"; import { registerProjectRouter } from "./project-router"; import { registerRateLimitRouter } from "./rate-limit-router"; import { registerRelayRouter } from "./relay-router"; @@ -49,13 +50,21 @@ export const registerV1EERoutes = async (server: FastifyZodProvider) => { await server.register(registerLicenseRouter, { prefix: "/organizations" }); await server.register( async (projectRouter) => { - await projectRouter.register(registerProjectRoleRouter); + await projectRouter.register(registerDepreciatedProjectRoleRouter); await projectRouter.register(registerProjectRouter); await projectRouter.register(registerTrustedIpRouter); await projectRouter.register(registerAssumePrivilegeRouter); }, { prefix: "/workspace" } ); + + await server.register( + async (projectRouter) => { + await projectRouter.register(registerProjectRoleRouter); + }, + { prefix: "/projects" } + ); + await server.register(registerSnapshotRouter, { prefix: "/secret-snapshot" }); await server.register(registerPITRouter, { prefix: "/pit" }); await server.register(registerSecretApprovalPolicyRouter, { prefix: "/secret-approvals" }); diff --git a/backend/src/ee/routes/v1/project-role-router.ts b/backend/src/ee/routes/v1/project-role-router.ts index 949d4cf7e..23633c8f5 100644 --- a/backend/src/ee/routes/v1/project-role-router.ts +++ b/backend/src/ee/routes/v1/project-role-router.ts @@ -2,26 +2,26 @@ import { packRules } from "@casl/ability/extra"; import { z } from "zod"; import { ProjectMembershipRole, ProjectRolesSchema } from "@app/db/schemas"; -import { - backfillPermissionV1SchemaToV2Schema, - ProjectPermissionV1Schema -} from "@app/ee/services/permission/project-permission"; -import { PROJECT_ROLE } from "@app/lib/api-docs"; +import { checkForInvalidPermissionCombination } from "@app/ee/services/permission/permission-fns"; +import { ProjectPermissionV2Schema } from "@app/ee/services/permission/project-permission"; +import { ApiDocsTags, PROJECT_ROLE } from "@app/lib/api-docs"; import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; import { slugSchema } from "@app/server/lib/schemas"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; -import { SanitizedRoleSchemaV1 } from "@app/server/routes/sanitizedSchemas"; +import { SanitizedRoleSchema } from "@app/server/routes/sanitizedSchemas"; import { AuthMode } from "@app/services/auth/auth-type"; import { ProjectRoleServiceIdentifierType } from "@app/services/project-role/project-role-types"; export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", - url: "/:projectSlug/roles", + url: "/:projectId/roles", config: { rateLimit: writeLimit }, schema: { + hide: false, + tags: [ApiDocsTags.ProjectRoles], description: "Create a project role", security: [ { @@ -29,10 +29,10 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - projectSlug: z.string().trim().describe(PROJECT_ROLE.CREATE.projectSlug) + projectId: z.string().trim().describe(PROJECT_ROLE.CREATE.projectId) }), body: z.object({ - slug: slugSchema({ max: 64 }) + slug: slugSchema({ min: 1, max: 64 }) .refine( (val) => !Object.values(ProjectMembershipRole).includes(val as ProjectMembershipRole), "Please choose a different slug, the slug you have entered is reserved" @@ -40,11 +40,13 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { .describe(PROJECT_ROLE.CREATE.slug), name: z.string().min(1).trim().describe(PROJECT_ROLE.CREATE.name), description: z.string().trim().nullish().describe(PROJECT_ROLE.CREATE.description), - permissions: ProjectPermissionV1Schema.array().describe(PROJECT_ROLE.CREATE.permissions) + permissions: ProjectPermissionV2Schema.array() + .describe(PROJECT_ROLE.CREATE.permissions) + .refine(checkForInvalidPermissionCombination) }), response: { 200: z.object({ - role: SanitizedRoleSchemaV1 + role: SanitizedRoleSchema }) } }, @@ -56,26 +58,27 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { actorOrgId: req.permission.orgId, actor: req.permission.type, filter: { - type: ProjectRoleServiceIdentifierType.SLUG, - projectSlug: req.params.projectSlug + type: ProjectRoleServiceIdentifierType.ID, + projectId: req.params.projectId }, data: { ...req.body, - permissions: JSON.stringify(packRules(backfillPermissionV1SchemaToV2Schema(req.body.permissions, true))) + permissions: JSON.stringify(packRules(req.body.permissions)) } }); - return { role }; } }); server.route({ method: "PATCH", - url: "/:projectSlug/roles/:roleId", + url: "/:projectId/roles/:roleId", config: { rateLimit: writeLimit }, schema: { + hide: false, + tags: [ApiDocsTags.ProjectRoles], description: "Update a project role", security: [ { @@ -83,24 +86,27 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - projectSlug: z.string().trim().describe(PROJECT_ROLE.UPDATE.projectSlug), + projectId: z.string().trim().describe(PROJECT_ROLE.UPDATE.projectId), roleId: z.string().trim().describe(PROJECT_ROLE.UPDATE.roleId) }), body: z.object({ - slug: slugSchema({ max: 64 }) + slug: slugSchema({ min: 1, max: 64 }) .refine( (val) => !Object.values(ProjectMembershipRole).includes(val as ProjectMembershipRole), "Please choose a different slug, the slug you have entered is reserved" ) - .describe(PROJECT_ROLE.UPDATE.slug) - .optional(), + .optional() + .describe(PROJECT_ROLE.UPDATE.slug), name: z.string().trim().optional().describe(PROJECT_ROLE.UPDATE.name), description: z.string().trim().nullish().describe(PROJECT_ROLE.UPDATE.description), - permissions: ProjectPermissionV1Schema.array().describe(PROJECT_ROLE.UPDATE.permissions).optional() + permissions: ProjectPermissionV2Schema.array() + .describe(PROJECT_ROLE.UPDATE.permissions) + .optional() + .superRefine(checkForInvalidPermissionCombination) }), response: { 200: z.object({ - role: SanitizedRoleSchemaV1 + role: SanitizedRoleSchema }) } }, @@ -114,9 +120,7 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { roleId: req.params.roleId, data: { ...req.body, - permissions: req.body.permissions - ? JSON.stringify(packRules(backfillPermissionV1SchemaToV2Schema(req.body.permissions, true))) - : undefined + permissions: req.body.permissions ? JSON.stringify(packRules(req.body.permissions)) : undefined } }); return { role }; @@ -125,11 +129,13 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { server.route({ method: "DELETE", - url: "/:projectSlug/roles/:roleId", + url: "/:projectId/roles/:roleId", config: { rateLimit: writeLimit }, schema: { + hide: false, + tags: [ApiDocsTags.ProjectRoles], description: "Delete a project role", security: [ { @@ -137,12 +143,12 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - projectSlug: z.string().trim().describe(PROJECT_ROLE.DELETE.projectSlug), + projectId: z.string().trim().describe(PROJECT_ROLE.DELETE.projectId), roleId: z.string().trim().describe(PROJECT_ROLE.DELETE.roleId) }), response: { 200: z.object({ - role: SanitizedRoleSchemaV1 + role: SanitizedRoleSchema }) } }, @@ -161,11 +167,13 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:projectSlug/roles", + url: "/:projectId/roles", config: { rateLimit: readLimit }, schema: { + hide: false, + tags: [ApiDocsTags.ProjectRoles], description: "List project role", security: [ { @@ -173,7 +181,7 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - projectSlug: z.string().trim().describe(PROJECT_ROLE.LIST.projectSlug) + projectId: z.string().trim().describe(PROJECT_ROLE.LIST.projectId) }), response: { 200: z.object({ @@ -189,8 +197,8 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { actorOrgId: req.permission.orgId, actor: req.permission.type, filter: { - type: ProjectRoleServiceIdentifierType.SLUG, - projectSlug: req.params.projectSlug + type: ProjectRoleServiceIdentifierType.ID, + projectId: req.params.projectId } }); return { roles }; @@ -199,18 +207,20 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:projectSlug/roles/slug/:slug", + url: "/:projectId/roles/slug/:roleSlug", config: { rateLimit: readLimit }, schema: { + hide: false, + tags: [ApiDocsTags.ProjectRoles], params: z.object({ - projectSlug: z.string().trim().describe(PROJECT_ROLE.GET_ROLE_BY_SLUG.projectSlug), - slug: z.string().trim().describe(PROJECT_ROLE.GET_ROLE_BY_SLUG.roleSlug) + projectId: z.string().trim().describe(PROJECT_ROLE.GET_ROLE_BY_SLUG.projectId), + roleSlug: z.string().trim().describe(PROJECT_ROLE.GET_ROLE_BY_SLUG.roleSlug) }), response: { 200: z.object({ - role: SanitizedRoleSchemaV1.omit({ version: true }) + role: SanitizedRoleSchema.omit({ version: true }) }) } }, @@ -222,12 +232,11 @@ export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { actorOrgId: req.permission.orgId, actor: req.permission.type, filter: { - type: ProjectRoleServiceIdentifierType.SLUG, - projectSlug: req.params.projectSlug + type: ProjectRoleServiceIdentifierType.ID, + projectId: req.params.projectId }, - roleSlug: req.params.slug + roleSlug: req.params.roleSlug }); - return { role }; } }); diff --git a/frontend/src/hooks/api/roles/mutation.tsx b/frontend/src/hooks/api/roles/mutation.tsx index 6df9aa937..e9caa68d5 100644 --- a/frontend/src/hooks/api/roles/mutation.tsx +++ b/frontend/src/hooks/api/roles/mutation.tsx @@ -22,7 +22,7 @@ export const useCreateProjectRole = () => { mutationFn: async ({ projectId, ...dto }: TCreateProjectRoleDTO) => { const { data: { role } - } = await apiRequest.post(`/api/v2/workspace/${projectId}/roles`, dto); + } = await apiRequest.post(`/api/v1/projects/${projectId}/roles`, dto); return role; }, onSuccess: (_, { projectId }) => { @@ -38,7 +38,7 @@ export const useUpdateProjectRole = () => { mutationFn: async ({ id, projectId, ...dto }: TUpdateProjectRoleDTO) => { const { data: { role } - } = await apiRequest.patch(`/api/v2/workspace/${projectId}/roles/${id}`, dto); + } = await apiRequest.patch(`/api/v1/projects/${projectId}/roles/${id}`, dto); return role; }, onSuccess: (_, { projectId, slug }) => { @@ -58,7 +58,7 @@ export const useDeleteProjectRole = () => { mutationFn: async ({ projectId, id }: TDeleteProjectRoleDTO) => { const { data: { role } - } = await apiRequest.delete(`/api/v2/workspace/${projectId}/roles/${id}`); + } = await apiRequest.delete(`/api/v1/projects/${projectId}/roles/${id}`); return role; }, onSuccess: (_, { projectId }) => { diff --git a/frontend/src/hooks/api/roles/queries.tsx b/frontend/src/hooks/api/roles/queries.tsx index a406b6d45..fd7b28db9 100644 --- a/frontend/src/hooks/api/roles/queries.tsx +++ b/frontend/src/hooks/api/roles/queries.tsx @@ -46,13 +46,13 @@ export const roleQueryKeys = { getOrgRole: (orgId: string, roleId: string) => [{ orgId, roleId }, "org-role"] as const, getUserOrgPermissions: ({ orgId }: TGetUserOrgPermissionsDTO) => ["user-permissions", { orgId }] as const, - getUserProjectPermissions: ({ workspaceId }: TGetUserProjectPermissionDTO) => - ["user-project-permissions", { workspaceId }] as const + getUserProjectPermissions: ({ projectId }: TGetUserProjectPermissionDTO) => + ["user-project-permissions", { projectId }] as const }; export const getProjectRoles = async (projectId: string) => { const { data } = await apiRequest.get<{ roles: Array> }>( - `/api/v2/workspace/${projectId}/roles` + `/api/v1/projects/${projectId}/roles` ); return data.roles; }; @@ -69,7 +69,7 @@ export const useGetProjectRoleBySlug = (projectId: string, roleSlug: string) => queryKey: roleQueryKeys.getProjectRoleBySlug(projectId, roleSlug), queryFn: async () => { const { data } = await apiRequest.get<{ role: TProjectRole }>( - `/api/v2/workspace/${projectId}/roles/slug/${roleSlug}` + `/api/v1/projects/${projectId}/roles/slug/${roleSlug}` ); return data.role; }, @@ -131,9 +131,7 @@ export const useGetUserOrgPermissions = ({ orgId }: TGetUserOrgPermissionsDTO) = } }); -export const fetchUserProjectPermissions = async ({ - workspaceId -}: TGetUserProjectPermissionDTO) => { +export const fetchUserProjectPermissions = async ({ projectId }: TGetUserProjectPermissionDTO) => { const { data } = await apiRequest.get<{ data: { permissions: PackRule>>[]; @@ -145,16 +143,16 @@ export const fetchUserProjectPermissions = async ({ actorName: string; }; }; - }>(`/api/v1/workspace/${workspaceId}/permissions`, {}); + }>(`/api/v1/projects/${projectId}/permissions`, {}); return data.data; }; -export const useGetUserProjectPermissions = ({ workspaceId }: TGetUserProjectPermissionDTO) => +export const useGetUserProjectPermissions = ({ projectId }: TGetUserProjectPermissionDTO) => useQuery({ - queryKey: roleQueryKeys.getUserProjectPermissions({ workspaceId }), - queryFn: () => fetchUserProjectPermissions({ workspaceId }), - enabled: Boolean(workspaceId), + queryKey: roleQueryKeys.getUserProjectPermissions({ projectId }), + queryFn: () => fetchUserProjectPermissions({ projectId }), + enabled: Boolean(projectId), select: (data) => { const rule = unpackRules>>(data.permissions); const negatedRules = groupBy( diff --git a/frontend/src/hooks/api/roles/types.ts b/frontend/src/hooks/api/roles/types.ts index 12286bf9b..e94f13305 100644 --- a/frontend/src/hooks/api/roles/types.ts +++ b/frontend/src/hooks/api/roles/types.ts @@ -9,7 +9,7 @@ export enum ProjectMembershipRole { } export type TGetProjectRolesDTO = { - workspaceId?: string; + projectId?: string; }; export type TProjectRole = { @@ -52,7 +52,7 @@ export type TGetUserOrgPermissionsDTO = { }; export type TGetUserProjectPermissionDTO = { - workspaceId: string; + projectId: string; }; export type TCreateOrgRoleDTO = { From 024e16ac608f2f40bf93c6a5c928ad57f0817d6d Mon Sep 17 00:00:00 2001 From: = Date: Thu, 11 Sep 2025 20:02:34 +0530 Subject: [PATCH 05/27] feat: moved trusted ips anmd assume privilege to new /projects --- backend/src/ee/routes/v1/index.ts | 4 +-- backend/src/ee/routes/v1/trusted-ip-router.ts | 24 ++++++------- .../hooks/api/assumePrivileges/mutations.tsx | 4 +-- frontend/src/hooks/api/trustedIps/queries.ts | 36 ++++++++----------- 4 files changed, 31 insertions(+), 37 deletions(-) diff --git a/backend/src/ee/routes/v1/index.ts b/backend/src/ee/routes/v1/index.ts index e8d2153d3..e4831c9a9 100644 --- a/backend/src/ee/routes/v1/index.ts +++ b/backend/src/ee/routes/v1/index.ts @@ -52,8 +52,6 @@ export const registerV1EERoutes = async (server: FastifyZodProvider) => { async (projectRouter) => { await projectRouter.register(registerDepreciatedProjectRoleRouter); await projectRouter.register(registerProjectRouter); - await projectRouter.register(registerTrustedIpRouter); - await projectRouter.register(registerAssumePrivilegeRouter); }, { prefix: "/workspace" } ); @@ -61,6 +59,8 @@ export const registerV1EERoutes = async (server: FastifyZodProvider) => { await server.register( async (projectRouter) => { await projectRouter.register(registerProjectRoleRouter); + await projectRouter.register(registerTrustedIpRouter); + await projectRouter.register(registerAssumePrivilegeRouter); }, { prefix: "/projects" } ); diff --git a/backend/src/ee/routes/v1/trusted-ip-router.ts b/backend/src/ee/routes/v1/trusted-ip-router.ts index b6fc3cc90..5416e8613 100644 --- a/backend/src/ee/routes/v1/trusted-ip-router.ts +++ b/backend/src/ee/routes/v1/trusted-ip-router.ts @@ -9,13 +9,13 @@ import { AuthMode } from "@app/services/auth/auth-type"; export const registerTrustedIpRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/trusted-ips", + url: "/:projectId/trusted-ips", config: { rateLimit: readLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), response: { 200: z.object({ @@ -27,7 +27,7 @@ export const registerTrustedIpRouter = async (server: FastifyZodProvider) => { handler: async (req) => { const trustedIps = await server.services.trustedIp.listIpsByProjectId({ actorAuthMethod: req.permission.authMethod, - projectId: req.params.workspaceId, + projectId: req.params.projectId, actor: req.permission.type, actorId: req.permission.id, actorOrgId: req.permission.orgId @@ -38,13 +38,13 @@ export const registerTrustedIpRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", - url: "/:workspaceId/trusted-ips", + url: "/:projectId/trusted-ips", config: { rateLimit: writeLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), body: z.object({ ipAddress: z.string().trim(), @@ -61,7 +61,7 @@ export const registerTrustedIpRouter = async (server: FastifyZodProvider) => { handler: async (req) => { const { trustedIp, project } = await server.services.trustedIp.addProjectIp({ actorAuthMethod: req.permission.authMethod, - projectId: req.params.workspaceId, + projectId: req.params.projectId, actor: req.permission.type, actorId: req.permission.id, actorOrgId: req.permission.orgId, @@ -86,13 +86,13 @@ export const registerTrustedIpRouter = async (server: FastifyZodProvider) => { server.route({ method: "PATCH", - url: "/:workspaceId/trusted-ips/:trustedIpId", + url: "/:projectId/trusted-ips/:trustedIpId", config: { rateLimit: writeLimit }, schema: { params: z.object({ - workspaceId: z.string().trim(), + projectId: z.string().trim(), trustedIpId: z.string().trim() }), body: z.object({ @@ -108,7 +108,7 @@ export const registerTrustedIpRouter = async (server: FastifyZodProvider) => { onRequest: verifyAuth([AuthMode.JWT]), handler: async (req) => { const { trustedIp, project } = await server.services.trustedIp.updateProjectIp({ - projectId: req.params.workspaceId, + projectId: req.params.projectId, actor: req.permission.type, actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, @@ -135,13 +135,13 @@ export const registerTrustedIpRouter = async (server: FastifyZodProvider) => { server.route({ method: "DELETE", - url: "/:workspaceId/trusted-ips/:trustedIpId", + url: "/:projectId/trusted-ips/:trustedIpId", config: { rateLimit: writeLimit }, schema: { params: z.object({ - workspaceId: z.string().trim(), + projectId: z.string().trim(), trustedIpId: z.string().trim() }), response: { @@ -153,7 +153,7 @@ export const registerTrustedIpRouter = async (server: FastifyZodProvider) => { onRequest: verifyAuth([AuthMode.JWT]), handler: async (req) => { const { trustedIp, project } = await server.services.trustedIp.deleteProjectIp({ - projectId: req.params.workspaceId, + projectId: req.params.projectId, actor: req.permission.type, actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, diff --git a/frontend/src/hooks/api/assumePrivileges/mutations.tsx b/frontend/src/hooks/api/assumePrivileges/mutations.tsx index 50e4e5b6c..687882fe8 100644 --- a/frontend/src/hooks/api/assumePrivileges/mutations.tsx +++ b/frontend/src/hooks/api/assumePrivileges/mutations.tsx @@ -8,7 +8,7 @@ export const useAssumeProjectPrivileges = () => useMutation({ mutationFn: async ({ projectId, actorId, actorType }: TProjectAssumePrivilegesDTO) => { const { data } = await apiRequest.post<{ message: string }>( - `/api/v1/workspace/${projectId}/assume-privileges`, + `/api/v1/projects/${projectId}/assume-privileges`, { actorId, actorType } ); @@ -20,7 +20,7 @@ export const useRemoveAssumeProjectPrivilege = () => useMutation({ mutationFn: async ({ projectId }: { projectId: string }) => { const { data } = await apiRequest.delete<{ message: string }>( - `/api/v1/workspace/${projectId}/assume-privileges` + `/api/v1/projects/${projectId}/assume-privileges` ); return data; diff --git a/frontend/src/hooks/api/trustedIps/queries.ts b/frontend/src/hooks/api/trustedIps/queries.ts index 57a5d5844..36815b313 100644 --- a/frontend/src/hooks/api/trustedIps/queries.ts +++ b/frontend/src/hooks/api/trustedIps/queries.ts @@ -5,15 +5,15 @@ import { apiRequest } from "@app/config/request"; import { TrustedIp } from "./types"; const trustedIps = { - getTrustedIps: (workspaceId: string) => [{ workspaceId }, "trusted-ips"] as const + getTrustedIps: (projectId: string) => [{ projectId }, "trusted-ips"] as const }; -export const useGetTrustedIps = (workspaceId: string) => { +export const useGetTrustedIps = (projectId: string) => { return useQuery({ - queryKey: trustedIps.getTrustedIps(workspaceId), + queryKey: trustedIps.getTrustedIps(projectId), queryFn: async () => { const { data } = await apiRequest.get<{ trustedIps: TrustedIp[] }>( - `/api/v1/workspace/${workspaceId}/trusted-ips` + `/api/v1/projects/${projectId}/trusted-ips` ); return data.trustedIps; @@ -25,17 +25,17 @@ export const useAddTrustedIp = () => { const queryClient = useQueryClient(); return useMutation({ mutationFn: async ({ - workspaceId, + projectId, ipAddress, comment, isActive }: { - workspaceId: string; + projectId: string; ipAddress: string; comment?: string; isActive: boolean; }) => { - const { data } = await apiRequest.post(`/api/v1/workspace/${workspaceId}/trusted-ips`, { + const { data } = await apiRequest.post(`/api/v1/projects/${projectId}/trusted-ips`, { ipAddress, ...(comment ? { comment } : {}), isActive @@ -44,7 +44,7 @@ export const useAddTrustedIp = () => { return data; }, onSuccess(_, dto) { - queryClient.invalidateQueries({ queryKey: trustedIps.getTrustedIps(dto.workspaceId) }); + queryClient.invalidateQueries({ queryKey: trustedIps.getTrustedIps(dto.projectId) }); } }); }; @@ -53,20 +53,20 @@ export const useUpdateTrustedIp = () => { const queryClient = useQueryClient(); return useMutation({ mutationFn: async ({ - workspaceId, + projectId, trustedIpId, ipAddress, comment, isActive }: { - workspaceId: string; + projectId: string; trustedIpId: string; ipAddress: string; comment?: string; isActive: boolean; }) => { const { data } = await apiRequest.patch( - `/api/v1/workspace/${workspaceId}/trusted-ips/${trustedIpId}`, + `/api/v1/projects/${projectId}/trusted-ips/${trustedIpId}`, { ipAddress, ...(comment ? { comment } : {}), @@ -77,7 +77,7 @@ export const useUpdateTrustedIp = () => { return data; }, onSuccess(_, dto) { - queryClient.invalidateQueries({ queryKey: trustedIps.getTrustedIps(dto.workspaceId) }); + queryClient.invalidateQueries({ queryKey: trustedIps.getTrustedIps(dto.projectId) }); } }); }; @@ -85,21 +85,15 @@ export const useUpdateTrustedIp = () => { export const useDeleteTrustedIp = () => { const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ - workspaceId, - trustedIpId - }: { - workspaceId: string; - trustedIpId: string; - }) => { + mutationFn: async ({ projectId, trustedIpId }: { projectId: string; trustedIpId: string }) => { const { data } = await apiRequest.delete( - `/api/v1/workspace/${workspaceId}/trusted-ips/${trustedIpId}` + `/api/v1/projects/${projectId}/trusted-ips/${trustedIpId}` ); return data; }, onSuccess(_, dto) { - queryClient.invalidateQueries({ queryKey: trustedIps.getTrustedIps(dto.workspaceId) }); + queryClient.invalidateQueries({ queryKey: trustedIps.getTrustedIps(dto.projectId) }); } }); }; From 2509890bab0c45d6aeab3eadaabacc7c0f50025f Mon Sep 17 00:00:00 2001 From: = Date: Thu, 11 Sep 2025 20:51:33 +0530 Subject: [PATCH 06/27] feat: completed v1 projects prefixed one with projects and switched in frontend --- .../routes/v1/depreciated-project-router.ts | 195 ++++++++++++++++++ backend/src/ee/routes/v1/index.ts | 6 +- backend/src/ee/routes/v1/project-router.ts | 181 +++------------- backend/src/lib/api-docs/constants.ts | 2 +- frontend/src/hooks/api/kms/mutations.tsx | 4 +- frontend/src/hooks/api/kms/queries.tsx | 4 +- .../src/hooks/api/secretSnapshots/queries.tsx | 38 ++-- .../src/hooks/api/secretSnapshots/types.ts | 6 +- .../src/hooks/api/workspace/mutations.tsx | 22 +- 9 files changed, 266 insertions(+), 192 deletions(-) create mode 100644 backend/src/ee/routes/v1/depreciated-project-router.ts diff --git a/backend/src/ee/routes/v1/depreciated-project-router.ts b/backend/src/ee/routes/v1/depreciated-project-router.ts new file mode 100644 index 000000000..99f5d32a3 --- /dev/null +++ b/backend/src/ee/routes/v1/depreciated-project-router.ts @@ -0,0 +1,195 @@ +import { z } from "zod"; + +import { AuditLogsSchema, SecretSnapshotsSchema } from "@app/db/schemas"; +import { EventType, UserAgentType } from "@app/ee/services/audit-log/audit-log-types"; +import { ApiDocsTags, AUDIT_LOGS, PROJECTS } from "@app/lib/api-docs"; +import { getLastMidnightDateISO, removeTrailingSlash } from "@app/lib/fn"; +import { readLimit } from "@app/server/config/rateLimiter"; +import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; +import { AuthMode } from "@app/services/auth/auth-type"; + +export const registerDepreciatedProjectRouter = async (server: FastifyZodProvider) => { + server.route({ + method: "GET", + url: "/:workspaceId/secret-snapshots", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Projects], + description: "Return project secret snapshots ids", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim().describe(PROJECTS.GET_SNAPSHOTS.projectId) + }), + querystring: z.object({ + environment: z.string().trim().describe(PROJECTS.GET_SNAPSHOTS.environment), + path: z.string().trim().default("/").transform(removeTrailingSlash).describe(PROJECTS.GET_SNAPSHOTS.path), + offset: z.coerce.number().default(0).describe(PROJECTS.GET_SNAPSHOTS.offset), + limit: z.coerce.number().default(20).describe(PROJECTS.GET_SNAPSHOTS.limit) + }), + response: { + 200: z.object({ + secretSnapshots: SecretSnapshotsSchema.array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const secretSnapshots = await server.services.snapshot.listSnapshots({ + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId, + ...req.query + }); + return { secretSnapshots }; + } + }); + + server.route({ + method: "GET", + url: "/:workspaceId/secret-snapshots/count", + config: { + rateLimit: readLimit + }, + schema: { + params: z.object({ + workspaceId: z.string().trim() + }), + querystring: z.object({ + environment: z.string().trim(), + path: z.string().trim().default("/").transform(removeTrailingSlash) + }), + response: { + 200: z.object({ + count: z.number() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const count = await server.services.snapshot.projectSecretSnapshotCount({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId, + environment: req.query.environment, + path: req.query.path + }); + return { count }; + } + }); + + /* + * Daniel: This endpoint is no longer is use. + * We are keeping it for now because it has been exposed in our public api docs for a while, so by removing it we are likely to break users workflows. + * + * Please refer to the new endpoint, GET /api/v1/organization/audit-logs, for the same (and more) functionality. + */ + server.route({ + method: "GET", + url: "/:workspaceId/audit-logs", + config: { + rateLimit: readLimit + }, + schema: { + description: "Return audit logs", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim().describe(AUDIT_LOGS.EXPORT.projectId) + }), + querystring: z + .object({ + eventType: z.nativeEnum(EventType).optional().describe(AUDIT_LOGS.EXPORT.eventType), + userAgentType: z.nativeEnum(UserAgentType).optional().describe(AUDIT_LOGS.EXPORT.userAgentType), + startDate: z.string().datetime().optional().describe(AUDIT_LOGS.EXPORT.startDate), + endDate: z.string().datetime().optional().describe(AUDIT_LOGS.EXPORT.endDate), + offset: z.coerce.number().default(0).describe(AUDIT_LOGS.EXPORT.offset), + limit: z.coerce.number().max(1000).default(20).describe(AUDIT_LOGS.EXPORT.limit), + actor: z.string().optional().describe(AUDIT_LOGS.EXPORT.actor) + }) + .superRefine((el, ctx) => { + if (el.endDate && el.startDate) { + const startDate = new Date(el.startDate); + const endDate = new Date(el.endDate); + const maxAllowedDate = new Date(startDate); + maxAllowedDate.setMonth(maxAllowedDate.getMonth() + 3); + if (endDate < startDate) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + path: ["endDate"], + message: "End date cannot be before start date" + }); + } + if (endDate > maxAllowedDate) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + path: ["endDate"], + message: "Dates must be within 3 months" + }); + } + } + }), + response: { + 200: z.object({ + auditLogs: AuditLogsSchema.omit({ + eventMetadata: true, + eventType: true, + actor: true, + actorMetadata: true + }) + .merge( + z.object({ + project: z + .object({ + name: z.string(), + slug: z.string() + }) + .optional(), + event: z.object({ + type: z.string(), + metadata: z.any() + }), + actor: z.object({ + type: z.string(), + metadata: z.any() + }) + }) + ) + .array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const auditLogs = await server.services.auditLog.listAuditLogs({ + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + + filter: { + ...req.query, + projectId: req.params.workspaceId, + endDate: req.query.endDate || new Date().toISOString(), + startDate: req.query.startDate || getLastMidnightDateISO(), + auditLogActorId: req.query.actor, + eventType: req.query.eventType ? [req.query.eventType] : undefined + } + }); + return { auditLogs }; + } + }); +}; diff --git a/backend/src/ee/routes/v1/index.ts b/backend/src/ee/routes/v1/index.ts index e4831c9a9..ecf56eaf1 100644 --- a/backend/src/ee/routes/v1/index.ts +++ b/backend/src/ee/routes/v1/index.ts @@ -24,6 +24,7 @@ import { registerPITRouter } from "./pit-router"; import { registerProjectRoleRouter } from "./project-role-router"; import { registerDepreciatedProjectRoleRouter } from "./depreciated-project-role-router"; import { registerProjectRouter } from "./project-router"; +import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; import { registerRateLimitRouter } from "./rate-limit-router"; import { registerRelayRouter } from "./relay-router"; import { registerSamlRouter } from "./saml-router"; @@ -48,10 +49,12 @@ export const registerV1EERoutes = async (server: FastifyZodProvider) => { // org role starts with organization await server.register(registerOrgRoleRouter, { prefix: "/organization" }); await server.register(registerLicenseRouter, { prefix: "/organizations" }); + + // depreciated in favour of infisical workspace await server.register( async (projectRouter) => { await projectRouter.register(registerDepreciatedProjectRoleRouter); - await projectRouter.register(registerProjectRouter); + await projectRouter.register(registerDepreciatedProjectRouter); }, { prefix: "/workspace" } ); @@ -61,6 +64,7 @@ export const registerV1EERoutes = async (server: FastifyZodProvider) => { await projectRouter.register(registerProjectRoleRouter); await projectRouter.register(registerTrustedIpRouter); await projectRouter.register(registerAssumePrivilegeRouter); + await projectRouter.register(registerProjectRouter); }, { prefix: "/projects" } ); diff --git a/backend/src/ee/routes/v1/project-router.ts b/backend/src/ee/routes/v1/project-router.ts index 8d8cc4817..4988565f8 100644 --- a/backend/src/ee/routes/v1/project-router.ts +++ b/backend/src/ee/routes/v1/project-router.ts @@ -1,9 +1,9 @@ import { z } from "zod"; -import { AuditLogsSchema, SecretSnapshotsSchema } from "@app/db/schemas"; -import { EventType, UserAgentType } from "@app/ee/services/audit-log/audit-log-types"; -import { ApiDocsTags, AUDIT_LOGS, PROJECTS } from "@app/lib/api-docs"; -import { getLastMidnightDateISO, removeTrailingSlash } from "@app/lib/fn"; +import { SecretSnapshotsSchema } from "@app/db/schemas"; +import { EventType } from "@app/ee/services/audit-log/audit-log-types"; +import { ApiDocsTags, PROJECTS } from "@app/lib/api-docs"; +import { removeTrailingSlash } from "@app/lib/fn"; import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { AuthMode } from "@app/services/auth/auth-type"; @@ -12,7 +12,7 @@ import { KmsType } from "@app/services/kms/kms-types"; export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/secret-snapshots", + url: "/:projectId/secret-snapshots", config: { rateLimit: readLimit }, @@ -26,7 +26,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - workspaceId: z.string().trim().describe(PROJECTS.GET_SNAPSHOTS.workspaceId) + projectId: z.string().trim().describe(PROJECTS.GET_SNAPSHOTS.projectId) }), querystring: z.object({ environment: z.string().trim().describe(PROJECTS.GET_SNAPSHOTS.environment), @@ -47,7 +47,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorAuthMethod: req.permission.authMethod, actorId: req.permission.id, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, ...req.query }); return { secretSnapshots }; @@ -56,13 +56,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/secret-snapshots/count", + url: "/:projectId/secret-snapshots/count", config: { rateLimit: readLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), querystring: z.object({ environment: z.string().trim(), @@ -81,7 +81,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, environment: req.query.environment, path: req.query.path }); @@ -89,140 +89,15 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } }); - /* - * Daniel: This endpoint is no longer is use. - * We are keeping it for now because it has been exposed in our public api docs for a while, so by removing it we are likely to break users workflows. - * - * Please refer to the new endpoint, GET /api/v1/organization/audit-logs, for the same (and more) functionality. - */ server.route({ method: "GET", - url: "/:workspaceId/audit-logs", - config: { - rateLimit: readLimit - }, - schema: { - description: "Return audit logs", - security: [ - { - bearerAuth: [] - } - ], - params: z.object({ - workspaceId: z.string().trim().describe(AUDIT_LOGS.EXPORT.projectId) - }), - querystring: z - .object({ - eventType: z.nativeEnum(EventType).optional().describe(AUDIT_LOGS.EXPORT.eventType), - userAgentType: z.nativeEnum(UserAgentType).optional().describe(AUDIT_LOGS.EXPORT.userAgentType), - startDate: z.string().datetime().optional().describe(AUDIT_LOGS.EXPORT.startDate), - endDate: z.string().datetime().optional().describe(AUDIT_LOGS.EXPORT.endDate), - offset: z.coerce.number().default(0).describe(AUDIT_LOGS.EXPORT.offset), - limit: z.coerce.number().max(1000).default(20).describe(AUDIT_LOGS.EXPORT.limit), - actor: z.string().optional().describe(AUDIT_LOGS.EXPORT.actor) - }) - .superRefine((el, ctx) => { - if (el.endDate && el.startDate) { - const startDate = new Date(el.startDate); - const endDate = new Date(el.endDate); - const maxAllowedDate = new Date(startDate); - maxAllowedDate.setMonth(maxAllowedDate.getMonth() + 3); - if (endDate < startDate) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - path: ["endDate"], - message: "End date cannot be before start date" - }); - } - if (endDate > maxAllowedDate) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - path: ["endDate"], - message: "Dates must be within 3 months" - }); - } - } - }), - response: { - 200: z.object({ - auditLogs: AuditLogsSchema.omit({ - eventMetadata: true, - eventType: true, - actor: true, - actorMetadata: true - }) - .merge( - z.object({ - project: z - .object({ - name: z.string(), - slug: z.string() - }) - .optional(), - event: z.object({ - type: z.string(), - metadata: z.any() - }), - actor: z.object({ - type: z.string(), - metadata: z.any() - }) - }) - ) - .array() - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), - handler: async (req) => { - const auditLogs = await server.services.auditLog.listAuditLogs({ - actorId: req.permission.id, - actorOrgId: req.permission.orgId, - actorAuthMethod: req.permission.authMethod, - actor: req.permission.type, - - filter: { - ...req.query, - projectId: req.params.workspaceId, - endDate: req.query.endDate || new Date().toISOString(), - startDate: req.query.startDate || getLastMidnightDateISO(), - auditLogActorId: req.query.actor, - eventType: req.query.eventType ? [req.query.eventType] : undefined - } - }); - return { auditLogs }; - } - }); - - server.route({ - method: "GET", - url: "/:workspaceId/audit-logs/filters/actors", + url: "/:projectId/kms", config: { rateLimit: readLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() - }), - response: { - 200: z.object({ - actors: z.string().array() - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async () => ({ actors: [] }) - }); - - server.route({ - method: "GET", - url: "/:workspaceId/kms", - config: { - rateLimit: readLimit - }, - schema: { - params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), response: { 200: z.object({ @@ -241,7 +116,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId + projectId: req.params.projectId }); return kmsKey; @@ -250,13 +125,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "PATCH", - url: "/:workspaceId/kms", + url: "/:projectId/kms", config: { rateLimit: writeLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), body: z.object({ kms: z.discriminatedUnion("type", [ @@ -281,13 +156,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, ...req.body }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.params.workspaceId, + projectId: req.params.projectId, event: { type: EventType.UPDATE_PROJECT_KMS, metadata: { @@ -307,13 +182,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/kms/backup", + url: "/:projectId/kms/backup", config: { rateLimit: readLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), response: { 200: z.object({ @@ -328,12 +203,12 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId + projectId: req.params.projectId }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.params.workspaceId, + projectId: req.params.projectId, event: { type: EventType.GET_PROJECT_KMS_BACKUP, metadata: {} @@ -346,13 +221,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", - url: "/:workspaceId/kms/backup", + url: "/:projectId/kms/backup", config: { rateLimit: writeLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), body: z.object({ backup: z.string().min(1) @@ -374,13 +249,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, backup: req.body.backup }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.params.workspaceId, + projectId: req.params.projectId, event: { type: EventType.LOAD_PROJECT_KMS_BACKUP, metadata: {} @@ -393,13 +268,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", - url: "/:workspaceId/migrate-v3", + url: "/:projectId/migrate-v3", config: { rateLimit: writeLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), response: { @@ -415,7 +290,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId + projectId: req.params.projectId }); return migration; diff --git a/backend/src/lib/api-docs/constants.ts b/backend/src/lib/api-docs/constants.ts index d61694d8f..154634d41 100644 --- a/backend/src/lib/api-docs/constants.ts +++ b/backend/src/lib/api-docs/constants.ts @@ -732,7 +732,7 @@ export const PROJECTS = { workspaceId: "The ID of the project to get the key from." }, GET_SNAPSHOTS: { - workspaceId: "The ID of the project to get snapshots from.", + projectId: "The ID of the project to get snapshots from.", environment: "The environment to get snapshots from.", path: "The secret path to get snapshots from.", offset: "The offset to start from. If you enter 10, it will start from the 10th snapshot.", diff --git a/frontend/src/hooks/api/kms/mutations.tsx b/frontend/src/hooks/api/kms/mutations.tsx index 2bf27bf6a..4fb0a5af5 100644 --- a/frontend/src/hooks/api/kms/mutations.tsx +++ b/frontend/src/hooks/api/kms/mutations.tsx @@ -75,7 +75,7 @@ export const useUpdateProjectKms = (projectId: string) => { mutationFn: async ( updatedData: { type: KmsType.Internal } | { type: KmsType.External; kmsId: string } ) => { - const { data } = await apiRequest.patch(`/api/v1/workspace/${projectId}/kms`, { + const { data } = await apiRequest.patch(`/api/v1/projects/${projectId}/kms`, { kms: updatedData }); @@ -91,7 +91,7 @@ export const useLoadProjectKmsBackup = (projectId: string) => { const queryClient = useQueryClient(); return useMutation({ mutationFn: async (backup: string) => { - const { data } = await apiRequest.post(`/api/v1/workspace/${projectId}/kms/backup`, { + const { data } = await apiRequest.post(`/api/v1/projects/${projectId}/kms/backup`, { backup }); diff --git a/frontend/src/hooks/api/kms/queries.tsx b/frontend/src/hooks/api/kms/queries.tsx index 9efa9cc51..97d25376c 100644 --- a/frontend/src/hooks/api/kms/queries.tsx +++ b/frontend/src/hooks/api/kms/queries.tsx @@ -49,7 +49,7 @@ export const useGetActiveProjectKms = (projectId: string) => { name: string; isExternal: string; }; - }>(`/api/v1/workspace/${projectId}/kms`); + }>(`/api/v1/projects/${projectId}/kms`); return secretManagerKmsKey; } }); @@ -58,7 +58,7 @@ export const useGetActiveProjectKms = (projectId: string) => { export const fetchProjectKmsBackup = async (projectId: string) => { const { data } = await apiRequest.get<{ secretManager: string; - }>(`/api/v1/workspace/${projectId}/kms/backup`); + }>(`/api/v1/projects/${projectId}/kms/backup`); return data; }; diff --git a/frontend/src/hooks/api/secretSnapshots/queries.tsx b/frontend/src/hooks/api/secretSnapshots/queries.tsx index daee39054..f5492918c 100644 --- a/frontend/src/hooks/api/secretSnapshots/queries.tsx +++ b/frontend/src/hooks/api/secretSnapshots/queries.tsx @@ -14,25 +14,25 @@ import { } from "./types"; export const secretSnapshotKeys = { - list: ({ workspaceId, environment, directory }: Omit) => - [{ workspaceId, environment, directory }, "secret-snapshot"] as const, + list: ({ projectId, environment, directory }: Omit) => + [{ projectId, environment, directory }, "secret-snapshot"] as const, snapshotData: (snapshotId: string) => [{ snapshotId }, "secret-snapshot"] as const, - count: ({ environment, workspaceId, directory }: Omit) => [ - { workspaceId, environment, directory }, + count: ({ environment, projectId, directory }: Omit) => [ + { projectId, environment, directory }, "count", "secret-snapshot" ] }; const fetchWorkspaceSnaphots = async ({ - workspaceId, + projectId, environment, directory = "/", limit = 10, offset = 0 }: TGetSecretSnapshotsDTO & { offset: number }) => { const res = await apiRequest.get<{ secretSnapshots: TSecretSnapshot[] }>( - `/api/v1/workspace/${workspaceId}/secret-snapshots`, + `/api/v1/projects/${projectId}/secret-snapshots`, { params: { limit, @@ -49,7 +49,7 @@ const fetchWorkspaceSnaphots = async ({ export const useGetWorkspaceSnapshotList = (dto: TGetSecretSnapshotsDTO & { isPaused?: boolean }) => useInfiniteQuery({ initialPageParam: 0, - enabled: Boolean(dto.workspaceId && dto.environment) && !dto.isPaused, + enabled: Boolean(dto.projectId && dto.environment) && !dto.isPaused, queryKey: secretSnapshotKeys.list({ ...dto }), queryFn: ({ pageParam }) => fetchWorkspaceSnaphots({ ...dto, offset: pageParam }), getNextPageParam: (lastPage, pages) => @@ -115,12 +115,12 @@ export const useGetSnapshotSecrets = ({ snapshotId }: TSnapshotDataProps) => }); const fetchWorkspaceSecretSnaphotCount = async ( - workspaceId: string, + projectId: string, environment: string, directory = "/" ) => { const res = await apiRequest.get<{ count: number }>( - `/api/v1/workspace/${workspaceId}/secret-snapshots/count`, + `/api/v1/projects/${projectId}/secret-snapshots/count`, { params: { environment, @@ -132,15 +132,15 @@ const fetchWorkspaceSecretSnaphotCount = async ( }; export const useGetWsSnapshotCount = ({ - workspaceId, + projectId, environment, directory, isPaused }: Omit & { isPaused?: boolean }) => useQuery({ - enabled: Boolean(workspaceId && environment) && !isPaused, - queryKey: secretSnapshotKeys.count({ workspaceId, environment, directory }), - queryFn: () => fetchWorkspaceSecretSnaphotCount(workspaceId, environment, directory) + enabled: Boolean(projectId && environment) && !isPaused, + queryKey: secretSnapshotKeys.count({ projectId, environment, directory }), + queryFn: () => fetchWorkspaceSecretSnaphotCount(projectId, environment, directory) }); export const usePerformSecretRollback = () => { @@ -151,22 +151,22 @@ export const usePerformSecretRollback = () => { const { data } = await apiRequest.post(`/api/v1/secret-snapshot/${snapshotId}/rollback`); return data; }, - onSuccess: (_, { workspaceId, environment, directory }) => { + onSuccess: (_, { projectId, environment, directory }) => { queryClient.invalidateQueries({ - queryKey: [{ workspaceId, environment, secretPath: directory }, "secrets"] + queryKey: [{ projectId, environment, secretPath: directory }, "secrets"] }); queryClient.invalidateQueries({ - queryKey: ["secret-folders", { projectId: workspaceId, environment, path: directory }] + queryKey: ["secret-folders", { projectId, environment, path: directory }] }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.list({ workspaceId, environment, directory }) + queryKey: secretSnapshotKeys.list({ projectId, environment, directory }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.count({ workspaceId, environment, directory }) + queryKey: secretSnapshotKeys.count({ projectId, environment, directory }) }); queryClient.invalidateQueries({ queryKey: dashboardKeys.getDashboardSecrets({ - projectId: workspaceId, + projectId, secretPath: directory ?? "/" }) }); diff --git a/frontend/src/hooks/api/secretSnapshots/types.ts b/frontend/src/hooks/api/secretSnapshots/types.ts index e7ebb18de..82c04253b 100644 --- a/frontend/src/hooks/api/secretSnapshots/types.ts +++ b/frontend/src/hooks/api/secretSnapshots/types.ts @@ -3,7 +3,7 @@ import { WorkspaceEnv } from "../types"; export type TSecretSnapshot = { id: string; - workspace: string; + projectId: string; secretVersions: string[]; createdAt: string; updatedAt: string; @@ -22,7 +22,7 @@ export type TSnapshotDataProps = { }; export type TGetSecretSnapshotsDTO = { - workspaceId: string; + projectId: string; limit: number; environment: string; directory?: string; @@ -30,7 +30,7 @@ export type TGetSecretSnapshotsDTO = { export type TSecretRollbackDTO = { snapshotId: string; - workspaceId: string; + projectId: string; environment: string; directory?: string; }; diff --git a/frontend/src/hooks/api/workspace/mutations.tsx b/frontend/src/hooks/api/workspace/mutations.tsx index 5cd7e3bbc..f62fc831c 100644 --- a/frontend/src/hooks/api/workspace/mutations.tsx +++ b/frontend/src/hooks/api/workspace/mutations.tsx @@ -3,7 +3,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; import { userKeys } from "../users/query-keys"; -import { workspaceKeys } from "./query-keys"; +import { workspaceKeys as projectKeys } from "./query-keys"; import { TProjectSshConfig, TUpdateProjectSshConfigDTO, @@ -32,7 +32,7 @@ export const useAddGroupToWorkspace = () => { }, onSuccess: (_, { projectId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceGroupMemberships(projectId) + queryKey: projectKeys.getWorkspaceGroupMemberships(projectId) }); } }); @@ -52,10 +52,10 @@ export const useUpdateGroupWorkspaceRole = () => { }, onSuccess: (_, { projectId, groupId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceGroupMemberships(projectId) + queryKey: projectKeys.getWorkspaceGroupMemberships(projectId) }); queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceGroupMembershipDetails(projectId, groupId) + queryKey: projectKeys.getWorkspaceGroupMembershipDetails(projectId, groupId) }); } }); @@ -79,7 +79,7 @@ export const useDeleteGroupFromWorkspace = () => { }, onSuccess: (_, { projectId, username }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceGroupMemberships(projectId) + queryKey: projectKeys.getWorkspaceGroupMemberships(projectId) }); if (username) { @@ -96,20 +96,20 @@ export const useLeaveProject = () => { return apiRequest.delete(`/api/v1/workspace/${workspaceId}/leave`); }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); + queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); } }); }; export const useMigrateProjectToV3 = () => { const queryClient = useQueryClient(); - return useMutation({ - mutationFn: ({ workspaceId }) => { - return apiRequest.post(`/api/v1/workspace/${workspaceId}/migrate-v3`); + return useMutation({ + mutationFn: ({ projectId }) => { + return apiRequest.post(`/api/v1/projects/${projectId}/migrate-v3`); }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserWorkspace() }); } }); @@ -136,7 +136,7 @@ export const useUpdateProjectSshConfig = () => { }, onSuccess: (_, { projectId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getProjectSshConfig(projectId) + queryKey: projectKeys.getProjectSshConfig(projectId) }); } }); From cd2a39b374b7dc343950b8c450c9599cc8123a99 Mon Sep 17 00:00:00 2001 From: = Date: Fri, 12 Sep 2025 13:00:32 +0530 Subject: [PATCH 07/27] featL completed v1 routes for projects --- ....ts => depreciated-project-role-router.ts} | 2 +- backend/src/ee/routes/v2/index.ts | 6 +- backend/src/lib/api-docs/constants.ts | 26 +- .../v1/depreciated-project-env-router.ts | 298 +++++++ .../depreciated-project-membership-router.ts | 378 +++++++++ .../routes/v1/depreciated-project-router.ts | 724 ++++++++++++++++++ .../v1/depreciated-secret-tag-router.ts | 213 ++++++ backend/src/server/routes/v1/index.ts | 25 +- .../server/routes/v1/project-env-router.ts | 80 +- .../routes/v1/project-membership-router.ts | 49 +- .../src/server/routes/v1/project-router.ts | 250 ++---- .../src/server/routes/v1/secret-tag-router.ts | 36 +- .../WorkspaceContext/WorkspaceContext.tsx | 4 +- .../src/hooks/api/folderCommits/queries.tsx | 88 +-- frontend/src/hooks/api/identities/types.ts | 4 +- frontend/src/hooks/api/keys/index.tsx | 1 - frontend/src/hooks/api/keys/queries.tsx | 43 -- frontend/src/hooks/api/keys/types.ts | 29 - .../src/hooks/api/pkiSubscriber/mutations.tsx | 8 +- .../src/hooks/api/secretFolders/queries.tsx | 32 +- frontend/src/hooks/api/secrets/mutations.tsx | 16 +- .../src/hooks/api/serviceTokens/queries.tsx | 4 +- frontend/src/hooks/api/sshCa/mutations.tsx | 12 +- frontend/src/hooks/api/sshHost/mutations.tsx | 8 +- .../src/hooks/api/sshHostGroup/mutations.tsx | 12 +- frontend/src/hooks/api/types.ts | 3 +- frontend/src/hooks/api/users/mutation.tsx | 6 +- .../api/workflowIntegrations/mutation.tsx | 6 +- frontend/src/hooks/api/workspace/index.tsx | 2 +- .../src/hooks/api/workspace/mutations.tsx | 18 +- frontend/src/hooks/api/workspace/queries.tsx | 365 +++++---- .../src/hooks/api/workspace/query-keys.tsx | 88 +-- frontend/src/hooks/api/workspace/types.ts | 24 +- .../ProjectSelect/ProjectSelect.tsx | 4 +- .../AuditLogsPage/components/LogsFilter.tsx | 4 +- .../AuditLogsPage/components/LogsSection.tsx | 4 +- .../components/AllProjectView.tsx | 4 +- .../ProjectsPage/components/MyProjectView.tsx | 8 +- .../RollbackPreviewTab/RollbackPreviewTab.tsx | 2 +- .../SecretListView/SecretListView.tsx | 4 +- 40 files changed, 2147 insertions(+), 743 deletions(-) rename backend/src/ee/routes/v2/{project-role-router.ts => depreciated-project-role-router.ts} (98%) create mode 100644 backend/src/server/routes/v1/depreciated-project-env-router.ts create mode 100644 backend/src/server/routes/v1/depreciated-project-membership-router.ts create mode 100644 backend/src/server/routes/v1/depreciated-project-router.ts create mode 100644 backend/src/server/routes/v1/depreciated-secret-tag-router.ts delete mode 100644 frontend/src/hooks/api/keys/index.tsx delete mode 100644 frontend/src/hooks/api/keys/queries.tsx delete mode 100644 frontend/src/hooks/api/keys/types.ts diff --git a/backend/src/ee/routes/v2/project-role-router.ts b/backend/src/ee/routes/v2/depreciated-project-role-router.ts similarity index 98% rename from backend/src/ee/routes/v2/project-role-router.ts rename to backend/src/ee/routes/v2/depreciated-project-role-router.ts index 538929316..fd61acc36 100644 --- a/backend/src/ee/routes/v2/project-role-router.ts +++ b/backend/src/ee/routes/v2/depreciated-project-role-router.ts @@ -12,7 +12,7 @@ import { SanitizedRoleSchema } from "@app/server/routes/sanitizedSchemas"; import { AuthMode } from "@app/services/auth/auth-type"; import { ProjectRoleServiceIdentifierType } from "@app/services/project-role/project-role-types"; -export const registerProjectRoleRouter = async (server: FastifyZodProvider) => { +export const registerDepreciatedProjectRoleRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", url: "/:projectId/roles", diff --git a/backend/src/ee/routes/v2/index.ts b/backend/src/ee/routes/v2/index.ts index e082773dd..9f6aa0511 100644 --- a/backend/src/ee/routes/v2/index.ts +++ b/backend/src/ee/routes/v2/index.ts @@ -9,13 +9,13 @@ import { import { registerGatewayV2Router } from "./gateway-router"; import { registerIdentityProjectAdditionalPrivilegeRouter } from "./identity-project-additional-privilege-router"; -import { registerProjectRoleRouter } from "./project-role-router"; +import { registerDepreciatedProjectRoleRouter } from "./depreciated-project-role-router"; export const registerV2EERoutes = async (server: FastifyZodProvider) => { - // org role starts with organization await server.register( async (projectRouter) => { - await projectRouter.register(registerProjectRoleRouter); + // this has been depreciated and moved to /api/v1/projects + await projectRouter.register(registerDepreciatedProjectRoleRouter); }, { prefix: "/workspace" } ); diff --git a/backend/src/lib/api-docs/constants.ts b/backend/src/lib/api-docs/constants.ts index 154634d41..ba799ec36 100644 --- a/backend/src/lib/api-docs/constants.ts +++ b/backend/src/lib/api-docs/constants.ts @@ -711,13 +711,13 @@ export const PROJECTS = { template: "The name of the project template, if specified, to apply to this project." }, DELETE: { - workspaceId: "The ID of the project to delete." + projectId: "The ID of the project to delete." }, GET: { - workspaceId: "The ID of the project." + projectId: "The ID of the project." }, UPDATE: { - workspaceId: "The ID of the project to update.", + projectId: "The ID of the project to update.", name: "The new name of the project.", projectDescription: "An optional description label for the project.", autoCapitalization: "Disable or enable auto-capitalization for the project.", @@ -729,7 +729,7 @@ export const PROJECTS = { secretDetectionIgnoreValues: "The list of secret values to ignore for secret detection." }, GET_KEY: { - workspaceId: "The ID of the project to get the key from." + projectId: "The ID of the project to get the key from." }, GET_SNAPSHOTS: { projectId: "The ID of the project to get snapshots from.", @@ -759,10 +759,10 @@ export const PROJECTS = { projectId: "The ID of the project to list groups for." }, LIST_INTEGRATION: { - workspaceId: "The ID of the project to list integrations for." + projectId: "The ID of the project to list integrations for." }, LIST_INTEGRATION_AUTHORIZATION: { - workspaceId: "The ID of the project to list integration auths for." + projectId: "The ID of the project to list integration auths for." }, LIST_SSH_CAS: { projectId: "The ID of the project to list SSH CAs for." @@ -815,15 +815,15 @@ export const PROJECT_USERS = { usernames: "A list of usernames to remove from the project." }, GET_USER_MEMBERSHIPS: { - workspaceId: "The ID of the project to get memberships from." + projectId: "The ID of the project to get memberships from." }, GET_USER_MEMBERSHIP: { - workspaceId: "The ID of the project to get memberships from.", + projectId: "The ID of the project to get memberships from.", membershipId: "The ID of the user's project membership.", username: "The username to get project membership of. Email is the default username." }, UPDATE_USER_MEMBERSHIP: { - workspaceId: "The ID of the project to update the membership for.", + projectId: "The ID of the project to update the membership for.", membershipId: "The ID of the membership to update.", roles: "A list of roles to update the membership to." } @@ -877,24 +877,24 @@ export const PROJECT_IDENTITIES = { export const ENVIRONMENTS = { CREATE: { - workspaceId: "The ID of the project to create the environment in.", + projectId: "The ID of the project to create the environment in.", name: "The name of the environment to create.", slug: "The slug of the environment to create.", position: "The position of the environment. The lowest number will be displayed as the first environment." }, UPDATE: { - workspaceId: "The ID of the project to update the environment in.", + projectId: "The ID of the project to update the environment in.", id: "The ID of the environment to update.", name: "The new name of the environment.", slug: "The new slug of the environment.", position: "The new position of the environment. The lowest number will be displayed as the first environment." }, DELETE: { - workspaceId: "The ID of the project to delete the environment from.", + projectId: "The ID of the project to delete the environment from.", id: "The ID of the environment to delete." }, GET: { - workspaceId: "The ID of the project the environment belongs to.", + projectId: "The ID of the project the environment belongs to.", id: "The ID of the environment to fetch." } } as const; diff --git a/backend/src/server/routes/v1/depreciated-project-env-router.ts b/backend/src/server/routes/v1/depreciated-project-env-router.ts new file mode 100644 index 000000000..b03b61664 --- /dev/null +++ b/backend/src/server/routes/v1/depreciated-project-env-router.ts @@ -0,0 +1,298 @@ +import { z } from "zod"; + +import { ProjectEnvironmentsSchema } from "@app/db/schemas"; +import { EventType } from "@app/ee/services/audit-log/audit-log-types"; +import { ApiDocsTags, ENVIRONMENTS } from "@app/lib/api-docs"; +import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; +import { slugSchema } from "@app/server/lib/schemas"; +import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; +import { AuthMode } from "@app/services/auth/auth-type"; + +export const registerDepreciatedProjectEnvRouter = async (server: FastifyZodProvider) => { + server.route({ + method: "GET", + url: "/:workspaceId/environments/:envId", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Environments], + description: "Get Environment", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + // NOTE(daniel): workspaceId isn't used, but we need to keep it for backwards compatibility. The endpoint defined below, uses no project ID, and is takes a pure environment ID. + workspaceId: z.string().trim().describe(ENVIRONMENTS.GET.projectId), + envId: z.string().trim().describe(ENVIRONMENTS.GET.id) + }), + response: { + 200: z.object({ + environment: ProjectEnvironmentsSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const environment = await server.services.projectEnv.getEnvironmentById({ + actorId: req.permission.id, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + id: req.params.envId + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: environment.projectId, + event: { + type: EventType.GET_ENVIRONMENT, + metadata: { + id: environment.id + } + } + }); + + return { environment }; + } + }); + + server.route({ + method: "GET", + url: "/environments/:envId", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Environments], + description: "Get Environment by ID", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + envId: z.string().trim().describe(ENVIRONMENTS.GET.id) + }), + response: { + 200: z.object({ + environment: ProjectEnvironmentsSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const environment = await server.services.projectEnv.getEnvironmentById({ + actorId: req.permission.id, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + id: req.params.envId + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: environment.projectId, + event: { + type: EventType.GET_ENVIRONMENT, + metadata: { + id: environment.id + } + } + }); + + return { environment }; + } + }); + + server.route({ + method: "POST", + url: "/:workspaceId/environments", + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Environments], + description: "Create environment", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim().describe(ENVIRONMENTS.CREATE.projectId) + }), + body: z.object({ + name: z.string().trim().describe(ENVIRONMENTS.CREATE.name), + position: z.number().min(1).optional().describe(ENVIRONMENTS.CREATE.position), + slug: slugSchema({ max: 64 }).describe(ENVIRONMENTS.CREATE.slug) + }), + response: { + 200: z.object({ + message: z.string(), + workspace: z.string(), + environment: ProjectEnvironmentsSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const environment = await server.services.projectEnv.createEnvironment({ + actorId: req.permission.id, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + projectId: req.params.workspaceId, + ...req.body + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: environment.projectId, + event: { + type: EventType.CREATE_ENVIRONMENT, + metadata: { + name: environment.name, + slug: environment.slug + } + } + }); + return { + message: "Successfully created new environment", + workspace: req.params.workspaceId, + environment + }; + } + }); + + server.route({ + method: "PATCH", + url: "/:workspaceId/environments/:id", + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Environments], + description: "Update environment", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim().describe(ENVIRONMENTS.UPDATE.projectId), + id: z.string().trim().describe(ENVIRONMENTS.UPDATE.id) + }), + body: z.object({ + slug: slugSchema({ max: 64 }).optional().describe(ENVIRONMENTS.UPDATE.slug), + name: z.string().trim().optional().describe(ENVIRONMENTS.UPDATE.name), + position: z.number().optional().describe(ENVIRONMENTS.UPDATE.position) + }), + response: { + 200: z.object({ + message: z.string(), + workspace: z.string(), + environment: ProjectEnvironmentsSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { environment, old } = await server.services.projectEnv.updateEnvironment({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId, + id: req.params.id, + ...req.body + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: environment.projectId, + event: { + type: EventType.UPDATE_ENVIRONMENT, + metadata: { + oldName: old.name, + oldSlug: old.slug, + oldPos: old.position, + newName: environment.name, + newSlug: environment.slug, + newPos: environment.position + } + } + }); + + return { + message: "Successfully updated environment", + workspace: req.params.workspaceId, + environment + }; + } + }); + + server.route({ + method: "DELETE", + url: "/:workspaceId/environments/:id", + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Environments], + description: "Delete environment", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim().describe(ENVIRONMENTS.DELETE.projectId), + id: z.string().trim().describe(ENVIRONMENTS.DELETE.id) + }), + response: { + 200: z.object({ + message: z.string(), + workspace: z.string(), + environment: ProjectEnvironmentsSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const environment = await server.services.projectEnv.deleteEnvironment({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId, + id: req.params.id + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: environment.projectId, + event: { + type: EventType.DELETE_ENVIRONMENT, + metadata: { + slug: environment.slug, + name: environment.name + } + } + }); + + return { + message: "Successfully deleted environment", + workspace: req.params.workspaceId, + environment + }; + } + }); +}; diff --git a/backend/src/server/routes/v1/depreciated-project-membership-router.ts b/backend/src/server/routes/v1/depreciated-project-membership-router.ts new file mode 100644 index 000000000..63d4d6dcd --- /dev/null +++ b/backend/src/server/routes/v1/depreciated-project-membership-router.ts @@ -0,0 +1,378 @@ +import { z } from "zod"; + +import { + OrgMembershipsSchema, + ProjectMembershipsSchema, + ProjectUserMembershipRolesSchema, + UserEncryptionKeysSchema, + UsersSchema +} from "@app/db/schemas"; +import { EventType } from "@app/ee/services/audit-log/audit-log-types"; +import { ApiDocsTags, PROJECT_USERS } from "@app/lib/api-docs"; +import { ms } from "@app/lib/ms"; +import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; +import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; +import { AuthMode } from "@app/services/auth/auth-type"; +import { ProjectUserMembershipTemporaryMode } from "@app/services/project-membership/project-membership-types"; + +export const registerDepreciatedProjectMembershipRouter = async (server: FastifyZodProvider) => { + server.route({ + method: "GET", + url: "/:workspaceId/memberships", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.ProjectUsers], + description: "Return project user memberships", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIPS.projectId) + }), + response: { + 200: z.object({ + memberships: ProjectMembershipsSchema.extend({ + user: UsersSchema.pick({ + email: true, + firstName: true, + lastName: true, + id: true, + username: true + }).merge(UserEncryptionKeysSchema.pick({ publicKey: true })), + roles: z.array( + z.object({ + id: z.string(), + role: z.string(), + customRoleId: z.string().optional().nullable(), + customRoleName: z.string().optional().nullable(), + customRoleSlug: z.string().optional().nullable(), + isTemporary: z.boolean(), + temporaryMode: z.string().optional().nullable(), + temporaryRange: z.string().nullable().optional(), + temporaryAccessStartTime: z.date().nullable().optional(), + temporaryAccessEndTime: z.date().nullable().optional() + }) + ) + }) + .omit({ updatedAt: true }) + .array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const memberships = await server.services.projectMembership.getProjectMemberships({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId + }); + return { memberships }; + } + }); + + server.route({ + method: "GET", + url: "/:workspaceId/memberships/:membershipId", + config: { + rateLimit: readLimit + }, + schema: { + description: "Return project user membership", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().min(1).trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIP.projectId), + membershipId: z.string().min(1).trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIP.membershipId) + }), + response: { + 200: z.object({ + membership: ProjectMembershipsSchema.extend({ + user: UsersSchema.pick({ + email: true, + firstName: true, + lastName: true, + id: true, + username: true + }).merge(UserEncryptionKeysSchema.pick({ publicKey: true })), + roles: z.array( + z.object({ + id: z.string(), + role: z.string(), + customRoleId: z.string().optional().nullable(), + customRoleName: z.string().optional().nullable(), + customRoleSlug: z.string().optional().nullable(), + isTemporary: z.boolean(), + temporaryMode: z.string().optional().nullable(), + temporaryRange: z.string().nullable().optional(), + temporaryAccessStartTime: z.date().nullable().optional(), + temporaryAccessEndTime: z.date().nullable().optional() + }) + ) + }).omit({ updatedAt: true }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const membership = await server.services.projectMembership.getProjectMembershipById({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId, + id: req.params.membershipId + }); + return { membership }; + } + }); + + server.route({ + method: "POST", + url: "/:workspaceId/memberships/details", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.ProjectUsers], + description: "Return project user memberships", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().min(1).trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIP.projectId) + }), + body: z.object({ + username: z.string().min(1).trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIP.username) + }), + response: { + 200: z.object({ + membership: ProjectMembershipsSchema.extend({ + user: UsersSchema.pick({ + email: true, + firstName: true, + lastName: true, + id: true + }).merge(UserEncryptionKeysSchema.pick({ publicKey: true })), + roles: z.array( + z.object({ + id: z.string(), + role: z.string(), + customRoleId: z.string().optional().nullable(), + customRoleName: z.string().optional().nullable(), + customRoleSlug: z.string().optional().nullable(), + isTemporary: z.boolean(), + temporaryMode: z.string().optional().nullable(), + temporaryRange: z.string().nullable().optional(), + temporaryAccessStartTime: z.date().nullable().optional(), + temporaryAccessEndTime: z.date().nullable().optional() + }) + ) + }).omit({ createdAt: true, updatedAt: true }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const membership = await server.services.projectMembership.getProjectMembershipByUsername({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId, + username: req.body.username + }); + return { membership }; + } + }); + + server.route({ + method: "POST", + url: "/:workspaceId/memberships", + config: { + rateLimit: writeLimit + }, + schema: { + params: z.object({ + workspaceId: z.string().trim() + }), + body: z.object({ + members: z + .object({ + orgMembershipId: z.string().trim(), + workspaceEncryptedKey: z.string().trim(), + workspaceEncryptedNonce: z.string().trim() + }) + .array() + .min(1) + }), + response: { + 200: z.object({ + success: z.boolean(), + data: OrgMembershipsSchema.array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const data = await server.services.projectMembership.addUsersToProject({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId, + members: req.body.members + }); + + await server.services.auditLog.createAuditLog({ + projectId: req.params.workspaceId, + ...req.auditLogInfo, + event: { + type: EventType.ADD_BATCH_WORKSPACE_MEMBER, + metadata: data.map(({ userId }) => ({ + userId: userId || "", + email: "" + })) + } + }); + + return { data, success: true }; + } + }); + + server.route({ + method: "PATCH", + url: "/:workspaceId/memberships/:membershipId", + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.ProjectUsers], + description: "Update project user membership", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim().describe(PROJECT_USERS.UPDATE_USER_MEMBERSHIP.projectId), + membershipId: z.string().trim().describe(PROJECT_USERS.UPDATE_USER_MEMBERSHIP.membershipId) + }), + body: z.object({ + roles: z + .array( + z.union([ + z.object({ + role: z.string(), + isTemporary: z.literal(false).default(false) + }), + z.object({ + role: z.string(), + isTemporary: z.literal(true), + temporaryMode: z.nativeEnum(ProjectUserMembershipTemporaryMode), + temporaryRange: z.string().refine((val) => ms(val) > 0, "Temporary range must be a positive number"), + temporaryAccessStartTime: z.string().datetime() + }) + ]) + ) + .min(1) + .refine((data) => data.some(({ isTemporary }) => !isTemporary), "At least one long lived role is required") + .describe(PROJECT_USERS.UPDATE_USER_MEMBERSHIP.roles) + }), + response: { + 200: z.object({ + roles: ProjectUserMembershipRolesSchema.array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const roles = await server.services.projectMembership.updateProjectMembership({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId, + membershipId: req.params.membershipId, + roles: req.body.roles + }); + + // await server.services.auditLog.createAuditLog({ + // ...req.auditLogInfo, + // projectId: req.params.workspaceId, + // event: { + // type: EventType.UPDATE_USER_WORKSPACE_ROLE, + // metadata: { + // userId: membership.userId, + // newRole: req.body.role, + // oldRole: membership.role, + // email: "" + // } + // } + // }); + return { roles }; + } + }); + + server.route({ + method: "DELETE", + url: "/:workspaceId/memberships/:membershipId", + config: { + rateLimit: writeLimit + }, + schema: { + description: "Delete project user membership", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim(), + membershipId: z.string().trim() + }), + response: { + 200: z.object({ + membership: ProjectMembershipsSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const membership = await server.services.projectMembership.deleteProjectMembership({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId, + membershipId: req.params.membershipId + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: req.params.workspaceId, + event: { + type: EventType.REMOVE_WORKSPACE_MEMBER, + metadata: { + userId: membership.userId, + email: "" + } + } + }); + return { membership }; + } + }); +}; diff --git a/backend/src/server/routes/v1/depreciated-project-router.ts b/backend/src/server/routes/v1/depreciated-project-router.ts new file mode 100644 index 000000000..89fb93662 --- /dev/null +++ b/backend/src/server/routes/v1/depreciated-project-router.ts @@ -0,0 +1,724 @@ +import { z } from "zod"; + +import { + IntegrationsSchema, + ProjectRolesSchema, + ProjectSlackConfigsSchema, + ProjectSshConfigsSchema, + ProjectType, + SortDirection +} from "@app/db/schemas"; +import { ProjectMicrosoftTeamsConfigsSchema } from "@app/db/schemas/project-microsoft-teams-configs"; +import { EventType } from "@app/ee/services/audit-log/audit-log-types"; +import { ApiDocsTags, PROJECTS } from "@app/lib/api-docs"; +import { CharacterType, characterValidator } from "@app/lib/validator/validate-string"; +import { re2Validator } from "@app/lib/zod"; +import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; +import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; +import { AuthMode } from "@app/services/auth/auth-type"; +import { validateMicrosoftTeamsChannelsSchema } from "@app/services/microsoft-teams/microsoft-teams-fns"; +import { ProjectFilterType, SearchProjectSortBy } from "@app/services/project/project-types"; +import { validateSlackChannelsField } from "@app/services/slack/slack-auth-validators"; +import { WorkflowIntegration } from "@app/services/workflow-integration/workflow-integration-types"; + +import { integrationAuthPubSchema, SanitizedProjectSchema } from "../sanitizedSchemas"; + +const projectWithEnv = SanitizedProjectSchema.merge( + z.object({ + _id: z.string(), + environments: z.object({ name: z.string(), slug: z.string(), id: z.string() }).array() + }) +); + +export const registerDepreciatedProjectRouter = async (server: FastifyZodProvider) => { + server.route({ + method: "GET", + url: "/", + config: { + rateLimit: readLimit + }, + schema: { + querystring: z.object({ + includeRoles: z + .enum(["true", "false"]) + .default("false") + .transform((value) => value === "true"), + type: z.nativeEnum(ProjectType).optional() + }), + response: { + 200: z.object({ + workspaces: projectWithEnv + .extend({ + roles: ProjectRolesSchema.array().optional() + }) + .array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const workspaces = await server.services.project.getProjects({ + includeRoles: req.query.includeRoles, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + type: req.query.type + }); + return { workspaces }; + } + }); + + server.route({ + method: "GET", + url: "/:workspaceId", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Projects], + description: "Get project", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim().describe(PROJECTS.GET.workspaceId) + }), + response: { + 200: z.object({ + workspace: projectWithEnv.optional() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const workspace = await server.services.project.getAProject({ + filter: { + type: ProjectFilterType.ID, + projectId: req.params.workspaceId + }, + actorAuthMethod: req.permission.authMethod, + actorId: req.permission.id, + actor: req.permission.type, + actorOrgId: req.permission.orgId + }); + return { workspace }; + } + }); + + server.route({ + method: "DELETE", + url: "/:workspaceId", + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Projects], + description: "Delete project", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim().describe(PROJECTS.DELETE.projectId) + }), + response: { + 200: z.object({ + workspace: SanitizedProjectSchema.optional() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const workspace = await server.services.project.deleteProject({ + filter: { + type: ProjectFilterType.ID, + projectId: req.params.workspaceId + }, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + actorOrgId: req.permission.orgId + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + orgId: req.permission.orgId, + projectId: req.params.workspaceId, + event: { + type: EventType.DELETE_PROJECT, + metadata: workspace + } + }); + + return { workspace }; + } + }); + + server.route({ + method: "PATCH", + url: "/:workspaceId", + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Projects], + description: "Update project", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim().describe(PROJECTS.UPDATE.workspaceId) + }), + body: z.object({ + name: z + .string() + .trim() + .max(64, { message: "Name must be 64 or fewer characters" }) + .optional() + .describe(PROJECTS.UPDATE.name), + description: z + .string() + .trim() + .max(256, { message: "Description must be 256 or fewer characters" }) + .optional() + .describe(PROJECTS.UPDATE.projectDescription), + autoCapitalization: z.boolean().optional().describe(PROJECTS.UPDATE.autoCapitalization), + hasDeleteProtection: z.boolean().optional().describe(PROJECTS.UPDATE.hasDeleteProtection), + slug: z + .string() + .trim() + .max(64, { message: "Slug must be 64 characters or fewer" }) + .refine(re2Validator(/^[a-z0-9]+(?:[_-][a-z0-9]+)*$/), { + message: + "Project slug can only contain lowercase letters and numbers, with optional single hyphens (-) or underscores (_) between words. Cannot start or end with a hyphen or underscore." + }) + .optional() + .describe(PROJECTS.UPDATE.slug), + secretSharing: z.boolean().optional().describe(PROJECTS.UPDATE.secretSharing), + showSnapshotsLegacy: z.boolean().optional().describe(PROJECTS.UPDATE.showSnapshotsLegacy), + defaultProduct: z.nativeEnum(ProjectType).optional().describe(PROJECTS.UPDATE.defaultProduct), + secretDetectionIgnoreValues: z + .array(z.string()) + .optional() + .describe(PROJECTS.UPDATE.secretDetectionIgnoreValues) + }), + response: { + 200: z.object({ + workspace: SanitizedProjectSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const workspace = await server.services.project.updateProject({ + filter: { + type: ProjectFilterType.ID, + projectId: req.params.workspaceId + }, + update: { + name: req.body.name, + description: req.body.description, + autoCapitalization: req.body.autoCapitalization, + defaultProduct: req.body.defaultProduct, + hasDeleteProtection: req.body.hasDeleteProtection, + slug: req.body.slug, + secretSharing: req.body.secretSharing, + showSnapshotsLegacy: req.body.showSnapshotsLegacy, + secretDetectionIgnoreValues: req.body.secretDetectionIgnoreValues + }, + actorAuthMethod: req.permission.authMethod, + actorId: req.permission.id, + actor: req.permission.type, + actorOrgId: req.permission.orgId + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + orgId: req.permission.orgId, + projectId: req.params.workspaceId, + event: { + type: EventType.UPDATE_PROJECT, + metadata: req.body + } + }); + + return { + workspace + }; + } + }); + + server.route({ + method: "PUT", + url: "/:workspaceSlug/audit-logs-retention", + config: { + rateLimit: writeLimit + }, + schema: { + params: z.object({ + workspaceSlug: z.string().trim() + }), + body: z.object({ + auditLogsRetentionDays: z.number().min(0) + }), + response: { + 200: z.object({ + message: z.string(), + workspace: SanitizedProjectSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const workspace = await server.services.project.updateAuditLogsRetention({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + workspaceSlug: req.params.workspaceSlug, + auditLogsRetentionDays: req.body.auditLogsRetentionDays + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + orgId: req.permission.orgId, + projectId: workspace.id, + event: { + type: EventType.UPDATE_PROJECT, + metadata: req.body + } + }); + + return { + message: "Successfully updated project's audit logs retention period", + workspace + }; + } + }); + + server.route({ + method: "GET", + url: "/:workspaceId/integrations", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Integrations], + description: "List integrations for a project.", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim().describe(PROJECTS.LIST_INTEGRATION.workspaceId) + }), + response: { + 200: z.object({ + integrations: IntegrationsSchema.merge( + z.object({ + environment: z.object({ + id: z.string(), + name: z.string(), + slug: z.string() + }) + }) + ).array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const integrations = await server.services.integration.listIntegrationByProject({ + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId + }); + return { integrations }; + } + }); + + server.route({ + method: "GET", + url: "/:workspaceId/authorizations", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Integrations], + description: "List integration auth objects for a workspace.", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + workspaceId: z.string().trim().describe(PROJECTS.LIST_INTEGRATION_AUTHORIZATION.workspaceId) + }), + response: { + 200: z.object({ + authorizations: integrationAuthPubSchema.array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const authorizations = await server.services.integrationAuth.listIntegrationAuthByProjectId({ + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId + }); + return { authorizations }; + } + }); + + server.route({ + method: "GET", + url: "/:workspaceId/ssh-config", + config: { + rateLimit: readLimit + }, + schema: { + params: z.object({ + workspaceId: z.string().trim() + }), + response: { + 200: ProjectSshConfigsSchema.pick({ + id: true, + createdAt: true, + updatedAt: true, + projectId: true, + defaultUserSshCaId: true, + defaultHostSshCaId: true + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const sshConfig = await server.services.project.getProjectSshConfig({ + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: sshConfig.projectId, + event: { + type: EventType.GET_PROJECT_SSH_CONFIG, + metadata: { + id: sshConfig.id, + projectId: sshConfig.projectId + } + } + }); + + return sshConfig; + } + }); + + server.route({ + method: "PATCH", + url: "/:workspaceId/ssh-config", + config: { + rateLimit: writeLimit + }, + schema: { + params: z.object({ + workspaceId: z.string().trim() + }), + body: z.object({ + defaultUserSshCaId: z.string().optional(), + defaultHostSshCaId: z.string().optional() + }), + response: { + 200: ProjectSshConfigsSchema.pick({ + id: true, + createdAt: true, + updatedAt: true, + projectId: true, + defaultUserSshCaId: true, + defaultHostSshCaId: true + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const sshConfig = await server.services.project.updateProjectSshConfig({ + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId, + ...req.body + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: sshConfig.projectId, + event: { + type: EventType.UPDATE_PROJECT_SSH_CONFIG, + metadata: { + id: sshConfig.id, + projectId: sshConfig.projectId, + defaultUserSshCaId: sshConfig.defaultUserSshCaId, + defaultHostSshCaId: sshConfig.defaultHostSshCaId + } + } + }); + + return sshConfig; + } + }); + + server.route({ + method: "GET", + url: "/:workspaceId/workflow-integration-config/:integration", + config: { + rateLimit: readLimit + }, + schema: { + params: z.object({ + workspaceId: z.string().trim(), + integration: z.nativeEnum(WorkflowIntegration) + }), + response: { + 200: z.discriminatedUnion("integration", [ + ProjectSlackConfigsSchema.pick({ + id: true, + isAccessRequestNotificationEnabled: true, + accessRequestChannels: true, + isSecretRequestNotificationEnabled: true, + secretRequestChannels: true + }).merge( + z.object({ + integration: z.literal(WorkflowIntegration.SLACK), + integrationId: z.string() + }) + ), + ProjectMicrosoftTeamsConfigsSchema.pick({ + id: true, + isAccessRequestNotificationEnabled: true, + accessRequestChannels: true, + isSecretRequestNotificationEnabled: true, + secretRequestChannels: true + }).merge( + z.object({ + integration: z.literal(WorkflowIntegration.MICROSOFT_TEAMS), + integrationId: z.string() + }) + ) + ]) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const config = await server.services.project.getProjectWorkflowIntegrationConfig({ + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId, + integration: req.params.integration + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: req.params.workspaceId, + event: { + type: EventType.GET_PROJECT_WORKFLOW_INTEGRATION_CONFIG, + metadata: { + id: config.id, + integration: config.integration + } + } + }); + + return config; + } + }); + + server.route({ + method: "DELETE", + url: "/:projectId/workflow-integration/:integration/:integrationId", + config: { + rateLimit: writeLimit + }, + schema: { + params: z.object({ + projectId: z.string().trim(), + integration: z.nativeEnum(WorkflowIntegration), + integrationId: z.string() + }), + response: { + 200: z.object({ + integrationConfig: z.object({ + id: z.string() + }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const deletedIntegration = await server.services.project.deleteProjectWorkflowIntegration({ + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + projectId: req.params.projectId, + integration: req.params.integration, + integrationId: req.params.integrationId + }); + + return { + integrationConfig: deletedIntegration + }; + } + }); + + server.route({ + method: "PUT", + url: "/:workspaceId/workflow-integration", + config: { + rateLimit: readLimit + }, + schema: { + params: z.object({ + workspaceId: z.string().trim() + }), + + body: z.discriminatedUnion("integration", [ + z.object({ + integration: z.literal(WorkflowIntegration.SLACK), + integrationId: z.string(), + accessRequestChannels: validateSlackChannelsField, + secretRequestChannels: validateSlackChannelsField, + isAccessRequestNotificationEnabled: z.boolean(), + isSecretRequestNotificationEnabled: z.boolean() + }), + z.object({ + integration: z.literal(WorkflowIntegration.MICROSOFT_TEAMS), + integrationId: z.string(), + accessRequestChannels: validateMicrosoftTeamsChannelsSchema, + secretRequestChannels: validateMicrosoftTeamsChannelsSchema, + isAccessRequestNotificationEnabled: z.boolean(), + isSecretRequestNotificationEnabled: z.boolean() + }) + ]), + response: { + 200: z.discriminatedUnion("integration", [ + ProjectSlackConfigsSchema.pick({ + id: true, + isAccessRequestNotificationEnabled: true, + accessRequestChannels: true, + isSecretRequestNotificationEnabled: true, + secretRequestChannels: true + }).merge( + z.object({ + integration: z.literal(WorkflowIntegration.SLACK), + integrationId: z.string() + }) + ), + ProjectMicrosoftTeamsConfigsSchema.pick({ + id: true, + isAccessRequestNotificationEnabled: true, + isSecretRequestNotificationEnabled: true + }).merge( + z.object({ + integration: z.literal(WorkflowIntegration.MICROSOFT_TEAMS), + integrationId: z.string(), + accessRequestChannels: validateMicrosoftTeamsChannelsSchema, + secretRequestChannels: validateMicrosoftTeamsChannelsSchema + }) + ) + ]) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const workflowIntegrationConfig = await server.services.project.updateProjectWorkflowIntegration({ + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + projectId: req.params.workspaceId, + ...req.body + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: req.params.workspaceId, + event: { + type: EventType.UPDATE_PROJECT_WORKFLOW_INTEGRATION_CONFIG, + metadata: { + id: workflowIntegrationConfig.id, + integrationId: workflowIntegrationConfig.integrationId, + integration: workflowIntegrationConfig.integration, + isAccessRequestNotificationEnabled: workflowIntegrationConfig.isAccessRequestNotificationEnabled, + accessRequestChannels: workflowIntegrationConfig.accessRequestChannels, + isSecretRequestNotificationEnabled: workflowIntegrationConfig.isSecretRequestNotificationEnabled, + secretRequestChannels: workflowIntegrationConfig.secretRequestChannels + } + } + }); + + return workflowIntegrationConfig; + } + }); + + server.route({ + method: "POST", + url: "/search", + config: { + rateLimit: readLimit + }, + schema: { + body: z.object({ + limit: z.number().default(100), + offset: z.number().default(0), + type: z.nativeEnum(ProjectType).optional(), + orderBy: z.nativeEnum(SearchProjectSortBy).optional().default(SearchProjectSortBy.NAME), + orderDirection: z.nativeEnum(SortDirection).optional().default(SortDirection.ASC), + name: z + .string() + .trim() + .refine((val) => characterValidator([CharacterType.AlphaNumeric, CharacterType.Hyphen])(val), { + message: "Invalid pattern: only alphanumeric characters, - are allowed." + }) + .optional() + }), + response: { + 200: z.object({ + projects: SanitizedProjectSchema.extend({ isMember: z.boolean() }).array(), + totalCount: z.number() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { docs: projects, totalCount } = await server.services.project.searchProjects({ + permission: req.permission, + ...req.body + }); + + return { projects, totalCount }; + } + }); +}; diff --git a/backend/src/server/routes/v1/depreciated-secret-tag-router.ts b/backend/src/server/routes/v1/depreciated-secret-tag-router.ts new file mode 100644 index 000000000..246867cab --- /dev/null +++ b/backend/src/server/routes/v1/depreciated-secret-tag-router.ts @@ -0,0 +1,213 @@ +import { z } from "zod"; + +import { SecretTagsSchema } from "@app/db/schemas"; +import { ApiDocsTags, SECRET_TAGS } from "@app/lib/api-docs"; +import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; +import { slugSchema } from "@app/server/lib/schemas"; +import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; +import { AuthMode } from "@app/services/auth/auth-type"; + +export const registerDepreciatedSecretTagRouter = async (server: FastifyZodProvider) => { + server.route({ + method: "GET", + url: "/:projectId/tags", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Folders], + params: z.object({ + projectId: z.string().trim().describe(SECRET_TAGS.LIST.projectId) + }), + response: { + 200: z.object({ + workspaceTags: SecretTagsSchema.array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const workspaceTags = await server.services.secretTag.getProjectTags({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.projectId + }); + return { workspaceTags }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/tags/:tagId", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Folders], + params: z.object({ + projectId: z.string().trim().describe(SECRET_TAGS.GET_TAG_BY_ID.projectId), + tagId: z.string().trim().describe(SECRET_TAGS.GET_TAG_BY_ID.tagId) + }), + response: { + 200: z.object({ + // akhilmhdh: for terraform backward compatiability + workspaceTag: SecretTagsSchema.extend({ name: z.string() }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const workspaceTag = await server.services.secretTag.getTagById({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + id: req.params.tagId + }); + return { workspaceTag }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/tags/slug/:tagSlug", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Folders], + params: z.object({ + projectId: z.string().trim().describe(SECRET_TAGS.GET_TAG_BY_SLUG.projectId), + tagSlug: z.string().trim().describe(SECRET_TAGS.GET_TAG_BY_SLUG.tagSlug) + }), + response: { + 200: z.object({ + // akhilmhdh: for terraform backward compatiability + workspaceTag: SecretTagsSchema.extend({ name: z.string() }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const workspaceTag = await server.services.secretTag.getTagBySlug({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + slug: req.params.tagSlug, + projectId: req.params.projectId + }); + return { workspaceTag }; + } + }); + + server.route({ + method: "POST", + url: "/:projectId/tags", + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Folders], + params: z.object({ + projectId: z.string().trim().describe(SECRET_TAGS.CREATE.projectId) + }), + body: z.object({ + slug: slugSchema({ max: 64 }).describe(SECRET_TAGS.CREATE.slug), + color: z.string().trim().describe(SECRET_TAGS.CREATE.color) + }), + response: { + 200: z.object({ + workspaceTag: SecretTagsSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const workspaceTag = await server.services.secretTag.createTag({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.projectId, + ...req.body + }); + return { workspaceTag }; + } + }); + + server.route({ + method: "PATCH", + url: "/:projectId/tags/:tagId", + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Folders], + params: z.object({ + projectId: z.string().trim().describe(SECRET_TAGS.UPDATE.projectId), + tagId: z.string().trim().describe(SECRET_TAGS.UPDATE.tagId) + }), + body: z.object({ + slug: slugSchema({ max: 64 }).describe(SECRET_TAGS.UPDATE.slug), + color: z.string().trim().describe(SECRET_TAGS.UPDATE.color) + }), + response: { + 200: z.object({ + workspaceTag: SecretTagsSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const workspaceTag = await server.services.secretTag.updateTag({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.body, + id: req.params.tagId + }); + return { workspaceTag }; + } + }); + + server.route({ + method: "DELETE", + url: "/:projectId/tags/:tagId", + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Folders], + params: z.object({ + projectId: z.string().trim().describe(SECRET_TAGS.DELETE.projectId), + tagId: z.string().trim().describe(SECRET_TAGS.DELETE.tagId) + }), + response: { + 200: z.object({ + workspaceTag: SecretTagsSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const workspaceTag = await server.services.secretTag.deleteTag({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + id: req.params.tagId + }); + return { workspaceTag }; + } + }); +}; diff --git a/backend/src/server/routes/v1/index.ts b/backend/src/server/routes/v1/index.ts index 6108be32b..caca4b6f6 100644 --- a/backend/src/server/routes/v1/index.ts +++ b/backend/src/server/routes/v1/index.ts @@ -13,6 +13,9 @@ import { registerCaRouter } from "./certificate-authority-router"; import { CERTIFICATE_AUTHORITY_REGISTER_ROUTER_MAP } from "./certificate-authority-routers"; import { registerCertRouter } from "./certificate-router"; import { registerCertificateTemplateRouter } from "./certificate-template-router"; +import { registerDepreciatedProjectEnvRouter } from "./depreciated-project-env-router"; +import { registerDepreciatedProjectMembershipRouter } from "./depreciated-project-membership-router"; +import { registerDepreciatedSecretTagRouter } from "./depreciated-secret-tag-router"; import { registerEventRouter } from "./event-router"; import { registerExternalGroupOrgRoleMappingRouter } from "./external-group-org-role-mapping-router"; import { registerIdentityAccessTokenRouter } from "./identity-access-token-router"; @@ -43,10 +46,10 @@ import { registerPkiSubscriberRouter } from "./pki-subscriber-router"; import { registerProjectEnvRouter } from "./project-env-router"; import { registerProjectKeyRouter } from "./project-key-router"; import { registerProjectMembershipRouter } from "./project-membership-router"; +import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; import { registerProjectRouter } from "./project-router"; import { SECRET_REMINDER_REGISTER_ROUTER_MAP } from "./reminder-routers"; import { registerSecretFolderRouter } from "./secret-folder-router"; -import { registerSecretImportRouter } from "./secret-import-router"; import { registerSecretRequestsRouter } from "./secret-requests-router"; import { registerSecretSharingRouter } from "./secret-sharing-router"; import { registerSecretTagRouter } from "./secret-tag-router"; @@ -57,6 +60,7 @@ import { registerUserEngagementRouter } from "./user-engagement-router"; import { registerUserRouter } from "./user-router"; import { registerWebhookRouter } from "./webhook-router"; import { registerWorkflowIntegrationRouter } from "./workflow-integration-router"; +import { registerSecretImportRouter } from "./secret-import-router"; export const registerV1Routes = async (server: FastifyZodProvider) => { await server.register(registerSsoRouter, { prefix: "/sso" }); @@ -101,15 +105,26 @@ export const registerV1Routes = async (server: FastifyZodProvider) => { await server.register( async (projectRouter) => { - await projectRouter.register(registerProjectRouter); - await projectRouter.register(registerProjectEnvRouter); + await projectRouter.register(registerDepreciatedProjectRouter); + await projectRouter.register(registerDepreciatedProjectEnvRouter); + // depreciated completed in use await projectRouter.register(registerProjectKeyRouter); - await projectRouter.register(registerProjectMembershipRouter); - await projectRouter.register(registerSecretTagRouter); + await projectRouter.register(registerDepreciatedProjectMembershipRouter); + await projectRouter.register(registerDepreciatedSecretTagRouter); }, { prefix: "/workspace" } ); + await server.register( + async (projectRouter) => { + await projectRouter.register(registerProjectRouter); + await projectRouter.register(registerProjectMembershipRouter); + await projectRouter.register(registerProjectEnvRouter); + await projectRouter.register(registerSecretTagRouter); + }, + { prefix: "/projects" } + ); + await server.register( async (pkiRouter) => { await pkiRouter.register(registerCaRouter, { prefix: "/ca" }); diff --git a/backend/src/server/routes/v1/project-env-router.ts b/backend/src/server/routes/v1/project-env-router.ts index 9a136e160..af71c5466 100644 --- a/backend/src/server/routes/v1/project-env-router.ts +++ b/backend/src/server/routes/v1/project-env-router.ts @@ -11,58 +11,7 @@ import { AuthMode } from "@app/services/auth/auth-type"; export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/environments/:envId", - config: { - rateLimit: readLimit - }, - schema: { - hide: false, - tags: [ApiDocsTags.Environments], - description: "Get Environment", - security: [ - { - bearerAuth: [] - } - ], - params: z.object({ - // NOTE(daniel): workspaceId isn't used, but we need to keep it for backwards compatibility. The endpoint defined below, uses no project ID, and is takes a pure environment ID. - workspaceId: z.string().trim().describe(ENVIRONMENTS.GET.workspaceId), - envId: z.string().trim().describe(ENVIRONMENTS.GET.id) - }), - response: { - 200: z.object({ - environment: ProjectEnvironmentsSchema - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), - handler: async (req) => { - const environment = await server.services.projectEnv.getEnvironmentById({ - actorId: req.permission.id, - actor: req.permission.type, - actorOrgId: req.permission.orgId, - actorAuthMethod: req.permission.authMethod, - id: req.params.envId - }); - - await server.services.auditLog.createAuditLog({ - ...req.auditLogInfo, - projectId: environment.projectId, - event: { - type: EventType.GET_ENVIRONMENT, - metadata: { - id: environment.id - } - } - }); - - return { environment }; - } - }); - - server.route({ - method: "GET", - url: "/environments/:envId", + url: "/:projectId/environments/:envId", config: { rateLimit: readLimit }, @@ -76,7 +25,8 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - envId: z.string().trim().describe(ENVIRONMENTS.GET.id) + envId: z.string().trim().describe(ENVIRONMENTS.GET.id), + projectId: z.string().trim().describe(ENVIRONMENTS.GET.projectId) }), response: { 200: z.object({ @@ -111,7 +61,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", - url: "/:workspaceId/environments", + url: "/:projectId/environments", config: { rateLimit: writeLimit }, @@ -125,7 +75,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - workspaceId: z.string().trim().describe(ENVIRONMENTS.CREATE.workspaceId) + projectId: z.string().trim().describe(ENVIRONMENTS.CREATE.projectId) }), body: z.object({ name: z.string().trim().describe(ENVIRONMENTS.CREATE.name), @@ -147,7 +97,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { actor: req.permission.type, actorOrgId: req.permission.orgId, actorAuthMethod: req.permission.authMethod, - projectId: req.params.workspaceId, + projectId: req.params.projectId, ...req.body }); @@ -164,7 +114,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { }); return { message: "Successfully created new environment", - workspace: req.params.workspaceId, + workspace: req.params.projectId, environment }; } @@ -172,7 +122,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { server.route({ method: "PATCH", - url: "/:workspaceId/environments/:id", + url: "/:projectId/environments/:id", config: { rateLimit: writeLimit }, @@ -186,7 +136,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - workspaceId: z.string().trim().describe(ENVIRONMENTS.UPDATE.workspaceId), + projectId: z.string().trim().describe(ENVIRONMENTS.UPDATE.projectId), id: z.string().trim().describe(ENVIRONMENTS.UPDATE.id) }), body: z.object({ @@ -209,7 +159,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, id: req.params.id, ...req.body }); @@ -232,7 +182,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { return { message: "Successfully updated environment", - workspace: req.params.workspaceId, + workspace: req.params.projectId, environment }; } @@ -240,7 +190,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { server.route({ method: "DELETE", - url: "/:workspaceId/environments/:id", + url: "/:projectId/environments/:id", config: { rateLimit: writeLimit }, @@ -254,7 +204,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - workspaceId: z.string().trim().describe(ENVIRONMENTS.DELETE.workspaceId), + projectId: z.string().trim().describe(ENVIRONMENTS.DELETE.projectId), id: z.string().trim().describe(ENVIRONMENTS.DELETE.id) }), response: { @@ -272,7 +222,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, id: req.params.id }); @@ -290,7 +240,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { return { message: "Successfully deleted environment", - workspace: req.params.workspaceId, + workspace: req.params.projectId, environment }; } diff --git a/backend/src/server/routes/v1/project-membership-router.ts b/backend/src/server/routes/v1/project-membership-router.ts index cd3734efc..95048b048 100644 --- a/backend/src/server/routes/v1/project-membership-router.ts +++ b/backend/src/server/routes/v1/project-membership-router.ts @@ -18,7 +18,7 @@ import { ProjectUserMembershipTemporaryMode } from "@app/services/project-member export const registerProjectMembershipRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/memberships", + url: "/:projectId/memberships", config: { rateLimit: readLimit }, @@ -32,7 +32,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider } ], params: z.object({ - workspaceId: z.string().trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIPS.workspaceId) + projectId: z.string().trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIPS.projectId) }), response: { 200: z.object({ @@ -71,7 +71,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId + projectId: req.params.projectId }); return { memberships }; } @@ -79,7 +79,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider server.route({ method: "GET", - url: "/:workspaceId/memberships/:membershipId", + url: "/:projectId/memberships/:membershipId", config: { rateLimit: readLimit }, @@ -91,7 +91,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider } ], params: z.object({ - workspaceId: z.string().min(1).trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIP.workspaceId), + projectId: z.string().min(1).trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIP.projectId), membershipId: z.string().min(1).trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIP.membershipId) }), response: { @@ -129,16 +129,17 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, id: req.params.membershipId }); return { membership }; } }); + // TODO(depri): ask this usage again server.route({ method: "POST", - url: "/:workspaceId/memberships/details", + url: "/:projectId/memberships/details", config: { rateLimit: readLimit }, @@ -152,7 +153,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider } ], params: z.object({ - workspaceId: z.string().min(1).trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIP.workspaceId) + projectId: z.string().min(1).trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIP.projectId) }), body: z.object({ username: z.string().min(1).trim().describe(PROJECT_USERS.GET_USER_MEMBERSHIP.username) @@ -191,7 +192,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, username: req.body.username }); return { membership }; @@ -200,13 +201,13 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider server.route({ method: "POST", - url: "/:workspaceId/memberships", + url: "/:projectId/memberships", config: { rateLimit: writeLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), body: z.object({ members: z @@ -232,12 +233,12 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, members: req.body.members }); await server.services.auditLog.createAuditLog({ - projectId: req.params.workspaceId, + projectId: req.params.projectId, ...req.auditLogInfo, event: { type: EventType.ADD_BATCH_WORKSPACE_MEMBER, @@ -254,7 +255,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider server.route({ method: "PATCH", - url: "/:workspaceId/memberships/:membershipId", + url: "/:projectId/memberships/:membershipId", config: { rateLimit: writeLimit }, @@ -268,7 +269,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider } ], params: z.object({ - workspaceId: z.string().trim().describe(PROJECT_USERS.UPDATE_USER_MEMBERSHIP.workspaceId), + projectId: z.string().trim().describe(PROJECT_USERS.UPDATE_USER_MEMBERSHIP.projectId), membershipId: z.string().trim().describe(PROJECT_USERS.UPDATE_USER_MEMBERSHIP.membershipId) }), body: z.object({ @@ -305,14 +306,14 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, membershipId: req.params.membershipId, roles: req.body.roles }); // await server.services.auditLog.createAuditLog({ // ...req.auditLogInfo, - // projectId: req.params.workspaceId, + // projectId: req.params.projectId, // event: { // type: EventType.UPDATE_USER_WORKSPACE_ROLE, // metadata: { @@ -329,7 +330,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider server.route({ method: "DELETE", - url: "/:workspaceId/memberships/:membershipId", + url: "/:projectId/memberships/:membershipId", config: { rateLimit: writeLimit }, @@ -341,7 +342,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider } ], params: z.object({ - workspaceId: z.string().trim(), + projectId: z.string().trim(), membershipId: z.string().trim() }), response: { @@ -357,13 +358,13 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, membershipId: req.params.membershipId }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.params.workspaceId, + projectId: req.params.projectId, event: { type: EventType.REMOVE_WORKSPACE_MEMBER, metadata: { @@ -378,13 +379,13 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider server.route({ method: "DELETE", - url: "/:workspaceId/leave", + url: "/:projectId/leave", config: { rateLimit: writeLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), response: { 200: z.object({ @@ -398,7 +399,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider const membership = await server.services.projectMembership.leaveProject({ actorId: req.permission.id, actor: req.permission.type, - projectId: req.params.workspaceId + projectId: req.params.projectId }); return { membership }; } diff --git a/backend/src/server/routes/v1/project-router.ts b/backend/src/server/routes/v1/project-router.ts index 5e7dce76e..da5d07f70 100644 --- a/backend/src/server/routes/v1/project-router.ts +++ b/backend/src/server/routes/v1/project-router.ts @@ -40,41 +40,7 @@ const projectWithEnv = SanitizedProjectSchema.merge( export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/keys", - config: { - rateLimit: readLimit - }, - schema: { - params: z.object({ - workspaceId: z.string().trim() - }), - response: { - 200: z.object({ - publicKeys: z - .object({ - publicKey: z.string().nullable().optional(), - userId: z.string() - }) - .array() - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async (req) => { - const publicKeys = await server.services.projectKey.getProjectPublicKeys({ - actorId: req.permission.id, - actor: req.permission.type, - actorAuthMethod: req.permission.authMethod, - actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId - }); - return { publicKeys }; - } - }); - - server.route({ - method: "GET", - url: "/:workspaceId/users", + url: "/:projectId/users", config: { rateLimit: readLimit }, @@ -96,7 +62,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { .optional() }), params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), response: { 200: z.object({ @@ -142,7 +108,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actor: req.permission.type, actorAuthMethod: req.permission.authMethod, includeGroupMembers: req.query.includeGroupMembers, - projectId: req.params.workspaceId, + projectId: req.params.projectId, actorOrgId: req.permission.orgId, roles }); @@ -167,7 +133,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { }), response: { 200: z.object({ - workspaces: projectWithEnv + projects: projectWithEnv .extend({ roles: ProjectRolesSchema.array().optional() }) @@ -177,7 +143,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const workspaces = await server.services.project.getProjects({ + const projects = await server.services.project.getProjects({ includeRoles: req.query.includeRoles, actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, @@ -185,13 +151,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorOrgId: req.permission.orgId, type: req.query.type }); - return { workspaces }; + return { projects }; } }); server.route({ method: "GET", - url: "/:workspaceId", + url: "/:projectId", config: { rateLimit: readLimit }, @@ -205,33 +171,33 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - workspaceId: z.string().trim().describe(PROJECTS.GET.workspaceId) + projectId: z.string().trim().describe(PROJECTS.GET.projectId) }), response: { 200: z.object({ - workspace: projectWithEnv.optional() + project: projectWithEnv.optional() }) } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const workspace = await server.services.project.getAProject({ + const project = await server.services.project.getAProject({ filter: { type: ProjectFilterType.ID, - projectId: req.params.workspaceId + projectId: req.params.projectId }, actorAuthMethod: req.permission.authMethod, actorId: req.permission.id, actor: req.permission.type, actorOrgId: req.permission.orgId }); - return { workspace }; + return { project }; } }); server.route({ method: "DELETE", - url: "/:workspaceId", + url: "/:projectId", config: { rateLimit: writeLimit }, @@ -245,20 +211,20 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - workspaceId: z.string().trim().describe(PROJECTS.DELETE.workspaceId) + projectId: z.string().trim().describe(PROJECTS.DELETE.projectId) }), response: { 200: z.object({ - workspace: SanitizedProjectSchema.optional() + project: SanitizedProjectSchema.optional() }) } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const workspace = await server.services.project.deleteProject({ + const project = await server.services.project.deleteProject({ filter: { type: ProjectFilterType.ID, - projectId: req.params.workspaceId + projectId: req.params.projectId }, actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, @@ -269,68 +235,20 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, orgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, event: { type: EventType.DELETE_PROJECT, - metadata: workspace + metadata: project } }); - return { workspace }; - } - }); - - server.route({ - url: "/:workspaceId/name", - method: "POST", - config: { - rateLimit: writeLimit - }, - schema: { - params: z.object({ - workspaceId: z.string().trim() - }), - body: z.object({ - name: z.string().trim() - }), - response: { - 200: z.object({ - message: z.string(), - workspace: SanitizedProjectSchema - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async (req) => { - const workspace = await server.services.project.updateName({ - actorId: req.permission.id, - actor: req.permission.type, - actorAuthMethod: req.permission.authMethod, - actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, - name: req.body.name - }); - - await server.services.auditLog.createAuditLog({ - ...req.auditLogInfo, - orgId: req.permission.orgId, - projectId: req.params.workspaceId, - event: { - type: EventType.UPDATE_PROJECT, - metadata: req.body - } - }); - - return { - message: "Successfully changed workspace name", - workspace - }; + return { project }; } }); server.route({ method: "PATCH", - url: "/:workspaceId", + url: "/:projectId", config: { rateLimit: writeLimit }, @@ -344,7 +262,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - workspaceId: z.string().trim().describe(PROJECTS.UPDATE.workspaceId) + projectId: z.string().trim().describe(PROJECTS.UPDATE.projectId) }), body: z.object({ name: z @@ -381,16 +299,16 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { }), response: { 200: z.object({ - workspace: SanitizedProjectSchema + project: SanitizedProjectSchema }) } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const workspace = await server.services.project.updateProject({ + const project = await server.services.project.updateProject({ filter: { type: ProjectFilterType.ID, - projectId: req.params.workspaceId + projectId: req.params.projectId }, update: { name: req.body.name, @@ -412,7 +330,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, orgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, event: { type: EventType.UPDATE_PROJECT, metadata: req.body @@ -420,20 +338,20 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { }); return { - workspace + project }; } }); server.route({ method: "POST", - url: "/:workspaceId/auto-capitalization", + url: "/:projectId/auto-capitalization", config: { rateLimit: writeLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), body: z.object({ autoCapitalization: z.boolean() @@ -441,25 +359,25 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { response: { 200: z.object({ message: z.string(), - workspace: SanitizedProjectSchema + project: SanitizedProjectSchema }) } }, onRequest: verifyAuth([AuthMode.JWT]), handler: async (req) => { - const workspace = await server.services.project.toggleAutoCapitalization({ + const project = await server.services.project.toggleAutoCapitalization({ actorId: req.permission.id, actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, autoCapitalization: req.body.autoCapitalization }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, orgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, event: { type: EventType.UPDATE_PROJECT, metadata: req.body @@ -467,21 +385,21 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { }); return { - message: "Successfully changed workspace settings", - workspace + message: "Successfully changed project settings", + project }; } }); server.route({ method: "POST", - url: "/:workspaceId/delete-protection", + url: "/:projectId/delete-protection", config: { rateLimit: writeLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), body: z.object({ hasDeleteProtection: z.boolean() @@ -489,25 +407,25 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { response: { 200: z.object({ message: z.string(), - workspace: SanitizedProjectSchema + project: SanitizedProjectSchema }) } }, onRequest: verifyAuth([AuthMode.JWT]), handler: async (req) => { - const workspace = await server.services.project.toggleDeleteProtection({ + const project = await server.services.project.toggleDeleteProtection({ actorId: req.permission.id, actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, hasDeleteProtection: req.body.hasDeleteProtection }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, orgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, event: { type: EventType.UPDATE_PROJECT, metadata: req.body @@ -515,8 +433,8 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { }); return { - message: "Successfully changed workspace settings", - workspace + message: "Successfully changed project settings", + project }; } }); @@ -537,13 +455,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { response: { 200: z.object({ message: z.string(), - workspace: SanitizedProjectSchema + project: SanitizedProjectSchema }) } }, onRequest: verifyAuth([AuthMode.JWT]), handler: async (req) => { - const workspace = await server.services.project.updateVersionLimit({ + const project = await server.services.project.updateVersionLimit({ actorId: req.permission.id, actor: req.permission.type, actorAuthMethod: req.permission.authMethod, @@ -555,7 +473,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, orgId: req.permission.orgId, - projectId: workspace.id, + projectId: project.id, event: { type: EventType.UPDATE_PROJECT, metadata: req.body @@ -563,8 +481,8 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { }); return { - message: "Successfully changed workspace version limit", - workspace + message: "Successfully changed project version limit", + project }; } }); @@ -585,13 +503,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { response: { 200: z.object({ message: z.string(), - workspace: SanitizedProjectSchema + project: SanitizedProjectSchema }) } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const workspace = await server.services.project.updateAuditLogsRetention({ + const project = await server.services.project.updateAuditLogsRetention({ actorId: req.permission.id, actor: req.permission.type, actorAuthMethod: req.permission.authMethod, @@ -603,7 +521,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, orgId: req.permission.orgId, - projectId: workspace.id, + projectId: project.id, event: { type: EventType.UPDATE_PROJECT, metadata: req.body @@ -612,14 +530,14 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { return { message: "Successfully updated project's audit logs retention period", - workspace + project }; } }); server.route({ method: "GET", - url: "/:workspaceId/integrations", + url: "/:projectId/integrations", config: { rateLimit: readLimit }, @@ -633,7 +551,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } ], params: z.object({ - workspaceId: z.string().trim().describe(PROJECTS.LIST_INTEGRATION.workspaceId) + projectId: z.string().trim().describe(PROJECTS.LIST_INTEGRATION.projectId) }), response: { 200: z.object({ @@ -656,7 +574,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorAuthMethod: req.permission.authMethod, actor: req.permission.type, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId + projectId: req.params.projectId }); return { integrations }; } @@ -664,21 +582,21 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/authorizations", + url: "/:projectId/authorizations", config: { rateLimit: readLimit }, schema: { hide: false, tags: [ApiDocsTags.Integrations], - description: "List integration auth objects for a workspace.", + description: "List integration auth objects for a project.", security: [ { bearerAuth: [] } ], params: z.object({ - workspaceId: z.string().trim().describe(PROJECTS.LIST_INTEGRATION_AUTHORIZATION.workspaceId) + projectId: z.string().trim().describe(PROJECTS.LIST_INTEGRATION_AUTHORIZATION.projectId) }), response: { 200: z.object({ @@ -693,7 +611,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorAuthMethod: req.permission.authMethod, actor: req.permission.type, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId + projectId: req.params.projectId }); return { authorizations }; } @@ -701,13 +619,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/service-token-data", + url: "/:projectId/service-token-data", config: { rateLimit: readLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), response: { 200: z.object({ @@ -722,7 +640,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorAuthMethod: req.permission.authMethod, actor: req.permission.type, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId + projectId: req.params.projectId }); return { serviceTokenData }; } @@ -730,13 +648,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/ssh-config", + url: "/:projectId/ssh-config", config: { rateLimit: readLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), response: { 200: ProjectSshConfigsSchema.pick({ @@ -756,7 +674,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorAuthMethod: req.permission.authMethod, actor: req.permission.type, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId + projectId: req.params.projectId }); await server.services.auditLog.createAuditLog({ @@ -777,13 +695,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "PATCH", - url: "/:workspaceId/ssh-config", + url: "/:projectId/ssh-config", config: { rateLimit: writeLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), body: z.object({ defaultUserSshCaId: z.string().optional(), @@ -807,7 +725,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorAuthMethod: req.permission.authMethod, actor: req.permission.type, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, ...req.body }); @@ -831,13 +749,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/workflow-integration-config/:integration", + url: "/:projectId/workflow-integration-config/:integration", config: { rateLimit: readLimit }, schema: { params: z.object({ - workspaceId: z.string().trim(), + projectId: z.string().trim(), integration: z.nativeEnum(WorkflowIntegration) }), response: { @@ -876,13 +794,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorAuthMethod: req.permission.authMethod, actor: req.permission.type, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, integration: req.params.integration }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.params.workspaceId, + projectId: req.params.projectId, event: { type: EventType.GET_PROJECT_WORKFLOW_INTEGRATION_CONFIG, metadata: { @@ -936,13 +854,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "PUT", - url: "/:workspaceId/workflow-integration", + url: "/:projectId/workflow-integration", config: { rateLimit: readLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), body: z.discriminatedUnion("integration", [ @@ -999,13 +917,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actorAuthMethod: req.permission.authMethod, actor: req.permission.type, actorOrgId: req.permission.orgId, - projectId: req.params.workspaceId, + projectId: req.params.projectId, ...req.body }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.params.workspaceId, + projectId: req.params.projectId, event: { type: EventType.UPDATE_PROJECT_WORKFLOW_INTEGRATION_CONFIG, metadata: { @@ -1026,13 +944,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/:workspaceId/environment-folder-tree", + url: "/:projectId/environment-folder-tree", config: { rateLimit: readLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), response: { 200: z.record( @@ -1043,7 +961,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { onRequest: verifyAuth([AuthMode.JWT]), handler: async (req) => { const environmentsFolders = await server.services.folder.getProjectEnvironmentsFolders( - req.params.workspaceId, + req.params.projectId, req.permission ); @@ -1092,13 +1010,13 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", - url: "/:workspaceId/project-access", + url: "/:projectId/project-access", config: { rateLimit: requestAccessLimit }, schema: { params: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), body: z.object({ comment: z @@ -1132,17 +1050,17 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { await server.services.project.requestProjectAccess({ permission: req.permission, comment: req.body.comment, - projectId: req.params.workspaceId + projectId: req.params.projectId }); if (req.auth.actor === ActorType.USER) { await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.params.workspaceId, + projectId: req.params.projectId, event: { type: EventType.PROJECT_ACCESS_REQUEST, metadata: { - projectId: req.params.workspaceId, + projectId: req.params.projectId, requesterEmail: req.auth.user.email || req.auth.user.username, requesterId: req.auth.userId } diff --git a/backend/src/server/routes/v1/secret-tag-router.ts b/backend/src/server/routes/v1/secret-tag-router.ts index 01ba783fe..3c6c99eaf 100644 --- a/backend/src/server/routes/v1/secret-tag-router.ts +++ b/backend/src/server/routes/v1/secret-tag-router.ts @@ -22,20 +22,20 @@ export const registerSecretTagRouter = async (server: FastifyZodProvider) => { }), response: { 200: z.object({ - workspaceTags: SecretTagsSchema.array() + tags: SecretTagsSchema.array() }) } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const workspaceTags = await server.services.secretTag.getProjectTags({ + const tags = await server.services.secretTag.getProjectTags({ actor: req.permission.type, actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, projectId: req.params.projectId }); - return { workspaceTags }; + return { tags }; } }); @@ -55,20 +55,20 @@ export const registerSecretTagRouter = async (server: FastifyZodProvider) => { response: { 200: z.object({ // akhilmhdh: for terraform backward compatiability - workspaceTag: SecretTagsSchema.extend({ name: z.string() }) + tag: SecretTagsSchema.extend({ name: z.string() }) }) } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const workspaceTag = await server.services.secretTag.getTagById({ + const tag = await server.services.secretTag.getTagById({ actor: req.permission.type, actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, id: req.params.tagId }); - return { workspaceTag }; + return { tag }; } }); @@ -88,13 +88,13 @@ export const registerSecretTagRouter = async (server: FastifyZodProvider) => { response: { 200: z.object({ // akhilmhdh: for terraform backward compatiability - workspaceTag: SecretTagsSchema.extend({ name: z.string() }) + tag: SecretTagsSchema.extend({ name: z.string() }) }) } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const workspaceTag = await server.services.secretTag.getTagBySlug({ + const tag = await server.services.secretTag.getTagBySlug({ actor: req.permission.type, actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, @@ -102,7 +102,7 @@ export const registerSecretTagRouter = async (server: FastifyZodProvider) => { slug: req.params.tagSlug, projectId: req.params.projectId }); - return { workspaceTag }; + return { tag }; } }); @@ -124,13 +124,13 @@ export const registerSecretTagRouter = async (server: FastifyZodProvider) => { }), response: { 200: z.object({ - workspaceTag: SecretTagsSchema + tag: SecretTagsSchema }) } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const workspaceTag = await server.services.secretTag.createTag({ + const tag = await server.services.secretTag.createTag({ actor: req.permission.type, actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, @@ -138,7 +138,7 @@ export const registerSecretTagRouter = async (server: FastifyZodProvider) => { projectId: req.params.projectId, ...req.body }); - return { workspaceTag }; + return { tag }; } }); @@ -161,13 +161,13 @@ export const registerSecretTagRouter = async (server: FastifyZodProvider) => { }), response: { 200: z.object({ - workspaceTag: SecretTagsSchema + tag: SecretTagsSchema }) } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const workspaceTag = await server.services.secretTag.updateTag({ + const tag = await server.services.secretTag.updateTag({ actor: req.permission.type, actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, @@ -175,7 +175,7 @@ export const registerSecretTagRouter = async (server: FastifyZodProvider) => { ...req.body, id: req.params.tagId }); - return { workspaceTag }; + return { tag }; } }); @@ -194,20 +194,20 @@ export const registerSecretTagRouter = async (server: FastifyZodProvider) => { }), response: { 200: z.object({ - workspaceTag: SecretTagsSchema + tag: SecretTagsSchema }) } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const workspaceTag = await server.services.secretTag.deleteTag({ + const tag = await server.services.secretTag.deleteTag({ actor: req.permission.type, actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, id: req.params.tagId }); - return { workspaceTag }; + return { tag }; } }); }; diff --git a/frontend/src/context/WorkspaceContext/WorkspaceContext.tsx b/frontend/src/context/WorkspaceContext/WorkspaceContext.tsx index 8bef13b31..9d3aadd5d 100644 --- a/frontend/src/context/WorkspaceContext/WorkspaceContext.tsx +++ b/frontend/src/context/WorkspaceContext/WorkspaceContext.tsx @@ -1,7 +1,7 @@ import { useSuspenseQuery } from "@tanstack/react-query"; import { useParams } from "@tanstack/react-router"; -import { workspaceKeys } from "@app/hooks/api"; +import { projectKeys } from "@app/hooks/api"; import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; export const useWorkspace = () => { @@ -13,7 +13,7 @@ export const useWorkspace = () => { } const { data: currentWorkspace } = useSuspenseQuery({ - queryKey: workspaceKeys.getWorkspaceById(params.projectId), + queryKey: projectKeys.getWorkspaceById(params.projectId), queryFn: () => fetchWorkspaceById(params.projectId as string), staleTime: Infinity }); diff --git a/frontend/src/hooks/api/folderCommits/queries.tsx b/frontend/src/hooks/api/folderCommits/queries.tsx index 1bca7ce9a..68d1f67ad 100644 --- a/frontend/src/hooks/api/folderCommits/queries.tsx +++ b/frontend/src/hooks/api/folderCommits/queries.tsx @@ -7,27 +7,27 @@ import { Commit, CommitHistoryItem, CommitWithChanges, RollbackPreview } from ". export const commitKeys = { count: ({ - workspaceId, + projectId, environment, directory }: { - workspaceId: string; + projectId: string; environment: string; directory?: string; - }) => [{ workspaceId, environment, directory }, "folder-commits-count"] as const, + }) => [{ projectId, environment, directory }, "folder-commits-count"] as const, history: ({ - workspaceId, + projectId, environment, directory }: { - workspaceId: string; + projectId: string; environment: string; directory?: string; - }) => [{ workspaceId, environment, directory }, "folder-commits"] as const, + }) => [{ projectId, environment, directory }, "folder-commits"] as const, - details: ({ workspaceId, commitId }: { workspaceId: string; commitId: string }) => - [{ workspaceId, commitId }, "commit-details"] as const, + details: ({ projectId, commitId }: { projectId: string; commitId: string }) => + [{ projectId, commitId }, "commit-details"] as const, rollbackPreview: ({ folderId, @@ -45,11 +45,11 @@ export const commitKeys = { }; const fetchFolderCommitsCount = async ({ - workspaceId, + projectId, environment, directory }: { - workspaceId: string; + projectId: string; environment: string; directory?: string; }) => { @@ -59,7 +59,7 @@ const fetchFolderCommitsCount = async ({ params: { environment, path: directory, - projectId: workspaceId + projectId } } ); @@ -67,7 +67,7 @@ const fetchFolderCommitsCount = async ({ }; const fetchFolderCommitHistory = async ( - workspaceId: string, + projectId: string, environment: string, directory: string, offset: number = 0, @@ -87,7 +87,7 @@ const fetchFolderCommitHistory = async ( params: { environment, path: directory, - projectId: workspaceId, + projectId: projectId, offset, limit, search, @@ -97,12 +97,12 @@ const fetchFolderCommitHistory = async ( return res.data; }; -export const fetchCommitDetails = async (workspaceId: string, commitId: string) => { +export const fetchCommitDetails = async (projectId: string, commitId: string) => { const { data } = await apiRequest.get( `/api/v1/pit/commits/${commitId}/changes`, { params: { - projectId: workspaceId + projectId: projectId } } ); @@ -113,7 +113,7 @@ export const fetchRollbackPreview = async ( folderId: string, commitId: string, envSlug: string, - workspaceId: string, + projectId: string, deepRollback: boolean, secretPath: string ): Promise => { @@ -125,7 +125,7 @@ export const fetchRollbackPreview = async ( environment: envSlug, deepRollback, secretPath, - projectId: workspaceId + projectId: projectId } } ); @@ -135,7 +135,7 @@ export const fetchRollbackPreview = async ( const fetchRollback = async ( folderId: string, commitId: string, - workspaceId: string, + projectId: string, deepRollback: boolean, message?: string, envSlug?: string @@ -147,17 +147,17 @@ const fetchRollback = async ( deepRollback, message, environment: envSlug, - projectId: workspaceId + projectId } ); return data; }; -const fetchRevert = async (commitId: string, workspaceId: string) => { +const fetchRevert = async (commitId: string, projectId: string) => { const { data } = await apiRequest.post<{ success: boolean; message: string }>( `/api/v1/pit/commits/${commitId}/revert`, { - projectId: workspaceId + projectId: projectId } ); return data; @@ -180,9 +180,9 @@ export const useCommitRevert = ({ onSuccess: () => { queryClient.invalidateQueries({ queryKey: [ - commitKeys.details({ workspaceId: projectId, commitId }), - commitKeys.history({ workspaceId: projectId, environment, directory }), - commitKeys.count({ workspaceId: projectId, environment, directory }) + commitKeys.details({ projectId, commitId }), + commitKeys.history({ projectId, environment, directory }), + commitKeys.count({ projectId, environment, directory }) ] }); } @@ -190,7 +190,7 @@ export const useCommitRevert = ({ }; export const useCommitRollback = ({ - workspaceId, + projectId, commitId, folderId, deepRollback, @@ -198,7 +198,7 @@ export const useCommitRollback = ({ directory, envSlug }: { - workspaceId: string; + projectId: string; commitId: string; folderId: string; deepRollback: boolean; @@ -209,13 +209,13 @@ export const useCommitRollback = ({ const queryClient = useQueryClient(); return useMutation({ mutationFn: (message: string) => - fetchRollback(folderId, commitId, workspaceId, deepRollback, message, envSlug), + fetchRollback(folderId, commitId, projectId, deepRollback, message, envSlug), onSuccess: () => { queryClient.invalidateQueries({ queryKey: [ - commitKeys.details({ workspaceId, commitId }), - commitKeys.history({ workspaceId, environment, directory }), - commitKeys.count({ workspaceId, environment, directory }) + commitKeys.details({ projectId, commitId }), + commitKeys.history({ projectId, environment, directory }), + commitKeys.count({ projectId, environment, directory }) ] }); } @@ -223,31 +223,31 @@ export const useCommitRollback = ({ }; export const useGetFolderCommitsCount = ({ - workspaceId, + projectId, environment, directory, isPaused }: { - workspaceId: string; + projectId: string; environment: string; directory: string; isPaused?: boolean; }) => useQuery({ - enabled: Boolean(workspaceId && environment) && !isPaused, - queryKey: commitKeys.count({ workspaceId, environment, directory }), - queryFn: () => fetchFolderCommitsCount({ workspaceId, environment, directory }) + enabled: Boolean(projectId && environment) && !isPaused, + queryKey: commitKeys.count({ projectId: projectId, environment, directory }), + queryFn: () => fetchFolderCommitsCount({ projectId, environment, directory }) }); export const useGetFolderCommitHistory = ({ - workspaceId, + projectId, environment, directory, limit = 20, search, sort = "desc" }: { - workspaceId: string; + projectId: string; environment: string; directory: string; limit?: number; @@ -256,10 +256,10 @@ export const useGetFolderCommitHistory = ({ }) => { return useInfiniteQuery({ initialPageParam: 0, - queryKey: [commitKeys.history({ workspaceId, environment, directory }), limit, search, sort], + queryKey: [commitKeys.history({ projectId, environment, directory }), limit, search, sort], queryFn: ({ pageParam }) => - fetchFolderCommitHistory(workspaceId, environment, directory, pageParam, limit, search, sort), - enabled: Boolean(workspaceId && environment), + fetchFolderCommitHistory(projectId, environment, directory, pageParam, limit, search, sort), + enabled: Boolean(projectId && environment), select: (data) => { return (data?.pages ?? []) ?.map((page) => page.commits) @@ -280,11 +280,11 @@ export const useGetFolderCommitHistory = ({ }); }; -export const useGetCommitDetails = (workspaceId: string, commitId: string) => { +export const useGetCommitDetails = (projectId: string, commitId: string) => { return useQuery({ - queryKey: commitKeys.details({ workspaceId, commitId }), - queryFn: () => fetchCommitDetails(workspaceId, commitId), - enabled: Boolean(workspaceId) && Boolean(commitId) + queryKey: commitKeys.details({ projectId, commitId }), + queryFn: () => fetchCommitDetails(projectId, commitId), + enabled: Boolean(projectId) && Boolean(commitId) }); }; diff --git a/frontend/src/hooks/api/identities/types.ts b/frontend/src/hooks/api/identities/types.ts index 36f9eae4e..c16c61c57 100644 --- a/frontend/src/hooks/api/identities/types.ts +++ b/frontend/src/hooks/api/identities/types.ts @@ -1,7 +1,7 @@ import { OrderByDirection } from "../generic/types"; import { OrgIdentityOrderBy } from "../organization/types"; import { TOrgRole } from "../roles/types"; -import { ProjectUserMembershipTemporaryMode, Workspace } from "../workspace/types"; +import { ProjectUserMembershipTemporaryMode, Project } from "../workspace/types"; import { IdentityAuthMethod, IdentityJwtConfigurationType } from "./enums"; export type IdentityTrustedIp = { @@ -54,7 +54,7 @@ export type IdentityMembershipOrg = { export type IdentityMembership = { id: string; identity: Identity; - project: Pick; + project: Pick; roles: Array< { id: string; diff --git a/frontend/src/hooks/api/keys/index.tsx b/frontend/src/hooks/api/keys/index.tsx deleted file mode 100644 index cd4f0aea8..000000000 --- a/frontend/src/hooks/api/keys/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { useGetUserWsKey, useUploadWsKey } from "./queries"; diff --git a/frontend/src/hooks/api/keys/queries.tsx b/frontend/src/hooks/api/keys/queries.tsx deleted file mode 100644 index f902f85d3..000000000 --- a/frontend/src/hooks/api/keys/queries.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { useMutation, useQuery } from "@tanstack/react-query"; - -import { apiRequest } from "@app/config/request"; - -import { UploadWsKeyDTO, UserWsKeyPair } from "./types"; - -const encKeyKeys = { - getUserWorkspaceKey: (workspaceID: string) => ["workspace-key-pair", { workspaceID }] as const -}; - -export const fetchUserWsKey = async (projectId: string) => { - const { data } = await apiRequest.get( - `/api/v2/workspace/${projectId}/encrypted-key` - ); - - return data; -}; - -export const useGetUserWsKey = (workspaceID: string) => - useQuery({ - queryKey: encKeyKeys.getUserWorkspaceKey(workspaceID), - queryFn: () => fetchUserWsKey(workspaceID), - enabled: Boolean(workspaceID) - }); - -// mutations -export const uploadWsKey = async ({ workspaceId, userId, encryptedKey, nonce }: UploadWsKeyDTO) => { - return apiRequest.post(`/api/v1/workspace/${workspaceId}/key`, { - key: { userId, encryptedKey, nonce } - }); -}; - -export const useUploadWsKey = () => - useMutation({ - mutationFn: async ({ encryptedKey, nonce, userId, workspaceId }) => { - return uploadWsKey({ - workspaceId, - userId, - encryptedKey, - nonce - }); - } - }); diff --git a/frontend/src/hooks/api/keys/types.ts b/frontend/src/hooks/api/keys/types.ts deleted file mode 100644 index fc455deaf..000000000 --- a/frontend/src/hooks/api/keys/types.ts +++ /dev/null @@ -1,29 +0,0 @@ -export type UserWsKeyPair = { - id: string; - encryptedKey: string; - nonce: string; - sender: Sender; - receiver: string; - workspace: string; - createdAt: string; - updatedAt: string; - __v: number; -}; - -export type Sender = { - id: string; - email: string; - createdAt: string; - updatedAt: string; - __v: number; - firstName: string; - lastName: string; - publicKey: string; -}; - -export type UploadWsKeyDTO = { - userId: string; - encryptedKey: string; - nonce: string; - workspaceId: string; -}; diff --git a/frontend/src/hooks/api/pkiSubscriber/mutations.tsx b/frontend/src/hooks/api/pkiSubscriber/mutations.tsx index b30924f97..17b53004b 100644 --- a/frontend/src/hooks/api/pkiSubscriber/mutations.tsx +++ b/frontend/src/hooks/api/pkiSubscriber/mutations.tsx @@ -3,7 +3,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; import { TCreateCertificateResponse } from "../ca/types"; -import { workspaceKeys } from "../workspace/query-keys"; +import { projectKeys } from "../workspace/query-keys"; import { pkiSubscriberKeys } from "./queries"; import { TCreatePkiSubscriberDTO, @@ -22,7 +22,7 @@ export const useCreatePkiSubscriber = () => { }, onSuccess: ({ projectId, name }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspacePkiSubscribers(projectId) + queryKey: projectKeys.getWorkspacePkiSubscribers(projectId) }); queryClient.invalidateQueries({ queryKey: pkiSubscriberKeys.getPkiSubscriber({ @@ -46,7 +46,7 @@ export const useUpdatePkiSubscriber = () => { }, onSuccess: ({ projectId, name }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspacePkiSubscribers(projectId) + queryKey: projectKeys.getWorkspacePkiSubscribers(projectId) }); queryClient.invalidateQueries({ queryKey: pkiSubscriberKeys.getPkiSubscriber({ @@ -74,7 +74,7 @@ export const useDeletePkiSubscriber = () => { }, onSuccess: ({ name, projectId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspacePkiSubscribers(projectId) + queryKey: projectKeys.getWorkspacePkiSubscribers(projectId) }); queryClient.invalidateQueries({ queryKey: pkiSubscriberKeys.getPkiSubscriber({ diff --git a/frontend/src/hooks/api/secretFolders/queries.tsx b/frontend/src/hooks/api/secretFolders/queries.tsx index 9e12f329d..250db962a 100644 --- a/frontend/src/hooks/api/secretFolders/queries.tsx +++ b/frontend/src/hooks/api/secretFolders/queries.tsx @@ -57,7 +57,7 @@ export const useListProjectEnvironmentsFolders = ( queryKey: folderQueryKeys.getProjectEnvironmentsFolders(projectId), queryFn: async () => { const { data } = await apiRequest.get( - `/api/v1/workspace/${projectId}/environment-folder-tree` + `/api/v1/projects/${projectId}/environment-folder-tree` ); return data; }, @@ -162,13 +162,13 @@ export const useCreateFolder = () => { queryKey: folderQueryKeys.getSecretFolders({ projectId, environment, path }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.list({ workspaceId: projectId, environment, directory: path }) + queryKey: secretSnapshotKeys.list({ projectId, environment, directory: path }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.count({ workspaceId: projectId, environment, directory: path }) + queryKey: secretSnapshotKeys.count({ projectId, environment, directory: path }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ workspaceId: projectId, environment, directory: path }) + queryKey: commitKeys.count({ projectId, environment, directory: path }) }); } }); @@ -199,16 +199,16 @@ export const useUpdateFolder = () => { queryKey: folderQueryKeys.getSecretFolders({ projectId, environment, path }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.list({ workspaceId: projectId, environment, directory: path }) + queryKey: secretSnapshotKeys.list({ projectId, environment, directory: path }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.count({ workspaceId: projectId, environment, directory: path }) + queryKey: secretSnapshotKeys.count({ projectId, environment, directory: path }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ workspaceId: projectId, environment, directory: path }) + queryKey: commitKeys.count({ projectId, environment, directory: path }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.history({ workspaceId: projectId, environment, directory: path }) + queryKey: commitKeys.history({ projectId, environment, directory: path }) }); } }); @@ -239,16 +239,16 @@ export const useDeleteFolder = () => { queryKey: folderQueryKeys.getSecretFolders({ projectId, environment, path }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.list({ workspaceId: projectId, environment, directory: path }) + queryKey: secretSnapshotKeys.list({ projectId, environment, directory: path }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.count({ workspaceId: projectId, environment, directory: path }) + queryKey: secretSnapshotKeys.count({ projectId, environment, directory: path }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ workspaceId: projectId, environment, directory: path }) + queryKey: commitKeys.count({ projectId, environment, directory: path }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.history({ workspaceId: projectId, environment, directory: path }) + queryKey: commitKeys.history({ projectId, environment, directory: path }) }); } }); @@ -283,28 +283,28 @@ export const useUpdateFolderBatch = () => { }); queryClient.invalidateQueries({ queryKey: secretSnapshotKeys.list({ - workspaceId: projectId, + projectId, environment: folder.environment, directory: folder.path }) }); queryClient.invalidateQueries({ queryKey: secretSnapshotKeys.count({ - workspaceId: projectId, + projectId, environment: folder.environment, directory: folder.path }) }); queryClient.invalidateQueries({ queryKey: commitKeys.count({ - workspaceId: projectId, + projectId, environment: folder.environment, directory: folder.path }) }); queryClient.invalidateQueries({ queryKey: commitKeys.history({ - workspaceId: projectId, + projectId, environment: folder.environment, directory: folder.path }) diff --git a/frontend/src/hooks/api/secrets/mutations.tsx b/frontend/src/hooks/api/secrets/mutations.tsx index 11ebad4b1..715aa108a 100644 --- a/frontend/src/hooks/api/secrets/mutations.tsx +++ b/frontend/src/hooks/api/secrets/mutations.tsx @@ -66,7 +66,7 @@ export const useCreateSecretV3 = ({ queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) @@ -131,7 +131,7 @@ export const useUpdateSecretV3 = ({ queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) @@ -183,7 +183,7 @@ export const useDeleteSecretV3 = ({ queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) @@ -225,7 +225,7 @@ export const useCreateSecretBatch = ({ queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) @@ -267,7 +267,7 @@ export const useUpdateSecretBatch = ({ queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) @@ -311,7 +311,7 @@ export const useDeleteSecretBatch = ({ queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) @@ -391,7 +391,7 @@ export const useMoveSecrets = ({ }); queryClient.invalidateQueries({ queryKey: commitKeys.count({ - workspaceId: projectId, + projectId: projectId, environment: sourceEnvironment, directory: sourceSecretPath }) @@ -515,7 +515,7 @@ export const useCreateCommit = () => { queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) diff --git a/frontend/src/hooks/api/serviceTokens/queries.tsx b/frontend/src/hooks/api/serviceTokens/queries.tsx index 06b9b09c6..41421b279 100644 --- a/frontend/src/hooks/api/serviceTokens/queries.tsx +++ b/frontend/src/hooks/api/serviceTokens/queries.tsx @@ -13,9 +13,9 @@ const serviceTokenKeys = { getAllWorkspaceServiceToken: (workspaceID: string) => [{ workspaceID }, "service-tokens"] as const }; -const fetchWorkspaceServiceTokens = async (workspaceID: string) => { +const fetchWorkspaceServiceTokens = async (projectID: string) => { const { data } = await apiRequest.get<{ serviceTokenData: ServiceToken[] }>( - `/api/v1/workspace/${workspaceID}/service-token-data` + `/api/v1/projects/${projectID}/service-token-data` ); return data.serviceTokenData; diff --git a/frontend/src/hooks/api/sshCa/mutations.tsx b/frontend/src/hooks/api/sshCa/mutations.tsx index c7e90c3b9..11d7fa8f5 100644 --- a/frontend/src/hooks/api/sshCa/mutations.tsx +++ b/frontend/src/hooks/api/sshCa/mutations.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { workspaceKeys } from "../workspace/query-keys"; +import { projectKeys } from "../workspace/query-keys"; import { TCreateSshCaDTO, TDeleteSshCaDTO, @@ -28,7 +28,7 @@ export const useCreateSshCa = () => { return ca; }, onSuccess: ({ projectId }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspaceSshCas(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceSshCas(projectId) }); } }); }; @@ -43,7 +43,7 @@ export const useUpdateSshCa = () => { return ca; }, onSuccess: ({ projectId }, { caId }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspaceSshCas(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceSshCas(projectId) }); queryClient.invalidateQueries({ queryKey: sshCaKeys.getSshCaById(caId) }); } }); @@ -59,7 +59,7 @@ export const useDeleteSshCa = () => { return ca; }, onSuccess: ({ projectId }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspaceSshCas(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceSshCas(projectId) }); } }); }; @@ -76,7 +76,7 @@ export const useSignSshKey = () => { }, onSuccess: (_, { projectId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.allWorkspaceSshCertificates(projectId) + queryKey: projectKeys.allWorkspaceSshCertificates(projectId) }); } }); @@ -94,7 +94,7 @@ export const useIssueSshCreds = () => { }, onSuccess: (_, { projectId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.allWorkspaceSshCertificates(projectId) + queryKey: projectKeys.allWorkspaceSshCertificates(projectId) }); } }); diff --git a/frontend/src/hooks/api/sshHost/mutations.tsx b/frontend/src/hooks/api/sshHost/mutations.tsx index f6b831f3e..0ebfd087e 100644 --- a/frontend/src/hooks/api/sshHost/mutations.tsx +++ b/frontend/src/hooks/api/sshHost/mutations.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { workspaceKeys } from "../workspace/query-keys"; +import { projectKeys } from "../workspace/query-keys"; import { TCreateSshHostDTO, TDeleteSshHostDTO, TSshHost, TUpdateSshHostDTO } from "./types"; export const useCreateSshHost = () => { @@ -13,7 +13,7 @@ export const useCreateSshHost = () => { return host; }, onSuccess: ({ projectId }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspaceSshHosts(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceSshHosts(projectId) }); } }); }; @@ -26,7 +26,7 @@ export const useUpdateSshHost = () => { return host; }, onSuccess: ({ projectId }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspaceSshHosts(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceSshHosts(projectId) }); } }); }; @@ -39,7 +39,7 @@ export const useDeleteSshHost = () => { return host; }, onSuccess: ({ projectId }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspaceSshHosts(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceSshHosts(projectId) }); } }); }; diff --git a/frontend/src/hooks/api/sshHostGroup/mutations.tsx b/frontend/src/hooks/api/sshHostGroup/mutations.tsx index b75cff187..b06089809 100644 --- a/frontend/src/hooks/api/sshHostGroup/mutations.tsx +++ b/frontend/src/hooks/api/sshHostGroup/mutations.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { workspaceKeys } from "../workspace/query-keys"; +import { projectKeys } from "../workspace/query-keys"; import { sshHostGroupKeys } from "./queries"; import { TCreateSshHostGroupDTO, @@ -20,7 +20,7 @@ export const useCreateSshHostGroup = () => { }, onSuccess: ({ projectId, id }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceSshHostGroups(projectId) + queryKey: projectKeys.getWorkspaceSshHostGroups(projectId) }); queryClient.invalidateQueries({ queryKey: sshHostGroupKeys.getSshHostGroupById(id) @@ -41,10 +41,10 @@ export const useUpdateSshHostGroup = () => { }, onSuccess: ({ projectId }, { sshHostGroupId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceSshHostGroups(projectId) + queryKey: projectKeys.getWorkspaceSshHostGroups(projectId) }); queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceSshHosts(projectId) + queryKey: projectKeys.getWorkspaceSshHosts(projectId) }); queryClient.invalidateQueries({ queryKey: sshHostGroupKeys.getSshHostGroupById(sshHostGroupId) @@ -64,10 +64,10 @@ export const useDeleteSshHostGroup = () => { }, onSuccess: ({ projectId }, { sshHostGroupId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceSshHostGroups(projectId) + queryKey: projectKeys.getWorkspaceSshHostGroups(projectId) }); queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceSshHosts(projectId) + queryKey: projectKeys.getWorkspaceSshHosts(projectId) }); queryClient.invalidateQueries({ queryKey: sshHostGroupKeys.getSshHostGroupById(sshHostGroupId) diff --git a/frontend/src/hooks/api/types.ts b/frontend/src/hooks/api/types.ts index 8c29d4825..99c991c35 100644 --- a/frontend/src/hooks/api/types.ts +++ b/frontend/src/hooks/api/types.ts @@ -7,7 +7,6 @@ export type { GetAuthTokenAPI } from "./auth/types"; export type { IncidentContact } from "./incidentContacts/types"; export type { IntegrationAuth } from "./integrationAuth/types"; export type { TCloudIntegration, TIntegration } from "./integrations/types"; -export type { UserWsKeyPair } from "./keys/types"; export type { Organization } from "./organization/types"; export type { TSecretApprovalPolicy } from "./secretApproval/types"; export type { @@ -37,7 +36,7 @@ export type { ToggleAutoCapitalizationDTO, UpdateEnvironmentDTO, UpdateProjectDTO, - Workspace, + Project as Workspace, WorkspaceEnv, WorkspaceTag } from "./workspace/types"; diff --git a/frontend/src/hooks/api/users/mutation.tsx b/frontend/src/hooks/api/users/mutation.tsx index 1f3fdf3ad..adc37fd42 100644 --- a/frontend/src/hooks/api/users/mutation.tsx +++ b/frontend/src/hooks/api/users/mutation.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { workspaceKeys } from "../workspace"; +import { projectKeys } from "../workspace"; import { userKeys } from "./query-keys"; import { AddUserToWsDTONonE2EE } from "./types"; @@ -11,14 +11,14 @@ export const useAddUserToWsNonE2EE = () => { return useMutation({ mutationFn: async ({ projectId, usernames, roleSlugs }) => { - const { data } = await apiRequest.post(`/api/v2/workspace/${projectId}/memberships`, { + const { data } = await apiRequest.post(`/api/v1/projects/${projectId}/memberships`, { usernames, roleSlugs }); return data; }, onSuccess: (_, { orgId, projectId }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspaceUsers(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceUsers(projectId) }); queryClient.invalidateQueries({ queryKey: userKeys.allOrgMembershipProjectMemberships(orgId) }); diff --git a/frontend/src/hooks/api/workflowIntegrations/mutation.tsx b/frontend/src/hooks/api/workflowIntegrations/mutation.tsx index 89c65f888..49aaab815 100644 --- a/frontend/src/hooks/api/workflowIntegrations/mutation.tsx +++ b/frontend/src/hooks/api/workflowIntegrations/mutation.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { workspaceKeys } from "../workspace/query-keys"; +import { projectKeys } from "../workspace/query-keys"; import { workflowIntegrationKeys } from "./queries"; import { TCheckMicrosoftTeamsIntegrationInstallationStatusDTO, @@ -126,7 +126,7 @@ export const useUpdateProjectWorkflowIntegrationConfig = () => { }, onSuccess: (_, { workspaceId, integration }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceWorkflowIntegrationConfig(workspaceId, integration) + queryKey: projectKeys.getWorkspaceWorkflowIntegrationConfig(workspaceId, integration) }); } }); @@ -145,7 +145,7 @@ export const useDeleteProjectWorkflowIntegration = () => { }, onSuccess: (_, { projectId, integration }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceWorkflowIntegrationConfig(projectId, integration) + queryKey: projectKeys.getWorkspaceWorkflowIntegrationConfig(projectId, integration) }); } }); diff --git a/frontend/src/hooks/api/workspace/index.tsx b/frontend/src/hooks/api/workspace/index.tsx index df2d55dc3..02d17f14c 100644 --- a/frontend/src/hooks/api/workspace/index.tsx +++ b/frontend/src/hooks/api/workspace/index.tsx @@ -50,4 +50,4 @@ export { useUpdateWsEnvironment, useUpgradeProject } from "./queries"; -export { workspaceKeys } from "./query-keys"; +export { projectKeys } from "./query-keys"; diff --git a/frontend/src/hooks/api/workspace/mutations.tsx b/frontend/src/hooks/api/workspace/mutations.tsx index f62fc831c..bde2666a9 100644 --- a/frontend/src/hooks/api/workspace/mutations.tsx +++ b/frontend/src/hooks/api/workspace/mutations.tsx @@ -3,7 +3,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; import { userKeys } from "../users/query-keys"; -import { workspaceKeys as projectKeys } from "./query-keys"; +import { projectKeys } from "./query-keys"; import { TProjectSshConfig, TUpdateProjectSshConfigDTO, @@ -24,7 +24,7 @@ export const useAddGroupToWorkspace = () => { }) => { const { data: { groupMembership } - } = await apiRequest.post(`/api/v2/workspace/${projectId}/groups/${groupId}`, { + } = await apiRequest.post(`/api/v1/projects/${projectId}/groups/${groupId}`, { role }); @@ -44,7 +44,7 @@ export const useUpdateGroupWorkspaceRole = () => { mutationFn: async ({ groupId, projectId, roles }: TUpdateWorkspaceGroupRoleDTO) => { const { data: { groupMembership } - } = await apiRequest.patch(`/api/v2/workspace/${projectId}/groups/${groupId}`, { + } = await apiRequest.patch(`/api/v1/projects/${projectId}/groups/${groupId}`, { roles }); @@ -74,7 +74,7 @@ export const useDeleteGroupFromWorkspace = () => { }) => { const { data: { groupMembership } - } = await apiRequest.delete(`/api/v2/workspace/${projectId}/groups/${groupId}`); + } = await apiRequest.delete(`/api/v1/projects/${projectId}/groups/${groupId}`); return groupMembership; }, onSuccess: (_, { projectId, username }) => { @@ -91,9 +91,9 @@ export const useDeleteGroupFromWorkspace = () => { export const useLeaveProject = () => { const queryClient = useQueryClient(); - return useMutation({ - mutationFn: ({ workspaceId }) => { - return apiRequest.delete(`/api/v1/workspace/${workspaceId}/leave`); + return useMutation({ + mutationFn: ({ projectId }) => { + return apiRequest.delete(`/api/v1/projects/${projectId}/leave`); }, onSuccess: () => { queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); @@ -118,7 +118,7 @@ export const useMigrateProjectToV3 = () => { export const useRequestProjectAccess = () => { return useMutation({ mutationFn: ({ projectId, comment }) => { - return apiRequest.post(`/api/v1/workspace/${projectId}/project-access`, { + return apiRequest.post(`/api/v1/projects/${projectId}/project-access`, { comment }); } @@ -129,7 +129,7 @@ export const useUpdateProjectSshConfig = () => { const queryClient = useQueryClient(); return useMutation({ mutationFn: ({ projectId, defaultUserSshCaId, defaultHostSshCaId }) => { - return apiRequest.patch(`/api/v1/workspace/${projectId}/ssh-config`, { + return apiRequest.patch(`/api/v1/projects/${projectId}/ssh-config`, { defaultUserSshCaId, defaultHostSshCaId }); diff --git a/frontend/src/hooks/api/workspace/queries.tsx b/frontend/src/hooks/api/workspace/queries.tsx index 3c7a6d30c..cdda24ee4 100644 --- a/frontend/src/hooks/api/workspace/queries.tsx +++ b/frontend/src/hooks/api/workspace/queries.tsx @@ -26,7 +26,7 @@ import { ProjectWorkflowIntegrationConfig, WorkflowIntegrationPlatform } from "../workflowIntegrations/types"; -import { workspaceKeys } from "./query-keys"; +import { projectKeys } from "./query-keys"; import { CreateEnvironmentDTO, CreateWorkspaceDTO, @@ -47,21 +47,19 @@ import { UpdateEnvironmentDTO, UpdatePitVersionLimitDTO, UpdateProjectDTO, - Workspace, + Project, WorkspaceEnv } from "./types"; -export const fetchWorkspaceById = async (workspaceId: string) => { - const { data } = await apiRequest.get<{ workspace: Workspace }>( - `/api/v1/workspace/${workspaceId}` - ); +export const fetchWorkspaceById = async (projectId: string) => { + const { data } = await apiRequest.get<{ project: Project }>(`/api/v1/projects/${projectId}`); - return data.workspace; + return data.project; }; -const fetchWorkspaceIndexStatus = async (workspaceId: string) => { +const fetchWorkspaceIndexStatus = async (projectId: string) => { const { data } = await apiRequest.get( - `/api/v3/workspaces/${workspaceId}/secrets/blind-index-status` + `/api/v3/projects/${projectId}/secrets/blind-index-status` ); return data; @@ -69,18 +67,16 @@ const fetchWorkspaceIndexStatus = async (workspaceId: string) => { const fetchProjectUpgradeStatus = async (projectId: string) => { const { data } = await apiRequest.get<{ status: string }>( - `/api/v2/workspace/${projectId}/upgrade/status` + `/api/v1/projects/${projectId}/upgrade/status` ); return data; }; -export const fetchWorkspaceSecrets = async (workspaceId: string) => { +export const fetchWorkspaceSecrets = async (projectId: string) => { const { data: { secrets } - } = await apiRequest.get<{ secrets: EncryptedSecret[] }>( - `/api/v3/workspaces/${workspaceId}/secrets` - ); + } = await apiRequest.get<{ secrets: EncryptedSecret[] }>(`/api/v3/projects/${projectId}/secrets`); return secrets; }; @@ -90,13 +86,13 @@ export const useUpgradeProject = () => { return useMutation({ mutationFn: ({ projectId, privateKey }) => { - return apiRequest.post(`/api/v2/workspace/${projectId}/upgrade`, { + return apiRequest.post(`/api/v1/projects/${projectId}/upgrade`, { userPrivateKey: privateKey }); }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserWorkspace() }); } }); @@ -108,7 +104,7 @@ export const useGetUpgradeProjectStatus = ({ refetchInterval }: TGetUpgradeProjectStatusDTO) => { return useQuery({ - queryKey: workspaceKeys.getProjectUpgradeStatus(projectId), + queryKey: projectKeys.getProjectUpgradeStatus(projectId), queryFn: () => fetchProjectUpgradeStatus(projectId), enabled, refetchInterval @@ -116,39 +112,39 @@ export const useGetUpgradeProjectStatus = ({ }; const fetchUserWorkspaces = async (includeRoles?: boolean, type?: ProjectType | "all") => { - const { data } = await apiRequest.get<{ workspaces: Workspace[] }>("/api/v1/workspace", { + const { data } = await apiRequest.get<{ projects: Project[] }>("/api/v1/projects", { params: { includeRoles, type } }); - return data.workspaces; + return data.projects; }; -export const useGetWorkspaceIndexStatus = (workspaceId: string) => { +export const useGetWorkspaceIndexStatus = (projectId: string) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceIndexStatus(workspaceId), - queryFn: () => fetchWorkspaceIndexStatus(workspaceId), + queryKey: projectKeys.getWorkspaceIndexStatus(projectId), + queryFn: () => fetchWorkspaceIndexStatus(projectId), enabled: true }); }; -export const useGetWorkspaceSecrets = (workspaceId: string) => { +export const useGetWorkspaceSecrets = (projectId: string) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceSecrets(workspaceId), - queryFn: () => fetchWorkspaceSecrets(workspaceId), + queryKey: projectKeys.getWorkspaceSecrets(projectId), + queryFn: () => fetchWorkspaceSecrets(projectId), enabled: true }); }; export const useGetWorkspaceById = ( - workspaceId: string, + projectId: string, dto?: { refetchInterval?: number | false } ) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceById(workspaceId), - queryFn: () => fetchWorkspaceById(workspaceId), - enabled: Boolean(workspaceId), + queryKey: projectKeys.getWorkspaceById(projectId), + queryFn: () => fetchWorkspaceById(projectId), + enabled: Boolean(projectId), refetchInterval: dto?.refetchInterval }); }; @@ -161,19 +157,19 @@ export const useGetUserWorkspaces = ({ options?: { enabled?: boolean }; } = {}) => useQuery({ - queryKey: workspaceKeys.getAllUserWorkspace(), + queryKey: projectKeys.getAllUserWorkspace(), queryFn: () => fetchUserWorkspaces(includeRoles), ...options }); export const useSearchProjects = ({ options, ...dto }: TSearchProjectsDTO) => useQuery({ - queryKey: workspaceKeys.searchWorkspace(dto), + queryKey: projectKeys.searchWorkspace(dto), queryFn: async () => { const { data } = await apiRequest.post<{ - projects: (Workspace & { isMember: boolean })[]; + projects: (Project & { isMember: boolean })[]; totalCount: number; - }>("/api/v1/workspace/search", dto); + }>("/api/v1/projects/search", dto); return data; }, @@ -181,17 +177,17 @@ export const useSearchProjects = ({ options, ...dto }: TSearchProjectsDTO) => }); const fetchUserWorkspaceMemberships = async (orgId: string) => { - const { data } = await apiRequest.get>( - `/api/v1/organization/${orgId}/workspace-memberships` + const { data } = await apiRequest.get>( + `/api/v1/organization/${orgId}/project-memberships` ); return data; }; -// to get all userids in an org with the workspace they are part of +// to get all userids in an org with the project they are part of export const useGetUserWorkspaceMemberships = (orgId: string) => useQuery({ - queryKey: workspaceKeys.getWorkspaceMemberships(orgId), + queryKey: projectKeys.getWorkspaceMemberships(orgId), queryFn: () => fetchUserWorkspaceMemberships(orgId), enabled: Boolean(orgId) }); @@ -200,62 +196,62 @@ export const useNameWorkspaceSecrets = () => { const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ workspaceId, secretsToUpdate }) => - apiRequest.post(`/api/v3/workspaces/${workspaceId}/secrets/names`, { + mutationFn: async ({ projectId, secretsToUpdate }) => + apiRequest.post(`/api/v3/projects/${projectId}/secrets/names`, { secretsToUpdate }), onSuccess: (_, variables) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceIndexStatus(variables.workspaceId) + queryKey: projectKeys.getWorkspaceIndexStatus(variables.projectId) }); } }); }; -const fetchWorkspaceAuthorization = async (workspaceId: string) => { +const fetchWorkspaceAuthorization = async (projectId: string) => { const { data } = await apiRequest.get<{ authorizations: IntegrationAuth[] }>( - `/api/v1/workspace/${workspaceId}/authorizations` + `/api/v1/projects/${projectId}/authorizations` ); return data.authorizations; }; export const useGetWorkspaceAuthorizations = ( - workspaceId: string, + projectId: string, select?: (data: IntegrationAuth[]) => TData ) => useQuery({ - queryKey: workspaceKeys.getWorkspaceAuthorization(workspaceId), - queryFn: () => fetchWorkspaceAuthorization(workspaceId), - enabled: Boolean(workspaceId), + queryKey: projectKeys.getWorkspaceAuthorization(projectId), + queryFn: () => fetchWorkspaceAuthorization(projectId), + enabled: Boolean(projectId), select }); -export const fetchWorkspaceIntegrations = async (workspaceId: string) => { +export const fetchWorkspaceIntegrations = async (projectId: string) => { const { data } = await apiRequest.get<{ integrations: TIntegration[] }>( - `/api/v1/workspace/${workspaceId}/integrations` + `/api/v1/projects/${projectId}/integrations` ); return data.integrations; }; -export const useGetWorkspaceIntegrations = (workspaceId: string) => +export const useGetWorkspaceIntegrations = (projectId: string) => useQuery({ - queryKey: workspaceKeys.getWorkspaceIntegrations(workspaceId), - queryFn: () => fetchWorkspaceIntegrations(workspaceId), - enabled: Boolean(workspaceId), + queryKey: projectKeys.getWorkspaceIntegrations(projectId), + queryFn: () => fetchWorkspaceIntegrations(projectId), + enabled: Boolean(projectId), refetchInterval: 4000 }); export const createWorkspace = ( dto: CreateWorkspaceDTO -): Promise<{ data: { project: Workspace } }> => { - return apiRequest.post("/api/v2/workspace", dto); +): Promise<{ data: { project: Project } }> => { + return apiRequest.post("/api/v1/projects", dto); }; export const useCreateWorkspace = () => { const queryClient = useQueryClient(); - return useMutation<{ data: { project: Workspace } }, object, CreateWorkspaceDTO>({ + return useMutation<{ data: { project: Project } }, object, CreateWorkspaceDTO>({ mutationFn: async ({ projectName, projectDescription, kmsKeyId, template, type }) => createWorkspace({ projectName, @@ -266,7 +262,7 @@ export const useCreateWorkspace = () => { }), onSuccess: () => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserWorkspace() }); } }); @@ -275,7 +271,7 @@ export const useCreateWorkspace = () => { export const useUpdateProject = () => { const queryClient = useQueryClient(); - return useMutation({ + return useMutation({ mutationFn: async ({ projectID, newProjectName, @@ -285,8 +281,8 @@ export const useUpdateProject = () => { showSnapshotsLegacy, secretDetectionIgnoreValues }) => { - const { data } = await apiRequest.patch<{ workspace: Workspace }>( - `/api/v1/workspace/${projectID}`, + const { data } = await apiRequest.patch<{ project: Project }>( + `/api/v1/projects/${projectID}`, { name: newProjectName, description: newProjectDescription, @@ -296,10 +292,10 @@ export const useUpdateProject = () => { secretDetectionIgnoreValues } ); - return data.workspace; + return data.project; }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); + queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); } }); }; @@ -307,18 +303,18 @@ export const useUpdateProject = () => { export const useToggleAutoCapitalization = () => { const queryClient = useQueryClient(); - return useMutation({ - mutationFn: async ({ workspaceID, state }) => { - const { data } = await apiRequest.post<{ workspace: Workspace }>( - `/api/v1/workspace/${workspaceID}/auto-capitalization`, + return useMutation({ + mutationFn: async ({ projectID, state }) => { + const { data } = await apiRequest.post<{ project: Project }>( + `/api/v1/projects/${projectID}/auto-capitalization`, { autoCapitalization: state } ); - return data.workspace; + return data.project; }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); + queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); } }); }; @@ -326,18 +322,18 @@ export const useToggleAutoCapitalization = () => { export const useToggleDeleteProjectProtection = () => { const queryClient = useQueryClient(); - return useMutation({ - mutationFn: async ({ workspaceID, state }) => { - const { data } = await apiRequest.post<{ workspace: Workspace }>( - `/api/v1/workspace/${workspaceID}/delete-protection`, + return useMutation({ + mutationFn: async ({ projectID, state }) => { + const { data } = await apiRequest.post<{ project: Project }>( + `/api/v1/projects/${projectID}/delete-protection`, { hasDeleteProtection: state } ); - return data.workspace; + return data.project; }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); + queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); } }); }; @@ -345,15 +341,15 @@ export const useToggleDeleteProjectProtection = () => { export const useUpdateWorkspaceVersionLimit = () => { const queryClient = useQueryClient(); - return useMutation({ + return useMutation({ mutationFn: async ({ projectSlug, pitVersionLimit }) => { - const { data } = await apiRequest.put(`/api/v1/workspace/${projectSlug}/version-limit`, { + const { data } = await apiRequest.put(`/api/v1/projects/${projectSlug}/version-limit`, { pitVersionLimit }); - return data.workspace; + return data.project; }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); + queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); } }); }; @@ -361,18 +357,18 @@ export const useUpdateWorkspaceVersionLimit = () => { export const useUpdateWorkspaceAuditLogsRetention = () => { const queryClient = useQueryClient(); - return useMutation({ + return useMutation({ mutationFn: async ({ projectSlug, auditLogsRetentionDays }) => { const { data } = await apiRequest.put( - `/api/v1/workspace/${projectSlug}/audit-logs-retention`, + `/api/v1/projects/${projectSlug}/audit-logs-retention`, { auditLogsRetentionDays } ); - return data.workspace; + return data.project; }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); + queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); } }); }; @@ -380,13 +376,13 @@ export const useUpdateWorkspaceAuditLogsRetention = () => { export const useDeleteWorkspace = () => { const queryClient = useQueryClient(); - return useMutation({ - mutationFn: async ({ workspaceID }) => { - const { data } = await apiRequest.delete(`/api/v1/workspace/${workspaceID}`); - return data.workspace; + return useMutation({ + mutationFn: async ({ projectID }) => { + const { data } = await apiRequest.delete(`/api/v1/projects/${projectID}`); + return data.project; }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); + queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); queryClient.invalidateQueries({ queryKey: ["org-admin-projects"] }); @@ -398,9 +394,9 @@ export const useCreateWsEnvironment = () => { const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ workspaceId, name, slug }) => { + mutationFn: async ({ projectId, name, slug }) => { const { data } = await apiRequest.post<{ environment: WorkspaceEnv }>( - `/api/v1/workspace/${workspaceId}/environments`, + `/api/v1/projects/${projectId}/environments`, { name, slug @@ -410,7 +406,7 @@ export const useCreateWsEnvironment = () => { }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserWorkspace() }); } }); @@ -420,8 +416,8 @@ export const useUpdateWsEnvironment = () => { const queryClient = useQueryClient(); return useMutation({ - mutationFn: ({ workspaceId, id, name, slug, position }) => { - return apiRequest.patch(`/api/v1/workspace/${workspaceId}/environments/${id}`, { + mutationFn: ({ projectId, id, name, slug, position }) => { + return apiRequest.patch(`/api/v1/projects/${projectId}/environments/${id}`, { name, slug, position @@ -429,7 +425,7 @@ export const useUpdateWsEnvironment = () => { }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserWorkspace() }); } }); @@ -439,57 +435,54 @@ export const useDeleteWsEnvironment = () => { const queryClient = useQueryClient(); return useMutation({ - mutationFn: ({ id, workspaceId }) => { - return apiRequest.delete(`/api/v1/workspace/${workspaceId}/environments/${id}`); + mutationFn: ({ id, projectId }) => { + return apiRequest.delete(`/api/v1/projects/${projectId}/environments/${id}`); }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserWorkspace() }); } }); }; export const useGetWorkspaceUsers = ( - workspaceId: string, + projectId: string, includeGroupMembers?: boolean, roles?: string[] ) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceUsers(workspaceId, includeGroupMembers, roles), + queryKey: projectKeys.getWorkspaceUsers(projectId, includeGroupMembers, roles), queryFn: async () => { const { data: { users } - } = await apiRequest.get<{ users: TWorkspaceUser[] }>( - `/api/v1/workspace/${workspaceId}/users`, - { - params: { - includeGroupMembers, - roles: - roles && roles.length > 0 - ? roles.map((role) => encodeURIComponent(role)).join(",") - : undefined - } + } = await apiRequest.get<{ users: TWorkspaceUser[] }>(`/api/v1/projects/${projectId}/users`, { + params: { + includeGroupMembers, + roles: + roles && roles.length > 0 + ? roles.map((role) => encodeURIComponent(role)).join(",") + : undefined } - ); + }); return users; }, enabled: true }); }; -export const useGetWorkspaceUserDetails = (workspaceId: string, membershipId: string) => { +export const useGetWorkspaceUserDetails = (projectId: string, membershipId: string) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceUserDetails(workspaceId, membershipId), + queryKey: projectKeys.getWorkspaceUserDetails(projectId, membershipId), queryFn: async () => { const { data: { membership } } = await apiRequest.get<{ membership: TWorkspaceUser }>( - `/api/v1/workspace/${workspaceId}/memberships/${membershipId}` + `/api/v1/projects/${projectId}/memberships/${membershipId}` ); return membership; }, - enabled: Boolean(workspaceId) && Boolean(membershipId) + enabled: Boolean(projectId) && Boolean(membershipId) }); }; @@ -499,21 +492,21 @@ export const useDeleteUserFromWorkspace = () => { return useMutation({ mutationFn: async ({ usernames, - workspaceId + projectId }: { - workspaceId: string; + projectId: string; usernames: string[]; orgId: string; }) => { const { data: { deletedMembership } - } = await apiRequest.delete(`/api/v2/workspace/${workspaceId}/memberships`, { + } = await apiRequest.delete(`/api/v1/projects/${projectId}/memberships`, { data: { usernames } }); return deletedMembership; }, - onSuccess: (_, { orgId, workspaceId }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspaceUsers(workspaceId) }); + onSuccess: (_, { orgId, projectId }) => { + queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceUsers(projectId) }); queryClient.invalidateQueries({ queryKey: userKeys.allOrgMembershipProjectMemberships(orgId) }); @@ -524,21 +517,21 @@ export const useDeleteUserFromWorkspace = () => { export const useUpdateUserWorkspaceRole = () => { const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ membershipId, roles, workspaceId }: TUpdateWorkspaceUserRoleDTO) => { + mutationFn: async ({ membershipId, roles, projectId }: TUpdateWorkspaceUserRoleDTO) => { const { data: { membership } } = await apiRequest.patch<{ membership: { projectId: string } }>( - `/api/v1/workspace/${workspaceId}/memberships/${membershipId}`, + `/api/v1/projects/${projectId}/memberships/${membershipId}`, { roles } ); return membership; }, - onSuccess: (_, { workspaceId, membershipId }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspaceUsers(workspaceId) }); + onSuccess: (_, { projectId, membershipId }) => { + queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceUsers(projectId) }); queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceUserDetails(workspaceId, membershipId) + queryKey: projectKeys.getWorkspaceUserDetails(projectId, membershipId) }); } }); @@ -549,17 +542,17 @@ export const useAddIdentityToWorkspace = () => { return useMutation({ mutationFn: async ({ identityId, - workspaceId, + projectId, role }: { identityId: string; - workspaceId: string; + projectId: string; role?: string; }) => { const { data: { identityMembership } } = await apiRequest.post( - `/api/v2/workspace/${workspaceId}/identity-memberships/${identityId}`, + `/api/v1/projects/${projectId}/identity-memberships/${identityId}`, { role } @@ -567,9 +560,9 @@ export const useAddIdentityToWorkspace = () => { return identityMembership; }, - onSuccess: (_, { identityId, workspaceId }) => { + onSuccess: (_, { identityId, projectId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceIdentityMemberships(workspaceId) + queryKey: projectKeys.getWorkspaceIdentityMemberships(projectId) }); queryClient.invalidateQueries({ queryKey: identitiesKeys.getIdentityProjectMemberships(identityId) @@ -581,11 +574,11 @@ export const useAddIdentityToWorkspace = () => { export const useUpdateIdentityWorkspaceRole = () => { const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ identityId, workspaceId, roles }: TUpdateWorkspaceIdentityRoleDTO) => { + mutationFn: async ({ identityId, projectId, roles }: TUpdateWorkspaceIdentityRoleDTO) => { const { data: { identityMembership } } = await apiRequest.patch( - `/api/v2/workspace/${workspaceId}/identity-memberships/${identityId}`, + `/api/v1/projects/${projectId}/identity-memberships/${identityId}`, { roles } @@ -593,15 +586,15 @@ export const useUpdateIdentityWorkspaceRole = () => { return identityMembership; }, - onSuccess: (_, { identityId, workspaceId }) => { + onSuccess: (_, { identityId, projectId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceIdentityMemberships(workspaceId) + queryKey: projectKeys.getWorkspaceIdentityMemberships(projectId) }); queryClient.invalidateQueries({ queryKey: identitiesKeys.getIdentityProjectMemberships(identityId) }); queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceIdentityMembershipDetails(workspaceId, identityId) + queryKey: projectKeys.getWorkspaceIdentityMembershipDetails(projectId, identityId) }); } }); @@ -610,23 +603,17 @@ export const useUpdateIdentityWorkspaceRole = () => { export const useDeleteIdentityFromWorkspace = () => { const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ - identityId, - workspaceId - }: { - identityId: string; - workspaceId: string; - }) => { + mutationFn: async ({ identityId, projectId }: { identityId: string; projectId: string }) => { const { data: { identityMembership } } = await apiRequest.delete( - `/api/v2/workspace/${workspaceId}/identity-memberships/${identityId}` + `/api/v1/projects/${projectId}/identity-memberships/${identityId}` ); return identityMembership; }, - onSuccess: (_, { identityId, workspaceId }) => { + onSuccess: (_, { identityId, projectId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceIdentityMemberships(workspaceId) + queryKey: projectKeys.getWorkspaceIdentityMemberships(projectId) }); queryClient.invalidateQueries({ queryKey: identitiesKeys.getIdentityProjectMemberships(identityId) @@ -637,7 +624,7 @@ export const useDeleteIdentityFromWorkspace = () => { export const useGetWorkspaceIdentityMemberships = ( { - workspaceId, + projectId, offset = 0, limit = 100, orderBy = ProjectIdentityOrderBy.Name, @@ -649,14 +636,14 @@ export const useGetWorkspaceIdentityMemberships = ( TProjectIdentitiesList, unknown, TProjectIdentitiesList, - ReturnType + ReturnType >, "queryKey" | "queryFn" > ) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceIdentityMembershipsWithParams({ - workspaceId, + queryKey: projectKeys.getWorkspaceIdentityMembershipsWithParams({ + projectId, offset, limit, orderBy, @@ -673,7 +660,7 @@ export const useGetWorkspaceIdentityMemberships = ( }); const { data } = await apiRequest.get( - `/api/v2/workspace/${workspaceId}/identity-memberships`, + `/api/v1/projects/${projectId}/identity-memberships`, { params } ); return data; @@ -686,12 +673,12 @@ export const useGetWorkspaceIdentityMemberships = ( export const useGetWorkspaceIdentityMembershipDetails = (projectId: string, identityId: string) => { return useQuery({ enabled: Boolean(projectId && identityId), - queryKey: workspaceKeys.getWorkspaceIdentityMembershipDetails(projectId, identityId), + queryKey: projectKeys.getWorkspaceIdentityMembershipDetails(projectId, identityId), queryFn: async () => { const { data: { identityMembership } } = await apiRequest.get<{ identityMembership: IdentityMembership }>( - `/api/v2/workspace/${projectId}/identity-memberships/${identityId}` + `/api/v1/projects/${projectId}/identity-memberships/${identityId}` ); return identityMembership; } @@ -701,12 +688,12 @@ export const useGetWorkspaceIdentityMembershipDetails = (projectId: string, iden export const useGetWorkspaceGroupMembershipDetails = (projectId: string, groupId: string) => { return useQuery({ enabled: Boolean(projectId && groupId), - queryKey: workspaceKeys.getWorkspaceGroupMembershipDetails(projectId, groupId), + queryKey: projectKeys.getWorkspaceGroupMembershipDetails(projectId, groupId), queryFn: async () => { const { data: { groupMembership } } = await apiRequest.get<{ groupMembership: TGroupMembership }>( - `/api/v2/workspace/${projectId}/groups/${groupId}` + `/api/v1/projects/${projectId}/groups/${groupId}` ); return groupMembership; } @@ -715,12 +702,12 @@ export const useGetWorkspaceGroupMembershipDetails = (projectId: string, groupId export const useListWorkspaceGroups = (projectId: string) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceGroupMemberships(projectId), + queryKey: projectKeys.getWorkspaceGroupMemberships(projectId), queryFn: async () => { const { data: { groupMemberships } } = await apiRequest.get<{ groupMemberships: TGroupMembership[] }>( - `/api/v2/workspace/${projectId}/groups` + `/api/v1/projects/${projectId}/groups` ); return groupMemberships; }, @@ -736,7 +723,7 @@ export const useListWorkspaceCas = ({ status?: CaStatus; }) => { return useQuery({ - queryKey: workspaceKeys.specificWorkspaceCas({ + queryKey: projectKeys.specificWorkspaceCas({ projectSlug, status }), @@ -748,7 +735,7 @@ export const useListWorkspaceCas = ({ const { data: { cas } } = await apiRequest.get<{ cas: TCertificateAuthority[] }>( - `/api/v2/workspace/${projectSlug}/cas`, + `/api/v1/projects/${projectSlug}/cas`, { params } @@ -769,7 +756,7 @@ export const useListWorkspaceCertificates = ({ limit: number; }) => { return useQuery({ - queryKey: workspaceKeys.specificWorkspaceCertificates({ + queryKey: projectKeys.specificWorkspaceCertificates({ slug: projectSlug, offset, limit @@ -783,7 +770,7 @@ export const useListWorkspaceCertificates = ({ const { data: { certificates, totalCount } } = await apiRequest.get<{ certificates: TCertificate[]; totalCount: number }>( - `/api/v2/workspace/${projectSlug}/certificates`, + `/api/v1/projects/${projectSlug}/certificates`, { params } @@ -795,51 +782,49 @@ export const useListWorkspaceCertificates = ({ }); }; -export const useListWorkspacePkiAlerts = ({ workspaceId }: { workspaceId: string }) => { +export const useListWorkspacePkiAlerts = ({ projectId }: { projectId: string }) => { return useQuery({ - queryKey: workspaceKeys.getWorkspacePkiAlerts(workspaceId), + queryKey: projectKeys.getWorkspacePkiAlerts(projectId), queryFn: async () => { const { data: { alerts } - } = await apiRequest.get<{ alerts: TPkiAlert[] }>( - `/api/v2/workspace/${workspaceId}/pki-alerts` - ); + } = await apiRequest.get<{ alerts: TPkiAlert[] }>(`/api/v1/projects/${projectId}/pki-alerts`); return { alerts }; }, - enabled: Boolean(workspaceId) + enabled: Boolean(projectId) }); }; -export const useListWorkspacePkiCollections = ({ workspaceId }: { workspaceId: string }) => { +export const useListWorkspacePkiCollections = ({ projectId }: { projectId: string }) => { return useQuery({ - queryKey: workspaceKeys.getWorkspacePkiCollections(workspaceId), + queryKey: projectKeys.getWorkspacePkiCollections(projectId), queryFn: async () => { const { data: { collections } } = await apiRequest.get<{ collections: TPkiCollection[] }>( - `/api/v2/workspace/${workspaceId}/pki-collections` + `/api/v1/projects/${projectId}/pki-collections` ); return { collections }; }, - enabled: Boolean(workspaceId) + enabled: Boolean(projectId) }); }; -export const useListWorkspaceCertificateTemplates = ({ workspaceId }: { workspaceId: string }) => { +export const useListWorkspaceCertificateTemplates = ({ projectId }: { projectId: string }) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceCertificateTemplates(workspaceId), + queryKey: projectKeys.getWorkspaceCertificateTemplates(projectId), queryFn: async () => { const { data: { certificateTemplates } } = await apiRequest.get<{ certificateTemplates: TCertificateTemplate[] }>( - `/api/v2/workspace/${workspaceId}/certificate-templates` + `/api/v1/projects/${projectId}/certificate-templates` ); return { certificateTemplates }; }, - enabled: Boolean(workspaceId) + enabled: Boolean(projectId) }); }; @@ -853,7 +838,7 @@ export const useListWorkspaceSshCertificates = ({ projectId: string; }) => { return useQuery({ - queryKey: workspaceKeys.specificWorkspaceSshCertificates({ + queryKey: projectKeys.specificWorkspaceSshCertificates({ offset, limit, projectId @@ -867,7 +852,7 @@ export const useListWorkspaceSshCertificates = ({ const { data } = await apiRequest.get<{ certificates: TSshCertificate[]; totalCount: number; - }>(`/api/v2/workspace/${projectId}/ssh-certificates`, { + }>(`/api/v1/projects/${projectId}/ssh-certificates`, { params }); return data; @@ -878,12 +863,12 @@ export const useListWorkspaceSshCertificates = ({ export const useListWorkspaceSshCas = (projectId: string) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceSshCas(projectId), + queryKey: projectKeys.getWorkspaceSshCas(projectId), queryFn: async () => { const { data: { cas } } = await apiRequest.get<{ cas: Omit[] }>( - `/api/v2/workspace/${projectId}/ssh-cas` + `/api/v1/projects/${projectId}/ssh-cas` ); return cas; }, @@ -893,11 +878,11 @@ export const useListWorkspaceSshCas = (projectId: string) => { export const useListWorkspaceSshHosts = (projectId: string) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceSshHosts(projectId), + queryKey: projectKeys.getWorkspaceSshHosts(projectId), queryFn: async () => { const { data: { hosts } - } = await apiRequest.get<{ hosts: TSshHost[] }>(`/api/v2/workspace/${projectId}/ssh-hosts`); + } = await apiRequest.get<{ hosts: TSshHost[] }>(`/api/v1/projects/${projectId}/ssh-hosts`); return hosts; }, enabled: Boolean(projectId) @@ -906,12 +891,12 @@ export const useListWorkspaceSshHosts = (projectId: string) => { export const useListWorkspacePkiSubscribers = (projectId: string) => { return useQuery({ - queryKey: workspaceKeys.getWorkspacePkiSubscribers(projectId), + queryKey: projectKeys.getWorkspacePkiSubscribers(projectId), queryFn: async () => { const { data: { subscribers } } = await apiRequest.get<{ subscribers: TPkiSubscriber[] }>( - `/api/v2/workspace/${projectId}/pki-subscribers` + `/api/v1/projects/${projectId}/pki-subscribers` ); return subscribers; }, @@ -921,12 +906,12 @@ export const useListWorkspacePkiSubscribers = (projectId: string) => { export const useListWorkspaceSshHostGroups = (projectId: string) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceSshHostGroups(projectId), + queryKey: projectKeys.getWorkspaceSshHostGroups(projectId), queryFn: async () => { const { data: { groups } } = await apiRequest.get<{ groups: (TSshHostGroup & { hostCount: number })[] }>( - `/api/v2/workspace/${projectId}/ssh-host-groups` + `/api/v1/projects/${projectId}/ssh-host-groups` ); return groups; }, @@ -936,10 +921,10 @@ export const useListWorkspaceSshHostGroups = (projectId: string) => { export const useListWorkspaceSshCertificateTemplates = (projectId: string) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceSshCertificateTemplates(projectId), + queryKey: projectKeys.getWorkspaceSshCertificateTemplates(projectId), queryFn: async () => { const { data } = await apiRequest.get<{ certificateTemplates: TSshCertificateTemplate[] }>( - `/api/v2/workspace/${projectId}/ssh-certificate-templates` + `/api/v1/projects/${projectId}/ssh-certificate-templates` ); return data; }, @@ -948,18 +933,18 @@ export const useListWorkspaceSshCertificateTemplates = (projectId: string) => { }; export const useGetWorkspaceWorkflowIntegrationConfig = ({ - workspaceId, + projectId, integration }: { - workspaceId: string; + projectId: string; integration: WorkflowIntegrationPlatform; }) => { return useQuery({ - queryKey: workspaceKeys.getWorkspaceWorkflowIntegrationConfig(workspaceId, integration), + queryKey: projectKeys.getWorkspaceWorkflowIntegrationConfig(projectId, integration), queryFn: async () => { const { data } = await apiRequest .get( - `/api/v1/workspace/${workspaceId}/workflow-integration-config/${integration}` + `/api/v1/projects/${projectId}/workflow-integration-config/${integration}` ) .catch((err) => { if (err.response.status === 404) { @@ -971,16 +956,16 @@ export const useGetWorkspaceWorkflowIntegrationConfig = ({ return data; }, - enabled: Boolean(workspaceId) + enabled: Boolean(projectId) }); }; export const useGetProjectSshConfig = (projectId: string) => { return useQuery({ - queryKey: workspaceKeys.getProjectSshConfig(projectId), + queryKey: projectKeys.getProjectSshConfig(projectId), queryFn: async () => { const { data } = await apiRequest.get( - `/api/v1/workspace/${projectId}/ssh-config` + `/api/v1/projects/${projectId}/ssh-config` ); return data; diff --git a/frontend/src/hooks/api/workspace/query-keys.tsx b/frontend/src/hooks/api/workspace/query-keys.tsx index aca6f48b7..2da17b3aa 100644 --- a/frontend/src/hooks/api/workspace/query-keys.tsx +++ b/frontend/src/hooks/api/workspace/query-keys.tsx @@ -3,47 +3,44 @@ import { TListProjectIdentitiesDTO, TSearchProjectsDTO } from "@app/hooks/api/wo import type { CaStatus } from "../ca"; import { WorkflowIntegrationPlatform } from "../workflowIntegrations/types"; -export const workspaceKeys = { - getWorkspaceById: (workspaceId: string) => ["workspaces", { workspaceId }] as const, - getWorkspaceSecrets: (workspaceId: string) => [{ workspaceId }, "workspace-secrets"] as const, - getWorkspaceIndexStatus: (workspaceId: string) => - [{ workspaceId }, "workspace-index-status"] as const, - getProjectUpgradeStatus: (workspaceId: string) => [{ workspaceId }, "workspace-upgrade-status"], - getWorkspaceMemberships: (orgId: string) => [{ orgId }, "workspace-memberships"], - getWorkspaceAuthorization: (workspaceId: string) => [{ workspaceId }, "workspace-authorizations"], - getWorkspaceIntegrations: (workspaceId: string) => [{ workspaceId }, "workspace-integrations"], - getAllUserWorkspace: () => ["workspaces"] as const, - getWorkspaceAuditLogs: (workspaceId: string) => - [{ workspaceId }, "workspace-audit-logs"] as const, +export const projectKeys = { + getWorkspaceById: (projectId: string) => ["projects", { projectId }] as const, + getWorkspaceSecrets: (projectId: string) => [{ projectId }, "project-secrets"] as const, + getWorkspaceIndexStatus: (projectId: string) => [{ projectId }, "project-index-status"] as const, + getProjectUpgradeStatus: (projectId: string) => [{ projectId }, "project-upgrade-status"], + getWorkspaceMemberships: (orgId: string) => [{ orgId }, "project-memberships"], + getWorkspaceAuthorization: (projectId: string) => [{ projectId }, "project-authorizations"], + getWorkspaceIntegrations: (projectId: string) => [{ projectId }, "project-integrations"], + getAllUserWorkspace: () => ["projects"] as const, + getWorkspaceAuditLogs: (projectId: string) => [{ projectId }, "project-audit-logs"] as const, getWorkspaceUsers: ( - workspaceId: string, + projectId: string, includeGroupMembers: boolean = false, roles: string[] = [] - ) => [{ workspaceId, includeGroupMembers, roles }, "workspace-users"] as const, - getWorkspaceUserDetails: (workspaceId: string, membershipId: string) => - [{ workspaceId, membershipId }, "workspace-user-details"] as const, - getWorkspaceIdentityMemberships: (workspaceId: string) => - [{ workspaceId }, "workspace-identity-memberships"] as const, - getWorkspaceIdentityMembershipDetails: (workspaceId: string, identityId: string) => - [{ workspaceId, identityId }, "workspace-identity-membership-details"] as const, + ) => [{ projectId, includeGroupMembers, roles }, "project-users"] as const, + getWorkspaceUserDetails: (projectId: string, membershipId: string) => + [{ projectId, membershipId }, "project-user-details"] as const, + getWorkspaceIdentityMemberships: (projectId: string) => + [{ projectId }, "project-identity-memberships"] as const, + getWorkspaceIdentityMembershipDetails: (projectId: string, identityId: string) => + [{ projectId, identityId }, "project-identity-membership-details"] as const, // allows invalidation using above key without knowing params getWorkspaceIdentityMembershipsWithParams: ({ - workspaceId, + projectId, ...params }: TListProjectIdentitiesDTO) => - [...workspaceKeys.getWorkspaceIdentityMemberships(workspaceId), params] as const, + [...projectKeys.getWorkspaceIdentityMemberships(projectId), params] as const, searchWorkspace: (dto: TSearchProjectsDTO) => ["search-projects", dto] as const, - getWorkspaceGroupMemberships: (workspaceId: string) => - [{ workspaceId }, "workspace-groups"] as const, - getWorkspaceGroupMembershipDetails: (workspaceId: string, groupId: string) => - [{ workspaceId, groupId }, "workspace-group-membership-details"] as const, + getWorkspaceGroupMemberships: (projectId: string) => [{ projectId }, "project-groups"] as const, + getWorkspaceGroupMembershipDetails: (projectId: string, groupId: string) => + [{ projectId, groupId }, "project-group-membership-details"] as const, getWorkspaceCas: ({ projectSlug }: { projectSlug: string }) => - [{ projectSlug }, "workspace-cas"] as const, + [{ projectSlug }, "project-cas"] as const, specificWorkspaceCas: ({ projectSlug, status }: { projectSlug: string; status?: CaStatus }) => - [...workspaceKeys.getWorkspaceCas({ projectSlug }), { status }] as const, - allWorkspaceCertificates: () => ["workspace-certificates"] as const, + [...projectKeys.getWorkspaceCas({ projectSlug }), { status }] as const, + allWorkspaceCertificates: () => ["project-certificates"] as const, forWorkspaceCertificates: (slug: string) => - [...workspaceKeys.allWorkspaceCertificates(), slug] as const, + [...projectKeys.allWorkspaceCertificates(), slug] as const, specificWorkspaceCertificates: ({ slug, offset, @@ -52,25 +49,24 @@ export const workspaceKeys = { slug: string; offset: number; limit: number; - }) => [...workspaceKeys.forWorkspaceCertificates(slug), { offset, limit }] as const, - getWorkspacePkiAlerts: (workspaceId: string) => - [{ workspaceId }, "workspace-pki-alerts"] as const, + }) => [...projectKeys.forWorkspaceCertificates(slug), { offset, limit }] as const, + getWorkspacePkiAlerts: (projectId: string) => [{ projectId }, "project-pki-alerts"] as const, getWorkspacePkiSubscribers: (projectId: string) => - [{ projectId }, "workspace-pki-subscribers"] as const, - getWorkspacePkiCollections: (workspaceId: string) => - [{ workspaceId }, "workspace-pki-collections"] as const, - getWorkspaceCertificateTemplates: (workspaceId: string) => - [{ workspaceId }, "workspace-certificate-templates"] as const, + [{ projectId }, "project-pki-subscribers"] as const, + getWorkspacePkiCollections: (projectId: string) => + [{ projectId }, "project-pki-collections"] as const, + getWorkspaceCertificateTemplates: (projectId: string) => + [{ projectId }, "project-certificate-templates"] as const, getWorkspaceWorkflowIntegrationConfig: ( - workspaceId: string, + projectId: string, integration: WorkflowIntegrationPlatform - ) => [{ workspaceId, integration }, "workspace-workflow-integration-config"] as const, - getWorkspaceSshCas: (projectId: string) => [{ projectId }, "workspace-ssh-cas"] as const, + ) => [{ projectId, integration }, "project-workflow-integration-config"] as const, + getWorkspaceSshCas: (projectId: string) => [{ projectId }, "project-ssh-cas"] as const, allWorkspaceSshCertificates: (projectId: string) => - [{ projectId }, "workspace-ssh-certificates"] as const, - getWorkspaceSshHosts: (projectId: string) => [{ projectId }, "workspace-ssh-hosts"] as const, + [{ projectId }, "project-ssh-certificates"] as const, + getWorkspaceSshHosts: (projectId: string) => [{ projectId }, "project-ssh-hosts"] as const, getWorkspaceSshHostGroups: (projectId: string) => - [{ projectId }, "workspace-ssh-host-groups"] as const, + [{ projectId }, "project-ssh-host-groups"] as const, specificWorkspaceSshCertificates: ({ offset, limit, @@ -79,8 +75,8 @@ export const workspaceKeys = { offset: number; limit: number; projectId: string; - }) => [...workspaceKeys.allWorkspaceSshCertificates(projectId), { offset, limit }] as const, + }) => [...projectKeys.allWorkspaceSshCertificates(projectId), { offset, limit }] as const, getWorkspaceSshCertificateTemplates: (projectId: string) => - [{ projectId }, "workspace-ssh-certificate-templates"] as const, + [{ projectId }, "project-ssh-certificate-templates"] as const, getProjectSshConfig: (projectId: string) => [{ projectId }, "project-ssh-config"] as const }; diff --git a/frontend/src/hooks/api/workspace/types.ts b/frontend/src/hooks/api/workspace/types.ts index 33eb0909f..50dff8337 100644 --- a/frontend/src/hooks/api/workspace/types.ts +++ b/frontend/src/hooks/api/workspace/types.ts @@ -20,7 +20,7 @@ export enum ProjectUserMembershipTemporaryMode { Relative = "relative" } -export type Workspace = { +export type Project = { __v: number; id: string; name: string; @@ -52,7 +52,7 @@ export type WorkspaceEnv = { export type WorkspaceTag = { id: string; name: string; slug: string }; export type NameWorkspaceSecretsDTO = { - workspaceId: string; + projectId: string; secretsToUpdate: { secretName: string; secretId: string; @@ -87,19 +87,19 @@ export type UpdateProjectDTO = { export type UpdatePitVersionLimitDTO = { projectSlug: string; pitVersionLimit: number }; export type UpdateAuditLogsRetentionDTO = { projectSlug: string; auditLogsRetentionDays: number }; -export type ToggleAutoCapitalizationDTO = { workspaceID: string; state: boolean }; -export type ToggleDeleteProjectProtectionDTO = { workspaceID: string; state: boolean }; +export type ToggleAutoCapitalizationDTO = { projectID: string; state: boolean }; +export type ToggleDeleteProjectProtectionDTO = { projectID: string; state: boolean }; -export type DeleteWorkspaceDTO = { workspaceID: string }; +export type DeleteWorkspaceDTO = { projectID: string }; export type CreateEnvironmentDTO = { - workspaceId: string; + projectId: string; name: string; slug: string; }; export type ReorderEnvironmentsDTO = { - workspaceId: string; + projectId: string; environmentSlug: string; environmentName: string; otherEnvironmentSlug: string; @@ -107,18 +107,18 @@ export type ReorderEnvironmentsDTO = { }; export type UpdateEnvironmentDTO = { - workspaceId: string; + projectId: string; id: string; name?: string; slug?: string; position?: number; }; -export type DeleteEnvironmentDTO = { workspaceId: string; id: string }; +export type DeleteEnvironmentDTO = { projectId: string; id: string }; export type TUpdateWorkspaceUserRoleDTO = { membershipId: string; - workspaceId: string; + projectId: string; roles: ( | { role: string; @@ -136,7 +136,7 @@ export type TUpdateWorkspaceUserRoleDTO = { export type TUpdateWorkspaceIdentityRoleDTO = { identityId: string; - workspaceId: string; + projectId: string; roles: ( | { role: string; @@ -171,7 +171,7 @@ export type TUpdateWorkspaceGroupRoleDTO = { }; export type TListProjectIdentitiesDTO = { - workspaceId: string; + projectId: string; offset?: number; limit?: number; orderBy?: ProjectIdentityOrderBy; diff --git a/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx b/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx index ebc28a227..f566ab6ef 100644 --- a/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx +++ b/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx @@ -36,7 +36,7 @@ import { usePopUp } from "@app/hooks"; import { useGetUserWorkspaces } from "@app/hooks/api"; import { useUpdateUserProjectFavorites } from "@app/hooks/api/users/mutation"; import { useGetUserProjectFavorites } from "@app/hooks/api/users/queries"; -import { Workspace } from "@app/hooks/api/workspace/types"; +import { Project } from "@app/hooks/api/workspace/types"; export const ProjectSelect = () => { const [searchProject, setSearchProject] = useState(""); @@ -88,7 +88,7 @@ export const ProjectSelect = () => { const projects = useMemo(() => { const projectOptions = workspaces - .map((w): Workspace & { isFavorite: boolean } => ({ + .map((w): Project & { isFavorite: boolean } => ({ ...w, isFavorite: Boolean(projectFavorites?.includes(w.id)) })) diff --git a/frontend/src/pages/organization/AuditLogsPage/components/LogsFilter.tsx b/frontend/src/pages/organization/AuditLogsPage/components/LogsFilter.tsx index 715f9c0b2..bc469ba11 100644 --- a/frontend/src/pages/organization/AuditLogsPage/components/LogsFilter.tsx +++ b/frontend/src/pages/organization/AuditLogsPage/components/LogsFilter.tsx @@ -29,7 +29,7 @@ import { } from "@app/hooks/api/auditLogs/constants"; import { EventType } from "@app/hooks/api/auditLogs/enums"; import { UserAgentType } from "@app/hooks/api/auth/types"; -import { Workspace } from "@app/hooks/api/workspace/types"; +import { Project } from "@app/hooks/api/workspace/types"; import { LogFilterItem } from "./LogFilterItem"; import { auditLogFilterFormSchema, Presets, TAuditLogFilterFormData } from "./types"; @@ -44,7 +44,7 @@ type Props = { presets?: Presets; setFilter: (data: TAuditLogFilterFormData) => void; filter: TAuditLogFilterFormData; - project?: Workspace; + project?: Project; }; const getActiveFilterCount = (filter: TAuditLogFilterFormData) => { diff --git a/frontend/src/pages/organization/AuditLogsPage/components/LogsSection.tsx b/frontend/src/pages/organization/AuditLogsPage/components/LogsSection.tsx index 5bbb42d32..c81ad7047 100644 --- a/frontend/src/pages/organization/AuditLogsPage/components/LogsSection.tsx +++ b/frontend/src/pages/organization/AuditLogsPage/components/LogsSection.tsx @@ -13,7 +13,7 @@ import { } from "@app/context"; import { Timezone } from "@app/helpers/datetime"; import { withPermission, withProjectPermission } from "@app/hoc"; -import { Workspace } from "@app/hooks/api/workspace/types"; +import { Project } from "@app/hooks/api/workspace/types"; import { usePopUp } from "@app/hooks/usePopUp"; import { LogsDateFilter } from "./LogsDateFilter"; @@ -31,7 +31,7 @@ type Props = { refetchInterval?: number; showFilters?: boolean; pageView?: boolean; - project?: Workspace; + project?: Project; }; const LogsSectionComponent = ({ diff --git a/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx b/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx index 7b066a099..3eb143147 100644 --- a/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx +++ b/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx @@ -48,7 +48,7 @@ import { useRequestProjectAccess, useSearchProjects } from "@app/hooks/api"; -import { ProjectType, Workspace, WorkspaceEnv } from "@app/hooks/api/workspace/types"; +import { ProjectType, Project, WorkspaceEnv } from "@app/hooks/api/workspace/types"; import { ProjectListToggle, ProjectListView @@ -180,7 +180,7 @@ export const AllProjectView = ({ offset, totalCount: searchedProjects?.totalCount || 0 }); - const requestedWorkspaceDetails = (popUp.requestAccessConfirmation.data || {}) as Workspace; + const requestedWorkspaceDetails = (popUp.requestAccessConfirmation.data || {}) as Project; const handleToggleFilterByProjectType = (el: ProjectType) => setProjectTypeFilter((state) => (state === el ? undefined : el)); diff --git a/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx b/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx index d63099273..8987069ec 100644 --- a/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx +++ b/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx @@ -43,7 +43,7 @@ import { useGetUserWorkspaces } from "@app/hooks/api"; import { OrderByDirection } from "@app/hooks/api/generic/types"; import { useUpdateUserProjectFavorites } from "@app/hooks/api/users/mutation"; import { useGetUserProjectFavorites } from "@app/hooks/api/users/queries"; -import { ProjectType, Workspace } from "@app/hooks/api/workspace/types"; +import { ProjectType, Project } from "@app/hooks/api/workspace/types"; import { ProjectListToggle, ProjectListView @@ -136,7 +136,7 @@ export const MyProjectView = ({ const { workspacesWithFaveProp } = useMemo(() => { const workspacesWithFav = filteredWorkspaces - .map((w): Workspace & { isFavorite: boolean } => ({ + .map((w): Project & { isFavorite: boolean } => ({ ...w, isFavorite: Boolean(projectFavorites?.includes(w.id)) })) @@ -188,7 +188,7 @@ export const MyProjectView = ({ } }; - const renderProjectGridItem = (workspace: Workspace, isFavorite: boolean) => ( + const renderProjectGridItem = (workspace: Project, isFavorite: boolean) => ( // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events
    { @@ -242,7 +242,7 @@ export const MyProjectView = ({

    ); - const renderProjectListItem = (workspace: Workspace, isFavorite: boolean, index: number) => ( + const renderProjectListItem = (workspace: Project, isFavorite: boolean, index: number) => ( // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events
    { diff --git a/frontend/src/pages/secret-manager/CommitDetailsPage/components/RollbackPreviewTab/RollbackPreviewTab.tsx b/frontend/src/pages/secret-manager/CommitDetailsPage/components/RollbackPreviewTab/RollbackPreviewTab.tsx index e06daea38..682822503 100644 --- a/frontend/src/pages/secret-manager/CommitDetailsPage/components/RollbackPreviewTab/RollbackPreviewTab.tsx +++ b/frontend/src/pages/secret-manager/CommitDetailsPage/components/RollbackPreviewTab/RollbackPreviewTab.tsx @@ -120,7 +120,7 @@ export const RollbackPreviewTab = (): JSX.Element => { ] as const); const { mutateAsync: rollback } = useCommitRollback({ - workspaceId: currentWorkspace.id, + projectId: currentWorkspace.id, commitId: selectedCommitId, folderId, deepRollback, diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretListView.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretListView.tsx index b98ce31b0..7407e7e24 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretListView.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretListView.tsx @@ -414,7 +414,7 @@ export const SecretListView = ({ queryKey: secretSnapshotKeys.count({ workspaceId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) @@ -492,7 +492,7 @@ export const SecretListView = ({ queryKey: secretSnapshotKeys.count({ workspaceId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) From fd2b067e14795284c8704bcf77e24377218eb5c4 Mon Sep 17 00:00:00 2001 From: = Date: Fri, 12 Sep 2025 16:04:17 +0530 Subject: [PATCH 08/27] feat: completed all workspace prefix routes --- .../ee/services/audit-log/audit-log-types.ts | 40 +- .../depreciated-project-membership-router.ts | 4 +- .../routes/{v2 => v1}/group-project-router.ts | 0 .../{v2 => v1}/identity-project-router.ts | 0 backend/src/server/routes/v1/index.ts | 8 +- .../routes/v1/project-membership-router.ts | 145 ++++-- .../src/server/routes/v1/project-router.ts | 234 +++++++++- .../v2/depreciated-group-project-router.ts | 363 +++++++++++++++ .../v2/depreciated-identity-project-router.ts | 418 ++++++++++++++++++ ... depreciated-project-membership-router.ts} | 6 +- ...outer.ts => depreciated-project-router.ts} | 70 +-- backend/src/server/routes/v2/index.ts | 18 +- backend/src/server/routes/v3/index.ts | 2 - .../routes/v3/secret-blind-index-router.ts | 109 ----- frontend/src/hooks/api/auditLogs/queries.tsx | 14 +- frontend/src/hooks/api/groups/queries.tsx | 2 +- frontend/src/hooks/api/tags/queries.tsx | 38 +- frontend/src/hooks/api/tags/types.ts | 2 +- .../api/workflowIntegrations/mutation.tsx | 6 +- .../hooks/api/workflowIntegrations/types.ts | 4 +- frontend/src/hooks/api/workspace/index.tsx | 2 - frontend/src/hooks/api/workspace/queries.tsx | 34 -- .../MicrosoftTeamsIntegrationForm.tsx | 2 +- .../components/SlackIntegrationForm.tsx | 2 +- 24 files changed, 1207 insertions(+), 316 deletions(-) rename backend/src/server/routes/{v2 => v1}/group-project-router.ts (100%) rename backend/src/server/routes/{v2 => v1}/identity-project-router.ts (100%) create mode 100644 backend/src/server/routes/v2/depreciated-group-project-router.ts create mode 100644 backend/src/server/routes/v2/depreciated-identity-project-router.ts rename backend/src/server/routes/v2/{project-membership-router.ts => depreciated-project-membership-router.ts} (95%) rename backend/src/server/routes/v2/{project-router.ts => depreciated-project-router.ts} (92%) delete mode 100644 backend/src/server/routes/v3/secret-blind-index-router.ts diff --git a/backend/src/ee/services/audit-log/audit-log-types.ts b/backend/src/ee/services/audit-log/audit-log-types.ts index 10c84cc4a..0aa9ce8d8 100644 --- a/backend/src/ee/services/audit-log/audit-log-types.ts +++ b/backend/src/ee/services/audit-log/audit-log-types.ts @@ -146,7 +146,7 @@ export enum EventType { MOVE_SECRETS = "move-secrets", DELETE_SECRET = "delete-secret", DELETE_SECRETS = "delete-secrets", - GET_WORKSPACE_KEY = "get-workspace-key", + GET_PROJECT_KEY = "get-project-key", AUTHORIZE_INTEGRATION = "authorize-integration", UPDATE_INTEGRATION_AUTH = "update-integration-auth", UNAUTHORIZE_INTEGRATION = "unauthorize-integration", @@ -249,9 +249,9 @@ export enum EventType { UPDATE_ENVIRONMENT = "update-environment", DELETE_ENVIRONMENT = "delete-environment", GET_ENVIRONMENT = "get-environment", - ADD_WORKSPACE_MEMBER = "add-workspace-member", - ADD_BATCH_WORKSPACE_MEMBER = "add-workspace-members", - REMOVE_WORKSPACE_MEMBER = "remove-workspace-member", + ADD_PROJECT_MEMBER = "add-project-member", + ADD_BATCH_PROJECT_MEMBER = "add-project-members", + REMOVE_PROJECT_MEMBER = "remove-project-member", CREATE_FOLDER = "create-folder", UPDATE_FOLDER = "update-folder", DELETE_FOLDER = "delete-folder", @@ -264,8 +264,8 @@ export enum EventType { CREATE_SECRET_IMPORT = "create-secret-import", UPDATE_SECRET_IMPORT = "update-secret-import", DELETE_SECRET_IMPORT = "delete-secret-import", - UPDATE_USER_WORKSPACE_ROLE = "update-user-workspace-role", - UPDATE_USER_WORKSPACE_DENIED_PERMISSIONS = "update-user-workspace-denied-permissions", + UPDATE_USER_PROJECT_ROLE = "update-user-project-role", + UPDATE_USER_PROJECT_DENIED_PERMISSIONS = "update-user-project-denied-permissions", SECRET_APPROVAL_MERGED = "secret-approval-merged", SECRET_APPROVAL_REQUEST = "secret-approval-request", SECRET_APPROVAL_CLOSED = "secret-approval-closed", @@ -664,8 +664,8 @@ interface DeleteSecretBatchEvent { }; } -interface GetWorkspaceKeyEvent { - type: EventType.GET_WORKSPACE_KEY; +interface GetProjectKeyEvent { + type: EventType.GET_PROJECT_KEY; metadata: { keyId: string; }; @@ -1557,24 +1557,24 @@ interface DeleteEnvironmentEvent { }; } -interface AddWorkspaceMemberEvent { - type: EventType.ADD_WORKSPACE_MEMBER; +interface AddProjectMemberEvent { + type: EventType.ADD_PROJECT_MEMBER; metadata: { userId: string; email: string; }; } -interface AddBatchWorkspaceMemberEvent { - type: EventType.ADD_BATCH_WORKSPACE_MEMBER; +interface AddBatchProjectMemberEvent { + type: EventType.ADD_BATCH_PROJECT_MEMBER; metadata: Array<{ userId: string; email: string; }>; } -interface RemoveWorkspaceMemberEvent { - type: EventType.REMOVE_WORKSPACE_MEMBER; +interface RemoveProjectMemberEvent { + type: EventType.REMOVE_PROJECT_MEMBER; metadata: { userId: string; email: string; @@ -1713,7 +1713,7 @@ interface DeleteSecretImportEvent { } interface UpdateUserRole { - type: EventType.UPDATE_USER_WORKSPACE_ROLE; + type: EventType.UPDATE_USER_PROJECT_ROLE; metadata: { userId: string; email: string; @@ -1723,7 +1723,7 @@ interface UpdateUserRole { } interface UpdateUserDeniedPermissions { - type: EventType.UPDATE_USER_WORKSPACE_DENIED_PERMISSIONS; + type: EventType.UPDATE_USER_PROJECT_DENIED_PERMISSIONS; metadata: { userId: string; email: string; @@ -3477,7 +3477,7 @@ export type Event = | MoveSecretsEvent | DeleteSecretEvent | DeleteSecretBatchEvent - | GetWorkspaceKeyEvent + | GetProjectKeyEvent | AuthorizeIntegrationEvent | UpdateIntegrationAuthEvent | UnauthorizeIntegrationEvent @@ -3566,9 +3566,9 @@ export type Event = | GetEnvironmentEvent | UpdateEnvironmentEvent | DeleteEnvironmentEvent - | AddWorkspaceMemberEvent - | AddBatchWorkspaceMemberEvent - | RemoveWorkspaceMemberEvent + | AddProjectMemberEvent + | AddBatchProjectMemberEvent + | RemoveProjectMemberEvent | CreateFolderEvent | UpdateFolderEvent | DeleteFolderEvent diff --git a/backend/src/server/routes/v1/depreciated-project-membership-router.ts b/backend/src/server/routes/v1/depreciated-project-membership-router.ts index 63d4d6dcd..ea7e51313 100644 --- a/backend/src/server/routes/v1/depreciated-project-membership-router.ts +++ b/backend/src/server/routes/v1/depreciated-project-membership-router.ts @@ -240,7 +240,7 @@ export const registerDepreciatedProjectMembershipRouter = async (server: Fastify projectId: req.params.workspaceId, ...req.auditLogInfo, event: { - type: EventType.ADD_BATCH_WORKSPACE_MEMBER, + type: EventType.ADD_BATCH_PROJECT_MEMBER, metadata: data.map(({ userId }) => ({ userId: userId || "", email: "" @@ -365,7 +365,7 @@ export const registerDepreciatedProjectMembershipRouter = async (server: Fastify ...req.auditLogInfo, projectId: req.params.workspaceId, event: { - type: EventType.REMOVE_WORKSPACE_MEMBER, + type: EventType.REMOVE_PROJECT_MEMBER, metadata: { userId: membership.userId, email: "" diff --git a/backend/src/server/routes/v2/group-project-router.ts b/backend/src/server/routes/v1/group-project-router.ts similarity index 100% rename from backend/src/server/routes/v2/group-project-router.ts rename to backend/src/server/routes/v1/group-project-router.ts diff --git a/backend/src/server/routes/v2/identity-project-router.ts b/backend/src/server/routes/v1/identity-project-router.ts similarity index 100% rename from backend/src/server/routes/v2/identity-project-router.ts rename to backend/src/server/routes/v1/identity-project-router.ts diff --git a/backend/src/server/routes/v1/index.ts b/backend/src/server/routes/v1/index.ts index caca4b6f6..4aaa6083b 100644 --- a/backend/src/server/routes/v1/index.ts +++ b/backend/src/server/routes/v1/index.ts @@ -15,9 +15,11 @@ import { registerCertRouter } from "./certificate-router"; import { registerCertificateTemplateRouter } from "./certificate-template-router"; import { registerDepreciatedProjectEnvRouter } from "./depreciated-project-env-router"; import { registerDepreciatedProjectMembershipRouter } from "./depreciated-project-membership-router"; +import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; import { registerDepreciatedSecretTagRouter } from "./depreciated-secret-tag-router"; import { registerEventRouter } from "./event-router"; import { registerExternalGroupOrgRoleMappingRouter } from "./external-group-org-role-mapping-router"; +import { registerGroupProjectRouter } from "./group-project-router"; import { registerIdentityAccessTokenRouter } from "./identity-access-token-router"; import { registerIdentityAliCloudAuthRouter } from "./identity-alicloud-auth-router"; import { registerIdentityAwsAuthRouter } from "./identity-aws-iam-auth-router"; @@ -46,10 +48,10 @@ import { registerPkiSubscriberRouter } from "./pki-subscriber-router"; import { registerProjectEnvRouter } from "./project-env-router"; import { registerProjectKeyRouter } from "./project-key-router"; import { registerProjectMembershipRouter } from "./project-membership-router"; -import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; import { registerProjectRouter } from "./project-router"; import { SECRET_REMINDER_REGISTER_ROUTER_MAP } from "./reminder-routers"; import { registerSecretFolderRouter } from "./secret-folder-router"; +import { registerSecretImportRouter } from "./secret-import-router"; import { registerSecretRequestsRouter } from "./secret-requests-router"; import { registerSecretSharingRouter } from "./secret-sharing-router"; import { registerSecretTagRouter } from "./secret-tag-router"; @@ -60,7 +62,7 @@ import { registerUserEngagementRouter } from "./user-engagement-router"; import { registerUserRouter } from "./user-router"; import { registerWebhookRouter } from "./webhook-router"; import { registerWorkflowIntegrationRouter } from "./workflow-integration-router"; -import { registerSecretImportRouter } from "./secret-import-router"; +import { registerIdentityProjectRouter } from "./identity-project-router"; export const registerV1Routes = async (server: FastifyZodProvider) => { await server.register(registerSsoRouter, { prefix: "/sso" }); @@ -121,6 +123,8 @@ export const registerV1Routes = async (server: FastifyZodProvider) => { await projectRouter.register(registerProjectMembershipRouter); await projectRouter.register(registerProjectEnvRouter); await projectRouter.register(registerSecretTagRouter); + await projectRouter.register(registerGroupProjectRouter); + await projectRouter.register(registerIdentityProjectRouter); }, { prefix: "/projects" } ); diff --git a/backend/src/server/routes/v1/project-membership-router.ts b/backend/src/server/routes/v1/project-membership-router.ts index 95048b048..ef973de46 100644 --- a/backend/src/server/routes/v1/project-membership-router.ts +++ b/backend/src/server/routes/v1/project-membership-router.ts @@ -1,7 +1,8 @@ import { z } from "zod"; import { - OrgMembershipsSchema, + OrgMembershipRole, + ProjectMembershipRole, ProjectMembershipsSchema, ProjectUserMembershipRolesSchema, UserEncryptionKeysSchema, @@ -206,50 +207,72 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider rateLimit: writeLimit }, schema: { + hide: false, + tags: [ApiDocsTags.ProjectUsers], + description: "Invite members to project", + security: [ + { + bearerAuth: [] + } + ], params: z.object({ - projectId: z.string().trim() + projectId: z.string().describe(PROJECT_USERS.INVITE_MEMBER.projectId) }), body: z.object({ - members: z - .object({ - orgMembershipId: z.string().trim(), - workspaceEncryptedKey: z.string().trim(), - workspaceEncryptedNonce: z.string().trim() - }) + emails: z + .string() + .email() .array() - .min(1) + .default([]) + .describe(PROJECT_USERS.INVITE_MEMBER.emails) + .refine((val) => val.every((el) => el === el.toLowerCase()), "Email must be lowercase"), + usernames: z + .string() + .array() + .default([]) + .describe(PROJECT_USERS.INVITE_MEMBER.usernames) + .refine((val) => val.every((el) => el === el.toLowerCase()), "Username must be lowercase"), + roleSlugs: z.string().array().min(1).optional().describe(PROJECT_USERS.INVITE_MEMBER.roleSlugs) }), response: { 200: z.object({ - success: z.boolean(), - data: OrgMembershipsSchema.array() + memberships: ProjectMembershipsSchema.array() }) } }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const data = await server.services.projectMembership.addUsersToProject({ - actorId: req.permission.id, - actor: req.permission.type, + const usernamesAndEmails = [...req.body.emails, ...req.body.usernames]; + const { projectMemberships: memberships } = await server.services.org.inviteUserToOrganization({ actorAuthMethod: req.permission.authMethod, + actorId: req.permission.id, actorOrgId: req.permission.orgId, - projectId: req.params.projectId, - members: req.body.members + actor: req.permission.type, + inviteeEmails: usernamesAndEmails, + orgId: req.permission.orgId, + organizationRoleSlug: OrgMembershipRole.NoAccess, + projects: [ + { + id: req.params.projectId, + projectRoleSlug: req.body.roleSlugs || [ProjectMembershipRole.Member] + } + ] }); await server.services.auditLog.createAuditLog({ projectId: req.params.projectId, ...req.auditLogInfo, event: { - type: EventType.ADD_BATCH_WORKSPACE_MEMBER, - metadata: data.map(({ userId }) => ({ + type: EventType.ADD_BATCH_PROJECT_MEMBER, + metadata: memberships.map(({ userId, id }) => ({ userId: userId || "", + membershipId: id, email: "" })) } }); - return { data, success: true }; + return { memberships }; } }); @@ -311,23 +334,79 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider roles: req.body.roles }); - // await server.services.auditLog.createAuditLog({ - // ...req.auditLogInfo, - // projectId: req.params.projectId, - // event: { - // type: EventType.UPDATE_USER_WORKSPACE_ROLE, - // metadata: { - // userId: membership.userId, - // newRole: req.body.role, - // oldRole: membership.role, - // email: "" - // } - // } - // }); return { roles }; } }); + server.route({ + method: "DELETE", + url: "/:projectId/memberships", + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.ProjectUsers], + description: "Remove members from project", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectId: z.string().describe(PROJECT_USERS.REMOVE_MEMBER.projectId) + }), + body: z.object({ + emails: z + .string() + .email() + .array() + .default([]) + .describe(PROJECT_USERS.REMOVE_MEMBER.emails) + .refine((val) => val.every((el) => el === el.toLowerCase()), "Email must be lowercase"), + usernames: z + .string() + .array() + .default([]) + .describe(PROJECT_USERS.REMOVE_MEMBER.usernames) + .refine((val) => val.every((el) => el === el.toLowerCase()), "Username must be lowercase") + }), + response: { + 200: z.object({ + memberships: ProjectMembershipsSchema.array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const memberships = await server.services.projectMembership.deleteProjectMemberships({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.projectId, + emails: req.body.emails, + usernames: req.body.usernames + }); + + for (const membership of memberships) { + // eslint-disable-next-line no-await-in-loop + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: req.params.projectId, + event: { + type: EventType.REMOVE_PROJECT_MEMBER, + metadata: { + userId: membership.userId, + email: "" + } + } + }); + } + return { memberships }; + } + }); + server.route({ method: "DELETE", url: "/:projectId/memberships/:membershipId", @@ -366,7 +445,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider ...req.auditLogInfo, projectId: req.params.projectId, event: { - type: EventType.REMOVE_WORKSPACE_MEMBER, + type: EventType.REMOVE_PROJECT_MEMBER, metadata: { userId: membership.userId, email: "" diff --git a/backend/src/server/routes/v1/project-router.ts b/backend/src/server/routes/v1/project-router.ts index da5d07f70..13295974a 100644 --- a/backend/src/server/routes/v1/project-router.ts +++ b/backend/src/server/routes/v1/project-router.ts @@ -29,6 +29,7 @@ import { WorkflowIntegration } from "@app/services/workflow-integration/workflow import { integrationAuthPubSchema, SanitizedProjectSchema } from "../sanitizedSchemas"; import { sanitizedServiceTokenSchema } from "../v2/service-token-router"; +import { slugSchema } from "@app/server/lib/schemas"; const projectWithEnv = SanitizedProjectSchema.merge( z.object({ @@ -117,6 +118,83 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } }); + server.route({ + method: "POST", + url: "/", + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Projects], + description: "Create a new project", + security: [ + { + bearerAuth: [] + } + ], + body: z.object({ + projectName: z.string().trim().describe(PROJECTS.CREATE.projectName), + projectDescription: z.string().trim().optional().describe(PROJECTS.CREATE.projectDescription), + slug: slugSchema({ min: 5, max: 36 }).optional().describe(PROJECTS.CREATE.slug), + kmsKeyId: z.string().optional(), + template: slugSchema({ field: "Template Name", max: 64 }) + .optional() + .default(InfisicalProjectTemplate.Default) + .describe(PROJECTS.CREATE.template), + type: z.nativeEnum(ProjectType).default(ProjectType.SecretManager), + shouldCreateDefaultEnvs: z.boolean().optional().default(true) + }), + response: { + 200: z.object({ + project: projectWithEnv + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const project = await server.services.project.createProject({ + actorId: req.permission.id, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + workspaceName: req.body.projectName, + workspaceDescription: req.body.projectDescription, + slug: req.body.slug, + kmsKeyId: req.body.kmsKeyId, + template: req.body.template, + type: req.body.type, + createDefaultEnvs: req.body.shouldCreateDefaultEnvs + }); + + await server.services.telemetry.sendPostHogEvents({ + event: PostHogEventTypes.ProjectCreated, + distinctId: getTelemetryDistinctId(req), + organizationId: req.permission.orgId, + properties: { + orgId: project.orgId, + name: project.name, + ...req.auditLogInfo + } + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + orgId: req.permission.orgId, + projectId: project.id, + event: { + type: EventType.CREATE_PROJECT, + metadata: { + ...req.body, + name: req.body.projectName + } + } + }); + + return { project }; + } + }); + server.route({ method: "GET", url: "/", @@ -195,6 +273,47 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } }); + // TODO(depri): confirm with the team + server.route({ + method: "GET", + url: "/slug/:slug", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Projects], + description: "Get project details by slug", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + slug: slugSchema({ max: 36 }).describe("The slug of the project to get.") + }), + response: { + 200: projectWithEnv + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const project = await server.services.project.getAProject({ + filter: { + slug: req.params.slug, + orgId: req.permission.orgId, + type: ProjectFilterType.SLUG + }, + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type + }); + + return project; + } + }); + server.route({ method: "DELETE", url: "/:projectId", @@ -246,6 +365,58 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } }); + /* Delete a project by slug */ + server.route({ + method: "DELETE", + url: "/slug/:slug", + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Projects], + description: "Delete project", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + slug: slugSchema({ min: 5, max: 36 }).describe("The slug of the project to delete.") + }), + response: { + 200: SanitizedProjectSchema + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + + handler: async (req) => { + const project = await server.services.project.deleteProject({ + filter: { + type: ProjectFilterType.SLUG, + slug: req.params.slug, + orgId: req.permission.orgId + }, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + actor: req.permission.type + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + orgId: req.permission.orgId, + projectId: project.id, + event: { + type: EventType.DELETE_PROJECT, + metadata: project + } + }); + + return project; + } + }); + server.route({ method: "PATCH", url: "/:projectId", @@ -862,7 +1033,6 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { params: z.object({ projectId: z.string().trim() }), - body: z.discriminatedUnion("integration", [ z.object({ integration: z.literal(WorkflowIntegration.SLACK), @@ -1071,4 +1241,66 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { return { message: "Project access request has been send to project admins" }; } }); + + /* Start upgrade of a project */ + server.route({ + method: "POST", + url: "/:projectId/upgrade", + config: { + rateLimit: writeLimit + }, + schema: { + params: z.object({ + projectId: z.string().trim() + }), + body: z.object({ + userPrivateKey: z.string().trim() + }), + response: { + 200: z.void() + } + }, + onRequest: verifyAuth([AuthMode.JWT]), + handler: async (req) => { + await server.services.project.upgradeProject({ + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + projectId: req.params.projectId, + userPrivateKey: req.body.userPrivateKey + }); + } + }); + + /* Get upgrade status of project */ + server.route({ + url: "/:projectId/upgrade/status", + method: "GET", + config: { + rateLimit: readLimit + }, + schema: { + params: z.object({ + projectId: z.string().trim() + }), + response: { + 200: z.object({ + status: z.string().nullable() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT]), + handler: async (req) => { + const status = await server.services.project.getProjectUpgradeStatus({ + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.projectId, + actor: req.permission.type, + actorId: req.permission.id + }); + + return { status }; + } + }); }; diff --git a/backend/src/server/routes/v2/depreciated-group-project-router.ts b/backend/src/server/routes/v2/depreciated-group-project-router.ts new file mode 100644 index 000000000..e9f2eb2b6 --- /dev/null +++ b/backend/src/server/routes/v2/depreciated-group-project-router.ts @@ -0,0 +1,363 @@ +import { z } from "zod"; + +import { + GroupProjectMembershipsSchema, + GroupsSchema, + ProjectMembershipRole, + ProjectUserMembershipRolesSchema, + UsersSchema +} from "@app/db/schemas"; +import { EFilterReturnedUsers } from "@app/ee/services/group/group-types"; +import { ApiDocsTags, GROUPS, PROJECTS } from "@app/lib/api-docs"; +import { ms } from "@app/lib/ms"; +import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; +import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; +import { AuthMode } from "@app/services/auth/auth-type"; +import { ProjectUserMembershipTemporaryMode } from "@app/services/project-membership/project-membership-types"; + +export const registerDepreciatedGroupProjectRouter = async (server: FastifyZodProvider) => { + server.route({ + method: "POST", + url: "/:projectId/groups/:groupIdOrName", + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.ProjectGroups], + description: "Add group to project", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectId: z.string().trim().describe(PROJECTS.ADD_GROUP_TO_PROJECT.projectId), + groupIdOrName: z.string().trim().describe(PROJECTS.ADD_GROUP_TO_PROJECT.groupIdOrName) + }), + body: z + .object({ + role: z + .string() + .trim() + .min(1) + .default(ProjectMembershipRole.NoAccess) + .describe(PROJECTS.ADD_GROUP_TO_PROJECT.role), + roles: z + .array( + z.union([ + z.object({ + role: z.string(), + isTemporary: z.literal(false).default(false) + }), + z.object({ + role: z.string(), + isTemporary: z.literal(true), + temporaryMode: z.nativeEnum(ProjectUserMembershipTemporaryMode), + temporaryRange: z.string().refine((val) => ms(val) > 0, "Temporary range must be a positive number"), + temporaryAccessStartTime: z.string().datetime() + }) + ]) + ) + .optional() + }) + .refine((data) => data.role || data.roles, { + message: "Either role or roles must be present", + path: ["role", "roles"] + }), + response: { + 200: z.object({ + groupMembership: GroupProjectMembershipsSchema + }) + } + }, + handler: async (req) => { + const groupMembership = await server.services.groupProject.addGroupToProject({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + roles: req.body.roles || [{ role: req.body.role }], + projectId: req.params.projectId, + groupIdOrName: req.params.groupIdOrName + }); + + return { groupMembership }; + } + }); + + server.route({ + method: "PATCH", + url: "/:projectId/groups/:groupId", + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + schema: { + hide: false, + tags: [ApiDocsTags.ProjectGroups], + description: "Update group in project", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectId: z.string().trim().describe(PROJECTS.UPDATE_GROUP_IN_PROJECT.projectId), + groupId: z.string().trim().describe(PROJECTS.UPDATE_GROUP_IN_PROJECT.groupId) + }), + body: z.object({ + roles: z + .array( + z.union([ + z.object({ + role: z.string(), + isTemporary: z.literal(false).default(false) + }), + z.object({ + role: z.string(), + isTemporary: z.literal(true), + temporaryMode: z.nativeEnum(ProjectUserMembershipTemporaryMode), + temporaryRange: z.string().refine((val) => ms(val) > 0, "Temporary range must be a positive number"), + temporaryAccessStartTime: z.string().datetime() + }) + ]) + ) + .min(1) + .describe(PROJECTS.UPDATE_GROUP_IN_PROJECT.roles) + }), + response: { + 200: z.object({ + roles: ProjectUserMembershipRolesSchema.array() + }) + } + }, + handler: async (req) => { + const roles = await server.services.groupProject.updateGroupInProject({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.projectId, + groupId: req.params.groupId, + roles: req.body.roles + }); + + return { roles }; + } + }); + + server.route({ + method: "DELETE", + url: "/:projectId/groups/:groupId", + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + config: { + rateLimit: writeLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.ProjectGroups], + description: "Remove group from project", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectId: z.string().trim().describe(PROJECTS.REMOVE_GROUP_FROM_PROJECT.projectId), + groupId: z.string().trim().describe(PROJECTS.REMOVE_GROUP_FROM_PROJECT.groupId) + }), + response: { + 200: z.object({ + groupMembership: GroupProjectMembershipsSchema + }) + } + }, + handler: async (req) => { + const groupMembership = await server.services.groupProject.removeGroupFromProject({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + groupId: req.params.groupId, + projectId: req.params.projectId + }); + + return { groupMembership }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/groups", + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.ProjectGroups], + description: "Return list of groups in project", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectId: z.string().trim().describe(PROJECTS.LIST_GROUPS_IN_PROJECT.projectId) + }), + response: { + 200: z.object({ + groupMemberships: z + .object({ + id: z.string(), + groupId: z.string(), + createdAt: z.date(), + updatedAt: z.date(), + roles: z.array( + z.object({ + id: z.string(), + role: z.string(), + customRoleId: z.string().optional().nullable(), + customRoleName: z.string().optional().nullable(), + customRoleSlug: z.string().optional().nullable(), + isTemporary: z.boolean(), + temporaryMode: z.string().optional().nullable(), + temporaryRange: z.string().nullable().optional(), + temporaryAccessStartTime: z.date().nullable().optional(), + temporaryAccessEndTime: z.date().nullable().optional() + }) + ), + group: GroupsSchema.pick({ name: true, id: true, slug: true }) + }) + .array() + }) + } + }, + handler: async (req) => { + const groupMemberships = await server.services.groupProject.listGroupsInProject({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.projectId + }); + + return { groupMemberships }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/groups/:groupId", + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.ProjectGroups], + description: "Return project group", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectId: z.string().trim(), + groupId: z.string().trim() + }), + response: { + 200: z.object({ + groupMembership: z.object({ + id: z.string(), + groupId: z.string(), + createdAt: z.date(), + updatedAt: z.date(), + roles: z.array( + z.object({ + id: z.string(), + role: z.string(), + customRoleId: z.string().optional().nullable(), + customRoleName: z.string().optional().nullable(), + customRoleSlug: z.string().optional().nullable(), + isTemporary: z.boolean(), + temporaryMode: z.string().optional().nullable(), + temporaryRange: z.string().nullable().optional(), + temporaryAccessStartTime: z.date().nullable().optional(), + temporaryAccessEndTime: z.date().nullable().optional() + }) + ), + group: GroupsSchema.pick({ name: true, id: true, slug: true }) + }) + }) + } + }, + handler: async (req) => { + const groupMembership = await server.services.groupProject.getGroupInProject({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.params + }); + + return { groupMembership }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/groups/:groupId/users", + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.ProjectGroups], + description: "Return project group users", + params: z.object({ + projectId: z.string().trim().describe(GROUPS.LIST_USERS.projectId), + groupId: z.string().trim().describe(GROUPS.LIST_USERS.id) + }), + querystring: z.object({ + offset: z.coerce.number().min(0).max(100).default(0).describe(GROUPS.LIST_USERS.offset), + limit: z.coerce.number().min(1).max(100).default(10).describe(GROUPS.LIST_USERS.limit), + username: z.string().trim().optional().describe(GROUPS.LIST_USERS.username), + search: z.string().trim().optional().describe(GROUPS.LIST_USERS.search), + filter: z.nativeEnum(EFilterReturnedUsers).optional().describe(GROUPS.LIST_USERS.filterUsers) + }), + response: { + 200: z.object({ + users: UsersSchema.pick({ + email: true, + username: true, + firstName: true, + lastName: true, + id: true + }) + .merge( + z.object({ + isPartOfGroup: z.boolean(), + joinedGroupAt: z.date().nullable() + }) + ) + .array(), + totalCount: z.number() + }) + } + }, + handler: async (req) => { + const { users, totalCount } = await server.services.groupProject.listProjectGroupUsers({ + id: req.params.groupId, + projectId: req.params.projectId, + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.query + }); + + return { users, totalCount }; + } + }); +}; diff --git a/backend/src/server/routes/v2/depreciated-identity-project-router.ts b/backend/src/server/routes/v2/depreciated-identity-project-router.ts new file mode 100644 index 000000000..4182b9a80 --- /dev/null +++ b/backend/src/server/routes/v2/depreciated-identity-project-router.ts @@ -0,0 +1,418 @@ +import { z } from "zod"; + +import { + IdentitiesSchema, + IdentityProjectMembershipsSchema, + ProjectMembershipRole, + ProjectUserMembershipRolesSchema +} from "@app/db/schemas"; +import { ApiDocsTags, ORGANIZATIONS, PROJECT_IDENTITIES } from "@app/lib/api-docs"; +import { BadRequestError } from "@app/lib/errors"; +import { ms } from "@app/lib/ms"; +import { OrderByDirection } from "@app/lib/types"; +import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; +import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; +import { AuthMode } from "@app/services/auth/auth-type"; +import { ProjectIdentityOrderBy } from "@app/services/identity-project/identity-project-types"; +import { ProjectUserMembershipTemporaryMode } from "@app/services/project-membership/project-membership-types"; + +import { SanitizedProjectSchema } from "../sanitizedSchemas"; + +export const registerDepreciatedIdentityProjectRouter = async (server: FastifyZodProvider) => { + server.route({ + method: "POST", + url: "/:projectId/identity-memberships/:identityId", + config: { + rateLimit: writeLimit + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + schema: { + hide: false, + tags: [ApiDocsTags.ProjectIdentities], + description: "Create project identity membership", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectId: z.string().trim(), + identityId: z.string().trim() + }), + body: z.object({ + // @depreciated + role: z.string().trim().optional().default(ProjectMembershipRole.NoAccess), + roles: z + .array( + z.union([ + z.object({ + role: z.string().describe(PROJECT_IDENTITIES.CREATE_IDENTITY_MEMBERSHIP.roles.role), + isTemporary: z + .literal(false) + .default(false) + .describe(PROJECT_IDENTITIES.CREATE_IDENTITY_MEMBERSHIP.roles.role) + }), + z.object({ + role: z.string().describe(PROJECT_IDENTITIES.CREATE_IDENTITY_MEMBERSHIP.roles.role), + isTemporary: z.literal(true).describe(PROJECT_IDENTITIES.CREATE_IDENTITY_MEMBERSHIP.roles.role), + temporaryMode: z + .nativeEnum(ProjectUserMembershipTemporaryMode) + .describe(PROJECT_IDENTITIES.CREATE_IDENTITY_MEMBERSHIP.roles.role), + temporaryRange: z + .string() + .refine((val) => ms(val) > 0, "Temporary range must be a positive number") + .describe(PROJECT_IDENTITIES.CREATE_IDENTITY_MEMBERSHIP.roles.role), + temporaryAccessStartTime: z + .string() + .datetime() + .describe(PROJECT_IDENTITIES.CREATE_IDENTITY_MEMBERSHIP.roles.role) + }) + ]) + ) + .describe(PROJECT_IDENTITIES.CREATE_IDENTITY_MEMBERSHIP.roles.description) + .optional() + }), + response: { + 200: z.object({ + identityMembership: IdentityProjectMembershipsSchema + }) + } + }, + handler: async (req) => { + const { role, roles } = req.body; + if (!role && !roles) throw new BadRequestError({ message: "You must provide either role or roles field" }); + + const identityMembership = await server.services.identityProject.createProjectIdentity({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + identityId: req.params.identityId, + projectId: req.params.projectId, + roles: roles || [{ role }] + }); + return { identityMembership }; + } + }); + + server.route({ + method: "PATCH", + url: "/:projectId/identity-memberships/:identityId", + config: { + rateLimit: writeLimit + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + schema: { + hide: false, + tags: [ApiDocsTags.ProjectIdentities], + description: "Update project identity memberships", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectId: z.string().trim().describe(PROJECT_IDENTITIES.UPDATE_IDENTITY_MEMBERSHIP.projectId), + identityId: z.string().trim().describe(PROJECT_IDENTITIES.UPDATE_IDENTITY_MEMBERSHIP.identityId) + }), + body: z.object({ + roles: z + .array( + z.union([ + z.object({ + role: z.string().describe(PROJECT_IDENTITIES.UPDATE_IDENTITY_MEMBERSHIP.roles.role), + isTemporary: z + .literal(false) + .default(false) + .describe(PROJECT_IDENTITIES.UPDATE_IDENTITY_MEMBERSHIP.roles.isTemporary) + }), + z.object({ + role: z.string().describe(PROJECT_IDENTITIES.UPDATE_IDENTITY_MEMBERSHIP.roles.role), + isTemporary: z.literal(true).describe(PROJECT_IDENTITIES.UPDATE_IDENTITY_MEMBERSHIP.roles.isTemporary), + temporaryMode: z + .nativeEnum(ProjectUserMembershipTemporaryMode) + .describe(PROJECT_IDENTITIES.UPDATE_IDENTITY_MEMBERSHIP.roles.temporaryMode), + temporaryRange: z + .string() + .refine((val) => ms(val) > 0, "Temporary range must be a positive number") + .describe(PROJECT_IDENTITIES.UPDATE_IDENTITY_MEMBERSHIP.roles.temporaryRange), + temporaryAccessStartTime: z + .string() + .datetime() + .describe(PROJECT_IDENTITIES.UPDATE_IDENTITY_MEMBERSHIP.roles.temporaryAccessStartTime) + }) + ]) + ) + .min(1) + .describe(PROJECT_IDENTITIES.UPDATE_IDENTITY_MEMBERSHIP.roles.description) + }), + response: { + 200: z.object({ + roles: ProjectUserMembershipRolesSchema.array() + }) + } + }, + handler: async (req) => { + const roles = await server.services.identityProject.updateProjectIdentity({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + identityId: req.params.identityId, + projectId: req.params.projectId, + roles: req.body.roles + }); + return { roles }; + } + }); + + server.route({ + method: "DELETE", + url: "/:projectId/identity-memberships/:identityId", + config: { + rateLimit: writeLimit + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + schema: { + hide: false, + tags: [ApiDocsTags.ProjectIdentities], + description: "Delete project identity memberships", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectId: z.string().trim().describe(PROJECT_IDENTITIES.DELETE_IDENTITY_MEMBERSHIP.projectId), + identityId: z.string().trim().describe(PROJECT_IDENTITIES.DELETE_IDENTITY_MEMBERSHIP.identityId) + }), + response: { + 200: z.object({ + identityMembership: IdentityProjectMembershipsSchema + }) + } + }, + handler: async (req) => { + const identityMembership = await server.services.identityProject.deleteProjectIdentity({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + identityId: req.params.identityId, + projectId: req.params.projectId + }); + return { identityMembership }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/identity-memberships", + config: { + rateLimit: readLimit + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + schema: { + hide: false, + tags: [ApiDocsTags.ProjectIdentities], + description: "Return project identity memberships", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectId: z.string().trim().describe(PROJECT_IDENTITIES.LIST_IDENTITY_MEMBERSHIPS.projectId) + }), + querystring: z.object({ + offset: z.coerce + .number() + .min(0) + .default(0) + .describe(PROJECT_IDENTITIES.LIST_IDENTITY_MEMBERSHIPS.offset) + .optional(), + limit: z.coerce + .number() + .min(1) + .max(20000) // TODO: temp limit until combobox added to add identity to project modal, reduce once added + .default(100) + .describe(PROJECT_IDENTITIES.LIST_IDENTITY_MEMBERSHIPS.limit) + .optional(), + orderBy: z + .nativeEnum(ProjectIdentityOrderBy) + .default(ProjectIdentityOrderBy.Name) + .describe(ORGANIZATIONS.LIST_IDENTITY_MEMBERSHIPS.orderBy) + .optional(), + orderDirection: z + .nativeEnum(OrderByDirection) + .default(OrderByDirection.ASC) + .describe(ORGANIZATIONS.LIST_IDENTITY_MEMBERSHIPS.orderDirection) + .optional(), + search: z.string().trim().describe(PROJECT_IDENTITIES.LIST_IDENTITY_MEMBERSHIPS.search).optional() + }), + response: { + 200: z.object({ + identityMemberships: z + .object({ + id: z.string(), + identityId: z.string(), + createdAt: z.date(), + updatedAt: z.date(), + roles: z.array( + z.object({ + id: z.string(), + role: z.string(), + customRoleId: z.string().optional().nullable(), + customRoleName: z.string().optional().nullable(), + customRoleSlug: z.string().optional().nullable(), + isTemporary: z.boolean(), + temporaryMode: z.string().optional().nullable(), + temporaryRange: z.string().nullable().optional(), + temporaryAccessStartTime: z.date().nullable().optional(), + temporaryAccessEndTime: z.date().nullable().optional() + }) + ), + identity: IdentitiesSchema.pick({ name: true, id: true }).extend({ + authMethods: z.array(z.string()) + }), + project: SanitizedProjectSchema.pick({ name: true, id: true }) + }) + .array(), + totalCount: z.number() + }) + } + }, + handler: async (req) => { + const { identityMemberships, totalCount } = await server.services.identityProject.listProjectIdentities({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.projectId, + limit: req.query.limit, + offset: req.query.offset, + orderBy: req.query.orderBy, + orderDirection: req.query.orderDirection, + search: req.query.search + }); + + return { identityMemberships, totalCount }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/identity-memberships/:identityId", + config: { + rateLimit: readLimit + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + schema: { + hide: false, + tags: [ApiDocsTags.ProjectIdentities], + description: "Return project identity membership", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + projectId: z.string().trim().describe(PROJECT_IDENTITIES.GET_IDENTITY_MEMBERSHIP_BY_ID.projectId), + identityId: z.string().trim().describe(PROJECT_IDENTITIES.GET_IDENTITY_MEMBERSHIP_BY_ID.identityId) + }), + response: { + 200: z.object({ + identityMembership: z.object({ + id: z.string(), + identityId: z.string(), + createdAt: z.date(), + updatedAt: z.date(), + roles: z.array( + z.object({ + id: z.string(), + role: z.string(), + customRoleId: z.string().optional().nullable(), + customRoleName: z.string().optional().nullable(), + customRoleSlug: z.string().optional().nullable(), + isTemporary: z.boolean(), + temporaryMode: z.string().optional().nullable(), + temporaryRange: z.string().nullable().optional(), + temporaryAccessStartTime: z.date().nullable().optional(), + temporaryAccessEndTime: z.date().nullable().optional() + }) + ), + identity: IdentitiesSchema.pick({ name: true, id: true }).extend({ + authMethods: z.array(z.string()) + }), + project: SanitizedProjectSchema.pick({ name: true, id: true }) + }) + }) + } + }, + handler: async (req) => { + const identityMembership = await server.services.identityProject.getProjectIdentityByIdentityId({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.params.projectId, + identityId: req.params.identityId + }); + return { identityMembership }; + } + }); + + server.route({ + method: "GET", + url: "/identity-memberships/:identityMembershipId", + config: { + rateLimit: readLimit + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + schema: { + hide: false, + tags: [ApiDocsTags.ProjectIdentities], + params: z.object({ + identityMembershipId: z.string().trim() + }), + response: { + 200: z.object({ + identityMembership: z.object({ + id: z.string(), + identityId: z.string(), + createdAt: z.date(), + updatedAt: z.date(), + roles: z.array( + z.object({ + id: z.string(), + role: z.string(), + customRoleId: z.string().optional().nullable(), + customRoleName: z.string().optional().nullable(), + customRoleSlug: z.string().optional().nullable(), + isTemporary: z.boolean(), + temporaryMode: z.string().optional().nullable(), + temporaryRange: z.string().nullable().optional(), + temporaryAccessStartTime: z.date().nullable().optional(), + temporaryAccessEndTime: z.date().nullable().optional() + }) + ), + identity: IdentitiesSchema.pick({ name: true, id: true }).extend({ + authMethods: z.array(z.string()) + }), + project: SanitizedProjectSchema.pick({ name: true, id: true }) + }) + }) + } + }, + handler: async (req) => { + const identityMembership = await server.services.identityProject.getProjectIdentityByMembershipId({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + identityMembershipId: req.params.identityMembershipId + }); + return { identityMembership }; + } + }); +}; diff --git a/backend/src/server/routes/v2/project-membership-router.ts b/backend/src/server/routes/v2/depreciated-project-membership-router.ts similarity index 95% rename from backend/src/server/routes/v2/project-membership-router.ts rename to backend/src/server/routes/v2/depreciated-project-membership-router.ts index 76f1e9c5e..11ebc44f2 100644 --- a/backend/src/server/routes/v2/project-membership-router.ts +++ b/backend/src/server/routes/v2/depreciated-project-membership-router.ts @@ -7,7 +7,7 @@ import { writeLimit } from "@app/server/config/rateLimiter"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { AuthMode } from "@app/services/auth/auth-type"; -export const registerProjectMembershipRouter = async (server: FastifyZodProvider) => { +export const registerDepreciatedProjectMembershipRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", url: "/:projectId/memberships", @@ -71,7 +71,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider projectId: req.params.projectId, ...req.auditLogInfo, event: { - type: EventType.ADD_BATCH_WORKSPACE_MEMBER, + type: EventType.ADD_BATCH_PROJECT_MEMBER, metadata: memberships.map(({ userId, id }) => ({ userId: userId || "", membershipId: id, @@ -141,7 +141,7 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider ...req.auditLogInfo, projectId: req.params.projectId, event: { - type: EventType.REMOVE_WORKSPACE_MEMBER, + type: EventType.REMOVE_PROJECT_MEMBER, metadata: { userId: membership.userId, email: "" diff --git a/backend/src/server/routes/v2/project-router.ts b/backend/src/server/routes/v2/depreciated-project-router.ts similarity index 92% rename from backend/src/server/routes/v2/project-router.ts rename to backend/src/server/routes/v2/depreciated-project-router.ts index 8b9091364..a8abab54c 100644 --- a/backend/src/server/routes/v2/project-router.ts +++ b/backend/src/server/routes/v2/depreciated-project-router.ts @@ -35,7 +35,8 @@ const projectWithEnv = SanitizedProjectSchema.extend({ kmsSecretManagerKeyId: z.string().nullable().optional() }); -export const registerProjectRouter = async (server: FastifyZodProvider) => { +export const registerDepreciatedProjectRouter = async (server: FastifyZodProvider) => { + // depreciated /* Get project key */ server.route({ method: "GET", @@ -72,7 +73,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { ...req.auditLogInfo, projectId: req.params.workspaceId, event: { - type: EventType.GET_WORKSPACE_KEY, + type: EventType.GET_PROJECT_KEY, metadata: { keyId: key?.id as string } @@ -83,68 +84,6 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } }); - /* Start upgrade of a project */ - server.route({ - method: "POST", - url: "/:projectId/upgrade", - config: { - rateLimit: writeLimit - }, - schema: { - params: z.object({ - projectId: z.string().trim() - }), - body: z.object({ - userPrivateKey: z.string().trim() - }), - response: { - 200: z.void() - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async (req) => { - await server.services.project.upgradeProject({ - actorId: req.permission.id, - actorOrgId: req.permission.orgId, - actor: req.permission.type, - actorAuthMethod: req.permission.authMethod, - projectId: req.params.projectId, - userPrivateKey: req.body.userPrivateKey - }); - } - }); - - /* Get upgrade status of project */ - server.route({ - url: "/:projectId/upgrade/status", - method: "GET", - config: { - rateLimit: readLimit - }, - schema: { - params: z.object({ - projectId: z.string().trim() - }), - response: { - 200: z.object({ - status: z.string().nullable() - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async (req) => { - const status = await server.services.project.getProjectUpgradeStatus({ - actorAuthMethod: req.permission.authMethod, - actorOrgId: req.permission.orgId, - projectId: req.params.projectId, - actor: req.permission.type, - actorId: req.permission.id - }); - - return { status }; - } - }); - /* Create new project */ server.route({ method: "POST", @@ -224,6 +163,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { }); /* Delete a project by slug */ + // moved to DELETE /v1/projects/slug/:slug server.route({ method: "DELETE", url: "/:slug", @@ -276,6 +216,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { }); /* Get a project by slug */ + // moved to GET /v1/projects/slug/:slug server.route({ method: "GET", url: "/:slug", @@ -337,7 +278,6 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { 200: SanitizedProjectSchema } }, - onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { const project = await server.services.project.updateProject({ diff --git a/backend/src/server/routes/v2/index.ts b/backend/src/server/routes/v2/index.ts index 93c422d15..2735dfcc9 100644 --- a/backend/src/server/routes/v2/index.ts +++ b/backend/src/server/routes/v2/index.ts @@ -1,13 +1,13 @@ import { registerCaRouter } from "./certificate-authority-router"; -import { registerGroupProjectRouter } from "./group-project-router"; +import { registerDepreciatedGroupProjectRouter } from "./depreciated-group-project-router"; import { registerIdentityOrgRouter } from "./identity-org-router"; -import { registerIdentityProjectRouter } from "./identity-project-router"; +import { registerDepreciatedIdentityProjectRouter } from "./depreciated-identity-project-router"; import { registerMfaRouter } from "./mfa-router"; import { registerOrgRouter } from "./organization-router"; import { registerPasswordRouter } from "./password-router"; import { registerPkiTemplatesRouter } from "./pki-templates-router"; -import { registerProjectMembershipRouter } from "./project-membership-router"; -import { registerProjectRouter } from "./project-router"; +import { registerDepreciatedProjectMembershipRouter } from "./depreciated-project-membership-router"; +import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; import { registerServiceTokenRouter } from "./service-token-router"; import { registerUserRouter } from "./user-router"; @@ -32,12 +32,14 @@ export const registerV2Routes = async (server: FastifyZodProvider) => { }, { prefix: "/organizations" } ); + + // moved to v1/projects await server.register( async (projectServer) => { - await projectServer.register(registerProjectRouter); - await projectServer.register(registerIdentityProjectRouter); - await projectServer.register(registerGroupProjectRouter); - await projectServer.register(registerProjectMembershipRouter); + await projectServer.register(registerDepreciatedProjectRouter); + await projectServer.register(registerDepreciatedIdentityProjectRouter); + await projectServer.register(registerDepreciatedGroupProjectRouter); + await projectServer.register(registerDepreciatedProjectMembershipRouter); }, { prefix: "/workspace" } ); diff --git a/backend/src/server/routes/v3/index.ts b/backend/src/server/routes/v3/index.ts index 1c31741a1..16880e840 100644 --- a/backend/src/server/routes/v3/index.ts +++ b/backend/src/server/routes/v3/index.ts @@ -1,6 +1,5 @@ import { registerExternalMigrationRouter } from "./external-migration-router"; import { registerLoginRouter } from "./login-router"; -import { registerSecretBlindIndexRouter } from "./secret-blind-index-router"; import { registerSecretRouter } from "./secret-router"; import { registerSignupRouter } from "./signup-router"; import { registerUserRouter } from "./user-router"; @@ -10,6 +9,5 @@ export const registerV3Routes = async (server: FastifyZodProvider) => { await server.register(registerLoginRouter, { prefix: "/auth" }); await server.register(registerUserRouter, { prefix: "/users" }); await server.register(registerSecretRouter, { prefix: "/secrets" }); - await server.register(registerSecretBlindIndexRouter, { prefix: "/workspaces" }); await server.register(registerExternalMigrationRouter, { prefix: "/external-migration" }); }; diff --git a/backend/src/server/routes/v3/secret-blind-index-router.ts b/backend/src/server/routes/v3/secret-blind-index-router.ts deleted file mode 100644 index cfb27a58e..000000000 --- a/backend/src/server/routes/v3/secret-blind-index-router.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { z } from "zod"; - -import { SecretsSchema } from "@app/db/schemas"; -import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; -import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; -import { AuthMode } from "@app/services/auth/auth-type"; - -export const registerSecretBlindIndexRouter = async (server: FastifyZodProvider) => { - server.route({ - method: "GET", - url: "/:projectId/secrets/blind-index-status", - config: { - rateLimit: readLimit - }, - schema: { - params: z.object({ - projectId: z.string().trim() - }), - response: { - 200: z.boolean() - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async (req) => { - const count = await server.services.secretBlindIndex.getSecretBlindIndexStatus({ - projectId: req.params.projectId, - actorAuthMethod: req.permission.authMethod, - actorId: req.permission.id, - actor: req.permission.type, - actorOrgId: req.permission.orgId - }); - return count === 0; - } - }); - - server.route({ - method: "GET", - url: "/:projectId/secrets", - config: { - rateLimit: readLimit - }, - schema: { - params: z.object({ - projectId: z.string().trim() - }), - response: { - 200: z.object({ - secrets: SecretsSchema.omit({ secretBlindIndex: true }) - .merge( - z.object({ - environment: z.string(), - workspace: z.string() - }) - ) - .array() - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async (req) => { - const secrets = await server.services.secretBlindIndex.getProjectSecrets({ - projectId: req.params.projectId, - actorAuthMethod: req.permission.authMethod, - actorId: req.permission.id, - actor: req.permission.type, - actorOrgId: req.permission.orgId - }); - return { secrets }; - } - }); - - server.route({ - method: "POST", - url: "/:projectId/secrets/names", - config: { - rateLimit: writeLimit - }, - schema: { - params: z.object({ - projectId: z.string().trim() - }), - body: z.object({ - secretsToUpdate: z - .object({ - secretName: z.string().trim(), - secretId: z.string().trim() - }) - .array() - }), - response: { - 200: z.object({ - message: z.string() - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async (req) => { - await server.services.secretBlindIndex.updateProjectSecretName({ - projectId: req.params.projectId, - secretsToUpdate: req.body.secretsToUpdate, - actorAuthMethod: req.permission.authMethod, - actorId: req.permission.id, - actor: req.permission.type, - actorOrgId: req.permission.orgId - }); - return { message: "Successfully named workspace secrets" }; - } - }); -}; diff --git a/frontend/src/hooks/api/auditLogs/queries.tsx b/frontend/src/hooks/api/auditLogs/queries.tsx index 8cb438c92..5e25d8104 100644 --- a/frontend/src/hooks/api/auditLogs/queries.tsx +++ b/frontend/src/hooks/api/auditLogs/queries.tsx @@ -7,10 +7,10 @@ import { TReactQueryOptions } from "@app/types/reactQuery"; import { Actor, AuditLog, TGetAuditLogsFilter } from "./types"; export const auditLogKeys = { - getAuditLogs: (workspaceId: string | null, filters: TGetAuditLogsFilter) => - [{ workspaceId, filters }, "audit-logs"] as const, - getAuditLogActorFilterOpts: (workspaceId: string) => - [{ workspaceId }, "audit-log-actor-filters"] as const + getAuditLogs: (projectId: string | null, filters: TGetAuditLogsFilter) => + [{ projectId, filters }, "audit-logs"] as const, + getAuditLogActorFilterOpts: (projectId: string) => + [{ projectId }, "audit-log-actor-filters"] as const }; export const useGetAuditLogs = ( @@ -56,12 +56,12 @@ export const useGetAuditLogs = ( }); }; -export const useGetAuditLogActorFilterOpts = (workspaceId: string) => { +export const useGetAuditLogActorFilterOpts = (projectId: string) => { return useQuery({ - queryKey: auditLogKeys.getAuditLogActorFilterOpts(workspaceId), + queryKey: auditLogKeys.getAuditLogActorFilterOpts(projectId), queryFn: async () => { const { data } = await apiRequest.get<{ actors: Actor[] }>( - `/api/v1/workspace/${workspaceId}/audit-logs/filters/actors` + `/api/v1/projects/${projectId}/audit-logs/filters/actors` ); return data.actors; } diff --git a/frontend/src/hooks/api/groups/queries.tsx b/frontend/src/hooks/api/groups/queries.tsx index 6fbe0ec13..ca524066f 100644 --- a/frontend/src/hooks/api/groups/queries.tsx +++ b/frontend/src/hooks/api/groups/queries.tsx @@ -138,7 +138,7 @@ export const useListProjectGroupUsers = ({ }); const { data } = await apiRequest.get<{ users: TGroupUser[]; totalCount: number }>( - `/api/v2/workspace/${projectId}/groups/${id}/users`, + `/api/v1/projects/${projectId}/groups/${id}/users`, { params } diff --git a/frontend/src/hooks/api/tags/queries.tsx b/frontend/src/hooks/api/tags/queries.tsx index bdbb9659d..0bd4b09a9 100644 --- a/frontend/src/hooks/api/tags/queries.tsx +++ b/frontend/src/hooks/api/tags/queries.tsx @@ -4,23 +4,23 @@ import { apiRequest } from "@app/config/request"; import { CreateTagDTO, DeleteTagDTO, UserWsTags, WsTag } from "./types"; -const workspaceTags = { - getWsTags: (workspaceID: string) => ["workspace-tags", { workspaceID }] as const +const projectTags = { + getWsTags: (projectID: string) => ["project-tags", { projectID }] as const }; -const fetchWsTag = async (workspaceID: string) => { - const { data } = await apiRequest.get<{ workspaceTags: UserWsTags }>( - `/api/v1/workspace/${workspaceID}/tags` +const fetchWsTag = async (projectID: string) => { + const { data } = await apiRequest.get<{ projectTags: UserWsTags }>( + `/api/v1/projects/${projectID}/tags` ); - return data.workspaceTags; + return data.projectTags; }; -export const useGetWsTags = (workspaceID: string) => { +export const useGetWsTags = (projectID: string) => { return useQuery({ - queryKey: workspaceTags.getWsTags(workspaceID), - queryFn: () => fetchWsTag(workspaceID), - enabled: Boolean(workspaceID) + queryKey: projectTags.getWsTags(projectID), + queryFn: () => fetchWsTag(projectID), + enabled: Boolean(projectID) }); }; @@ -28,18 +28,18 @@ export const useCreateWsTag = () => { const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ workspaceID, tagColor, tagSlug }) => { - const { data } = await apiRequest.post<{ workspaceTag: WsTag }>( - `/api/v1/workspace/${workspaceID}/tags`, + mutationFn: async ({ projectID, tagColor, tagSlug }) => { + const { data } = await apiRequest.post<{ projectTag: WsTag }>( + `/api/v1/projects/${projectID}/tags`, { color: tagColor || "", slug: tagSlug } ); - return data.workspaceTag; + return data.projectTag; }, onSuccess: (tagData) => { - queryClient.invalidateQueries({ queryKey: workspaceTags.getWsTags(tagData?.projectId) }); + queryClient.invalidateQueries({ queryKey: projectTags.getWsTags(tagData?.projectId) }); } }); }; @@ -49,13 +49,13 @@ export const useDeleteWsTag = () => { return useMutation({ mutationFn: async ({ tagID, projectId }) => { - const { data } = await apiRequest.delete<{ workspaceTag: WsTag }>( - `/api/v1/workspace/${projectId}/tags/${tagID}` + const { data } = await apiRequest.delete<{ projectTag: WsTag }>( + `/api/v1/projects/${projectId}/tags/${tagID}` ); - return data.workspaceTag; + return data.projectTag; }, onSuccess: (tagData) => { - queryClient.invalidateQueries({ queryKey: workspaceTags.getWsTags(tagData?.projectId) }); + queryClient.invalidateQueries({ queryKey: projectTags.getWsTags(tagData?.projectId) }); } }); }; diff --git a/frontend/src/hooks/api/tags/types.ts b/frontend/src/hooks/api/tags/types.ts index 72d710cfa..c0994b92c 100644 --- a/frontend/src/hooks/api/tags/types.ts +++ b/frontend/src/hooks/api/tags/types.ts @@ -13,7 +13,7 @@ export type WsTag = { export type WorkspaceTag = { id: string; name: string; slug: string }; export type CreateTagDTO = { - workspaceID: string; + projectID: string; tagSlug: string; tagColor: string; }; diff --git a/frontend/src/hooks/api/workflowIntegrations/mutation.tsx b/frontend/src/hooks/api/workflowIntegrations/mutation.tsx index 49aaab815..1a3927eff 100644 --- a/frontend/src/hooks/api/workflowIntegrations/mutation.tsx +++ b/frontend/src/hooks/api/workflowIntegrations/mutation.tsx @@ -118,13 +118,13 @@ export const useUpdateProjectWorkflowIntegrationConfig = () => { return useMutation({ mutationFn: async (dto: TUpdateProjectWorkflowIntegrationConfigDTO) => { const { data } = await apiRequest.put( - `/api/v1/workspace/${dto.workspaceId}/workflow-integration`, + `/api/v1/projects/${dto.projectId}/workflow-integration`, dto ); return data; }, - onSuccess: (_, { workspaceId, integration }) => { + onSuccess: (_, { projectId: workspaceId, integration }) => { queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceWorkflowIntegrationConfig(workspaceId, integration) }); @@ -138,7 +138,7 @@ export const useDeleteProjectWorkflowIntegration = () => { return useMutation({ mutationFn: async (dto: TDeleteProjectWorkflowIntegrationDTO) => { const { data } = await apiRequest.delete( - `/api/v1/workspace/${dto.projectId}/workflow-integration/${dto.integration}/${dto.integrationId}` + `/api/v1/projects/${dto.projectId}/workflow-integration/${dto.integration}/${dto.integrationId}` ); return data; diff --git a/frontend/src/hooks/api/workflowIntegrations/types.ts b/frontend/src/hooks/api/workflowIntegrations/types.ts index 4d2baf4bf..668850124 100644 --- a/frontend/src/hooks/api/workflowIntegrations/types.ts +++ b/frontend/src/hooks/api/workflowIntegrations/types.ts @@ -106,7 +106,7 @@ export type ProjectWorkflowIntegrationConfig = export type TUpdateProjectWorkflowIntegrationConfigDTO = | { integration: WorkflowIntegrationPlatform.SLACK; - workspaceId: string; + projectId: string; integrationId: string; isAccessRequestNotificationEnabled: boolean; accessRequestChannels: string; @@ -115,7 +115,7 @@ export type TUpdateProjectWorkflowIntegrationConfigDTO = } | { integration: WorkflowIntegrationPlatform.MICROSOFT_TEAMS; - workspaceId: string; + projectId: string; integrationId: string; isAccessRequestNotificationEnabled: boolean; isSecretRequestNotificationEnabled: boolean; diff --git a/frontend/src/hooks/api/workspace/index.tsx b/frontend/src/hooks/api/workspace/index.tsx index 02d17f14c..a75789da5 100644 --- a/frontend/src/hooks/api/workspace/index.tsx +++ b/frontend/src/hooks/api/workspace/index.tsx @@ -25,7 +25,6 @@ export { useGetWorkspaceIdentityMemberships, useGetWorkspaceIndexStatus, useGetWorkspaceIntegrations, - useGetWorkspaceSecrets, useGetWorkspaceUserDetails, useGetWorkspaceUsers, useGetWorkspaceWorkflowIntegrationConfig, @@ -41,7 +40,6 @@ export { useListWorkspaceSshCertificateTemplates, useListWorkspaceSshHostGroups, useListWorkspaceSshHosts, - useNameWorkspaceSecrets, useSearchProjects, useToggleAutoCapitalization, useUpdateIdentityWorkspaceRole, diff --git a/frontend/src/hooks/api/workspace/queries.tsx b/frontend/src/hooks/api/workspace/queries.tsx index cdda24ee4..0e312967f 100644 --- a/frontend/src/hooks/api/workspace/queries.tsx +++ b/frontend/src/hooks/api/workspace/queries.tsx @@ -15,7 +15,6 @@ import { TIntegration } from "../integrations/types"; import { TPkiAlert } from "../pkiAlerts/types"; import { TPkiCollection } from "../pkiCollections/types"; import { TPkiSubscriber } from "../pkiSubscriber/types"; -import { EncryptedSecret } from "../secrets/types"; import { TSshCertificate, TSshCertificateAuthority } from "../sshCa/types"; import { TSshCertificateTemplate } from "../sshCertificateTemplates/types"; import { TSshHost } from "../sshHost/types"; @@ -32,7 +31,6 @@ import { CreateWorkspaceDTO, DeleteEnvironmentDTO, DeleteWorkspaceDTO, - NameWorkspaceSecretsDTO, ProjectIdentityOrderBy, ProjectType, TGetUpgradeProjectStatusDTO, @@ -73,14 +71,6 @@ const fetchProjectUpgradeStatus = async (projectId: string) => { return data; }; -export const fetchWorkspaceSecrets = async (projectId: string) => { - const { - data: { secrets } - } = await apiRequest.get<{ secrets: EncryptedSecret[] }>(`/api/v3/projects/${projectId}/secrets`); - - return secrets; -}; - export const useUpgradeProject = () => { const queryClient = useQueryClient(); @@ -129,14 +119,6 @@ export const useGetWorkspaceIndexStatus = (projectId: string) => { }); }; -export const useGetWorkspaceSecrets = (projectId: string) => { - return useQuery({ - queryKey: projectKeys.getWorkspaceSecrets(projectId), - queryFn: () => fetchWorkspaceSecrets(projectId), - enabled: true - }); -}; - export const useGetWorkspaceById = ( projectId: string, dto?: { refetchInterval?: number | false } @@ -192,22 +174,6 @@ export const useGetUserWorkspaceMemberships = (orgId: string) => enabled: Boolean(orgId) }); -export const useNameWorkspaceSecrets = () => { - const queryClient = useQueryClient(); - - return useMutation({ - mutationFn: async ({ projectId, secretsToUpdate }) => - apiRequest.post(`/api/v3/projects/${projectId}/secrets/names`, { - secretsToUpdate - }), - onSuccess: (_, variables) => { - queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceIndexStatus(variables.projectId) - }); - } - }); -}; - const fetchWorkspaceAuthorization = async (projectId: string) => { const { data } = await apiRequest.get<{ authorizations: IntegrationAuth[] }>( `/api/v1/projects/${projectId}/authorizations` diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/MicrosoftTeamsIntegrationForm.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/MicrosoftTeamsIntegrationForm.tsx index aab932b8d..2bf4bb7db 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/MicrosoftTeamsIntegrationForm.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/MicrosoftTeamsIntegrationForm.tsx @@ -136,7 +136,7 @@ export const MicrosoftTeamsIntegrationForm = ({ onClose }: Props) => { } await updateProjectMicrosoftTeamsConfig({ - workspaceId: currentWorkspace.id, + projectId: currentWorkspace.id, isAccessRequestNotificationEnabled: data.isAccessRequestNotificationEnabled, isSecretRequestNotificationEnabled: data.isSecretRequestNotificationEnabled, ...(data.isAccessRequestNotificationEnabled && { diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/SlackIntegrationForm.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/SlackIntegrationForm.tsx index 6bcaa6ac1..74c9ce55e 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/SlackIntegrationForm.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/SlackIntegrationForm.tsx @@ -83,7 +83,7 @@ export const SlackIntegrationForm = ({ onClose }: Props) => { await updateProjectSlackConfig({ ...data, - workspaceId: currentWorkspace.id, + projectId: currentWorkspace.id, integration: WorkflowIntegrationPlatform.SLACK, integrationId: data.slackIntegrationId, accessRequestChannels: data.accessRequestChannels.filter(Boolean).join(", "), From 02dc2e21060caa128c774bc83e26f948366d7db7 Mon Sep 17 00:00:00 2001 From: = Date: Fri, 12 Sep 2025 22:59:57 +0530 Subject: [PATCH 09/27] feat: updated folder, import, approvals and some more to projectid --- ...preciated-secret-approval-policy-router.ts | 293 +++++++++++ backend/src/ee/routes/v1/index.ts | 4 +- .../v1/secret-approval-request-router.ts | 8 +- backend/src/ee/routes/v2/index.ts | 3 + .../secret-approval-policy-router.ts | 10 +- backend/src/lib/api-docs/constants.ts | 16 +- .../v1/depreciated-secret-folder-router.ts | 444 ++++++++++++++++ .../v1/depreciated-secret-import-router.ts | 472 ++++++++++++++++++ backend/src/server/routes/v1/index.ts | 8 +- .../src/server/routes/v1/webhook-router.ts | 9 +- backend/src/server/routes/v2/index.ts | 5 + .../routes/{v1 => v2}/secret-folder-router.ts | 85 +--- .../routes/{v1 => v2}/secret-import-router.ts | 79 +-- .../src/hooks/api/secretApproval/mutation.tsx | 22 +- .../src/hooks/api/secretApproval/queries.tsx | 35 +- .../src/hooks/api/secretApproval/types.ts | 12 +- .../api/secretApprovalRequest/mutation.tsx | 10 +- .../api/secretApprovalRequest/queries.tsx | 32 +- .../hooks/api/secretApprovalRequest/types.ts | 10 +- .../src/hooks/api/secretFolders/queries.tsx | 20 +- .../src/hooks/api/secretImports/mutation.tsx | 16 +- .../src/hooks/api/secretImports/queries.tsx | 18 +- frontend/src/hooks/api/webhooks/mutation.tsx | 20 +- frontend/src/hooks/api/webhooks/types.ts | 8 +- .../components/WebhooksTab/WebhooksTab.tsx | 8 +- 25 files changed, 1380 insertions(+), 267 deletions(-) create mode 100644 backend/src/ee/routes/v1/depreciated-secret-approval-policy-router.ts rename backend/src/ee/routes/{v1 => v2}/secret-approval-policy-router.ts (97%) create mode 100644 backend/src/server/routes/v1/depreciated-secret-folder-router.ts create mode 100644 backend/src/server/routes/v1/depreciated-secret-import-router.ts rename backend/src/server/routes/{v1 => v2}/secret-folder-router.ts (80%) rename backend/src/server/routes/{v1 => v2}/secret-import-router.ts (85%) diff --git a/backend/src/ee/routes/v1/depreciated-secret-approval-policy-router.ts b/backend/src/ee/routes/v1/depreciated-secret-approval-policy-router.ts new file mode 100644 index 000000000..8b03f2d7e --- /dev/null +++ b/backend/src/ee/routes/v1/depreciated-secret-approval-policy-router.ts @@ -0,0 +1,293 @@ +import { nanoid } from "nanoid"; +import { z } from "zod"; + +import { ApproverType, BypasserType } from "@app/ee/services/access-approval-policy/access-approval-policy-types"; +import { removeTrailingSlash } from "@app/lib/fn"; +import { EnforcementLevel } from "@app/lib/types"; +import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; +import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; +import { sapPubSchema } from "@app/server/routes/sanitizedSchemas"; +import { AuthMode } from "@app/services/auth/auth-type"; + +export const registerDepreciatedSecretApprovalPolicyRouter = async (server: FastifyZodProvider) => { + server.route({ + url: "/", + method: "POST", + config: { + rateLimit: writeLimit + }, + schema: { + body: z + .object({ + workspaceId: z.string(), + name: z.string().optional(), + environment: z.string().optional(), + environments: z.string().array().optional(), + secretPath: z + .string() + .min(1, { message: "Secret path cannot be empty" }) + .transform((val) => removeTrailingSlash(val)), + approvers: z + .discriminatedUnion("type", [ + z.object({ type: z.literal(ApproverType.Group), id: z.string() }), + z.object({ + type: z.literal(ApproverType.User), + id: z.string().optional(), + username: z.string().optional() + }) + ]) + .array() + .min(1, { message: "At least one approver should be provided" }) + .max(100, "Cannot have more than 100 approvers"), + bypassers: z + .discriminatedUnion("type", [ + z.object({ type: z.literal(BypasserType.Group), id: z.string() }), + z.object({ + type: z.literal(BypasserType.User), + id: z.string().optional(), + username: z.string().optional() + }) + ]) + .array() + .max(100, "Cannot have more than 100 bypassers") + .optional(), + approvals: z.number().min(1).default(1), + enforcementLevel: z.nativeEnum(EnforcementLevel).default(EnforcementLevel.Hard), + allowedSelfApprovals: z.boolean().default(true) + }) + .refine((data) => data.environment || data.environments, "At least one environment should be provided"), + response: { + 200: z.object({ + approval: sapPubSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const approval = await server.services.secretApprovalPolicy.createSecretApprovalPolicy({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.body.workspaceId, + ...req.body, + name: req.body.name ?? `${req.body.environment || req.body.environments?.join(",")}-${nanoid(3)}`, + enforcementLevel: req.body.enforcementLevel + }); + return { approval }; + } + }); + + server.route({ + url: "/:sapId", + method: "PATCH", + config: { + rateLimit: writeLimit + }, + schema: { + params: z.object({ + sapId: z.string() + }), + body: z.object({ + name: z.string().optional(), + approvers: z + .discriminatedUnion("type", [ + z.object({ type: z.literal(ApproverType.Group), id: z.string() }), + z.object({ type: z.literal(ApproverType.User), id: z.string().optional(), username: z.string().optional() }) + ]) + .array() + .min(1, { message: "At least one approver should be provided" }) + .max(100, "Cannot have more than 100 approvers"), + bypassers: z + .discriminatedUnion("type", [ + z.object({ type: z.literal(BypasserType.Group), id: z.string() }), + z.object({ type: z.literal(BypasserType.User), id: z.string().optional(), username: z.string().optional() }) + ]) + .array() + .max(100, "Cannot have more than 100 bypassers") + .optional(), + approvals: z.number().min(1).default(1), + secretPath: z + .string() + .trim() + .min(1, { message: "Secret path cannot be empty" }) + .optional() + .transform((val) => (val ? removeTrailingSlash(val) : undefined)), + enforcementLevel: z.nativeEnum(EnforcementLevel).optional(), + allowedSelfApprovals: z.boolean().default(true), + environments: z.array(z.string()).optional() + }), + response: { + 200: z.object({ + approval: sapPubSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const approval = await server.services.secretApprovalPolicy.updateSecretApprovalPolicy({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.body, + secretPolicyId: req.params.sapId + }); + return { approval }; + } + }); + + server.route({ + url: "/:sapId", + method: "DELETE", + config: { + rateLimit: writeLimit + }, + schema: { + params: z.object({ + sapId: z.string() + }), + response: { + 200: z.object({ + approval: sapPubSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const approval = await server.services.secretApprovalPolicy.deleteSecretApprovalPolicy({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + secretPolicyId: req.params.sapId + }); + return { approval }; + } + }); + + server.route({ + url: "/", + method: "GET", + config: { + rateLimit: readLimit + }, + schema: { + querystring: z.object({ + workspaceId: z.string().trim() + }), + response: { + 200: z.object({ + approvals: sapPubSchema + .extend({ + approvers: z + .object({ + id: z.string().nullable().optional(), + type: z.nativeEnum(ApproverType) + }) + .array(), + bypassers: z + .object({ + id: z.string().nullable().optional(), + type: z.nativeEnum(BypasserType) + }) + .array() + }) + .array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT]), + handler: async (req) => { + const approvals = await server.services.secretApprovalPolicy.getSecretApprovalPolicyByProjectId({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.query.workspaceId + }); + return { approvals }; + } + }); + + server.route({ + url: "/:sapId", + method: "GET", + config: { + rateLimit: readLimit + }, + schema: { + params: z.object({ + sapId: z.string() + }), + response: { + 200: z.object({ + approval: sapPubSchema.extend({ + approvers: z + .object({ + id: z.string().nullable().optional(), + type: z.nativeEnum(ApproverType), + username: z.string().nullable().optional() + }) + .array(), + bypassers: z + .object({ + id: z.string().nullable().optional(), + type: z.nativeEnum(BypasserType), + username: z.string().nullable().optional() + }) + .array() + }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const approval = await server.services.secretApprovalPolicy.getSecretApprovalPolicyById({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.params + }); + + return { approval }; + } + }); + + server.route({ + url: "/board", + method: "GET", + config: { + rateLimit: readLimit + }, + schema: { + querystring: z.object({ + workspaceId: z.string().trim(), + environment: z.string().trim(), + secretPath: z.string().trim().transform(removeTrailingSlash) + }), + response: { + 200: z.object({ + policy: sapPubSchema + .extend({ + userApprovers: z.object({ userId: z.string().nullable().optional() }).array() + }) + .optional() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT]), + handler: async (req) => { + const policy = await server.services.secretApprovalPolicy.getSecretApprovalPolicyOfFolder({ + actor: req.permission.type, + actorId: req.permission.id, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: req.query.workspaceId, + ...req.query + }); + return { policy }; + } + }); +}; diff --git a/backend/src/ee/routes/v1/index.ts b/backend/src/ee/routes/v1/index.ts index ecf56eaf1..6eec1d6b4 100644 --- a/backend/src/ee/routes/v1/index.ts +++ b/backend/src/ee/routes/v1/index.ts @@ -29,7 +29,7 @@ import { registerRateLimitRouter } from "./rate-limit-router"; import { registerRelayRouter } from "./relay-router"; import { registerSamlRouter } from "./saml-router"; import { registerScimRouter } from "./scim-router"; -import { registerSecretApprovalPolicyRouter } from "./secret-approval-policy-router"; +import { registerDepreciatedSecretApprovalPolicyRouter } from "./depreciated-secret-approval-policy-router"; import { registerSecretApprovalRequestRouter } from "./secret-approval-request-router"; import { registerSecretRotationProviderRouter } from "./secret-rotation-provider-router"; import { registerSecretRotationRouter } from "./secret-rotation-router"; @@ -71,7 +71,7 @@ export const registerV1EERoutes = async (server: FastifyZodProvider) => { await server.register(registerSnapshotRouter, { prefix: "/secret-snapshot" }); await server.register(registerPITRouter, { prefix: "/pit" }); - await server.register(registerSecretApprovalPolicyRouter, { prefix: "/secret-approvals" }); + await server.register(registerDepreciatedSecretApprovalPolicyRouter, { prefix: "/secret-approvals" }); await server.register(registerSecretApprovalRequestRouter, { prefix: "/secret-approval-requests" }); diff --git a/backend/src/ee/routes/v1/secret-approval-request-router.ts b/backend/src/ee/routes/v1/secret-approval-request-router.ts index bdc9c2dcd..6a9b59f00 100644 --- a/backend/src/ee/routes/v1/secret-approval-request-router.ts +++ b/backend/src/ee/routes/v1/secret-approval-request-router.ts @@ -27,7 +27,7 @@ export const registerSecretApprovalRequestRouter = async (server: FastifyZodProv }, schema: { querystring: z.object({ - workspaceId: z.string().trim(), + projectId: z.string().trim(), environment: z.string().trim().optional(), committer: z.string().trim().optional(), search: z.string().trim().optional(), @@ -80,7 +80,7 @@ export const registerSecretApprovalRequestRouter = async (server: FastifyZodProv actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, ...req.query, - projectId: req.query.workspaceId + projectId: req.query.projectId }); return { approvals, totalCount }; } @@ -94,7 +94,7 @@ export const registerSecretApprovalRequestRouter = async (server: FastifyZodProv }, schema: { querystring: z.object({ - workspaceId: z.string().trim(), + projectId: z.string().trim(), policyId: z.string().trim().optional() }), response: { @@ -113,7 +113,7 @@ export const registerSecretApprovalRequestRouter = async (server: FastifyZodProv actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.query.workspaceId, + projectId: req.query.projectId, policyId: req.query.policyId }); return { approvals }; diff --git a/backend/src/ee/routes/v2/index.ts b/backend/src/ee/routes/v2/index.ts index 9f6aa0511..d98505e94 100644 --- a/backend/src/ee/routes/v2/index.ts +++ b/backend/src/ee/routes/v2/index.ts @@ -10,6 +10,7 @@ import { import { registerGatewayV2Router } from "./gateway-router"; import { registerIdentityProjectAdditionalPrivilegeRouter } from "./identity-project-additional-privilege-router"; import { registerDepreciatedProjectRoleRouter } from "./depreciated-project-role-router"; +import { registerSecretApprovalPolicyRouter } from "./secret-approval-policy-router"; export const registerV2EERoutes = async (server: FastifyZodProvider) => { await server.register( @@ -26,6 +27,8 @@ export const registerV2EERoutes = async (server: FastifyZodProvider) => { await server.register(registerGatewayV2Router, { prefix: "/gateways" }); + await server.register(registerSecretApprovalPolicyRouter, { prefix: "/secret-approvals" }); + await server.register( async (secretRotationV2Router) => { // register generic secret rotation endpoints diff --git a/backend/src/ee/routes/v1/secret-approval-policy-router.ts b/backend/src/ee/routes/v2/secret-approval-policy-router.ts similarity index 97% rename from backend/src/ee/routes/v1/secret-approval-policy-router.ts rename to backend/src/ee/routes/v2/secret-approval-policy-router.ts index dc87b83f2..f7f770197 100644 --- a/backend/src/ee/routes/v1/secret-approval-policy-router.ts +++ b/backend/src/ee/routes/v2/secret-approval-policy-router.ts @@ -19,7 +19,7 @@ export const registerSecretApprovalPolicyRouter = async (server: FastifyZodProvi schema: { body: z .object({ - workspaceId: z.string(), + projectId: z.string(), name: z.string().optional(), environment: z.string().optional(), environments: z.string().array().optional(), @@ -69,7 +69,6 @@ export const registerSecretApprovalPolicyRouter = async (server: FastifyZodProvi actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.body.workspaceId, ...req.body, name: req.body.name ?? `${req.body.environment || req.body.environments?.join(",")}-${nanoid(3)}`, enforcementLevel: req.body.enforcementLevel @@ -174,7 +173,7 @@ export const registerSecretApprovalPolicyRouter = async (server: FastifyZodProvi }, schema: { querystring: z.object({ - workspaceId: z.string().trim() + projectId: z.string().trim() }), response: { 200: z.object({ @@ -204,7 +203,7 @@ export const registerSecretApprovalPolicyRouter = async (server: FastifyZodProvi actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.query.workspaceId + projectId: req.query.projectId }); return { approvals }; } @@ -263,7 +262,7 @@ export const registerSecretApprovalPolicyRouter = async (server: FastifyZodProvi }, schema: { querystring: z.object({ - workspaceId: z.string().trim(), + projectId: z.string().trim(), environment: z.string().trim(), secretPath: z.string().trim().transform(removeTrailingSlash) }), @@ -284,7 +283,6 @@ export const registerSecretApprovalPolicyRouter = async (server: FastifyZodProvi actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.query.workspaceId, ...req.query }); return { policy }; diff --git a/backend/src/lib/api-docs/constants.ts b/backend/src/lib/api-docs/constants.ts index ba799ec36..c35dc2f33 100644 --- a/backend/src/lib/api-docs/constants.ts +++ b/backend/src/lib/api-docs/constants.ts @@ -901,7 +901,7 @@ export const ENVIRONMENTS = { export const FOLDERS = { LIST: { - workspaceId: "The ID of the project to list folders from.", + projectId: "The ID of the project to list folders from.", environment: "The slug of the environment to list folders from.", path: "The path to list folders from.", directory: "The directory to list folders from. (Deprecated in favor of path)", @@ -913,7 +913,7 @@ export const FOLDERS = { folderId: "The ID of the folder to get details." }, CREATE: { - workspaceId: "The ID of the project to create the folder in.", + projectId: "The ID of the project to create the folder in.", environment: "The slug of the environment to create the folder in.", name: "The name of the folder to create.", path: "The path of the folder to create.", @@ -927,12 +927,12 @@ export const FOLDERS = { path: "The path of the folder to update.", directory: "The new directory of the folder to update. (Deprecated in favor of path)", projectSlug: "The slug of the project where the folder is located.", - workspaceId: "The ID of the project where the folder is located.", + projectId: "The ID of the project where the folder is located.", description: "An optional description label for the folder." }, DELETE: { folderIdOrName: "The ID or name of the folder to delete.", - workspaceId: "The ID of the project to delete the folder from.", + projectId: "The ID of the project to delete the folder from.", environment: "The slug of the environment where the folder is located.", directory: "The directory of the folder to delete. (Deprecated in favor of path)", path: "The path of the folder to delete." @@ -1043,7 +1043,7 @@ export const RAW_SECRETS = { export const SECRET_IMPORTS = { LIST: { - workspaceId: "The ID of the project to list secret imports from.", + projectId: "The ID of the project to list secret imports from.", environment: "The slug of the environment to list secret imports from.", path: "The path to list secret imports from." }, @@ -1053,7 +1053,7 @@ export const SECRET_IMPORTS = { CREATE: { environment: "The slug of the environment to import into.", path: "The path to import into.", - workspaceId: "The ID of the project you are working in.", + projectId: "The ID of the project you are working in.", isReplication: "When true, secrets from the source will be automatically sent to the destination. If approval policies exist at the destination, the secrets will be sent as approval requests instead of being applied immediately.", import: { @@ -1070,10 +1070,10 @@ export const SECRET_IMPORTS = { position: "The new position of the secret import. The lowest number will be displayed as the first import." }, path: "The path of the secret import to update.", - workspaceId: "The ID of the project where the secret import is located." + projectId: "The ID of the project where the secret import is located." }, DELETE: { - workspaceId: "The ID of the project to delete the secret import from.", + projectId: "The ID of the project to delete the secret import from.", secretImportId: "The ID of the secret import to delete.", environment: "The slug of the environment where the secret import is located.", path: "The path of the secret import to delete." diff --git a/backend/src/server/routes/v1/depreciated-secret-folder-router.ts b/backend/src/server/routes/v1/depreciated-secret-folder-router.ts new file mode 100644 index 000000000..d64f4da9c --- /dev/null +++ b/backend/src/server/routes/v1/depreciated-secret-folder-router.ts @@ -0,0 +1,444 @@ +import { z } from "zod"; + +import { SecretFoldersSchema } from "@app/db/schemas"; +import { EventType } from "@app/ee/services/audit-log/audit-log-types"; +import { ApiDocsTags, FOLDERS } from "@app/lib/api-docs"; +import { prefixWithSlash, removeTrailingSlash } from "@app/lib/fn"; +import { isValidFolderName } from "@app/lib/validator"; +import { readLimit, secretsLimit } from "@app/server/config/rateLimiter"; +import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; +import { AuthMode } from "@app/services/auth/auth-type"; + +import { booleanSchema } from "../sanitizedSchemas"; + +export const registerDepreciatedSecretFolderRouter = async (server: FastifyZodProvider) => { + server.route({ + url: "/", + method: "POST", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Folders], + description: "Create folders", + security: [ + { + bearerAuth: [] + } + ], + body: z.object({ + workspaceId: z.string().trim().describe(FOLDERS.CREATE.projectId), + environment: z.string().trim().describe(FOLDERS.CREATE.environment), + name: z + .string() + .trim() + .describe(FOLDERS.CREATE.name) + .refine((name) => isValidFolderName(name), { + message: "Invalid folder name. Only alphanumeric characters, dashes, and underscores are allowed." + }), + path: z + .string() + .trim() + .default("/") + .transform(prefixWithSlash) // Transformations get skipped if path is undefined + .transform(removeTrailingSlash) + .describe(FOLDERS.CREATE.path) + .optional(), + // backward compatibility with cli + directory: z + .string() + .trim() + .default("/") + .transform(prefixWithSlash) // Transformations get skipped if directory is undefined + .transform(removeTrailingSlash) + .describe(FOLDERS.CREATE.directory) + .optional(), + description: z.string().optional().nullable().describe(FOLDERS.CREATE.description) + }), + response: { + 200: z.object({ + folder: SecretFoldersSchema.extend({ + path: z.string() + }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const path = req.body.path || req.body.directory || "/"; + const folder = await server.services.folder.createFolder({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.body, + projectId: req.body.workspaceId, + path, + description: req.body.description + }); + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: req.body.workspaceId, + event: { + type: EventType.CREATE_FOLDER, + metadata: { + environment: req.body.environment, + folderId: folder.id, + folderName: folder.name, + folderPath: path, + ...(req.body.description ? { description: req.body.description } : {}) + } + } + }); + return { folder }; + } + }); + + server.route({ + url: "/:folderId", + method: "PATCH", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Folders], + description: "Update folder", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + // old way this was name + folderId: z.string().describe(FOLDERS.UPDATE.folderId) + }), + body: z.object({ + workspaceId: z.string().trim().describe(FOLDERS.UPDATE.projectId), + environment: z.string().trim().describe(FOLDERS.UPDATE.environment), + name: z + .string() + .trim() + .describe(FOLDERS.UPDATE.name) + .refine((name) => isValidFolderName(name), { + message: "Invalid folder name. Only alphanumeric characters, dashes, and underscores are allowed." + }), + path: z + .string() + .trim() + .default("/") + .transform(prefixWithSlash) // Transformations get skipped if path is undefined + .transform(removeTrailingSlash) + .describe(FOLDERS.UPDATE.path) + .optional(), + // backward compatibility with cli + directory: z + .string() + .trim() + .default("/") + .transform(prefixWithSlash) // Transformations get skipped if directory is undefined + .transform(removeTrailingSlash) + .describe(FOLDERS.UPDATE.directory) + .optional(), + description: z.string().optional().nullable().describe(FOLDERS.UPDATE.description) + }), + response: { + 200: z.object({ + folder: SecretFoldersSchema.extend({ + path: z.string() + }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const path = req.body.path || req.body.directory || "/"; + const { folder, old } = await server.services.folder.updateFolder({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.body, + projectId: req.body.workspaceId, + id: req.params.folderId, + path + }); + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: req.body.workspaceId, + event: { + type: EventType.UPDATE_FOLDER, + metadata: { + environment: req.body.environment, + folderId: folder.id, + folderPath: path, + newFolderName: folder.name, + oldFolderName: old.name + } + } + }); + return { folder }; + } + }); + + server.route({ + url: "/batch", + method: "PATCH", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Folders], + description: "Update folders by batch", + security: [ + { + bearerAuth: [] + } + ], + body: z.object({ + projectSlug: z.string().trim().describe(FOLDERS.UPDATE.projectSlug), + folders: z + .object({ + id: z.string().describe(FOLDERS.UPDATE.folderId), + environment: z.string().trim().describe(FOLDERS.UPDATE.environment), + name: z + .string() + .trim() + .describe(FOLDERS.UPDATE.name) + .refine((name) => isValidFolderName(name), { + message: "Invalid folder name. Only alphanumeric characters, dashes, and underscores are allowed." + }), + path: z + .string() + .trim() + .default("/") + .transform(prefixWithSlash) + .transform(removeTrailingSlash) + .describe(FOLDERS.UPDATE.path), + description: z.string().optional().nullable().describe(FOLDERS.UPDATE.description) + }) + .array() + .min(1) + }), + response: { + 200: z.object({ + folders: SecretFoldersSchema.array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { newFolders, oldFolders, projectId } = await server.services.folder.updateManyFolders({ + ...req.body, + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId + }); + + await Promise.all( + req.body.folders.map(async (folder, index) => { + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId, + event: { + type: EventType.UPDATE_FOLDER, + metadata: { + environment: oldFolders[index].envId, + folderId: oldFolders[index].id, + folderPath: folder.path, + newFolderName: newFolders[index].name, + oldFolderName: oldFolders[index].name + } + } + }); + }) + ); + + return { folders: newFolders }; + } + }); + + // TODO(daniel): Expose this route in api reference and write docs for it. + server.route({ + method: "DELETE", + url: "/:folderIdOrName", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Folders], + description: "Delete a folder", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + folderIdOrName: z.string().describe(FOLDERS.DELETE.folderIdOrName) + }), + body: z.object({ + workspaceId: z.string().trim().describe(FOLDERS.DELETE.projectId), + environment: z.string().trim().describe(FOLDERS.DELETE.environment), + path: z + .string() + .trim() + .default("/") + .transform(prefixWithSlash) // Transformations get skipped if path is undefined + .transform(removeTrailingSlash) + .describe(FOLDERS.DELETE.path) + .optional(), + // keep this here as cli need directory + directory: z + .string() + .trim() + .default("/") + .transform(prefixWithSlash) // Transformations get skipped if directory is undefined + .transform(removeTrailingSlash) + .describe(FOLDERS.DELETE.directory) + .optional() + }), + response: { + 200: z.object({ + folder: SecretFoldersSchema + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const path = req.body.path || req.body.directory || "/"; + const folder = await server.services.folder.deleteFolder({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.body, + projectId: req.body.workspaceId, + idOrName: req.params.folderIdOrName, + path + }); + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: req.body.workspaceId, + event: { + type: EventType.DELETE_FOLDER, + metadata: { + environment: req.body.environment, + folderId: folder.id, + folderPath: path, + folderName: folder.name + } + } + }); + return { folder }; + } + }); + + server.route({ + method: "GET", + url: "/", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Folders], + description: "Get folders", + security: [ + { + bearerAuth: [] + } + ], + querystring: z.object({ + workspaceId: z.string().trim().describe(FOLDERS.LIST.projectId), + environment: z.string().trim().describe(FOLDERS.LIST.environment), + lastSecretModified: z.string().datetime().trim().optional().describe(FOLDERS.LIST.lastSecretModified), + path: z + .string() + .trim() + .transform(prefixWithSlash) // Transformations get skipped if path is undefined + .transform(removeTrailingSlash) + .describe(FOLDERS.LIST.path) + .optional(), + // backward compatibility with cli + directory: z + .string() + .trim() + .transform(prefixWithSlash) // Transformations get skipped if directory is undefined + .transform(removeTrailingSlash) + .describe(FOLDERS.LIST.directory) + .optional(), + recursive: booleanSchema.default(false).describe(FOLDERS.LIST.recursive) + }), + response: { + 200: z.object({ + folders: SecretFoldersSchema.extend({ + relativePath: z.string().optional() + }).array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const path = req.query.path || req.query.directory || "/"; + const folders = await server.services.folder.getFolders({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.query, + projectId: req.query.workspaceId, + path + }); + return { folders }; + } + }); + + server.route({ + method: "GET", + url: "/:id", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Folders], + description: "Get folder by id", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + id: z.string().trim().describe(FOLDERS.GET_BY_ID.folderId) + }), + response: { + 200: z.object({ + folder: SecretFoldersSchema.extend({ + environment: z.object({ + envId: z.string(), + envName: z.string(), + envSlug: z.string() + }), + path: z.string(), + projectId: z.string() + }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const folder = await server.services.folder.getFolderById({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + id: req.params.id + }); + return { folder }; + } + }); +}; diff --git a/backend/src/server/routes/v1/depreciated-secret-import-router.ts b/backend/src/server/routes/v1/depreciated-secret-import-router.ts new file mode 100644 index 000000000..7bc6912e2 --- /dev/null +++ b/backend/src/server/routes/v1/depreciated-secret-import-router.ts @@ -0,0 +1,472 @@ +import { z } from "zod"; + +import { SecretImportsSchema, SecretsSchema } from "@app/db/schemas"; +import { EventType } from "@app/ee/services/audit-log/audit-log-types"; +import { ApiDocsTags, SECRET_IMPORTS } from "@app/lib/api-docs"; +import { removeTrailingSlash } from "@app/lib/fn"; +import { readLimit, secretsLimit } from "@app/server/config/rateLimiter"; +import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; +import { AuthMode } from "@app/services/auth/auth-type"; + +import { secretRawSchema } from "../sanitizedSchemas"; + +export const registerDepreciatedSecretImportRouter = async (server: FastifyZodProvider) => { + server.route({ + method: "POST", + url: "/", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.SecretImports], + description: "Create secret imports", + security: [ + { + bearerAuth: [] + } + ], + body: z.object({ + workspaceId: z.string().trim().describe(SECRET_IMPORTS.CREATE.projectId), + environment: z.string().trim().describe(SECRET_IMPORTS.CREATE.environment), + path: z.string().trim().default("/").transform(removeTrailingSlash).describe(SECRET_IMPORTS.CREATE.path), + import: z.object({ + environment: z.string().trim().describe(SECRET_IMPORTS.CREATE.import.environment), + path: z.string().trim().transform(removeTrailingSlash).describe(SECRET_IMPORTS.CREATE.import.path) + }), + isReplication: z.boolean().default(false).describe(SECRET_IMPORTS.CREATE.isReplication) + }), + response: { + 200: z.object({ + message: z.string(), + secretImport: SecretImportsSchema.omit({ importEnv: true }).merge( + z.object({ + importEnv: z.object({ name: z.string(), slug: z.string(), id: z.string() }) + }) + ) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const secretImport = await server.services.secretImport.createImport({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.body, + projectId: req.body.workspaceId, + data: req.body.import + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: req.body.workspaceId, + event: { + type: EventType.CREATE_SECRET_IMPORT, + metadata: { + secretImportId: secretImport.id, + folderId: secretImport.folderId, + importFromSecretPath: secretImport.importPath, + importFromEnvironment: secretImport.importEnv.slug, + importToEnvironment: req.body.environment, + importToSecretPath: req.body.path + } + } + }); + return { message: "Successfully created secret import", secretImport }; + } + }); + + server.route({ + method: "PATCH", + url: "/:secretImportId", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.SecretImports], + description: "Update secret imports", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + secretImportId: z.string().trim().describe(SECRET_IMPORTS.UPDATE.secretImportId) + }), + body: z.object({ + workspaceId: z.string().trim().describe(SECRET_IMPORTS.UPDATE.projectId), + environment: z.string().trim().describe(SECRET_IMPORTS.UPDATE.environment), + path: z.string().trim().default("/").transform(removeTrailingSlash).describe(SECRET_IMPORTS.UPDATE.path), + import: z.object({ + environment: z.string().trim().optional().describe(SECRET_IMPORTS.UPDATE.import.environment), + path: z + .string() + .trim() + .optional() + .transform((val) => (val ? removeTrailingSlash(val) : val)) + .describe(SECRET_IMPORTS.UPDATE.import.path), + position: z.number().optional().describe(SECRET_IMPORTS.UPDATE.import.position) + }) + }), + response: { + 200: z.object({ + message: z.string(), + secretImport: SecretImportsSchema.omit({ importEnv: true }).merge( + z.object({ + importEnv: z.object({ name: z.string(), slug: z.string(), id: z.string() }) + }) + ) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const secretImport = await server.services.secretImport.updateImport({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + id: req.params.secretImportId, + ...req.body, + projectId: req.body.workspaceId, + data: req.body.import + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: req.body.workspaceId, + event: { + type: EventType.UPDATE_SECRET_IMPORT, + metadata: { + secretImportId: secretImport.id, + folderId: secretImport.folderId, + position: secretImport.position, + importToEnvironment: req.body.environment, + importToSecretPath: req.body.path + } + } + }); + + return { message: "Successfully updated secret import", secretImport }; + } + }); + + server.route({ + method: "DELETE", + url: "/:secretImportId", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.SecretImports], + description: "Delete secret imports", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + secretImportId: z.string().trim().describe(SECRET_IMPORTS.DELETE.secretImportId) + }), + body: z.object({ + workspaceId: z.string().trim().describe(SECRET_IMPORTS.DELETE.projectId), + environment: z.string().trim().describe(SECRET_IMPORTS.DELETE.environment), + path: z.string().trim().default("/").transform(removeTrailingSlash).describe(SECRET_IMPORTS.DELETE.path) + }), + response: { + 200: z.object({ + message: z.string(), + secretImport: SecretImportsSchema.omit({ importEnv: true }).merge( + z.object({ + importEnv: z.object({ name: z.string(), slug: z.string(), id: z.string() }) + }) + ) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const secretImport = await server.services.secretImport.deleteImport({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + id: req.params.secretImportId, + ...req.body, + projectId: req.body.workspaceId + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: req.body.workspaceId, + event: { + type: EventType.DELETE_SECRET_IMPORT, + metadata: { + secretImportId: secretImport.id, + folderId: secretImport.folderId, + importFromEnvironment: secretImport.importEnv.slug, + importFromSecretPath: secretImport.importPath, + importToEnvironment: req.body.environment, + importToSecretPath: req.body.path + } + } + }); + return { message: "Successfully deleted secret import", secretImport }; + } + }); + + server.route({ + method: "POST", + url: "/:secretImportId/replication-resync", + config: { + rateLimit: secretsLimit + }, + schema: { + description: "Resync secret replication of secret imports", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + secretImportId: z.string().trim().describe(SECRET_IMPORTS.UPDATE.secretImportId) + }), + body: z.object({ + workspaceId: z.string().trim().describe(SECRET_IMPORTS.UPDATE.projectId), + environment: z.string().trim().describe(SECRET_IMPORTS.UPDATE.environment), + path: z.string().trim().default("/").transform(removeTrailingSlash).describe(SECRET_IMPORTS.UPDATE.path) + }), + response: { + 200: z.object({ + message: z.string() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT]), + handler: async (req) => { + const { message } = await server.services.secretImport.resyncSecretImportReplication({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + id: req.params.secretImportId, + ...req.body, + projectId: req.body.workspaceId + }); + + return { message }; + } + }); + + server.route({ + method: "GET", + url: "/", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.SecretImports], + description: "Get secret imports", + security: [ + { + bearerAuth: [] + } + ], + querystring: z.object({ + workspaceId: z.string().trim().describe(SECRET_IMPORTS.LIST.projectId), + environment: z.string().trim().describe(SECRET_IMPORTS.LIST.environment), + path: z.string().trim().default("/").transform(removeTrailingSlash).describe(SECRET_IMPORTS.LIST.path) + }), + response: { + 200: z.object({ + message: z.string(), + secretImports: SecretImportsSchema.omit({ importEnv: true }) + .extend({ + importEnv: z.object({ name: z.string(), slug: z.string(), id: z.string() }) + }) + .array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const secretImports = await server.services.secretImport.getImports({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.query, + projectId: req.query.workspaceId + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: req.query.workspaceId, + event: { + type: EventType.GET_SECRET_IMPORTS, + metadata: { + environment: req.query.environment, + folderId: secretImports?.[0]?.folderId, + numberOfImports: secretImports.length + } + } + }); + return { message: "Successfully fetched secret imports", secretImports }; + } + }); + + server.route({ + url: "/:secretImportId", + method: "GET", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.SecretImports], + description: "Get single secret import", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + secretImportId: z.string().trim().describe(SECRET_IMPORTS.GET.secretImportId) + }), + response: { + 200: z.object({ + secretImport: SecretImportsSchema.omit({ importEnv: true }).extend({ + environment: z.object({ + id: z.string(), + name: z.string(), + slug: z.string() + }), + projectId: z.string(), + importEnv: z.object({ name: z.string(), slug: z.string(), id: z.string() }), + secretPath: z.string() + }) + }) + } + }, + + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const secretImport = await server.services.secretImport.getImportById({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + id: req.params.secretImportId + }); + + await server.services.auditLog.createAuditLog({ + ...req.auditLogInfo, + projectId: secretImport.projectId, + event: { + type: EventType.GET_SECRET_IMPORT, + metadata: { + secretImportId: secretImport.id, + folderId: secretImport.folderId + } + } + }); + + return { secretImport }; + } + }); + + server.route({ + url: "/secrets", + method: "GET", + config: { + rateLimit: secretsLimit + }, + schema: { + querystring: z.object({ + workspaceId: z.string().trim(), + environment: z.string().trim(), + path: z.string().trim().default("/").transform(removeTrailingSlash) + }), + response: { + 200: z.object({ + secrets: z + .object({ + secretPath: z.string(), + environment: z.string(), + environmentInfo: z.object({ + id: z.string(), + name: z.string(), + slug: z.string() + }), + folderId: z.string().optional(), + secrets: SecretsSchema.omit({ secretBlindIndex: true }).array() + }) + .array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const importedSecrets = await server.services.secretImport.getSecretsFromImports({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.query, + projectId: req.query.workspaceId + }); + return { secrets: importedSecrets }; + } + }); + + server.route({ + url: "/secrets/raw", + method: "GET", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.SecretImports], + querystring: z.object({ + workspaceId: z.string().trim(), + environment: z.string().trim(), + path: z.string().trim().default("/").transform(removeTrailingSlash) + }), + response: { + 200: z.object({ + secrets: z + .object({ + secretPath: z.string(), + environment: z.string(), + environmentInfo: z.object({ + id: z.string(), + name: z.string(), + slug: z.string() + }), + folderId: z.string().optional(), + secrets: secretRawSchema.array() + }) + .array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const importedSecrets = await server.services.secretImport.getRawSecretsFromImports({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.query, + projectId: req.query.workspaceId + }); + return { secrets: importedSecrets }; + } + }); +}; diff --git a/backend/src/server/routes/v1/index.ts b/backend/src/server/routes/v1/index.ts index 4aaa6083b..408c94d5e 100644 --- a/backend/src/server/routes/v1/index.ts +++ b/backend/src/server/routes/v1/index.ts @@ -50,8 +50,8 @@ import { registerProjectKeyRouter } from "./project-key-router"; import { registerProjectMembershipRouter } from "./project-membership-router"; import { registerProjectRouter } from "./project-router"; import { SECRET_REMINDER_REGISTER_ROUTER_MAP } from "./reminder-routers"; -import { registerSecretFolderRouter } from "./secret-folder-router"; -import { registerSecretImportRouter } from "./secret-import-router"; +import { registerDepreciatedSecretFolderRouter } from "./depreciated-secret-folder-router"; +import { registerDepreciatedSecretImportRouter } from "./depreciated-secret-import-router"; import { registerSecretRequestsRouter } from "./secret-requests-router"; import { registerSecretSharingRouter } from "./secret-sharing-router"; import { registerSecretTagRouter } from "./secret-tag-router"; @@ -93,8 +93,8 @@ export const registerV1Routes = async (server: FastifyZodProvider) => { await server.register(registerNotificationRouter, { prefix: "/notifications" }); await server.register(registerInviteOrgRouter, { prefix: "/invite-org" }); await server.register(registerUserActionRouter, { prefix: "/user-action" }); - await server.register(registerSecretImportRouter, { prefix: "/secret-imports" }); - await server.register(registerSecretFolderRouter, { prefix: "/folders" }); + await server.register(registerDepreciatedSecretImportRouter, { prefix: "/secret-imports" }); + await server.register(registerDepreciatedSecretFolderRouter, { prefix: "/folders" }); await server.register( async (workflowIntegrationRouter) => { diff --git a/backend/src/server/routes/v1/webhook-router.ts b/backend/src/server/routes/v1/webhook-router.ts index 377af135c..386628d28 100644 --- a/backend/src/server/routes/v1/webhook-router.ts +++ b/backend/src/server/routes/v1/webhook-router.ts @@ -39,7 +39,7 @@ export const registerWebhookRouter = async (server: FastifyZodProvider) => { body: z .object({ type: z.nativeEnum(WebhookType).default(WebhookType.GENERAL), - workspaceId: z.string().trim(), + projectId: z.string().trim(), environment: z.string().trim(), webhookUrl: z.string().url().trim(), webhookSecretKey: z.string().trim().optional(), @@ -67,13 +67,12 @@ export const registerWebhookRouter = async (server: FastifyZodProvider) => { actorId: req.permission.id, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: req.body.workspaceId, ...req.body }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.body.workspaceId, + projectId: req.body.projectId, event: { type: EventType.CREATE_WEBHOOK, metadata: { @@ -216,7 +215,7 @@ export const registerWebhookRouter = async (server: FastifyZodProvider) => { onRequest: verifyAuth([AuthMode.JWT]), schema: { querystring: z.object({ - workspaceId: z.string().trim(), + projectId: z.string().trim(), environment: z.string().trim().optional(), secretPath: z .string() @@ -238,7 +237,7 @@ export const registerWebhookRouter = async (server: FastifyZodProvider) => { actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, ...req.query, - projectId: req.query.workspaceId + projectId: req.query.projectId }); return { message: "Successfully fetched webhook", webhooks }; } diff --git a/backend/src/server/routes/v2/index.ts b/backend/src/server/routes/v2/index.ts index 2735dfcc9..ab6505454 100644 --- a/backend/src/server/routes/v2/index.ts +++ b/backend/src/server/routes/v2/index.ts @@ -10,6 +10,8 @@ import { registerDepreciatedProjectMembershipRouter } from "./depreciated-projec import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; import { registerServiceTokenRouter } from "./service-token-router"; import { registerUserRouter } from "./user-router"; +import { registerSecretFolderRouter } from "./secret-folder-router"; +import { registerSecretImportRouter } from "./secret-import-router"; export const registerV2Routes = async (server: FastifyZodProvider) => { await server.register(registerMfaRouter, { prefix: "/auth" }); @@ -33,6 +35,9 @@ export const registerV2Routes = async (server: FastifyZodProvider) => { { prefix: "/organizations" } ); + await server.register(registerSecretFolderRouter, { prefix: "/folders" }); + await server.register(registerSecretImportRouter, { prefix: "/secret-imports" }); + // moved to v1/projects await server.register( async (projectServer) => { diff --git a/backend/src/server/routes/v1/secret-folder-router.ts b/backend/src/server/routes/v2/secret-folder-router.ts similarity index 80% rename from backend/src/server/routes/v1/secret-folder-router.ts rename to backend/src/server/routes/v2/secret-folder-router.ts index 871259147..0bf062452 100644 --- a/backend/src/server/routes/v1/secret-folder-router.ts +++ b/backend/src/server/routes/v2/secret-folder-router.ts @@ -28,7 +28,7 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => } ], body: z.object({ - workspaceId: z.string().trim().describe(FOLDERS.CREATE.workspaceId), + projectId: z.string().trim().describe(FOLDERS.CREATE.projectId), environment: z.string().trim().describe(FOLDERS.CREATE.environment), name: z .string() @@ -43,17 +43,7 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => .default("/") .transform(prefixWithSlash) // Transformations get skipped if path is undefined .transform(removeTrailingSlash) - .describe(FOLDERS.CREATE.path) - .optional(), - // backward compatibility with cli - directory: z - .string() - .trim() - .default("/") - .transform(prefixWithSlash) // Transformations get skipped if directory is undefined - .transform(removeTrailingSlash) - .describe(FOLDERS.CREATE.directory) - .optional(), + .describe(FOLDERS.CREATE.path), description: z.string().optional().nullable().describe(FOLDERS.CREATE.description) }), response: { @@ -66,27 +56,24 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const path = req.body.path || req.body.directory || "/"; const folder = await server.services.folder.createFolder({ actorId: req.permission.id, actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, ...req.body, - projectId: req.body.workspaceId, - path, description: req.body.description }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.body.workspaceId, + projectId: req.body.projectId, event: { type: EventType.CREATE_FOLDER, metadata: { environment: req.body.environment, folderId: folder.id, folderName: folder.name, - folderPath: path, + folderPath: req.body.path, ...(req.body.description ? { description: req.body.description } : {}) } } @@ -115,7 +102,7 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => folderId: z.string().describe(FOLDERS.UPDATE.folderId) }), body: z.object({ - workspaceId: z.string().trim().describe(FOLDERS.UPDATE.workspaceId), + projectId: z.string().trim().describe(FOLDERS.UPDATE.projectId), environment: z.string().trim().describe(FOLDERS.UPDATE.environment), name: z .string() @@ -130,17 +117,7 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => .default("/") .transform(prefixWithSlash) // Transformations get skipped if path is undefined .transform(removeTrailingSlash) - .describe(FOLDERS.UPDATE.path) - .optional(), - // backward compatibility with cli - directory: z - .string() - .trim() - .default("/") - .transform(prefixWithSlash) // Transformations get skipped if directory is undefined - .transform(removeTrailingSlash) - .describe(FOLDERS.UPDATE.directory) - .optional(), + .describe(FOLDERS.UPDATE.path), description: z.string().optional().nullable().describe(FOLDERS.UPDATE.description) }), response: { @@ -153,26 +130,23 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const path = req.body.path || req.body.directory || "/"; const { folder, old } = await server.services.folder.updateFolder({ actorId: req.permission.id, actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, ...req.body, - projectId: req.body.workspaceId, - id: req.params.folderId, - path + id: req.params.folderId }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.body.workspaceId, + projectId: req.body.projectId, event: { type: EventType.UPDATE_FOLDER, metadata: { environment: req.body.environment, folderId: folder.id, - folderPath: path, + folderPath: req.body.path, newFolderName: folder.name, oldFolderName: old.name } @@ -198,7 +172,7 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => } ], body: z.object({ - projectSlug: z.string().trim().describe(FOLDERS.UPDATE.projectSlug), + projectId: z.string().trim().describe(FOLDERS.UPDATE.projectId), folders: z .object({ id: z.string().describe(FOLDERS.UPDATE.folderId), @@ -281,7 +255,7 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => folderIdOrName: z.string().describe(FOLDERS.DELETE.folderIdOrName) }), body: z.object({ - workspaceId: z.string().trim().describe(FOLDERS.DELETE.workspaceId), + projectId: z.string().trim().describe(FOLDERS.DELETE.projectId), environment: z.string().trim().describe(FOLDERS.DELETE.environment), path: z .string() @@ -290,16 +264,6 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => .transform(prefixWithSlash) // Transformations get skipped if path is undefined .transform(removeTrailingSlash) .describe(FOLDERS.DELETE.path) - .optional(), - // keep this here as cli need directory - directory: z - .string() - .trim() - .default("/") - .transform(prefixWithSlash) // Transformations get skipped if directory is undefined - .transform(removeTrailingSlash) - .describe(FOLDERS.DELETE.directory) - .optional() }), response: { 200: z.object({ @@ -309,26 +273,23 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const path = req.body.path || req.body.directory || "/"; const folder = await server.services.folder.deleteFolder({ actorId: req.permission.id, actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, ...req.body, - projectId: req.body.workspaceId, - idOrName: req.params.folderIdOrName, - path + idOrName: req.params.folderIdOrName }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.body.workspaceId, + projectId: req.body.projectId, event: { type: EventType.DELETE_FOLDER, metadata: { environment: req.body.environment, folderId: folder.id, - folderPath: path, + folderPath: req.body.path, folderName: folder.name } } @@ -353,7 +314,7 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => } ], querystring: z.object({ - workspaceId: z.string().trim().describe(FOLDERS.LIST.workspaceId), + projectId: z.string().trim().describe(FOLDERS.LIST.projectId), environment: z.string().trim().describe(FOLDERS.LIST.environment), lastSecretModified: z.string().datetime().trim().optional().describe(FOLDERS.LIST.lastSecretModified), path: z @@ -361,16 +322,7 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => .trim() .transform(prefixWithSlash) // Transformations get skipped if path is undefined .transform(removeTrailingSlash) - .describe(FOLDERS.LIST.path) - .optional(), - // backward compatibility with cli - directory: z - .string() - .trim() - .transform(prefixWithSlash) // Transformations get skipped if directory is undefined - .transform(removeTrailingSlash) - .describe(FOLDERS.LIST.directory) - .optional(), + .describe(FOLDERS.LIST.path), recursive: booleanSchema.default(false).describe(FOLDERS.LIST.recursive) }), response: { @@ -383,15 +335,12 @@ export const registerSecretFolderRouter = async (server: FastifyZodProvider) => }, onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), handler: async (req) => { - const path = req.query.path || req.query.directory || "/"; const folders = await server.services.folder.getFolders({ actorId: req.permission.id, actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - ...req.query, - projectId: req.query.workspaceId, - path + ...req.query }); return { folders }; } diff --git a/backend/src/server/routes/v1/secret-import-router.ts b/backend/src/server/routes/v2/secret-import-router.ts similarity index 85% rename from backend/src/server/routes/v1/secret-import-router.ts rename to backend/src/server/routes/v2/secret-import-router.ts index fca11f8a0..d9802c4b3 100644 --- a/backend/src/server/routes/v1/secret-import-router.ts +++ b/backend/src/server/routes/v2/secret-import-router.ts @@ -1,6 +1,6 @@ import { z } from "zod"; -import { SecretImportsSchema, SecretsSchema } from "@app/db/schemas"; +import { SecretImportsSchema } from "@app/db/schemas"; import { EventType } from "@app/ee/services/audit-log/audit-log-types"; import { ApiDocsTags, SECRET_IMPORTS } from "@app/lib/api-docs"; import { removeTrailingSlash } from "@app/lib/fn"; @@ -27,7 +27,7 @@ export const registerSecretImportRouter = async (server: FastifyZodProvider) => } ], body: z.object({ - workspaceId: z.string().trim().describe(SECRET_IMPORTS.CREATE.workspaceId), + projectId: z.string().trim().describe(SECRET_IMPORTS.CREATE.projectId), environment: z.string().trim().describe(SECRET_IMPORTS.CREATE.environment), path: z.string().trim().default("/").transform(removeTrailingSlash).describe(SECRET_IMPORTS.CREATE.path), import: z.object({ @@ -55,13 +55,13 @@ export const registerSecretImportRouter = async (server: FastifyZodProvider) => actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, ...req.body, - projectId: req.body.workspaceId, + projectId: req.body.projectId, data: req.body.import }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.body.workspaceId, + projectId: req.body.projectId, event: { type: EventType.CREATE_SECRET_IMPORT, metadata: { @@ -97,7 +97,7 @@ export const registerSecretImportRouter = async (server: FastifyZodProvider) => secretImportId: z.string().trim().describe(SECRET_IMPORTS.UPDATE.secretImportId) }), body: z.object({ - workspaceId: z.string().trim().describe(SECRET_IMPORTS.UPDATE.workspaceId), + projectId: z.string().trim().describe(SECRET_IMPORTS.UPDATE.projectId), environment: z.string().trim().describe(SECRET_IMPORTS.UPDATE.environment), path: z.string().trim().default("/").transform(removeTrailingSlash).describe(SECRET_IMPORTS.UPDATE.path), import: z.object({ @@ -131,13 +131,13 @@ export const registerSecretImportRouter = async (server: FastifyZodProvider) => actorOrgId: req.permission.orgId, id: req.params.secretImportId, ...req.body, - projectId: req.body.workspaceId, + projectId: req.body.projectId, data: req.body.import }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.body.workspaceId, + projectId: req.body.projectId, event: { type: EventType.UPDATE_SECRET_IMPORT, metadata: { @@ -173,7 +173,7 @@ export const registerSecretImportRouter = async (server: FastifyZodProvider) => secretImportId: z.string().trim().describe(SECRET_IMPORTS.DELETE.secretImportId) }), body: z.object({ - workspaceId: z.string().trim().describe(SECRET_IMPORTS.DELETE.workspaceId), + projectId: z.string().trim().describe(SECRET_IMPORTS.DELETE.projectId), environment: z.string().trim().describe(SECRET_IMPORTS.DELETE.environment), path: z.string().trim().default("/").transform(removeTrailingSlash).describe(SECRET_IMPORTS.DELETE.path) }), @@ -197,12 +197,12 @@ export const registerSecretImportRouter = async (server: FastifyZodProvider) => actorOrgId: req.permission.orgId, id: req.params.secretImportId, ...req.body, - projectId: req.body.workspaceId + projectId: req.body.projectId }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.body.workspaceId, + projectId: req.body.projectId, event: { type: EventType.DELETE_SECRET_IMPORT, metadata: { @@ -236,7 +236,7 @@ export const registerSecretImportRouter = async (server: FastifyZodProvider) => secretImportId: z.string().trim().describe(SECRET_IMPORTS.UPDATE.secretImportId) }), body: z.object({ - workspaceId: z.string().trim().describe(SECRET_IMPORTS.UPDATE.workspaceId), + projectId: z.string().trim().describe(SECRET_IMPORTS.UPDATE.projectId), environment: z.string().trim().describe(SECRET_IMPORTS.UPDATE.environment), path: z.string().trim().default("/").transform(removeTrailingSlash).describe(SECRET_IMPORTS.UPDATE.path) }), @@ -255,7 +255,7 @@ export const registerSecretImportRouter = async (server: FastifyZodProvider) => actorOrgId: req.permission.orgId, id: req.params.secretImportId, ...req.body, - projectId: req.body.workspaceId + projectId: req.body.projectId }); return { message }; @@ -278,7 +278,7 @@ export const registerSecretImportRouter = async (server: FastifyZodProvider) => } ], querystring: z.object({ - workspaceId: z.string().trim().describe(SECRET_IMPORTS.LIST.workspaceId), + projectId: z.string().trim().describe(SECRET_IMPORTS.LIST.projectId), environment: z.string().trim().describe(SECRET_IMPORTS.LIST.environment), path: z.string().trim().default("/").transform(removeTrailingSlash).describe(SECRET_IMPORTS.LIST.path) }), @@ -301,12 +301,12 @@ export const registerSecretImportRouter = async (server: FastifyZodProvider) => actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, ...req.query, - projectId: req.query.workspaceId + projectId: req.query.projectId }); await server.services.auditLog.createAuditLog({ ...req.auditLogInfo, - projectId: req.query.workspaceId, + projectId: req.query.projectId, event: { type: EventType.GET_SECRET_IMPORTS, metadata: { @@ -386,55 +386,11 @@ export const registerSecretImportRouter = async (server: FastifyZodProvider) => config: { rateLimit: secretsLimit }, - schema: { - querystring: z.object({ - workspaceId: z.string().trim(), - environment: z.string().trim(), - path: z.string().trim().default("/").transform(removeTrailingSlash) - }), - response: { - 200: z.object({ - secrets: z - .object({ - secretPath: z.string(), - environment: z.string(), - environmentInfo: z.object({ - id: z.string(), - name: z.string(), - slug: z.string() - }), - folderId: z.string().optional(), - secrets: SecretsSchema.omit({ secretBlindIndex: true }).array() - }) - .array() - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), - handler: async (req) => { - const importedSecrets = await server.services.secretImport.getSecretsFromImports({ - actorId: req.permission.id, - actor: req.permission.type, - actorAuthMethod: req.permission.authMethod, - actorOrgId: req.permission.orgId, - ...req.query, - projectId: req.query.workspaceId - }); - return { secrets: importedSecrets }; - } - }); - - server.route({ - url: "/secrets/raw", - method: "GET", - config: { - rateLimit: secretsLimit - }, schema: { hide: false, tags: [ApiDocsTags.SecretImports], querystring: z.object({ - workspaceId: z.string().trim(), + projectId: z.string().trim(), environment: z.string().trim(), path: z.string().trim().default("/").transform(removeTrailingSlash) }), @@ -463,8 +419,7 @@ export const registerSecretImportRouter = async (server: FastifyZodProvider) => actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - ...req.query, - projectId: req.query.workspaceId + ...req.query }); return { secrets: importedSecrets }; } diff --git a/frontend/src/hooks/api/secretApproval/mutation.tsx b/frontend/src/hooks/api/secretApproval/mutation.tsx index 8370d0367..c8fe51d19 100644 --- a/frontend/src/hooks/api/secretApproval/mutation.tsx +++ b/frontend/src/hooks/api/secretApproval/mutation.tsx @@ -11,7 +11,7 @@ export const useCreateSecretApprovalPolicy = () => { return useMutation({ mutationFn: async ({ environments, - workspaceId, + projectId, approvals, approvers, bypassers, @@ -20,9 +20,9 @@ export const useCreateSecretApprovalPolicy = () => { enforcementLevel, allowedSelfApprovals }) => { - const { data } = await apiRequest.post("/api/v1/secret-approvals", { + const { data } = await apiRequest.post("/api/v2/secret-approvals", { environments, - workspaceId, + projectId, approvals, approvers, bypassers, @@ -33,9 +33,9 @@ export const useCreateSecretApprovalPolicy = () => { }); return data; }, - onSuccess: (_, { workspaceId }) => { + onSuccess: (_, { projectId }) => { queryClient.invalidateQueries({ - queryKey: secretApprovalKeys.getApprovalPolicies(workspaceId) + queryKey: secretApprovalKeys.getApprovalPolicies(projectId) }); } }); @@ -56,7 +56,7 @@ export const useUpdateSecretApprovalPolicy = () => { allowedSelfApprovals, environments }) => { - const { data } = await apiRequest.patch(`/api/v1/secret-approvals/${id}`, { + const { data } = await apiRequest.patch(`/api/v2/secret-approvals/${id}`, { approvals, approvers, bypassers, @@ -68,9 +68,9 @@ export const useUpdateSecretApprovalPolicy = () => { }); return data; }, - onSuccess: (_, { workspaceId }) => { + onSuccess: (_, { projectId }) => { queryClient.invalidateQueries({ - queryKey: secretApprovalKeys.getApprovalPolicies(workspaceId) + queryKey: secretApprovalKeys.getApprovalPolicies(projectId) }); } }); @@ -81,12 +81,12 @@ export const useDeleteSecretApprovalPolicy = () => { return useMutation({ mutationFn: async ({ id }) => { - const { data } = await apiRequest.delete(`/api/v1/secret-approvals/${id}`); + const { data } = await apiRequest.delete(`/api/v2/secret-approvals/${id}`); return data; }, - onSuccess: (_, { workspaceId }) => { + onSuccess: (_, { projectId }) => { queryClient.invalidateQueries({ - queryKey: secretApprovalKeys.getApprovalPolicies(workspaceId) + queryKey: secretApprovalKeys.getApprovalPolicies(projectId) }); } }); diff --git a/frontend/src/hooks/api/secretApproval/queries.tsx b/frontend/src/hooks/api/secretApproval/queries.tsx index 52c3743fb..e81af93b8 100644 --- a/frontend/src/hooks/api/secretApproval/queries.tsx +++ b/frontend/src/hooks/api/secretApproval/queries.tsx @@ -10,54 +10,53 @@ import { } from "./types"; export const secretApprovalKeys = { - getApprovalPolicies: (workspaceId: string) => - [{ workspaceId }, "secret-approval-policies"] as const, - getApprovalPolicyOfABoard: (workspaceId: string, environment: string, secretPath: string) => [ - { workspaceId, environment, secretPath }, + getApprovalPolicies: (projectId: string) => [{ projectId }, "secret-approval-policies"] as const, + getApprovalPolicyOfABoard: (projectId: string, environment: string, secretPath: string) => [ + { projectId, environment, secretPath }, "Secret-approval-policy" ] }; -const fetchApprovalPolicies = async (workspaceId: string) => { +const fetchApprovalPolicies = async (projectId: string) => { const { data } = await apiRequest.get<{ approvals: TSecretApprovalPolicy[] }>( - "/api/v1/secret-approvals", - { params: { workspaceId } } + "/api/v2/secret-approvals", + { params: { projectId } } ); return data.approvals; }; export const useGetSecretApprovalPolicies = ({ - workspaceId, + projectId, options = {} }: TGetSecretApprovalPoliciesDTO & TReactQueryOptions) => useQuery({ - queryKey: secretApprovalKeys.getApprovalPolicies(workspaceId), - queryFn: () => fetchApprovalPolicies(workspaceId), + queryKey: secretApprovalKeys.getApprovalPolicies(projectId), + queryFn: () => fetchApprovalPolicies(projectId), ...options, - enabled: Boolean(workspaceId) && (options?.enabled ?? true) + enabled: Boolean(projectId) && (options?.enabled ?? true) }); const fetchApprovalPolicyOfABoard = async ( - workspaceId: string, + projectId: string, environment: string, secretPath: string ) => { const { data } = await apiRequest.get<{ policy: TSecretApprovalPolicy }>( - "/api/v1/secret-approvals/board", - { params: { workspaceId, environment, secretPath } } + "/api/v2/secret-approvals/board", + { params: { projectId, environment, secretPath } } ); return data.policy || ""; }; export const useGetSecretApprovalPolicyOfABoard = ({ - workspaceId, + projectId, secretPath = "/", environment, options = {} }: TGetSecretApprovalPolicyOfBoardDTO & TReactQueryOptions) => useQuery({ - queryKey: secretApprovalKeys.getApprovalPolicyOfABoard(workspaceId, environment, secretPath), - queryFn: () => fetchApprovalPolicyOfABoard(workspaceId, environment, secretPath), + queryKey: secretApprovalKeys.getApprovalPolicyOfABoard(projectId, environment, secretPath), + queryFn: () => fetchApprovalPolicyOfABoard(projectId, environment, secretPath), ...options, - enabled: Boolean(workspaceId && secretPath && environment) && (options?.enabled ?? true) + enabled: Boolean(projectId && secretPath && environment) && (options?.enabled ?? true) }); diff --git a/frontend/src/hooks/api/secretApproval/types.ts b/frontend/src/hooks/api/secretApproval/types.ts index 1785ffa8a..6b4aeba63 100644 --- a/frontend/src/hooks/api/secretApproval/types.ts +++ b/frontend/src/hooks/api/secretApproval/types.ts @@ -3,7 +3,7 @@ import { WorkspaceEnv } from "../workspace/types"; export type TSecretApprovalPolicy = { id: string; - workspace: string; + project: string; name: string; environments: WorkspaceEnv[]; secretPath?: string; @@ -36,17 +36,17 @@ export type Bypasser = { }; export type TGetSecretApprovalPoliciesDTO = { - workspaceId: string; + projectId: string; }; export type TGetSecretApprovalPolicyOfBoardDTO = { - workspaceId: string; + projectId: string; environment: string; secretPath: string; }; export type TCreateSecretPolicyDTO = { - workspaceId: string; + projectId: string; name?: string; environments: string[]; secretPath: string; @@ -67,12 +67,12 @@ export type TUpdateSecretPolicyDTO = { allowedSelfApprovals?: boolean; enforcementLevel?: EnforcementLevel; // for invalidating list - workspaceId: string; + projectId: string; environments?: string[]; }; export type TDeleteSecretPolicyDTO = { id: string; // for invalidating list - workspaceId: string; + projectId: string; }; diff --git a/frontend/src/hooks/api/secretApprovalRequest/mutation.tsx b/frontend/src/hooks/api/secretApprovalRequest/mutation.tsx index 78e1b37a1..6a03b431c 100644 --- a/frontend/src/hooks/api/secretApprovalRequest/mutation.tsx +++ b/frontend/src/hooks/api/secretApprovalRequest/mutation.tsx @@ -36,9 +36,9 @@ export const useUpdateSecretApprovalRequestStatus = () => { }); return data; }, - onSuccess: (_, { id, workspaceId }) => { + onSuccess: (_, { id, projectId }) => { queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.detail({ id }) }); - queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ workspaceId }) }); + queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ projectId }) }); } }); }; @@ -53,10 +53,10 @@ export const usePerformSecretApprovalRequestMerge = () => { }); return data; }, - onSuccess: (_, { id, workspaceId }) => { + onSuccess: (_, { id, projectId }) => { queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.detail({ id }) }); - queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.list({ workspaceId }) }); - queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ workspaceId }) }); + queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.list({ projectId }) }); + queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ projectId }) }); } }); }; diff --git a/frontend/src/hooks/api/secretApprovalRequest/queries.tsx b/frontend/src/hooks/api/secretApprovalRequest/queries.tsx index a1736f70f..63cdd455e 100644 --- a/frontend/src/hooks/api/secretApprovalRequest/queries.tsx +++ b/frontend/src/hooks/api/secretApprovalRequest/queries.tsx @@ -14,7 +14,7 @@ import { export const secretApprovalRequestKeys = { list: ({ - workspaceId, + projectId, environment, status, committer, @@ -23,20 +23,20 @@ export const secretApprovalRequestKeys = { search }: TGetSecretApprovalRequestList) => [ - { workspaceId, environment, status, committer, offset, limit, search }, + { projectId, environment, status, committer, offset, limit, search }, "secret-approval-requests" ] as const, detail: ({ id }: Omit) => [{ id }, "secret-approval-request-detail"] as const, - count: ({ workspaceId, policyId }: TGetSecretApprovalRequestCount) => [ - { workspaceId }, + count: ({ projectId, policyId }: TGetSecretApprovalRequestCount) => [ + { projectId }, "secret-approval-request-count", ...(policyId ? [policyId] : []) ] }; const fetchSecretApprovalRequestList = async ({ - workspaceId, + projectId, environment, committer, status = "open", @@ -49,7 +49,7 @@ const fetchSecretApprovalRequestList = async ({ totalCount: number; }>("/api/v1/secret-approval-requests", { params: { - workspaceId, + projectId, environment, committer, status, @@ -63,7 +63,7 @@ const fetchSecretApprovalRequestList = async ({ }; export const useGetSecretApprovalRequests = ({ - workspaceId, + projectId, environment, options = {}, status, @@ -74,7 +74,7 @@ export const useGetSecretApprovalRequests = ({ }: TGetSecretApprovalRequestList & TReactQueryOptions) => useQuery({ queryKey: secretApprovalRequestKeys.list({ - workspaceId, + projectId, environment, committer, status, @@ -84,7 +84,7 @@ export const useGetSecretApprovalRequests = ({ }), queryFn: () => fetchSecretApprovalRequestList({ - workspaceId, + projectId, environment, status, committer, @@ -92,7 +92,7 @@ export const useGetSecretApprovalRequests = ({ offset, search }), - enabled: Boolean(workspaceId) && (options?.enabled ?? true), + enabled: Boolean(projectId) && (options?.enabled ?? true), placeholderData: (previousData) => previousData }); @@ -127,19 +127,19 @@ export const useGetSecretApprovalRequestDetails = ({ }); const fetchSecretApprovalRequestCount = async ({ - workspaceId, + projectId, policyId }: TGetSecretApprovalRequestCount) => { const { data } = await apiRequest.get<{ approvals: TSecretApprovalRequestCount }>( "/api/v1/secret-approval-requests/count", - { params: { workspaceId, policyId } } + { params: { projectId, policyId } } ); return data.approvals; }; export const useGetSecretApprovalRequestCount = ({ - workspaceId, + projectId, policyId, options = {} }: TGetSecretApprovalRequestCount & { @@ -154,8 +154,8 @@ export const useGetSecretApprovalRequestCount = ({ >; }) => useQuery({ - queryKey: secretApprovalRequestKeys.count({ workspaceId, policyId }), + queryKey: secretApprovalRequestKeys.count({ projectId, policyId }), refetchInterval: 15000, - queryFn: () => fetchSecretApprovalRequestCount({ workspaceId, policyId }), - enabled: Boolean(workspaceId) && (options?.enabled ?? true) + queryFn: () => fetchSecretApprovalRequestCount({ projectId, policyId }), + enabled: Boolean(projectId) && (options?.enabled ?? true) }); diff --git a/frontend/src/hooks/api/secretApprovalRequest/types.ts b/frontend/src/hooks/api/secretApprovalRequest/types.ts index 0eef3fa3d..5a381e871 100644 --- a/frontend/src/hooks/api/secretApprovalRequest/types.ts +++ b/frontend/src/hooks/api/secretApprovalRequest/types.ts @@ -55,7 +55,7 @@ export type TSecretApprovalRequest = { username: string; isOrgMembershipActive: boolean; }[]; - workspace: string; + project: string; environment: string; folderId: string; secretPath: string; @@ -110,7 +110,7 @@ export type TSecretApprovalRequestCount = { }; export type TGetSecretApprovalRequestList = { - workspaceId: string; + projectId: string; environment?: string; status?: "open" | "close"; committer?: string; @@ -120,7 +120,7 @@ export type TGetSecretApprovalRequestList = { }; export type TGetSecretApprovalRequestCount = { - workspaceId: string; + projectId: string; policyId?: string; }; @@ -137,11 +137,11 @@ export type TUpdateSecretApprovalReviewStatusDTO = { export type TUpdateSecretApprovalRequestStatusDTO = { status: "open" | "close"; id: string; - workspaceId: string; + projectId: string; }; export type TPerformSecretApprovalRequestMerge = { id: string; - workspaceId: string; + projectId: string; bypassReason?: string; }; diff --git a/frontend/src/hooks/api/secretFolders/queries.tsx b/frontend/src/hooks/api/secretFolders/queries.tsx index 250db962a..843c39883 100644 --- a/frontend/src/hooks/api/secretFolders/queries.tsx +++ b/frontend/src/hooks/api/secretFolders/queries.tsx @@ -30,10 +30,10 @@ export const folderQueryKeys = { ["secret-folders", "environment", projectId] as const }; -const fetchProjectFolders = async (workspaceId: string, environment: string, path = "/") => { - const { data } = await apiRequest.get<{ folders: TSecretFolder[] }>("/api/v1/folders", { +const fetchProjectFolders = async (projectId: string, environment: string, path = "/") => { + const { data } = await apiRequest.get<{ folders: TSecretFolder[] }>("/api/v2/folders", { params: { - workspaceId, + projectId, environment, path } @@ -145,9 +145,9 @@ export const useCreateFolder = () => { return useMutation({ mutationFn: async (dto) => { - const { data } = await apiRequest.post("/api/v1/folders", { + const { data } = await apiRequest.post("/api/v2/folders", { ...dto, - workspaceId: dto.projectId + projectId: dto.projectId }); return data; }, @@ -179,10 +179,10 @@ export const useUpdateFolder = () => { return useMutation({ mutationFn: async ({ path = "/", folderId, name, environment, projectId, description }) => { - const { data } = await apiRequest.patch(`/api/v1/folders/${folderId}`, { + const { data } = await apiRequest.patch(`/api/v2/folders/${folderId}`, { name, environment, - workspaceId: projectId, + projectId, path, description }); @@ -219,10 +219,10 @@ export const useDeleteFolder = () => { return useMutation({ mutationFn: async ({ path = "/", folderId, environment, projectId }) => { - const { data } = await apiRequest.delete(`/api/v1/folders/${folderId}`, { + const { data } = await apiRequest.delete(`/api/v2/folders/${folderId}`, { data: { environment, - workspaceId: projectId, + projectId, path } }); @@ -259,7 +259,7 @@ export const useUpdateFolderBatch = () => { return useMutation({ mutationFn: async ({ projectSlug, folders }) => { - const { data } = await apiRequest.patch("/api/v1/folders/batch", { + const { data } = await apiRequest.patch("/api/v2/folders/batch", { projectSlug, folders }); diff --git a/frontend/src/hooks/api/secretImports/mutation.tsx b/frontend/src/hooks/api/secretImports/mutation.tsx index 72254bae2..c9484ccfb 100644 --- a/frontend/src/hooks/api/secretImports/mutation.tsx +++ b/frontend/src/hooks/api/secretImports/mutation.tsx @@ -16,10 +16,10 @@ export const useCreateSecretImport = () => { return useMutation({ mutationFn: async ({ import: secretImport, environment, isReplication, projectId, path }) => { - const { data } = await apiRequest.post("/api/v1/secret-imports", { + const { data } = await apiRequest.post("/api/v2/secret-imports", { import: secretImport, environment, - workspaceId: projectId, + projectId, path, isReplication }); @@ -44,11 +44,11 @@ export const useUpdateSecretImport = () => { return useMutation({ mutationFn: async ({ environment, import: secretImports, projectId, path, id }) => { - const { data } = await apiRequest.patch(`/api/v1/secret-imports/${id}`, { + const { data } = await apiRequest.patch(`/api/v2/secret-imports/${id}`, { import: secretImports, environment, path, - workspaceId: projectId + projectId }); return data; }, @@ -69,10 +69,10 @@ export const useUpdateSecretImport = () => { export const useResyncSecretReplication = () => { return useMutation({ mutationFn: async ({ environment, projectId, path, id }) => { - const { data } = await apiRequest.post(`/api/v1/secret-imports/${id}/replication-resync`, { + const { data } = await apiRequest.post(`/api/v2/secret-imports/${id}/replication-resync`, { environment, path, - workspaceId: projectId + projectId }); return data; } @@ -84,9 +84,9 @@ export const useDeleteSecretImport = () => { return useMutation({ mutationFn: async ({ id, projectId, path, environment }) => { - const { data } = await apiRequest.delete(`/api/v1/secret-imports/${id}`, { + const { data } = await apiRequest.delete(`/api/v2/secret-imports/${id}`, { data: { - workspaceId: projectId, + projectId, path, environment } diff --git a/frontend/src/hooks/api/secretImports/queries.tsx b/frontend/src/hooks/api/secretImports/queries.tsx index ea6ea68ef..71716cb7c 100644 --- a/frontend/src/hooks/api/secretImports/queries.tsx +++ b/frontend/src/hooks/api/secretImports/queries.tsx @@ -30,10 +30,10 @@ export const secretImportKeys = { const fetchSecretImport = async ({ projectId, environment, path = "/" }: TGetSecretImports) => { const { data } = await apiRequest.get<{ secretImports: TSecretImport[] }>( - "/api/v1/secret-imports", + "/api/v2/secret-imports", { params: { - workspaceId: projectId, + projectId, environment, path } @@ -65,16 +65,12 @@ export const useGetSecretImports = ({ queryFn: () => fetchSecretImport({ path, projectId, environment }) }); -const fetchImportedSecrets = async ( - workspaceId: string, - environment: string, - directory?: string -) => { +const fetchImportedSecrets = async (projectId: string, environment: string, directory?: string) => { const { data } = await apiRequest.get<{ secrets: TImportedSecrets[] }>( - "/api/v1/secret-imports/secrets/raw", + "/api/v2/secret-imports/secrets", { params: { - workspaceId, + projectId, environment, path: directory } @@ -89,10 +85,10 @@ const fetchImportedFolders = async ({ path }: TGetImportedFoldersByEnvDTO) => { const { data } = await apiRequest.get<{ secretImports: TSecretImport[] }>( - "/api/v1/secret-imports", + "/api/v2/secret-imports", { params: { - workspaceId: projectId, + projectId, environment, path } diff --git a/frontend/src/hooks/api/webhooks/mutation.tsx b/frontend/src/hooks/api/webhooks/mutation.tsx index 10d5e472e..66eb8ae17 100644 --- a/frontend/src/hooks/api/webhooks/mutation.tsx +++ b/frontend/src/hooks/api/webhooks/mutation.tsx @@ -13,8 +13,8 @@ export const useCreateWebhook = () => { const { data } = await apiRequest.post("/api/v1/webhooks", dto); return data; }, - onSuccess: (_, { workspaceId }) => { - queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(workspaceId) }); + onSuccess: (_, { projectId }) => { + queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(projectId) }); } }); }; @@ -27,11 +27,11 @@ export const useTestWebhook = () => { const { data } = await apiRequest.post(`/api/v1/webhooks/${webhookId}/test`); return data; }, - onSuccess: (_, { workspaceId }) => { - queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(workspaceId) }); + onSuccess: (_, { projectId }) => { + queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(projectId) }); }, - onError: (_, { workspaceId }) => { - queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(workspaceId) }); + onError: (_, { projectId }) => { + queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(projectId) }); } }); }; @@ -46,8 +46,8 @@ export const useUpdateWebhook = () => { }); return data; }, - onSuccess: (_, { workspaceId }) => { - queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(workspaceId) }); + onSuccess: (_, { projectId }) => { + queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(projectId) }); } }); }; @@ -60,8 +60,8 @@ export const useDeleteWebhook = () => { const { data } = await apiRequest.delete(`/api/v1/webhooks/${dto.webhookId}`); return data; }, - onSuccess: (_, { workspaceId }) => { - queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(workspaceId) }); + onSuccess: (_, { projectId }) => { + queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(projectId) }); } }); }; diff --git a/frontend/src/hooks/api/webhooks/types.ts b/frontend/src/hooks/api/webhooks/types.ts index 86183bf1b..7e2758ff8 100644 --- a/frontend/src/hooks/api/webhooks/types.ts +++ b/frontend/src/hooks/api/webhooks/types.ts @@ -23,7 +23,7 @@ export type TWebhook = { }; export type TCreateWebhookDto = { - workspaceId: string; + projectId: string; environment: string; webhookUrl: string; webhookSecretKey?: string; @@ -33,16 +33,16 @@ export type TCreateWebhookDto = { export type TUpdateWebhookDto = { webhookId: string; - workspaceId: string; + projectId: string; isDisabled?: boolean; }; export type TDeleteWebhookDto = { webhookId: string; - workspaceId: string; + projectId: string; }; export type TTestWebhookDTO = { webhookId: string; - workspaceId: string; + projectId: string; }; diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/WebhooksTab/WebhooksTab.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/WebhooksTab/WebhooksTab.tsx index 8c8d75f47..ea2f39dc4 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/WebhooksTab/WebhooksTab.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/WebhooksTab/WebhooksTab.tsx @@ -62,7 +62,7 @@ export const WebhooksTab = withProjectPermission( try { await createWebhook({ ...data, - workspaceId + projectId: workspaceId }); handlePopUpClose("addWebhook"); createNotification({ @@ -82,7 +82,7 @@ export const WebhooksTab = withProjectPermission( try { await updateWebhook({ webhookId, - workspaceId, + projectId: workspaceId, isDisabled }); createNotification({ @@ -103,7 +103,7 @@ export const WebhooksTab = withProjectPermission( const webhookId = popUp?.deleteWebhook?.data as string; await deleteWebhook({ webhookId, - workspaceId + projectId: workspaceId }); handlePopUpClose("deleteWebhook"); createNotification({ @@ -123,7 +123,7 @@ export const WebhooksTab = withProjectPermission( try { await testWebhook({ webhookId, - workspaceId + projectId: workspaceId }); createNotification({ type: "success", From 5f902229f6e0a1976d9690ed86a745fcc15fda5d Mon Sep 17 00:00:00 2001 From: = Date: Sat, 13 Sep 2025 15:58:51 +0530 Subject: [PATCH 10/27] feat: migrated secret router --- .../secret-rotation-queue.ts | 2 +- backend/src/lib/api-docs/constants.ts | 8 +- backend/src/server/routes/index.ts | 2 + .../src/server/routes/v1/dashboard-router.ts | 8 +- backend/src/server/routes/v3/secret-router.ts | 137 +- backend/src/server/routes/v4/index.ts | 5 + backend/src/server/routes/v4/secret-router.ts | 1317 +++++++++++++++++ backend/src/services/secret/secret-types.ts | 3 +- .../src/services/telemetry/telemetry-types.ts | 2 +- frontend/src/hooks/api/secrets/mutations.tsx | 175 ++- frontend/src/hooks/api/secrets/queries.tsx | 36 +- frontend/src/hooks/api/secrets/types.ts | 46 +- 12 files changed, 1472 insertions(+), 269 deletions(-) create mode 100644 backend/src/server/routes/v4/index.ts create mode 100644 backend/src/server/routes/v4/secret-router.ts diff --git a/backend/src/ee/services/secret-rotation/secret-rotation-queue/secret-rotation-queue.ts b/backend/src/ee/services/secret-rotation/secret-rotation-queue/secret-rotation-queue.ts index 557e71e6c..eefe6b63a 100644 --- a/backend/src/ee/services/secret-rotation/secret-rotation-queue/secret-rotation-queue.ts +++ b/backend/src/ee/services/secret-rotation/secret-rotation-queue/secret-rotation-queue.ts @@ -431,7 +431,7 @@ export const secretRotationQueueFactory = ({ numberOfSecrets: numberOfSecretsRotated, environment: secretRotation.environment.slug, secretPath: secretRotation.secretPath, - workspaceId: secretRotation.projectId + projectId: secretRotation.projectId } }); diff --git a/backend/src/lib/api-docs/constants.ts b/backend/src/lib/api-docs/constants.ts index c35dc2f33..ff56e5e01 100644 --- a/backend/src/lib/api-docs/constants.ts +++ b/backend/src/lib/api-docs/constants.ts @@ -984,7 +984,7 @@ export const RAW_SECRETS = { secretValue: "The value of the secret to create.", skipMultilineEncoding: "Skip multiline encoding for the secret value.", type: "The type of the secret to create.", - workspaceId: "The ID of the project to create the secret in.", + projectId: "The ID of the project to create the secret in.", tagIds: "The ID of the tags to be attached to the created secret.", secretReminderRepeatDays: "Interval for secret rotation notifications, measured in days.", secretReminderNote: "Note to be attached in notification email." @@ -992,7 +992,7 @@ export const RAW_SECRETS = { GET: { expand: "Whether or not to expand secret references.", secretName: "The name of the secret to get.", - workspaceId: "The ID of the project to get the secret from.", + projectId: "The ID of the project to get the secret from.", workspaceSlug: "The slug of the project to get the secret from.", environment: "The slug of the environment to get the secret from.", secretPath: "The path of the secret to get.", @@ -1011,7 +1011,7 @@ export const RAW_SECRETS = { skipMultilineEncoding: "Skip multiline encoding for the secret value.", type: "The type of the secret to update.", projectSlug: "The slug of the project to update the secret in.", - workspaceId: "The ID of the project to update the secret in.", + projectId: "The ID of the project to update the secret in.", tagIds: "The ID of the tags to be attached to the updated secret.", secretReminderRepeatDays: "Interval for secret rotation notifications, measured in days.", secretReminderNote: "Note to be attached in notification email.", @@ -1025,7 +1025,7 @@ export const RAW_SECRETS = { secretPath: "The path of the secret.", type: "The type of the secret to delete.", projectSlug: "The slug of the project to delete the secret in.", - workspaceId: "The ID of the project where the secret is located." + projectId: "The ID of the project where the secret is located." }, GET_REFERENCE_TREE: { secretName: "The name of the secret to get the reference tree for.", diff --git a/backend/src/server/routes/index.ts b/backend/src/server/routes/index.ts index eccad2956..14ad4e17c 100644 --- a/backend/src/server/routes/index.ts +++ b/backend/src/server/routes/index.ts @@ -328,6 +328,7 @@ import { registerV1Routes } from "./v1"; import { initializeOauthConfigSync } from "./v1/sso-router"; import { registerV2Routes } from "./v2"; import { registerV3Routes } from "./v3"; +import { registerV4Routes } from "./v4"; const histogram = monitorEventLoopDelay({ resolution: 20 }); histogram.enable(); @@ -2294,6 +2295,7 @@ export const registerRoutes = async ( { prefix: "/api/v2" } ); await server.register(registerV3Routes, { prefix: "/api/v3" }); + await server.register(registerV4Routes, { prefix: "/api/v4" }); server.addHook("onClose", async () => { cronJobs.forEach((job) => job.stop()); diff --git a/backend/src/server/routes/v1/dashboard-router.ts b/backend/src/server/routes/v1/dashboard-router.ts index a54bd5ccf..a8132a3fa 100644 --- a/backend/src/server/routes/v1/dashboard-router.ts +++ b/backend/src/server/routes/v1/dashboard-router.ts @@ -474,7 +474,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secretCountFromEnv, - workspaceId: projectId, + projectId: projectId, environment, secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1001,7 +1001,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secretCount, - workspaceId: projectId, + projectId: projectId, environment, secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1168,7 +1168,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secretCountForEnv, - workspaceId: projectId, + projectId: projectId, environment, secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1361,7 +1361,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secrets.length, - workspaceId: projectId, + projectId: projectId, environment, secretPath, channel: getUserAgentType(req.headers["user-agent"]), diff --git a/backend/src/server/routes/v3/secret-router.ts b/backend/src/server/routes/v3/secret-router.ts index ce0d4f188..eaeeb8bb8 100644 --- a/backend/src/server/routes/v3/secret-router.ts +++ b/backend/src/server/routes/v3/secret-router.ts @@ -336,7 +336,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secrets.length, - workspaceId, + projectId: workspaceId, environment, secretPath: req.query.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -405,7 +405,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { secretName: z.string().trim().describe(RAW_SECRETS.GET.secretName) }), querystring: z.object({ - workspaceId: z.string().trim().optional().describe(RAW_SECRETS.GET.workspaceId), + workspaceId: z.string().trim().optional().describe(RAW_SECRETS.GET.projectId), workspaceSlug: z.string().trim().optional().describe(RAW_SECRETS.GET.workspaceSlug), environment: z.string().trim().optional().describe(RAW_SECRETS.GET.environment), secretPath: z.string().trim().default("/").transform(removeTrailingSlash).describe(RAW_SECRETS.GET.secretPath), @@ -495,7 +495,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { distinctId: getTelemetryDistinctId(req), properties: { numberOfSecrets: 1, - workspaceId: secret.workspace, + projectId: secret.workspace, environment, secretPath: req.query.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -526,7 +526,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { secretName: SecretNameSchema.describe(RAW_SECRETS.CREATE.secretName) }), body: z.object({ - workspaceId: z.string().trim().optional().describe(RAW_SECRETS.CREATE.workspaceId), + workspaceId: z.string().trim().optional().describe(RAW_SECRETS.CREATE.projectId), projectSlug: z.string().trim().optional().describe(RAW_SECRETS.CREATE.projectSlug), environment: z.string().trim().describe(RAW_SECRETS.CREATE.environment), secretPath: z @@ -638,7 +638,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: 1, - workspaceId: projectId, + projectId, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -669,7 +669,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { secretName: BaseSecretNameSchema.describe(RAW_SECRETS.UPDATE.secretName) }), body: z.object({ - workspaceId: z.string().trim().optional().describe(RAW_SECRETS.UPDATE.workspaceId), + workspaceId: z.string().trim().optional().describe(RAW_SECRETS.UPDATE.projectId), projectSlug: z.string().trim().optional().describe(RAW_SECRETS.UPDATE.projectSlug), environment: z.string().trim().describe(RAW_SECRETS.UPDATE.environment), secretValue: z @@ -791,7 +791,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: 1, - workspaceId: projectId, + projectId, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -821,7 +821,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { secretName: z.string().min(1).describe(RAW_SECRETS.DELETE.secretName) }), body: z.object({ - workspaceId: z.string().trim().optional().describe(RAW_SECRETS.DELETE.workspaceId), + workspaceId: z.string().trim().optional().describe(RAW_SECRETS.DELETE.projectId), projectSlug: z.string().trim().optional().describe(RAW_SECRETS.DELETE.projectSlug), environment: z.string().trim().describe(RAW_SECRETS.DELETE.environment), secretPath: z @@ -909,7 +909,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: 1, - workspaceId: projectId, + projectId, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1017,7 +1017,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secrets.length, - workspaceId: req.query.workspaceId, + projectId: req.query.workspaceId, environment: req.query.environment, secretPath: req.query.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1097,7 +1097,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: 1, - workspaceId: req.query.workspaceId, + projectId: req.query.workspaceId, environment: req.query.environment, secretPath: req.query.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1272,7 +1272,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: 1, - workspaceId: req.body.workspaceId, + projectId: req.body.workspaceId, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1466,7 +1466,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: 1, - workspaceId: req.body.workspaceId, + projectId: req.body.workspaceId, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1594,7 +1594,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: 1, - workspaceId: req.body.workspaceId, + projectId: req.body.workspaceId, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1781,7 +1781,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secrets.length, - workspaceId: req.body.workspaceId, + projectId: req.body.workspaceId, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1914,7 +1914,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secrets.length, - workspaceId: req.body.workspaceId, + projectId: req.body.workspaceId, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -2039,7 +2039,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secrets.length, - workspaceId: req.body.workspaceId, + projectId: req.body.workspaceId, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -2067,7 +2067,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { ], body: z.object({ projectSlug: z.string().trim().optional().describe(RAW_SECRETS.UPDATE.projectSlug), - workspaceId: z.string().trim().optional().describe(RAW_SECRETS.UPDATE.workspaceId), + workspaceId: z.string().trim().optional().describe(RAW_SECRETS.UPDATE.projectId), environment: z.string().trim().describe(RAW_SECRETS.CREATE.environment), secretPath: z .string() @@ -2166,7 +2166,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secrets.length, - workspaceId: secrets[0].workspace, + projectId: secrets[0].workspace, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -2194,7 +2194,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { ], body: z.object({ projectSlug: z.string().trim().optional().describe(RAW_SECRETS.DELETE.projectSlug), - workspaceId: z.string().trim().optional().describe(RAW_SECRETS.DELETE.workspaceId), + workspaceId: z.string().trim().optional().describe(RAW_SECRETS.DELETE.projectId), environment: z.string().trim().describe(RAW_SECRETS.UPDATE.environment), secretPath: z .string() @@ -2341,7 +2341,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secrets.length, - workspaceId: secrets[0].workspace, + projectId: secrets[0].workspace, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -2369,7 +2369,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { ], body: z.object({ projectSlug: z.string().trim().optional().describe(RAW_SECRETS.DELETE.projectSlug), - workspaceId: z.string().trim().optional().describe(RAW_SECRETS.DELETE.workspaceId), + workspaceId: z.string().trim().optional().describe(RAW_SECRETS.DELETE.projectId), environment: z.string().trim().describe(RAW_SECRETS.DELETE.environment), secretPath: z .string() @@ -2459,7 +2459,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secrets.length, - workspaceId: secrets[0].workspace, + projectId: secrets[0].workspace, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -2469,95 +2469,4 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { return { secrets }; } }); - - server.route({ - method: "GET", - url: "/raw/:secretName/secret-reference-tree", - config: { - rateLimit: secretsLimit - }, - schema: { - hide: false, - tags: [ApiDocsTags.Secrets], - description: "Get secret reference tree", - security: [ - { - bearerAuth: [] - } - ], - params: z.object({ - secretName: z.string().trim().describe(RAW_SECRETS.GET_REFERENCE_TREE.secretName) - }), - querystring: z.object({ - workspaceId: z.string().trim().describe(RAW_SECRETS.GET_REFERENCE_TREE.workspaceId), - environment: z.string().trim().describe(RAW_SECRETS.GET_REFERENCE_TREE.environment), - secretPath: z - .string() - .trim() - .default("/") - .transform(removeTrailingSlash) - .describe(RAW_SECRETS.GET_REFERENCE_TREE.secretPath) - }), - response: { - 200: z.object({ - tree: SecretReferenceNodeTree, - value: z.string().optional() - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async (req) => { - const { secretName } = req.params; - const { secretPath, environment, workspaceId } = req.query; - const { tree, value } = await server.services.secret.getSecretReferenceTree({ - actorId: req.permission.id, - actor: req.permission.type, - actorAuthMethod: req.permission.authMethod, - actorOrgId: req.permission.orgId, - projectId: workspaceId, - secretName, - secretPath, - environment - }); - - return { tree, value }; - } - }); - - server.route({ - method: "POST", - url: "/backfill-secret-references", - config: { - rateLimit: secretsLimit - }, - schema: { - description: "Backfill secret references", - security: [ - { - bearerAuth: [] - } - ], - body: z.object({ - projectId: z.string().trim().min(1) - }), - response: { - 200: z.object({ - message: z.string() - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async (req) => { - const { projectId } = req.body; - const message = await server.services.secret.backfillSecretReferences({ - actorId: req.permission.id, - actor: req.permission.type, - actorAuthMethod: req.permission.authMethod, - actorOrgId: req.permission.orgId, - projectId - }); - - return message; - } - }); }; diff --git a/backend/src/server/routes/v4/index.ts b/backend/src/server/routes/v4/index.ts new file mode 100644 index 000000000..db2e69222 --- /dev/null +++ b/backend/src/server/routes/v4/index.ts @@ -0,0 +1,5 @@ +import { registerSecretRouter } from "./secret-router"; + +export const registerV4Routes = async (server: FastifyZodProvider) => { + await server.register(registerSecretRouter, { prefix: "/secrets" }); +}; diff --git a/backend/src/server/routes/v4/secret-router.ts b/backend/src/server/routes/v4/secret-router.ts new file mode 100644 index 000000000..8776beb8d --- /dev/null +++ b/backend/src/server/routes/v4/secret-router.ts @@ -0,0 +1,1317 @@ +import picomatch from "picomatch"; +import { z } from "zod"; + +import { SecretApprovalRequestsSchema, SecretType, ServiceTokenScopes } from "@app/db/schemas"; +import { EventType, SecretApprovalEvent, UserAgentType } from "@app/ee/services/audit-log/audit-log-types"; +import { ApiDocsTags, RAW_SECRETS } from "@app/lib/api-docs"; +import { BadRequestError } from "@app/lib/errors"; +import { removeTrailingSlash } from "@app/lib/fn"; +import { secretsLimit } from "@app/server/config/rateLimiter"; +import { BaseSecretNameSchema, SecretNameSchema } from "@app/server/lib/schemas"; +import { getTelemetryDistinctId } from "@app/server/lib/telemetry"; +import { getUserAgentType } from "@app/server/plugins/audit-log"; +import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; +import { ActorType, AuthMode } from "@app/services/auth/auth-type"; +import { ResourceMetadataSchema } from "@app/services/resource-metadata/resource-metadata-schema"; +import { SecretProtectionType } from "@app/services/secret/secret-types"; +import { SecretUpdateMode } from "@app/services/secret-v2-bridge/secret-v2-bridge-types"; +import { PostHogEventTypes } from "@app/services/telemetry/telemetry-types"; + +import { SanitizedTagSchema, secretRawSchema } from "../sanitizedSchemas"; + +const SecretReferenceNode = z.object({ + key: z.string(), + value: z.string().optional(), + environment: z.string(), + secretPath: z.string() +}); + +const convertStringBoolean = (defaultValue: boolean = false) => { + return z + .enum(["true", "false"]) + .default(defaultValue ? "true" : "false") + .transform((value) => value === "true"); +}; + +type TSecretReferenceNode = z.infer & { children: TSecretReferenceNode[] }; + +const SecretReferenceNodeTree: z.ZodType = SecretReferenceNode.extend({ + children: z.lazy(() => SecretReferenceNodeTree.array()) +}); + +// TODO(depri): is service token supported in secrets router +export const registerSecretRouter = async (server: FastifyZodProvider) => { + server.route({ + method: "GET", + url: "/", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Secrets], + description: "List secrets", + security: [ + { + bearerAuth: [] + } + ], + querystring: z.object({ + metadataFilter: z + .string() + .optional() + .transform((val) => { + if (!val) return undefined; + + const result: { key?: string; value?: string }[] = []; + const pairs = val.split("|"); + + for (const pair of pairs) { + const keyValuePair: { key?: string; value?: string } = {}; + const parts = pair.split(/[,=]/); + + for (let i = 0; i < parts.length; i += 2) { + const identifier = parts[i].trim().toLowerCase(); + const value = parts[i + 1]?.trim(); + + if (identifier === "key" && value) { + keyValuePair.key = value; + } else if (identifier === "value" && value) { + keyValuePair.value = value; + } + } + + if (keyValuePair.key && keyValuePair.value) { + result.push(keyValuePair); + } + } + + return result.length ? result : undefined; + }) + .superRefine((metadata, ctx) => { + if (metadata && !Array.isArray(metadata)) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: + "Invalid secretMetadata format. Correct format is key=value1,value=value2|key=value3,value=value4." + }); + } + + if (metadata) { + if (metadata.length > 10) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: "You can only filter by up to 10 metadata fields" + }); + } + + for (const item of metadata) { + if (!item.key && !item.value) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: + "Invalid secretMetadata format, key or value must be provided. Correct format is key=value1,value=value2|key=value3,value=value4." + }); + } + } + } + }) + .describe(RAW_SECRETS.LIST.metadataFilter), + projectId: z.string().trim().optional().describe(RAW_SECRETS.LIST.workspaceId), + environment: z.string().trim().optional().describe(RAW_SECRETS.LIST.environment), + secretPath: z.string().trim().default("/").transform(removeTrailingSlash).describe(RAW_SECRETS.LIST.secretPath), + viewSecretValue: convertStringBoolean(true).describe(RAW_SECRETS.LIST.viewSecretValue), + expandSecretReferences: convertStringBoolean().describe(RAW_SECRETS.LIST.expand), + recursive: convertStringBoolean().describe(RAW_SECRETS.LIST.recursive), + include_imports: convertStringBoolean().describe(RAW_SECRETS.LIST.includeImports), + tagSlugs: z + .string() + .describe(RAW_SECRETS.LIST.tagSlugs) + .optional() + // split by comma and trim the strings + .transform((el) => (el ? el.split(",").map((i) => i.trim()) : [])) + }), + response: { + 200: z.object({ + secrets: secretRawSchema + .extend({ + secretPath: z.string().optional(), + secretValueHidden: z.boolean(), + secretMetadata: ResourceMetadataSchema.optional(), + tags: SanitizedTagSchema.array().optional() + }) + .array(), + imports: z + .object({ + secretPath: z.string(), + environment: z.string(), + folderId: z.string().optional(), + secrets: secretRawSchema + .omit({ createdAt: true, updatedAt: true }) + .extend({ + secretValueHidden: z.boolean(), + secretMetadata: ResourceMetadataSchema.optional() + }) + .array() + }) + .array() + .optional() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + // just for delivery hero usecase + let { secretPath, environment, projectId } = req.query; + if (req.auth.actor === ActorType.SERVICE) { + const scope = ServiceTokenScopes.parse(req.auth.serviceToken.scopes); + const isSingleScope = scope.length === 1; + if (isSingleScope && !picomatch.scan(scope[0].secretPath).isGlob) { + secretPath = scope[0].secretPath; + environment = scope[0].environment; + projectId = req.auth.serviceToken.projectId; + } + } + + if (!projectId || !environment) throw new BadRequestError({ message: "Missing workspace id or environment" }); + + const { secrets, imports } = await server.services.secret.getSecretsRaw({ + actorId: req.permission.id, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + environment, + expandSecretReferences: req.query.expandSecretReferences, + actorAuthMethod: req.permission.authMethod, + projectId, + viewSecretValue: req.query.viewSecretValue, + path: secretPath, + metadataFilter: req.query.metadataFilter, + includeImports: req.query.include_imports, + recursive: req.query.recursive, + tagSlugs: req.query.tagSlugs + }); + + await server.services.auditLog.createAuditLog({ + projectId, + ...req.auditLogInfo, + event: { + type: EventType.GET_SECRETS, + metadata: { + environment, + secretPath: req.query.secretPath, + numberOfSecrets: secrets.length + } + } + }); + + if (getUserAgentType(req.headers["user-agent"]) !== UserAgentType.K8_OPERATOR) { + await server.services.telemetry.sendPostHogEvents({ + event: PostHogEventTypes.SecretPulled, + distinctId: getTelemetryDistinctId(req), + organizationId: req.permission.orgId, + properties: { + numberOfSecrets: secrets.length, + projectId, + environment, + secretPath: req.query.secretPath, + channel: getUserAgentType(req.headers["user-agent"]), + ...req.auditLogInfo + } + }); + } + + return { secrets, imports }; + } + }); + + server.route({ + method: "GET", + url: "/raw/id/:secretId", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Secrets], + params: z.object({ + secretId: z.string() + }), + response: { + 200: z.object({ + secret: secretRawSchema.extend({ + secretPath: z.string(), + tags: SanitizedTagSchema.array().optional(), + secretMetadata: ResourceMetadataSchema.optional() + }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { secretId } = req.params; + const secret = await server.services.secret.getSecretByIdRaw({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + secretId + }); + + return { secret }; + } + }); + + server.route({ + method: "GET", + url: "/:secretName", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Secrets], + description: "Get a secret by name", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + secretName: z.string().trim().describe(RAW_SECRETS.GET.secretName) + }), + querystring: z.object({ + projectId: z.string().trim().describe(RAW_SECRETS.GET.projectId), + environment: z.string().trim().optional().describe(RAW_SECRETS.GET.environment), + secretPath: z.string().trim().default("/").transform(removeTrailingSlash).describe(RAW_SECRETS.GET.secretPath), + version: z.coerce.number().optional().describe(RAW_SECRETS.GET.version), + type: z.nativeEnum(SecretType).default(SecretType.Shared).describe(RAW_SECRETS.GET.type), + viewSecretValue: convertStringBoolean(true).describe(RAW_SECRETS.GET.viewSecretValue), + expandSecretReferences: convertStringBoolean().describe(RAW_SECRETS.GET.expand), + include_imports: convertStringBoolean().describe(RAW_SECRETS.GET.includeImports) + }), + response: { + 200: z.object({ + secret: secretRawSchema.extend({ + secretValueHidden: z.boolean(), + secretPath: z.string(), + tags: SanitizedTagSchema.array().optional(), + secretMetadata: ResourceMetadataSchema.optional() + }) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + let { secretPath, environment, projectId } = req.query; + if (req.auth.actor === ActorType.SERVICE) { + const scope = ServiceTokenScopes.parse(req.auth.serviceToken.scopes); + const isSingleScope = scope.length === 1; + if (isSingleScope && !picomatch.scan(scope[0].secretPath).isGlob) { + secretPath = scope[0].secretPath; + environment = scope[0].environment; + projectId = req.auth.serviceToken.projectId; + } + } + + if (!environment) throw new BadRequestError({ message: "Missing environment" }); + if (!projectId) { + throw new BadRequestError({ message: "You must provide workspaceId" }); + } + + const secret = await server.services.secret.getSecretByNameRaw({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + expandSecretReferences: req.query.expandSecretReferences, + environment, + projectId, + viewSecretValue: req.query.viewSecretValue, + path: secretPath, + secretName: req.params.secretName, + type: req.query.type, + includeImports: req.query.include_imports, + version: req.query.version + }); + + await server.services.auditLog.createAuditLog({ + projectId, + ...req.auditLogInfo, + event: { + type: EventType.GET_SECRET, + metadata: { + environment, + secretPath: req.query.secretPath, + secretId: secret.id, + secretKey: req.params.secretName, + secretVersion: secret.version, + secretMetadata: secret.secretMetadata + } + } + }); + + if (getUserAgentType(req.headers["user-agent"]) !== UserAgentType.K8_OPERATOR) { + await server.services.telemetry.sendPostHogEvents({ + event: PostHogEventTypes.SecretPulled, + organizationId: req.permission.orgId, + distinctId: getTelemetryDistinctId(req), + properties: { + numberOfSecrets: 1, + projectId, + environment, + secretPath: req.query.secretPath, + channel: getUserAgentType(req.headers["user-agent"]), + ...req.auditLogInfo + } + }); + } + return { secret }; + } + }); + + server.route({ + method: "POST", + url: "/:secretName", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Secrets], + description: "Create secret", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + secretName: SecretNameSchema.describe(RAW_SECRETS.CREATE.secretName) + }), + body: z.object({ + projectId: z.string().trim().describe(RAW_SECRETS.CREATE.projectId), + environment: z.string().trim().describe(RAW_SECRETS.CREATE.environment), + secretPath: z + .string() + .trim() + .default("/") + .transform(removeTrailingSlash) + .describe(RAW_SECRETS.CREATE.secretPath), + secretValue: z + .string() + .transform((val) => (val.at(-1) === "\n" ? `${val.trim()}\n` : val.trim())) + .describe(RAW_SECRETS.CREATE.secretValue), + secretComment: z.string().trim().optional().default("").describe(RAW_SECRETS.CREATE.secretComment), + secretMetadata: ResourceMetadataSchema.optional(), + tagIds: z.string().array().optional().describe(RAW_SECRETS.CREATE.tagIds), + skipMultilineEncoding: z.boolean().optional().describe(RAW_SECRETS.CREATE.skipMultilineEncoding), + type: z.nativeEnum(SecretType).default(SecretType.Shared).describe(RAW_SECRETS.CREATE.type), + secretReminderRepeatDays: z + .number() + .optional() + .nullable() + .describe(RAW_SECRETS.CREATE.secretReminderRepeatDays), + secretReminderNote: z + .string() + .max(1024, "Secret reminder note cannot exceed 1024 characters") + .optional() + .nullable() + .describe(RAW_SECRETS.CREATE.secretReminderNote) + }), + response: { + 200: z.union([ + z.object({ + secret: secretRawSchema + }), + z.object({ approval: SecretApprovalRequestsSchema }).describe("When secret protection policy is enabled") + ]) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const secretOperation = await server.services.secret.createSecretRaw({ + actorId: req.permission.id, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + environment: req.body.environment, + actorAuthMethod: req.permission.authMethod, + projectId: req.body.projectId, + secretPath: req.body.secretPath, + secretName: req.params.secretName, + type: req.body.type, + secretValue: req.body.secretValue, + skipMultilineEncoding: req.body.skipMultilineEncoding, + secretComment: req.body.secretComment, + secretMetadata: req.body.secretMetadata, + tagIds: req.body.tagIds, + secretReminderNote: req.body.secretReminderNote, + secretReminderRepeatDays: req.body.secretReminderRepeatDays + }); + if (secretOperation.type === SecretProtectionType.Approval) { + await server.services.auditLog.createAuditLog({ + projectId: req.body.projectId, + ...req.auditLogInfo, + event: { + type: EventType.SECRET_APPROVAL_REQUEST, + metadata: { + committedBy: secretOperation.approval.committerUserId, + secretApprovalRequestId: secretOperation.approval.id, + secretApprovalRequestSlug: secretOperation.approval.slug, + secretPath: req.body.secretPath, + environment: req.body.environment, + secretKey: req.params.secretName, + eventType: SecretApprovalEvent.Create + } + } + }); + + return { approval: secretOperation.approval }; + } + + const { secret } = secretOperation; + await server.services.auditLog.createAuditLog({ + projectId: req.body.projectId, + ...req.auditLogInfo, + event: { + type: EventType.CREATE_SECRET, + metadata: { + environment: req.body.environment, + secretPath: req.body.secretPath, + secretId: secret.id, + secretKey: req.params.secretName, + secretVersion: secret.version, + secretMetadata: req.body.secretMetadata + } + } + }); + + await server.services.telemetry.sendPostHogEvents({ + event: PostHogEventTypes.SecretCreated, + distinctId: getTelemetryDistinctId(req), + organizationId: req.permission.orgId, + properties: { + numberOfSecrets: 1, + projectId: req.body.projectId, + environment: req.body.environment, + secretPath: req.body.secretPath, + channel: getUserAgentType(req.headers["user-agent"]), + ...req.auditLogInfo + } + }); + + return { secret }; + } + }); + + server.route({ + method: "PATCH", + url: "/:secretName", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Secrets], + description: "Update secret", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + secretName: BaseSecretNameSchema.describe(RAW_SECRETS.UPDATE.secretName) + }), + body: z.object({ + projectId: z.string().trim().describe(RAW_SECRETS.UPDATE.projectId), + environment: z.string().trim().describe(RAW_SECRETS.UPDATE.environment), + secretValue: z + .string() + .transform((val) => (val.at(-1) === "\n" ? `${val.trim()}\n` : val.trim())) + .optional() + .describe(RAW_SECRETS.UPDATE.secretValue), + secretPath: z + .string() + .trim() + .default("/") + .transform(removeTrailingSlash) + .describe(RAW_SECRETS.UPDATE.secretPath), + skipMultilineEncoding: z.boolean().optional().describe(RAW_SECRETS.UPDATE.skipMultilineEncoding), + type: z.nativeEnum(SecretType).default(SecretType.Shared).describe(RAW_SECRETS.UPDATE.type), + tagIds: z.string().array().optional().describe(RAW_SECRETS.UPDATE.tagIds), + metadata: z.record(z.string()).optional(), + secretMetadata: ResourceMetadataSchema.optional(), + secretReminderNote: z + .string() + .max(1024, "Secret reminder note cannot exceed 1024 characters") + .optional() + .nullable() + .describe(RAW_SECRETS.UPDATE.secretReminderNote), + secretReminderRepeatDays: z + .number() + .optional() + .nullable() + .describe(RAW_SECRETS.UPDATE.secretReminderRepeatDays), + secretReminderRecipients: z.string().array().optional().describe(RAW_SECRETS.UPDATE.secretReminderRecipients), + newSecretName: SecretNameSchema.optional().describe(RAW_SECRETS.UPDATE.newSecretName), + secretComment: z.string().optional().describe(RAW_SECRETS.UPDATE.secretComment) + }), + response: { + 200: z.union([ + z.object({ + secret: secretRawSchema.extend({ + secretValueHidden: z.boolean() + }) + }), + z.object({ approval: SecretApprovalRequestsSchema }).describe("When secret protection policy is enabled") + ]) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const secretOperation = await server.services.secret.updateSecretRaw({ + actorId: req.permission.id, + actor: req.permission.type, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + environment: req.body.environment, + projectId: req.body.projectId, + secretPath: req.body.secretPath, + secretName: req.params.secretName, + type: req.body.type, + secretValue: req.body.secretValue, + skipMultilineEncoding: req.body.skipMultilineEncoding, + tagIds: req.body.tagIds, + secretReminderRepeatDays: req.body.secretReminderRepeatDays, + secretReminderRecipients: req.body.secretReminderRecipients, + secretReminderNote: req.body.secretReminderNote, + metadata: req.body.metadata, + newSecretName: req.body.newSecretName, + secretComment: req.body.secretComment, + secretMetadata: req.body.secretMetadata + }); + + if (secretOperation.type === SecretProtectionType.Approval) { + await server.services.auditLog.createAuditLog({ + projectId: req.body.projectId, + ...req.auditLogInfo, + event: { + type: EventType.SECRET_APPROVAL_REQUEST, + metadata: { + committedBy: secretOperation.approval.committerUserId, + secretApprovalRequestId: secretOperation.approval.id, + secretApprovalRequestSlug: secretOperation.approval.slug, + secretPath: req.body.secretPath, + environment: req.body.environment, + secretKey: req.params.secretName, + eventType: SecretApprovalEvent.Update + } + } + }); + + return { approval: secretOperation.approval }; + } + const { secret } = secretOperation; + + await server.services.auditLog.createAuditLog({ + projectId: req.body.projectId, + ...req.auditLogInfo, + event: { + type: EventType.UPDATE_SECRET, + metadata: { + environment: req.body.environment, + secretPath: req.body.secretPath, + secretId: secret.id, + secretKey: req.params.secretName, + secretVersion: secret.version, + secretMetadata: req.body.secretMetadata + } + } + }); + + await server.services.telemetry.sendPostHogEvents({ + event: PostHogEventTypes.SecretUpdated, + distinctId: getTelemetryDistinctId(req), + organizationId: req.permission.orgId, + properties: { + numberOfSecrets: 1, + projectId: req.body.projectId, + environment: req.body.environment, + secretPath: req.body.secretPath, + channel: getUserAgentType(req.headers["user-agent"]), + ...req.auditLogInfo + } + }); + return { secret }; + } + }); + + server.route({ + method: "DELETE", + url: "/:secretName", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Secrets], + description: "Delete secret", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + secretName: z.string().min(1).describe(RAW_SECRETS.DELETE.secretName) + }), + body: z.object({ + projectId: z.string().trim().describe(RAW_SECRETS.DELETE.projectId), + environment: z.string().trim().describe(RAW_SECRETS.DELETE.environment), + secretPath: z + .string() + .trim() + .default("/") + .transform(removeTrailingSlash) + .describe(RAW_SECRETS.DELETE.secretPath), + type: z.nativeEnum(SecretType).default(SecretType.Shared).describe(RAW_SECRETS.DELETE.type) + }), + response: { + 200: z.union([ + z.object({ + secret: secretRawSchema.extend({ + secretValueHidden: z.boolean() + }) + }), + z.object({ approval: SecretApprovalRequestsSchema }).describe("When secret protection policy is enabled") + ]) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.API_KEY, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const secretOperation = await server.services.secret.deleteSecretRaw({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + environment: req.body.environment, + projectId: req.body.projectId, + secretPath: req.body.secretPath, + secretName: req.params.secretName, + type: req.body.type + }); + if (secretOperation.type === SecretProtectionType.Approval) { + await server.services.auditLog.createAuditLog({ + projectId: req.body.projectId, + ...req.auditLogInfo, + event: { + type: EventType.SECRET_APPROVAL_REQUEST, + metadata: { + committedBy: secretOperation.approval.committerUserId, + secretApprovalRequestId: secretOperation.approval.id, + secretApprovalRequestSlug: secretOperation.approval.slug, + secretPath: req.body.secretPath, + environment: req.body.environment, + secretKey: req.params.secretName, + eventType: SecretApprovalEvent.Delete + } + } + }); + + return { approval: secretOperation.approval }; + } + + const { secret } = secretOperation; + + await server.services.auditLog.createAuditLog({ + projectId: req.body.projectId, + ...req.auditLogInfo, + event: { + type: EventType.DELETE_SECRET, + metadata: { + environment: req.body.environment, + secretPath: req.body.secretPath, + secretId: secret.id, + secretKey: req.params.secretName, + secretVersion: secret.version + } + } + }); + + await server.services.telemetry.sendPostHogEvents({ + event: PostHogEventTypes.SecretDeleted, + distinctId: getTelemetryDistinctId(req), + organizationId: req.permission.orgId, + properties: { + numberOfSecrets: 1, + projectId: req.body.projectId, + environment: req.body.environment, + secretPath: req.body.secretPath, + channel: getUserAgentType(req.headers["user-agent"]), + ...req.auditLogInfo + } + }); + + return { secret }; + } + }); + + server.route({ + method: "POST", + url: "/move", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Secrets], + body: z.object({ + projectSlug: z.string().trim(), + sourceEnvironment: z.string().trim(), + sourceSecretPath: z.string().trim().default("/").transform(removeTrailingSlash), + destinationEnvironment: z.string().trim(), + destinationSecretPath: z.string().trim().default("/").transform(removeTrailingSlash), + secretIds: z.string().array(), + shouldOverwrite: z.boolean().default(false) + }), + response: { + 200: z.object({ + isSourceUpdated: z.boolean(), + isDestinationUpdated: z.boolean() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { projectId, isSourceUpdated, isDestinationUpdated } = await server.services.secret.moveSecrets({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + ...req.body + }); + + await server.services.auditLog.createAuditLog({ + projectId, + ...req.auditLogInfo, + event: { + type: EventType.MOVE_SECRETS, + metadata: { + sourceEnvironment: req.body.sourceEnvironment, + sourceSecretPath: req.body.sourceSecretPath, + destinationEnvironment: req.body.destinationEnvironment, + destinationSecretPath: req.body.destinationSecretPath, + secretIds: req.body.secretIds + } + } + }); + + return { + isSourceUpdated, + isDestinationUpdated + }; + } + }); + + server.route({ + method: "POST", + url: "/batch", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Secrets], + description: "Create many secrets", + security: [ + { + bearerAuth: [] + } + ], + body: z.object({ + projectId: z.string().trim().describe(RAW_SECRETS.UPDATE.projectId), + environment: z.string().trim().describe(RAW_SECRETS.CREATE.environment), + secretPath: z + .string() + .trim() + .default("/") + .transform(removeTrailingSlash) + .describe(RAW_SECRETS.CREATE.secretPath), + secrets: z + .object({ + secretKey: SecretNameSchema.describe(RAW_SECRETS.CREATE.secretName), + secretValue: z + .string() + .transform((val) => (val.at(-1) === "\n" ? `${val.trim()}\n` : val.trim())) + .describe(RAW_SECRETS.CREATE.secretValue), + secretComment: z.string().trim().optional().default("").describe(RAW_SECRETS.CREATE.secretComment), + skipMultilineEncoding: z.boolean().optional().describe(RAW_SECRETS.CREATE.skipMultilineEncoding), + metadata: z.record(z.string()).optional(), + secretMetadata: ResourceMetadataSchema.optional(), + tagIds: z.string().array().optional().describe(RAW_SECRETS.CREATE.tagIds) + }) + .array() + .min(1) + }), + response: { + 200: z.union([ + z.object({ + secrets: secretRawSchema.array() + }), + z.object({ approval: SecretApprovalRequestsSchema }).describe("When secret protection policy is enabled") + ]) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { environment, secretPath, secrets: inputSecrets } = req.body; + + const secretOperation = await server.services.secret.createManySecretsRaw({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + secretPath, + environment, + projectId: req.body.projectId, + secrets: inputSecrets + }); + if (secretOperation.type === SecretProtectionType.Approval) { + await server.services.auditLog.createAuditLog({ + projectId: req.body.projectId, + ...req.auditLogInfo, + event: { + type: EventType.SECRET_APPROVAL_REQUEST, + metadata: { + committedBy: secretOperation.approval.committerUserId, + secretApprovalRequestId: secretOperation.approval.id, + secretApprovalRequestSlug: secretOperation.approval.slug, + secretPath, + environment, + secrets: inputSecrets.map((secret) => ({ + secretKey: secret.secretKey + })), + eventType: SecretApprovalEvent.CreateMany + } + } + }); + return { approval: secretOperation.approval }; + } + const { secrets } = secretOperation; + + const secretMetadataMap = new Map( + inputSecrets.map(({ secretKey, secretMetadata }) => [secretKey, secretMetadata]) + ); + + await server.services.auditLog.createAuditLog({ + projectId: secrets[0].workspace, + ...req.auditLogInfo, + event: { + type: EventType.CREATE_SECRETS, + metadata: { + environment: req.body.environment, + secretPath: req.body.secretPath, + secrets: secrets.map((secret) => ({ + secretId: secret.id, + secretKey: secret.secretKey, + secretVersion: secret.version, + secretMetadata: secretMetadataMap.get(secret.secretKey) + })) + } + } + }); + + await server.services.telemetry.sendPostHogEvents({ + event: PostHogEventTypes.SecretCreated, + distinctId: getTelemetryDistinctId(req), + organizationId: req.permission.orgId, + properties: { + numberOfSecrets: secrets.length, + projectId: secrets[0].workspace, + environment: req.body.environment, + secretPath: req.body.secretPath, + channel: getUserAgentType(req.headers["user-agent"]), + ...req.auditLogInfo + } + }); + return { secrets }; + } + }); + + server.route({ + method: "PATCH", + url: "/batch", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Secrets], + description: "Update many secrets", + security: [ + { + bearerAuth: [] + } + ], + body: z.object({ + projectId: z.string().trim().describe(RAW_SECRETS.DELETE.projectId), + environment: z.string().trim().describe(RAW_SECRETS.UPDATE.environment), + secretPath: z + .string() + .trim() + .default("/") + .transform(removeTrailingSlash) + .describe(RAW_SECRETS.UPDATE.secretPath), + mode: z + .nativeEnum(SecretUpdateMode) + .optional() + .default(SecretUpdateMode.FailOnNotFound) + .describe(RAW_SECRETS.UPDATE.mode), + secrets: z + .object({ + secretKey: SecretNameSchema.describe(RAW_SECRETS.UPDATE.secretName), + secretValue: z + .string() + .transform((val) => (val.at(-1) === "\n" ? `${val.trim()}\n` : val.trim())) + .optional() + .describe(RAW_SECRETS.UPDATE.secretValue), + secretPath: z + .string() + .trim() + .transform(removeTrailingSlash) + .optional() + .describe(RAW_SECRETS.UPDATE.secretPath), + secretComment: z.string().trim().optional().describe(RAW_SECRETS.UPDATE.secretComment), + skipMultilineEncoding: z.boolean().optional().describe(RAW_SECRETS.UPDATE.skipMultilineEncoding), + newSecretName: SecretNameSchema.optional().describe(RAW_SECRETS.UPDATE.newSecretName), + tagIds: z.string().array().optional().describe(RAW_SECRETS.UPDATE.tagIds), + secretReminderNote: z + .string() + .max(1024, "Secret reminder note cannot exceed 1024 characters") + .optional() + .nullable() + .describe(RAW_SECRETS.UPDATE.secretReminderNote), + secretMetadata: ResourceMetadataSchema.optional(), + secretReminderRepeatDays: z + .number() + .optional() + .nullable() + .describe(RAW_SECRETS.UPDATE.secretReminderRepeatDays) + }) + .array() + .min(1) + }), + response: { + 200: z.union([ + z.object({ + secrets: secretRawSchema.extend({ secretValueHidden: z.boolean() }).array() + }), + z.object({ approval: SecretApprovalRequestsSchema }).describe("When secret protection policy is enabled") + ]) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { environment, secretPath, secrets: inputSecrets } = req.body; + const secretOperation = await server.services.secret.updateManySecretsRaw({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + secretPath, + environment, + projectId: req.body.projectId, + secrets: inputSecrets, + mode: req.body.mode + }); + if (secretOperation.type === SecretProtectionType.Approval) { + await server.services.auditLog.createAuditLog({ + projectId: req.body.projectId, + ...req.auditLogInfo, + event: { + type: EventType.SECRET_APPROVAL_REQUEST, + metadata: { + committedBy: secretOperation.approval.committerUserId, + secretApprovalRequestId: secretOperation.approval.id, + secretApprovalRequestSlug: secretOperation.approval.slug, + secretPath, + environment, + secrets: inputSecrets.map((secret) => ({ + secretKey: secret.secretKey, + secretPath: secret.secretPath + })), + eventType: SecretApprovalEvent.UpdateMany + } + } + }); + return { approval: secretOperation.approval }; + } + const { secrets } = secretOperation; + + const secretMetadataMap = new Map( + inputSecrets.map(({ secretKey, secretMetadata }) => [secretKey, secretMetadata]) + ); + + await server.services.auditLog.createAuditLog({ + projectId: secrets[0].workspace, + ...req.auditLogInfo, + event: { + type: EventType.UPDATE_SECRETS, + metadata: { + environment: req.body.environment, + secretPath: req.body.secretPath, + secrets: secrets + .filter((el) => el.version > 1) + .map((secret) => ({ + secretId: secret.id, + secretPath: secret.secretPath, + secretKey: secret.secretKey, + secretVersion: secret.version, + secretMetadata: secretMetadataMap.get(secret.secretKey) + })) + } + } + }); + const createdSecrets = secrets.filter((el) => el.version === 1); + if (createdSecrets.length) { + await server.services.auditLog.createAuditLog({ + projectId: secrets[0].workspace, + ...req.auditLogInfo, + event: { + type: EventType.CREATE_SECRETS, + metadata: { + environment: req.body.environment, + secretPath: req.body.secretPath, + secrets: createdSecrets.map((secret) => ({ + secretId: secret.id, + secretPath: secret.secretPath, + secretKey: secret.secretKey, + secretVersion: secret.version, + secretMetadata: secretMetadataMap.get(secret.secretKey) + })) + } + } + }); + } + + await server.services.telemetry.sendPostHogEvents({ + event: PostHogEventTypes.SecretUpdated, + distinctId: getTelemetryDistinctId(req), + organizationId: req.permission.orgId, + properties: { + numberOfSecrets: secrets.length, + projectId: secrets[0].workspace, + environment: req.body.environment, + secretPath: req.body.secretPath, + channel: getUserAgentType(req.headers["user-agent"]), + ...req.auditLogInfo + } + }); + return { secrets }; + } + }); + + server.route({ + method: "DELETE", + url: "/batch", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Secrets], + description: "Delete many secrets", + security: [ + { + bearerAuth: [] + } + ], + body: z.object({ + projectId: z.string().trim().describe(RAW_SECRETS.DELETE.projectId), + environment: z.string().trim().describe(RAW_SECRETS.DELETE.environment), + secretPath: z + .string() + .trim() + .default("/") + .transform(removeTrailingSlash) + .describe(RAW_SECRETS.DELETE.secretPath), + secrets: z + .object({ + secretKey: z.string().describe(RAW_SECRETS.DELETE.secretName), + type: z.nativeEnum(SecretType).default(SecretType.Shared) + }) + .array() + .min(1) + }), + response: { + 200: z.union([ + z.object({ + secrets: secretRawSchema + .extend({ + secretValueHidden: z.boolean() + }) + .array() + }), + z.object({ approval: SecretApprovalRequestsSchema }).describe("When secret protection policy is enabled") + ]) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.SERVICE_TOKEN, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { environment, secretPath, secrets: inputSecrets } = req.body; + const secretOperation = await server.services.secret.deleteManySecretsRaw({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + environment, + secretPath, + projectId: req.body.projectId, + secrets: inputSecrets + }); + if (secretOperation.type === SecretProtectionType.Approval) { + await server.services.auditLog.createAuditLog({ + projectId: req.body.projectId, + ...req.auditLogInfo, + event: { + type: EventType.SECRET_APPROVAL_REQUEST, + metadata: { + committedBy: secretOperation.approval.committerUserId, + secretApprovalRequestId: secretOperation.approval.id, + secretApprovalRequestSlug: secretOperation.approval.slug, + secretPath, + environment, + secrets: inputSecrets.map((secret) => ({ + secretKey: secret.secretKey + })), + eventType: SecretApprovalEvent.DeleteMany + } + } + }); + + return { approval: secretOperation.approval }; + } + const { secrets } = secretOperation; + + await server.services.auditLog.createAuditLog({ + projectId: secrets[0].workspace, + ...req.auditLogInfo, + event: { + type: EventType.DELETE_SECRETS, + metadata: { + environment: req.body.environment, + secretPath: req.body.secretPath, + secrets: secrets.map((secret) => ({ + secretId: secret.id, + secretKey: secret.secretKey, + secretVersion: secret.version + })) + } + } + }); + + await server.services.telemetry.sendPostHogEvents({ + event: PostHogEventTypes.SecretDeleted, + distinctId: getTelemetryDistinctId(req), + organizationId: req.permission.orgId, + properties: { + numberOfSecrets: secrets.length, + projectId: secrets[0].workspace, + environment: req.body.environment, + secretPath: req.body.secretPath, + channel: getUserAgentType(req.headers["user-agent"]), + ...req.auditLogInfo + } + }); + return { secrets }; + } + }); + + server.route({ + method: "GET", + url: "/:secretName/secret-reference-tree", + config: { + rateLimit: secretsLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.Secrets], + description: "Get secret reference tree", + security: [ + { + bearerAuth: [] + } + ], + params: z.object({ + secretName: z.string().trim().describe(RAW_SECRETS.GET_REFERENCE_TREE.secretName) + }), + querystring: z.object({ + projectId: z.string().trim().describe(RAW_SECRETS.GET_REFERENCE_TREE.workspaceId), + environment: z.string().trim().describe(RAW_SECRETS.GET_REFERENCE_TREE.environment), + secretPath: z + .string() + .trim() + .default("/") + .transform(removeTrailingSlash) + .describe(RAW_SECRETS.GET_REFERENCE_TREE.secretPath) + }), + response: { + 200: z.object({ + tree: SecretReferenceNodeTree, + value: z.string().optional() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT]), + handler: async (req) => { + const { secretName } = req.params; + const { secretPath, environment, projectId: workspaceId } = req.query; + const { tree, value } = await server.services.secret.getSecretReferenceTree({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId: workspaceId, + secretName, + secretPath, + environment + }); + + return { tree, value }; + } + }); + + server.route({ + method: "POST", + url: "/backfill-secret-references", + config: { + rateLimit: secretsLimit + }, + schema: { + description: "Backfill secret references", + security: [ + { + bearerAuth: [] + } + ], + body: z.object({ + projectId: z.string().trim().min(1) + }), + response: { + 200: z.object({ + message: z.string() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT]), + handler: async (req) => { + const { projectId } = req.body; + const message = await server.services.secret.backfillSecretReferences({ + actorId: req.permission.id, + actor: req.permission.type, + actorAuthMethod: req.permission.authMethod, + actorOrgId: req.permission.orgId, + projectId + }); + + return message; + } + }); +}; diff --git a/backend/src/services/secret/secret-types.ts b/backend/src/services/secret/secret-types.ts index cd341a8b5..07f46bf1e 100644 --- a/backend/src/services/secret/secret-types.ts +++ b/backend/src/services/secret/secret-types.ts @@ -534,7 +534,8 @@ export type TSyncSecretsDTO = { }); export type TMoveSecretsDTO = { - projectSlug: string; + projectId?: string; + projectSlug?: string; sourceEnvironment: string; sourceSecretPath: string; destinationEnvironment: string; diff --git a/backend/src/services/telemetry/telemetry-types.ts b/backend/src/services/telemetry/telemetry-types.ts index 7e2027f25..a43a2f746 100644 --- a/backend/src/services/telemetry/telemetry-types.ts +++ b/backend/src/services/telemetry/telemetry-types.ts @@ -46,7 +46,7 @@ export type TSecretModifiedEvent = { properties: { numberOfSecrets: number; environment: string; - workspaceId: string; + projectId: string; secretPath: string; channel?: string; userAgent?: string; diff --git a/frontend/src/hooks/api/secrets/mutations.tsx b/frontend/src/hooks/api/secrets/mutations.tsx index 715aa108a..0dfc5db25 100644 --- a/frontend/src/hooks/api/secrets/mutations.tsx +++ b/frontend/src/hooks/api/secrets/mutations.tsx @@ -33,18 +33,18 @@ export const useCreateSecretV3 = ({ secretPath = "/", type, environment, - workspaceId, + projectId, secretKey, secretValue, secretComment, skipMultilineEncoding, tagIds }) => { - const { data } = await apiRequest.post(`/api/v3/secrets/raw/${secretKey}`, { + const { data } = await apiRequest.post(`/api/v4/secrets/${secretKey}`, { secretPath, type, environment, - workspaceId, + projectId, secretValue, secretComment, skipMultilineEncoding, @@ -52,26 +52,26 @@ export const useCreateSecretV3 = ({ }); return data; }, - onSuccess: (_, { workspaceId, environment, secretPath }) => { + onSuccess: (_, { projectId, environment, secretPath }) => { queryClient.invalidateQueries({ - queryKey: dashboardKeys.getDashboardSecrets({ projectId: workspaceId, secretPath }) + queryKey: dashboardKeys.getDashboardSecrets({ projectId, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretKeys.getProjectSecret({ workspaceId, environment, secretPath }) + queryKey: secretKeys.getProjectSecret({ projectId, environment, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.list({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.list({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.count({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.history({ projectId, environment, directory: secretPath }) }); - queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ workspaceId }) }); + queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ projectId }) }); }, ...options }); @@ -88,7 +88,7 @@ export const useUpdateSecretV3 = ({ secretPath = "/", type, environment, - workspaceId, + projectId, secretKey, secretValue, tagIds, @@ -100,8 +100,8 @@ export const useUpdateSecretV3 = ({ skipMultilineEncoding, secretMetadata }) => { - const { data } = await apiRequest.patch(`/api/v3/secrets/raw/${secretKey}`, { - workspaceId, + const { data } = await apiRequest.patch(`/api/v4/secrets/${secretKey}`, { + projectId, environment, type, secretReminderNote, @@ -117,26 +117,26 @@ export const useUpdateSecretV3 = ({ }); return data; }, - onSuccess: (_, { workspaceId, environment, secretPath }) => { + onSuccess: (_, { projectId, environment, secretPath }) => { queryClient.invalidateQueries({ - queryKey: dashboardKeys.getDashboardSecrets({ projectId: workspaceId, secretPath }) + queryKey: dashboardKeys.getDashboardSecrets({ projectId, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretKeys.getProjectSecret({ workspaceId, environment, secretPath }) + queryKey: secretKeys.getProjectSecret({ projectId, environment, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.list({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.list({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.count({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.history({ projectId, environment, directory: secretPath }) }); - queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ workspaceId }) }); + queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ projectId }) }); }, ...options }); @@ -150,17 +150,10 @@ export const useDeleteSecretV3 = ({ const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ - secretPath = "/", - type, - environment, - workspaceId, - secretKey, - secretId - }) => { - const { data } = await apiRequest.delete(`/api/v3/secrets/raw/${secretKey}`, { + mutationFn: async ({ secretPath = "/", type, environment, projectId, secretKey, secretId }) => { + const { data } = await apiRequest.delete(`/api/v4/secrets/${secretKey}`, { data: { - workspaceId, + projectId, environment, type, secretPath, @@ -169,26 +162,26 @@ export const useDeleteSecretV3 = ({ }); return data; }, - onSuccess: (_, { workspaceId, environment, secretPath }) => { + onSuccess: (_, { projectId, environment, secretPath }) => { queryClient.invalidateQueries({ - queryKey: dashboardKeys.getDashboardSecrets({ projectId: workspaceId, secretPath }) + queryKey: dashboardKeys.getDashboardSecrets({ projectId, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretKeys.getProjectSecret({ workspaceId, environment, secretPath }) + queryKey: secretKeys.getProjectSecret({ projectId, environment, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.list({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.list({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.count({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.history({ projectId, environment, directory: secretPath }) }); - queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ workspaceId }) }); + queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ projectId }) }); }, ...options }); @@ -202,35 +195,35 @@ export const useCreateSecretBatch = ({ const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ secretPath = "/", workspaceId, environment, secrets }) => { - const { data } = await apiRequest.post("/api/v3/secrets/batch/raw", { - workspaceId, + mutationFn: async ({ secretPath = "/", projectId, environment, secrets }) => { + const { data } = await apiRequest.post("/api/v4/secrets/batch", { + projectId, environment, secretPath, secrets }); return data; }, - onSuccess: (_, { workspaceId, environment, secretPath }) => { + onSuccess: (_, { projectId, environment, secretPath }) => { queryClient.invalidateQueries({ - queryKey: dashboardKeys.getDashboardSecrets({ projectId: workspaceId, secretPath }) + queryKey: dashboardKeys.getDashboardSecrets({ projectId, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretKeys.getProjectSecret({ workspaceId, environment, secretPath }) + queryKey: secretKeys.getProjectSecret({ projectId, environment, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.list({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.list({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.count({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.history({ projectId, environment, directory: secretPath }) }); - queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ workspaceId }) }); + queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ projectId }) }); }, ...options }); @@ -244,35 +237,35 @@ export const useUpdateSecretBatch = ({ const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ secretPath = "/", workspaceId, environment, secrets }) => { - const { data } = await apiRequest.patch("/api/v3/secrets/batch/raw", { - workspaceId, + mutationFn: async ({ secretPath = "/", projectId, environment, secrets }) => { + const { data } = await apiRequest.patch("/api/v4/secrets/batch", { + projectId, environment, secretPath, secrets }); return data; }, - onSuccess: (_, { workspaceId, environment, secretPath }) => { + onSuccess: (_, { projectId, environment, secretPath }) => { queryClient.invalidateQueries({ - queryKey: dashboardKeys.getDashboardSecrets({ projectId: workspaceId, secretPath }) + queryKey: dashboardKeys.getDashboardSecrets({ projectId, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretKeys.getProjectSecret({ workspaceId, environment, secretPath }) + queryKey: secretKeys.getProjectSecret({ projectId, environment, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.list({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.list({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.count({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.history({ projectId, environment, directory: secretPath }) }); - queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ workspaceId }) }); + queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ projectId }) }); }, ...options }); @@ -286,10 +279,10 @@ export const useDeleteSecretBatch = ({ const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ secretPath = "/", workspaceId, environment, secrets }) => { - const { data } = await apiRequest.delete("/api/v3/secrets/batch/raw", { + mutationFn: async ({ secretPath = "/", projectId, environment, secrets }) => { + const { data } = await apiRequest.delete("/api/v4/secrets/batch", { data: { - workspaceId, + projectId, environment, secretPath, secrets @@ -297,26 +290,26 @@ export const useDeleteSecretBatch = ({ }); return data; }, - onSuccess: (_, { workspaceId, environment, secretPath }) => { + onSuccess: (_, { projectId, environment, secretPath }) => { queryClient.invalidateQueries({ - queryKey: dashboardKeys.getDashboardSecrets({ projectId: workspaceId, secretPath }) + queryKey: dashboardKeys.getDashboardSecrets({ projectId, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretKeys.getProjectSecret({ workspaceId, environment, secretPath }) + queryKey: secretKeys.getProjectSecret({ projectId, environment, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.list({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.list({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.count({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.history({ projectId, environment, directory: secretPath }) }); - queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ workspaceId }) }); + queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ projectId }) }); }, ...options }); @@ -349,7 +342,7 @@ export const useMoveSecrets = ({ const { data } = await apiRequest.post<{ isSourceUpdated: boolean; isDestinationUpdated: boolean; - }>("/api/v3/secrets/move", { + }>("/api/v4/secrets/move", { sourceEnvironment, sourceSecretPath, projectSlug, @@ -370,7 +363,7 @@ export const useMoveSecrets = ({ }); queryClient.invalidateQueries({ queryKey: secretKeys.getProjectSecret({ - workspaceId: projectId, + projectId, environment: sourceEnvironment, secretPath: sourceSecretPath }) @@ -378,33 +371,33 @@ export const useMoveSecrets = ({ queryClient.invalidateQueries({ queryKey: secretSnapshotKeys.list({ environment: sourceEnvironment, - workspaceId: projectId, + projectId, directory: sourceSecretPath }) }); queryClient.invalidateQueries({ queryKey: secretSnapshotKeys.count({ environment: sourceEnvironment, - workspaceId: projectId, + projectId, directory: sourceSecretPath }) }); queryClient.invalidateQueries({ queryKey: commitKeys.count({ - projectId: projectId, + projectId, environment: sourceEnvironment, directory: sourceSecretPath }) }); queryClient.invalidateQueries({ queryKey: commitKeys.history({ - workspaceId: projectId, + projectId, environment: sourceEnvironment, directory: sourceSecretPath }) }); queryClient.invalidateQueries({ - queryKey: secretApprovalRequestKeys.count({ workspaceId: projectId }) + queryKey: secretApprovalRequestKeys.count({ projectId }) }); }, ...options @@ -432,16 +425,16 @@ export const useCreateCommit = () => { object, object, { - workspaceId: string; + projectId: string; environment: string; secretPath: string; pendingChanges: PendingChanges; message: string; } >({ - mutationFn: async ({ workspaceId, environment, secretPath, pendingChanges, message }) => { + mutationFn: async ({ projectId, environment, secretPath, pendingChanges, message }) => { const { data } = await apiRequest.post("/api/v1/pit/batch/commit", { - projectId: workspaceId, + projectId, environment, secretPath, changes: { @@ -501,26 +494,26 @@ export const useCreateCommit = () => { }); return data; }, - onSuccess: (_, { workspaceId, environment, secretPath }) => { + onSuccess: (_, { projectId, environment, secretPath }) => { queryClient.invalidateQueries({ - queryKey: dashboardKeys.getDashboardSecrets({ projectId: workspaceId, secretPath }) + queryKey: dashboardKeys.getDashboardSecrets({ projectId, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretKeys.getProjectSecret({ workspaceId, environment, secretPath }) + queryKey: secretKeys.getProjectSecret({ projectId, environment, secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.list({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.list({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: secretSnapshotKeys.count({ environment, workspaceId, directory: secretPath }) + queryKey: secretSnapshotKeys.count({ environment, projectId, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.count({ projectId: workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.count({ projectId, environment, directory: secretPath }) }); queryClient.invalidateQueries({ - queryKey: commitKeys.history({ workspaceId, environment, directory: secretPath }) + queryKey: commitKeys.history({ projectId, environment, directory: secretPath }) }); - queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ workspaceId }) }); + queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ projectId }) }); } }); }; diff --git a/frontend/src/hooks/api/secrets/queries.tsx b/frontend/src/hooks/api/secrets/queries.tsx index 443b74df8..df3a78c35 100644 --- a/frontend/src/hooks/api/secrets/queries.tsx +++ b/frontend/src/hooks/api/secrets/queries.tsx @@ -27,35 +27,35 @@ import { export const secretKeys = { // this is also used in secretSnapshot part getProjectSecret: ({ - workspaceId, + projectId, environment, secretPath, viewSecretValue }: TGetProjectSecretsKey) => - [{ workspaceId, environment, secretPath, viewSecretValue }, "secrets"] as const, + [{ projectId, environment, secretPath, viewSecretValue }, "secrets"] as const, getSecretVersion: (secretId: string) => [{ secretId }, "secret-versions"] as const, getSecretAccessList: ({ - workspaceId, + projectId, environment, secretPath, secretKey }: TGetSecretAccessListDTO) => - ["secret-access-list", { workspaceId, environment, secretPath, secretKey }] as const, + ["secret-access-list", { projectId, environment, secretPath, secretKey }] as const, getSecretReferenceTree: (dto: TGetSecretReferenceTreeDTO) => ["secret-reference-tree", dto] }; export const fetchProjectSecrets = async ({ - workspaceId, + projectId, environment, secretPath, includeImports, expandSecretReferences, viewSecretValue }: TGetProjectSecretsKey) => { - const { data } = await apiRequest.get("/api/v3/secrets/raw", { + const { data } = await apiRequest.get("/api/v4/secrets", { params: { environment, - workspaceId, + projectId, secretPath, viewSecretValue, expandSecretReferences, @@ -116,7 +116,7 @@ export const mergePersonalSecrets = (rawSecrets: SecretV3Raw[]) => { }; export const useGetProjectSecrets = ({ - workspaceId, + projectId, environment, secretPath, viewSecretValue, @@ -135,14 +135,14 @@ export const useGetProjectSecrets = ({ useQuery({ ...options, // wait for all values to be available - enabled: Boolean(workspaceId && environment) && (options?.enabled ?? true), + enabled: Boolean(projectId && environment) && (options?.enabled ?? true), queryKey: secretKeys.getProjectSecret({ - workspaceId, + projectId, environment, secretPath, viewSecretValue }), - queryFn: () => fetchProjectSecrets({ workspaceId, environment, secretPath, viewSecretValue }), + queryFn: () => fetchProjectSecrets({ projectId, environment, secretPath, viewSecretValue }), select: useCallback( (data: Awaited>) => mergePersonalSecrets(data.secrets), [] @@ -150,7 +150,7 @@ export const useGetProjectSecrets = ({ }); export const useGetProjectSecretsAllEnv = ({ - workspaceId, + projectId, envs, secretPath }: TGetProjectSecretsAllEnvDTO) => { @@ -159,11 +159,11 @@ export const useGetProjectSecretsAllEnv = ({ const secrets = useQueries({ queries: envs.map((environment) => ({ queryKey: secretKeys.getProjectSecret({ - workspaceId, + projectId, environment, secretPath }), - enabled: Boolean(workspaceId && environment), + enabled: Boolean(projectId && environment), onError: (error: unknown) => { if (axios.isAxiosError(error) && !isErrorHandled) { const { message, requestId } = error.response?.data as { @@ -187,7 +187,7 @@ export const useGetProjectSecretsAllEnv = ({ setIsErrorHandled.on(); } }, - queryFn: () => fetchProjectSecrets({ workspaceId, environment, secretPath }), + queryFn: () => fetchProjectSecrets({ projectId, environment, secretPath }), staleTime: 60 * 1000, // eslint-disable-next-line react-hooks/rules-of-hooks select: useCallback( @@ -270,7 +270,7 @@ export const useGetSecretAccessList = (dto: TGetSecretAccessListDTO) => users: SecretAccessListEntry[]; }>(`/api/v1/secrets/${dto.secretKey}/access-list`, { params: { - workspaceId: dto.workspaceId, + projectId: dto.projectId, environment: dto.environment, secretPath: dto.secretPath } @@ -287,11 +287,11 @@ const fetchSecretReferenceTree = async ({ environmentSlug }: TGetSecretReferenceTreeDTO) => { const { data } = await apiRequest.get<{ tree: TSecretReferenceTraceNode; value: string }>( - `/api/v3/secrets/raw/${secretKey}/secret-reference-tree`, + `/api/v4/secrets/${secretKey}/secret-reference-tree`, { params: { secretPath, - workspaceId: projectId, + projectId, environment: environmentSlug } } diff --git a/frontend/src/hooks/api/secrets/types.ts b/frontend/src/hooks/api/secrets/types.ts index 1b232cfac..95855992a 100644 --- a/frontend/src/hooks/api/secrets/types.ts +++ b/frontend/src/hooks/api/secrets/types.ts @@ -17,30 +17,6 @@ export type SecretReminderRecipient = { }; id: string; }; -export type EncryptedSecret = { - id: string; - version: number; - workspace: string; - type: SecretType; - environment: string; - secretKeyCiphertext: string; - secretKeyIV: string; - secretKeyTag: string; - secretValueCiphertext: string; - secretValueIV: string; - secretValueTag: string; - secretValueHidden: boolean; - __v: number; - createdAt: string; - updatedAt: string; - skipMultilineEncoding?: boolean; - secretCommentCiphertext: string; - secretCommentIV: string; - secretCommentTag: string; - secretReminderRepeatDays?: number | null; - secretReminderNote?: string | null; - tags: WsTag[]; -}; // both personal and shared secret stitched together for dashboard export type SecretV3RawSanitized = { @@ -76,7 +52,7 @@ export type SecretV3RawSanitized = { export type SecretV3Raw = { id: string; _id: string; - workspace: string; + project: string; environment: string; version: number; type: string; @@ -113,7 +89,7 @@ export type SecretVersions = { id: string; secretId: string; version: number; - workspace: string; + project: string; type: SecretType; isDeleted: boolean; envId: string; @@ -136,7 +112,7 @@ export type SecretVersions = { // dto export type TGetProjectSecretsKey = { - workspaceId: string; + projectId: string; environment: string; secretPath?: string; includeImports?: boolean; @@ -148,7 +124,7 @@ export type TGetProjectSecretsKey = { export type TGetProjectSecretsDTO = TGetProjectSecretsKey; export type TGetProjectSecretsAllEnvDTO = { - workspaceId: string; + projectId: string; envs: string[]; folderId?: string; secretPath?: string; @@ -162,7 +138,7 @@ export type GetSecretVersionsDTO = { }; export type TGetSecretAccessListDTO = { - workspaceId: string; + projectId: string; environment: string; secretPath: string; secretKey: string; @@ -174,14 +150,14 @@ export type TCreateSecretsV3DTO = { secretComment: string; skipMultilineEncoding?: boolean; secretPath: string; - workspaceId: string; + projectId: string; environment: string; type: SecretType; tagIds?: string[]; }; export type TUpdateSecretsV3DTO = { - workspaceId: string; + projectId: string; environment: string; secretPath: string; type: SecretType; @@ -198,7 +174,7 @@ export type TUpdateSecretsV3DTO = { }; export type TDeleteSecretsV3DTO = { - workspaceId: string; + projectId: string; environment: string; type: SecretType; secretPath: string; @@ -207,7 +183,7 @@ export type TDeleteSecretsV3DTO = { }; export type TCreateSecretBatchDTO = { - workspaceId: string; + projectId: string; environment: string; secretPath: string; secrets: Array<{ @@ -224,7 +200,7 @@ export type TCreateSecretBatchDTO = { }; export type TUpdateSecretBatchDTO = { - workspaceId: string; + projectId: string; environment: string; secretPath: string; secrets: Array<{ @@ -241,7 +217,7 @@ export type TUpdateSecretBatchDTO = { }; export type TDeleteSecretBatchDTO = { - workspaceId: string; + projectId: string; environment: string; secretPath: string; secrets: Array<{ From 37a80fa1acfdd55d0e028b1fc08e1b937a3b982e Mon Sep 17 00:00:00 2001 From: = Date: Sat, 13 Sep 2025 23:35:12 +0530 Subject: [PATCH 11/27] feat: resolved backend ts issues --- backend/src/lib/api-docs/constants.ts | 4 +- .../src/server/routes/v1/dashboard-router.ts | 4 +- .../routes/v1/depreciated-project-router.ts | 14 +- .../src/server/routes/v1/project-router.ts | 631 ++++++++++++------ .../routes/v2/depreciated-project-router.ts | 6 +- ...router.ts => depreciated-secret-router.ts} | 4 +- backend/src/server/routes/v3/index.ts | 4 +- backend/src/server/routes/v4/secret-router.ts | 18 +- .../external-migration-fns/import.ts | 2 +- .../src/services/project/project-service.ts | 17 +- backend/src/services/project/project-types.ts | 8 +- backend/src/services/secret/secret-service.ts | 19 +- frontend/src/hooks/api/workspace/queries.tsx | 28 +- .../src/hooks/api/workspace/query-keys.tsx | 18 +- frontend/src/hooks/api/workspace/types.ts | 2 + .../components/CertificatesTable.tsx | 2 +- .../components/AddPkiCollectionItemModal.tsx | 2 +- 17 files changed, 512 insertions(+), 271 deletions(-) rename backend/src/server/routes/v3/{secret-router.ts => depreciated-secret-router.ts} (99%) diff --git a/backend/src/lib/api-docs/constants.ts b/backend/src/lib/api-docs/constants.ts index ff56e5e01..bef0b78be 100644 --- a/backend/src/lib/api-docs/constants.ts +++ b/backend/src/lib/api-docs/constants.ts @@ -964,7 +964,7 @@ export const RAW_SECRETS = { expand: "Whether or not to expand secret references.", recursive: "Whether or not to fetch all secrets from the specified base path, and all of its subdirectories. Note, the max depth is 20 deep.", - workspaceId: "The ID of the project to list secrets from.", + projectId: "The ID of the project to list secrets from.", workspaceSlug: "The slug of the project to list secrets from. This parameter is only applicable by machine identities.", environment: "The slug of the environment to list secrets from.", @@ -1029,7 +1029,7 @@ export const RAW_SECRETS = { }, GET_REFERENCE_TREE: { secretName: "The name of the secret to get the reference tree for.", - workspaceId: "The ID of the project where the secret is located.", + projectId: "The ID of the project where the secret is located.", environment: "The slug of the environment where the the secret is located.", secretPath: "The folder path where the secret is located." }, diff --git a/backend/src/server/routes/v1/dashboard-router.ts b/backend/src/server/routes/v1/dashboard-router.ts index a8132a3fa..255106c61 100644 --- a/backend/src/server/routes/v1/dashboard-router.ts +++ b/backend/src/server/routes/v1/dashboard-router.ts @@ -207,7 +207,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => { const environments = req.query.environments.split(","); if (!projectId || environments.length === 0) - throw new BadRequestError({ message: "Missing workspace id or environment(s)" }); + throw new BadRequestError({ message: "Missing project id or environment(s)" }); const { shouldUseSecretV2Bridge } = await server.services.projectBot.getBotKey(projectId); @@ -696,7 +696,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => { includeSecretRotations } = req.query; - if (!projectId || !environment) throw new BadRequestError({ message: "Missing workspace id or environment" }); + if (!projectId || !environment) throw new BadRequestError({ message: "Missing project id or environment" }); const { shouldUseSecretV2Bridge } = await server.services.projectBot.getBotKey(projectId); diff --git a/backend/src/server/routes/v1/depreciated-project-router.ts b/backend/src/server/routes/v1/depreciated-project-router.ts index 89fb93662..7ee336507 100644 --- a/backend/src/server/routes/v1/depreciated-project-router.ts +++ b/backend/src/server/routes/v1/depreciated-project-router.ts @@ -85,7 +85,7 @@ export const registerDepreciatedProjectRouter = async (server: FastifyZodProvide } ], params: z.object({ - workspaceId: z.string().trim().describe(PROJECTS.GET.workspaceId) + workspaceId: z.string().trim().describe(PROJECTS.GET.projectId) }), response: { 200: z.object({ @@ -176,7 +176,7 @@ export const registerDepreciatedProjectRouter = async (server: FastifyZodProvide } ], params: z.object({ - workspaceId: z.string().trim().describe(PROJECTS.UPDATE.workspaceId) + workspaceId: z.string().trim().describe(PROJECTS.UPDATE.projectId) }), body: z.object({ name: z @@ -284,7 +284,11 @@ export const registerDepreciatedProjectRouter = async (server: FastifyZodProvide actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - workspaceSlug: req.params.workspaceSlug, + filter: { + type: ProjectFilterType.SLUG, + slug: req.params.workspaceSlug, + orgId: req.permission.orgId + }, auditLogsRetentionDays: req.body.auditLogsRetentionDays }); @@ -321,7 +325,7 @@ export const registerDepreciatedProjectRouter = async (server: FastifyZodProvide } ], params: z.object({ - workspaceId: z.string().trim().describe(PROJECTS.LIST_INTEGRATION.workspaceId) + workspaceId: z.string().trim().describe(PROJECTS.LIST_INTEGRATION.projectId) }), response: { 200: z.object({ @@ -366,7 +370,7 @@ export const registerDepreciatedProjectRouter = async (server: FastifyZodProvide } ], params: z.object({ - workspaceId: z.string().trim().describe(PROJECTS.LIST_INTEGRATION_AUTHORIZATION.workspaceId) + workspaceId: z.string().trim().describe(PROJECTS.LIST_INTEGRATION_AUTHORIZATION.projectId) }), response: { 200: z.object({ diff --git a/backend/src/server/routes/v1/project-router.ts b/backend/src/server/routes/v1/project-router.ts index 13295974a..1b86bb241 100644 --- a/backend/src/server/routes/v1/project-router.ts +++ b/backend/src/server/routes/v1/project-router.ts @@ -2,7 +2,10 @@ import slugify from "@sindresorhus/slugify"; import { z } from "zod"; import { + CertificatesSchema, IntegrationsSchema, + PkiAlertsSchema, + PkiCollectionsSchema, ProjectEnvironmentsSchema, ProjectMembershipsSchema, ProjectRolesSchema, @@ -27,9 +30,25 @@ import { ProjectFilterType, SearchProjectSortBy } from "@app/services/project/pr import { validateSlackChannelsField } from "@app/services/slack/slack-auth-validators"; import { WorkflowIntegration } from "@app/services/workflow-integration/workflow-integration-types"; -import { integrationAuthPubSchema, SanitizedProjectSchema } from "../sanitizedSchemas"; +import { + integrationAuthPubSchema, + InternalCertificateAuthorityResponseSchema, + SanitizedProjectSchema +} from "../sanitizedSchemas"; import { sanitizedServiceTokenSchema } from "../v2/service-token-router"; import { slugSchema } from "@app/server/lib/schemas"; +import { CaStatus } from "@app/services/certificate-authority/certificate-authority-enums"; +import { sanitizedCertificateTemplate } from "@app/services/certificate-template/certificate-template-schema"; +import { sanitizedSshCertificate } from "@app/ee/services/ssh-certificate/ssh-certificate-schema"; +import { sanitizedSshCertificateTemplate } from "@app/ee/services/ssh-certificate-template/ssh-certificate-template-schema"; +import { sanitizedSshCa } from "@app/ee/services/ssh/ssh-certificate-authority-schema"; +import { loginMappingSchema, sanitizedSshHost } from "@app/ee/services/ssh-host/ssh-host-schema"; +import { LoginMappingSource } from "@app/ee/services/ssh-host/ssh-host-types"; +import { sanitizedSshHostGroup } from "@app/ee/services/ssh-host-group/ssh-host-group-schema"; +import { InfisicalProjectTemplate } from "@app/ee/services/project-template/project-template-types"; +import { PostHogEventTypes } from "@app/services/telemetry/telemetry-types"; +import { getTelemetryDistinctId } from "@app/server/lib/telemetry"; +import { sanitizedPkiSubscriber } from "@app/services/pki-subscriber/pki-subscriber-schema"; const projectWithEnv = SanitizedProjectSchema.merge( z.object({ @@ -158,8 +177,8 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actor: req.permission.type, actorOrgId: req.permission.orgId, actorAuthMethod: req.permission.authMethod, - workspaceName: req.body.projectName, - workspaceDescription: req.body.projectDescription, + projectName: req.body.projectName, + projectDescription: req.body.projectDescription, slug: req.body.slug, kmsKeyId: req.body.kmsKeyId, template: req.body.template, @@ -365,58 +384,7 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } }); - /* Delete a project by slug */ - server.route({ - method: "DELETE", - url: "/slug/:slug", - config: { - rateLimit: writeLimit - }, - schema: { - hide: false, - tags: [ApiDocsTags.Projects], - description: "Delete project", - security: [ - { - bearerAuth: [] - } - ], - params: z.object({ - slug: slugSchema({ min: 5, max: 36 }).describe("The slug of the project to delete.") - }), - response: { - 200: SanitizedProjectSchema - } - }, - onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), - - handler: async (req) => { - const project = await server.services.project.deleteProject({ - filter: { - type: ProjectFilterType.SLUG, - slug: req.params.slug, - orgId: req.permission.orgId - }, - actorId: req.permission.id, - actorAuthMethod: req.permission.authMethod, - actorOrgId: req.permission.orgId, - actor: req.permission.type - }); - - await server.services.auditLog.createAuditLog({ - ...req.auditLogInfo, - orgId: req.permission.orgId, - projectId: project.id, - event: { - type: EventType.DELETE_PROJECT, - metadata: project - } - }); - - return project; - } - }); - + // TODO(depri): replcae frontned auto cap and delete protection with this patch server.route({ method: "PATCH", url: "/:projectId", @@ -462,11 +430,11 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { .describe(PROJECTS.UPDATE.slug), secretSharing: z.boolean().optional().describe(PROJECTS.UPDATE.secretSharing), showSnapshotsLegacy: z.boolean().optional().describe(PROJECTS.UPDATE.showSnapshotsLegacy), - defaultProduct: z.nativeEnum(ProjectType).optional().describe(PROJECTS.UPDATE.defaultProduct), secretDetectionIgnoreValues: z .array(z.string()) .optional() - .describe(PROJECTS.UPDATE.secretDetectionIgnoreValues) + .describe(PROJECTS.UPDATE.secretDetectionIgnoreValues), + pitVersionLimit: z.number().min(1).max(100).optional() }), response: { 200: z.object({ @@ -485,12 +453,12 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { name: req.body.name, description: req.body.description, autoCapitalization: req.body.autoCapitalization, - defaultProduct: req.body.defaultProduct, hasDeleteProtection: req.body.hasDeleteProtection, slug: req.body.slug, secretSharing: req.body.secretSharing, showSnapshotsLegacy: req.body.showSnapshotsLegacy, - secretDetectionIgnoreValues: req.body.secretDetectionIgnoreValues + secretDetectionIgnoreValues: req.body.secretDetectionIgnoreValues, + pitVersionLimit: req.body.pitVersionLimit }, actorAuthMethod: req.permission.authMethod, actorId: req.permission.id, @@ -515,8 +483,8 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { }); server.route({ - method: "POST", - url: "/:projectId/auto-capitalization", + method: "PUT", + url: "/:projectId/audit-logs-retention", config: { rateLimit: writeLimit }, @@ -524,150 +492,6 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { params: z.object({ projectId: z.string().trim() }), - body: z.object({ - autoCapitalization: z.boolean() - }), - response: { - 200: z.object({ - message: z.string(), - project: SanitizedProjectSchema - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async (req) => { - const project = await server.services.project.toggleAutoCapitalization({ - actorId: req.permission.id, - actor: req.permission.type, - actorAuthMethod: req.permission.authMethod, - actorOrgId: req.permission.orgId, - projectId: req.params.projectId, - autoCapitalization: req.body.autoCapitalization - }); - - await server.services.auditLog.createAuditLog({ - ...req.auditLogInfo, - orgId: req.permission.orgId, - projectId: req.params.projectId, - event: { - type: EventType.UPDATE_PROJECT, - metadata: req.body - } - }); - - return { - message: "Successfully changed project settings", - project - }; - } - }); - - server.route({ - method: "POST", - url: "/:projectId/delete-protection", - config: { - rateLimit: writeLimit - }, - schema: { - params: z.object({ - projectId: z.string().trim() - }), - body: z.object({ - hasDeleteProtection: z.boolean() - }), - response: { - 200: z.object({ - message: z.string(), - project: SanitizedProjectSchema - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async (req) => { - const project = await server.services.project.toggleDeleteProtection({ - actorId: req.permission.id, - actor: req.permission.type, - actorAuthMethod: req.permission.authMethod, - actorOrgId: req.permission.orgId, - projectId: req.params.projectId, - hasDeleteProtection: req.body.hasDeleteProtection - }); - - await server.services.auditLog.createAuditLog({ - ...req.auditLogInfo, - orgId: req.permission.orgId, - projectId: req.params.projectId, - event: { - type: EventType.UPDATE_PROJECT, - metadata: req.body - } - }); - - return { - message: "Successfully changed project settings", - project - }; - } - }); - - server.route({ - method: "PUT", - url: "/:workspaceSlug/version-limit", - config: { - rateLimit: writeLimit - }, - schema: { - params: z.object({ - workspaceSlug: z.string().trim() - }), - body: z.object({ - pitVersionLimit: z.number().min(1).max(100) - }), - response: { - 200: z.object({ - message: z.string(), - project: SanitizedProjectSchema - }) - } - }, - onRequest: verifyAuth([AuthMode.JWT]), - handler: async (req) => { - const project = await server.services.project.updateVersionLimit({ - actorId: req.permission.id, - actor: req.permission.type, - actorAuthMethod: req.permission.authMethod, - actorOrgId: req.permission.orgId, - pitVersionLimit: req.body.pitVersionLimit, - workspaceSlug: req.params.workspaceSlug - }); - - await server.services.auditLog.createAuditLog({ - ...req.auditLogInfo, - orgId: req.permission.orgId, - projectId: project.id, - event: { - type: EventType.UPDATE_PROJECT, - metadata: req.body - } - }); - - return { - message: "Successfully changed project version limit", - project - }; - } - }); - - server.route({ - method: "PUT", - url: "/:workspaceSlug/audit-logs-retention", - config: { - rateLimit: writeLimit - }, - schema: { - params: z.object({ - workspaceSlug: z.string().trim() - }), body: z.object({ auditLogsRetentionDays: z.number().min(0) }), @@ -685,8 +509,11 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - workspaceSlug: req.params.workspaceSlug, - auditLogsRetentionDays: req.body.auditLogsRetentionDays + auditLogsRetentionDays: req.body.auditLogsRetentionDays, + filter: { + projectId: req.params.projectId, + type: ProjectFilterType.ID + } }); await server.services.auditLog.createAuditLog({ @@ -1303,4 +1130,394 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { return { status }; } }); + + server.route({ + method: "GET", + url: "/:projectId/cas", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.PkiCertificateAuthorities], + params: z.object({ + projectId: z.string().trim() + }), + querystring: z.object({ + status: z.enum([CaStatus.ACTIVE, CaStatus.PENDING_CERTIFICATE]).optional().describe(PROJECTS.LIST_CAS.status), + friendlyName: z.string().optional().describe(PROJECTS.LIST_CAS.friendlyName), + commonName: z.string().optional().describe(PROJECTS.LIST_CAS.commonName), + offset: z.coerce.number().min(0).max(100).default(0).describe(PROJECTS.LIST_CAS.offset), + limit: z.coerce.number().min(1).max(100).default(25).describe(PROJECTS.LIST_CAS.limit) + }), + response: { + 200: z.object({ + cas: z.array(InternalCertificateAuthorityResponseSchema) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const cas = await server.services.project.listProjectCas({ + filter: { + projectId: req.params.projectId, + type: ProjectFilterType.ID + }, + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + ...req.query + }); + return { cas }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/certificates", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.PkiCertificates], + params: z.object({ + projectId: z.string().trim() + }), + querystring: z.object({ + friendlyName: z.string().optional().describe(PROJECTS.LIST_CERTIFICATES.friendlyName), + commonName: z.string().optional().describe(PROJECTS.LIST_CERTIFICATES.commonName), + offset: z.coerce.number().min(0).max(100).default(0).describe(PROJECTS.LIST_CERTIFICATES.offset), + limit: z.coerce.number().min(1).max(100).default(25).describe(PROJECTS.LIST_CERTIFICATES.limit) + }), + response: { + 200: z.object({ + certificates: z.array(CertificatesSchema), + totalCount: z.number() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { certificates, totalCount } = await server.services.project.listProjectCertificates({ + filter: { + projectId: req.params.projectId, + type: ProjectFilterType.ID + }, + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + ...req.query + }); + return { certificates, totalCount }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/pki-alerts", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.PkiAlerting], + params: z.object({ + projectId: z.string().trim() + }), + response: { + 200: z.object({ + alerts: z.array(PkiAlertsSchema) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { alerts } = await server.services.project.listProjectAlerts({ + projectId: req.params.projectId, + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type + }); + + return { alerts }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/pki-collections", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.PkiCertificateCollections], + params: z.object({ + projectId: z.string().trim() + }), + response: { + 200: z.object({ + collections: z.array(PkiCollectionsSchema) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { pkiCollections } = await server.services.project.listProjectPkiCollections({ + projectId: req.params.projectId, + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type + }); + + return { collections: pkiCollections }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/pki-subscribers", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.PkiSubscribers], + params: z.object({ + projectId: z.string().trim().describe(PROJECTS.LIST_PKI_SUBSCRIBERS.projectId) + }), + response: { + 200: z.object({ + subscribers: z.array(sanitizedPkiSubscriber) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const subscribers = await server.services.project.listProjectPkiSubscribers({ + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + projectId: req.params.projectId + }); + + return { subscribers }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/certificate-templates", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.PkiCertificateTemplates], + params: z.object({ + projectId: z.string().trim() + }), + response: { + 200: z.object({ + certificateTemplates: sanitizedCertificateTemplate.array() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { certificateTemplates } = await server.services.project.listProjectCertificateTemplates({ + projectId: req.params.projectId, + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type + }); + + return { certificateTemplates }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/ssh-certificates", + config: { + rateLimit: readLimit + }, + schema: { + params: z.object({ + projectId: z.string().trim().describe(PROJECTS.LIST_SSH_CAS.projectId) + }), + querystring: z.object({ + offset: z.coerce.number().default(0).describe(PROJECTS.LIST_SSH_CERTIFICATES.offset), + limit: z.coerce.number().default(25).describe(PROJECTS.LIST_SSH_CERTIFICATES.limit) + }), + response: { + 200: z.object({ + certificates: z.array(sanitizedSshCertificate), + totalCount: z.number() + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { certificates, totalCount } = await server.services.project.listProjectSshCertificates({ + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + projectId: req.params.projectId, + offset: req.query.offset, + limit: req.query.limit + }); + + return { certificates, totalCount }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/ssh-certificate-templates", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.SshCertificateTemplates], + params: z.object({ + projectId: z.string().trim().describe(PROJECTS.LIST_SSH_CERTIFICATE_TEMPLATES.projectId) + }), + response: { + 200: z.object({ + certificateTemplates: z.array(sanitizedSshCertificateTemplate) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const { certificateTemplates } = await server.services.project.listProjectSshCertificateTemplates({ + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + projectId: req.params.projectId + }); + + return { certificateTemplates }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/ssh-cas", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.SshCertificateAuthorities], + params: z.object({ + projectId: z.string().trim().describe(PROJECTS.LIST_SSH_CAS.projectId) + }), + response: { + 200: z.object({ + cas: z.array(sanitizedSshCa) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const cas = await server.services.project.listProjectSshCas({ + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + projectId: req.params.projectId + }); + + return { cas }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/ssh-hosts", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.SshHosts], + params: z.object({ + projectId: z.string().trim().describe(PROJECTS.LIST_SSH_HOSTS.projectId) + }), + response: { + 200: z.object({ + hosts: z.array( + sanitizedSshHost.extend({ + loginMappings: loginMappingSchema + .extend({ + source: z.nativeEnum(LoginMappingSource) + }) + .array() + }) + ) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const hosts = await server.services.project.listProjectSshHosts({ + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + projectId: req.params.projectId + }); + + return { hosts }; + } + }); + + server.route({ + method: "GET", + url: "/:projectId/ssh-host-groups", + config: { + rateLimit: readLimit + }, + schema: { + hide: false, + tags: [ApiDocsTags.SshHostGroups], + params: z.object({ + projectId: z.string().trim().describe(PROJECTS.LIST_SSH_HOST_GROUPS.projectId) + }), + response: { + 200: z.object({ + groups: z.array( + sanitizedSshHostGroup.extend({ + loginMappings: loginMappingSchema.array(), + hostCount: z.number() + }) + ) + }) + } + }, + onRequest: verifyAuth([AuthMode.JWT, AuthMode.IDENTITY_ACCESS_TOKEN]), + handler: async (req) => { + const groups = await server.services.project.listProjectSshHostGroups({ + actorId: req.permission.id, + actorOrgId: req.permission.orgId, + actorAuthMethod: req.permission.authMethod, + actor: req.permission.type, + projectId: req.params.projectId + }); + + return { groups }; + } + }); }; diff --git a/backend/src/server/routes/v2/depreciated-project-router.ts b/backend/src/server/routes/v2/depreciated-project-router.ts index a8abab54c..076f1b832 100644 --- a/backend/src/server/routes/v2/depreciated-project-router.ts +++ b/backend/src/server/routes/v2/depreciated-project-router.ts @@ -47,7 +47,7 @@ export const registerDepreciatedProjectRouter = async (server: FastifyZodProvide schema: { description: "Return encrypted project key", params: z.object({ - workspaceId: z.string().trim().describe(PROJECTS.GET_KEY.workspaceId) + workspaceId: z.string().trim().describe(PROJECTS.GET_KEY.projectId) }), response: { 200: ProjectKeysSchema.merge( @@ -125,8 +125,8 @@ export const registerDepreciatedProjectRouter = async (server: FastifyZodProvide actor: req.permission.type, actorOrgId: req.permission.orgId, actorAuthMethod: req.permission.authMethod, - workspaceName: req.body.projectName, - workspaceDescription: req.body.projectDescription, + projectName: req.body.projectName, + projectDescription: req.body.projectDescription, slug: req.body.slug, kmsKeyId: req.body.kmsKeyId, template: req.body.template, diff --git a/backend/src/server/routes/v3/secret-router.ts b/backend/src/server/routes/v3/depreciated-secret-router.ts similarity index 99% rename from backend/src/server/routes/v3/secret-router.ts rename to backend/src/server/routes/v3/depreciated-secret-router.ts index eaeeb8bb8..14eb9f0cd 100644 --- a/backend/src/server/routes/v3/secret-router.ts +++ b/backend/src/server/routes/v3/depreciated-secret-router.ts @@ -39,7 +39,7 @@ const SecretReferenceNodeTree: z.ZodType = SecretReference children: z.lazy(() => SecretReferenceNodeTree.array()) }); -export const registerSecretRouter = async (server: FastifyZodProvider) => { +export const registerDepreciatedSecretRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", url: "/tags/:secretName", @@ -230,7 +230,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { } }) .describe(RAW_SECRETS.LIST.metadataFilter), - workspaceId: z.string().trim().optional().describe(RAW_SECRETS.LIST.workspaceId), + workspaceId: z.string().trim().optional().describe(RAW_SECRETS.LIST.projectId), workspaceSlug: z.string().trim().optional().describe(RAW_SECRETS.LIST.workspaceSlug), environment: z.string().trim().optional().describe(RAW_SECRETS.LIST.environment), secretPath: z.string().trim().default("/").transform(removeTrailingSlash).describe(RAW_SECRETS.LIST.secretPath), diff --git a/backend/src/server/routes/v3/index.ts b/backend/src/server/routes/v3/index.ts index 16880e840..6b1744d10 100644 --- a/backend/src/server/routes/v3/index.ts +++ b/backend/src/server/routes/v3/index.ts @@ -1,6 +1,6 @@ import { registerExternalMigrationRouter } from "./external-migration-router"; import { registerLoginRouter } from "./login-router"; -import { registerSecretRouter } from "./secret-router"; +import { registerDepreciatedSecretRouter } from "./depreciated-secret-router"; import { registerSignupRouter } from "./signup-router"; import { registerUserRouter } from "./user-router"; @@ -8,6 +8,6 @@ export const registerV3Routes = async (server: FastifyZodProvider) => { await server.register(registerSignupRouter, { prefix: "/signup" }); await server.register(registerLoginRouter, { prefix: "/auth" }); await server.register(registerUserRouter, { prefix: "/users" }); - await server.register(registerSecretRouter, { prefix: "/secrets" }); + await server.register(registerDepreciatedSecretRouter, { prefix: "/secrets" }); await server.register(registerExternalMigrationRouter, { prefix: "/external-migration" }); }; diff --git a/backend/src/server/routes/v4/secret-router.ts b/backend/src/server/routes/v4/secret-router.ts index 8776beb8d..f18c87497 100644 --- a/backend/src/server/routes/v4/secret-router.ts +++ b/backend/src/server/routes/v4/secret-router.ts @@ -117,7 +117,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { } }) .describe(RAW_SECRETS.LIST.metadataFilter), - projectId: z.string().trim().optional().describe(RAW_SECRETS.LIST.workspaceId), + projectId: z.string().trim().optional().describe(RAW_SECRETS.LIST.projectId), environment: z.string().trim().optional().describe(RAW_SECRETS.LIST.environment), secretPath: z.string().trim().default("/").transform(removeTrailingSlash).describe(RAW_SECRETS.LIST.secretPath), viewSecretValue: convertStringBoolean(true).describe(RAW_SECRETS.LIST.viewSecretValue), @@ -901,7 +901,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { ); await server.services.auditLog.createAuditLog({ - projectId: secrets[0].workspace, + projectId: req.body.projectId, ...req.auditLogInfo, event: { type: EventType.CREATE_SECRETS, @@ -924,7 +924,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secrets.length, - projectId: secrets[0].workspace, + projectId: req.body.projectId, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1050,7 +1050,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { ); await server.services.auditLog.createAuditLog({ - projectId: secrets[0].workspace, + projectId: req.body.projectId, ...req.auditLogInfo, event: { type: EventType.UPDATE_SECRETS, @@ -1072,7 +1072,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { const createdSecrets = secrets.filter((el) => el.version === 1); if (createdSecrets.length) { await server.services.auditLog.createAuditLog({ - projectId: secrets[0].workspace, + projectId: req.body.projectId, ...req.auditLogInfo, event: { type: EventType.CREATE_SECRETS, @@ -1097,7 +1097,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secrets.length, - projectId: secrets[0].workspace, + projectId: req.body.projectId, environment: req.body.environment, secretPath: req.body.secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1243,7 +1243,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { secretName: z.string().trim().describe(RAW_SECRETS.GET_REFERENCE_TREE.secretName) }), querystring: z.object({ - projectId: z.string().trim().describe(RAW_SECRETS.GET_REFERENCE_TREE.workspaceId), + projectId: z.string().trim().describe(RAW_SECRETS.GET_REFERENCE_TREE.projectId), environment: z.string().trim().describe(RAW_SECRETS.GET_REFERENCE_TREE.environment), secretPath: z .string() @@ -1262,13 +1262,13 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { onRequest: verifyAuth([AuthMode.JWT]), handler: async (req) => { const { secretName } = req.params; - const { secretPath, environment, projectId: workspaceId } = req.query; + const { secretPath, environment, projectId } = req.query; const { tree, value } = await server.services.secret.getSecretReferenceTree({ actorId: req.permission.id, actor: req.permission.type, actorAuthMethod: req.permission.authMethod, actorOrgId: req.permission.orgId, - projectId: workspaceId, + projectId, secretName, secretPath, environment diff --git a/backend/src/services/external-migration/external-migration-fns/import.ts b/backend/src/services/external-migration/external-migration-fns/import.ts index 5728bf1c0..62888c5bf 100644 --- a/backend/src/services/external-migration/external-migration-fns/import.ts +++ b/backend/src/services/external-migration/external-migration-fns/import.ts @@ -55,7 +55,7 @@ export const importDataIntoInfisicalFn = async ({ actorId, actorOrgId, actorAuthMethod, - workspaceName: project.name, + projectName: project.name, createDefaultEnvs: false, tx }) diff --git a/backend/src/services/project/project-service.ts b/backend/src/services/project/project-service.ts index d59f20bc6..b10432e0a 100644 --- a/backend/src/services/project/project-service.ts +++ b/backend/src/services/project/project-service.ts @@ -237,8 +237,8 @@ export const projectServiceFactory = ({ actorId, actorOrgId, actorAuthMethod, - workspaceName, - workspaceDescription, + projectName: workspaceName, + projectDescription: workspaceDescription, slug: projectSlug, kmsKeyId, tx: trx, @@ -591,7 +591,8 @@ export const projectServiceFactory = ({ secretSharing: update.secretSharing, defaultProduct: update.defaultProduct, showSnapshotsLegacy: update.showSnapshotsLegacy, - secretDetectionIgnoreValues: update.secretDetectionIgnoreValues + secretDetectionIgnoreValues: update.secretDetectionIgnoreValues, + pitVersionLimit: update.pitVersionLimit }); return updatedProject; @@ -684,19 +685,21 @@ export const projectServiceFactory = ({ actorOrgId, actorAuthMethod, auditLogsRetentionDays, - workspaceSlug + filter }: TUpdateAuditLogsRetentionDTO) => { - const project = await projectDAL.findProjectBySlug(workspaceSlug, actorOrgId); + const project = await projectDAL.findProjectByFilter(filter); + const projectId = project.id; + if (!project) { throw new NotFoundError({ - message: `Project with slug '${workspaceSlug}' not found` + message: `Project not found` }); } const { hasRole } = await permissionService.getProjectPermission({ actor, actorId, - projectId: project.id, + projectId, actorAuthMethod, actorOrgId, actionProjectType: ActionProjectType.Any diff --git a/backend/src/services/project/project-types.ts b/backend/src/services/project/project-types.ts index ceef78f6a..ebe30b266 100644 --- a/backend/src/services/project/project-types.ts +++ b/backend/src/services/project/project-types.ts @@ -42,12 +42,13 @@ export type TCreateProjectDTO = { actorAuthMethod: ActorAuthMethod; actorId: string; actorOrgId?: string; - workspaceName: string; - workspaceDescription?: string; + projectName: string; + projectDescription?: string; slug?: string; kmsKeyId?: string; createDefaultEnvs?: boolean; template?: string; + pitVersionLimit?: number; tx?: Knex; type?: ProjectType; }; @@ -78,7 +79,7 @@ export type TUpdateProjectVersionLimitDTO = { export type TUpdateAuditLogsRetentionDTO = { auditLogsRetentionDays: number; - workspaceSlug: string; + filter: Filter; } & Omit; export type TUpdateProjectNameDTO = { @@ -90,6 +91,7 @@ export type TUpdateProjectDTO = { update: { name?: string; description?: string; + pitVersionLimit?: number; autoCapitalization?: boolean; hasDeleteProtection?: boolean; defaultProduct?: ProjectType; diff --git a/backend/src/services/secret/secret-service.ts b/backend/src/services/secret/secret-service.ts index 6bafa3ba6..8758a992e 100644 --- a/backend/src/services/secret/secret-service.ts +++ b/backend/src/services/secret/secret-service.ts @@ -2970,14 +2970,23 @@ export const secretServiceFactory = ({ actor, actorId, actorAuthMethod, - actorOrgId + actorOrgId, + projectId: inputProjectId }: TMoveSecretsDTO) => { - const project = await projectDAL.findProjectBySlug(projectSlug, actorOrgId); + let project; + if (projectSlug) { + project = await projectDAL.findProjectBySlug(projectSlug, actorOrgId); + } else if (inputProjectId) { + project = await projectDAL.findById(inputProjectId); + } + if (!project) { throw new NotFoundError({ message: `Project with slug '${projectSlug}' not found` }); } + + const projectId = project.id; if (project.version === ProjectVersion.V3) { return secretV2BridgeService.moveSecrets({ sourceEnvironment, @@ -3170,7 +3179,7 @@ export const secretServiceFactory = ({ }); } const destinationFolderPolicy = await secretApprovalPolicyService.getSecretApprovalPolicy( - project.id, + projectId, destinationFolder.environment.slug, destinationFolder.path ); @@ -3257,7 +3266,7 @@ export const secretServiceFactory = ({ } if (locallyUpdatedSecrets.length) { await fnSecretBulkUpdate({ - projectId: project.id, + projectId, folderId: destinationFolder.id, secretVersionDAL, secretDAL, @@ -3300,7 +3309,7 @@ export const secretServiceFactory = ({ const locallyDeletedSecrets = decryptedSourceSecrets.map((el) => ({ ...el, operation: SecretOperations.Delete })); const sourceFolderPolicy = await secretApprovalPolicyService.getSecretApprovalPolicy( - project.id, + projectId, sourceFolder.environment.slug, sourceFolder.path ); diff --git a/frontend/src/hooks/api/workspace/queries.tsx b/frontend/src/hooks/api/workspace/queries.tsx index 0e312967f..4f21ebb5e 100644 --- a/frontend/src/hooks/api/workspace/queries.tsx +++ b/frontend/src/hooks/api/workspace/queries.tsx @@ -245,7 +245,9 @@ export const useUpdateProject = () => { newSlug, secretSharing, showSnapshotsLegacy, - secretDetectionIgnoreValues + secretDetectionIgnoreValues, + autoCapitalization, + pitVersionLimit }) => { const { data } = await apiRequest.patch<{ project: Project }>( `/api/v1/projects/${projectID}`, @@ -255,7 +257,9 @@ export const useUpdateProject = () => { slug: newSlug, secretSharing, showSnapshotsLegacy, - secretDetectionIgnoreValues + secretDetectionIgnoreValues, + autoCapitalization, + pitVersionLimit } ); return data.project; @@ -682,15 +686,15 @@ export const useListWorkspaceGroups = (projectId: string) => { }; export const useListWorkspaceCas = ({ - projectSlug, + projectId, status }: { - projectSlug: string; + projectId: string; status?: CaStatus; }) => { return useQuery({ queryKey: projectKeys.specificWorkspaceCas({ - projectSlug, + projectId, status }), queryFn: async () => { @@ -701,29 +705,29 @@ export const useListWorkspaceCas = ({ const { data: { cas } } = await apiRequest.get<{ cas: TCertificateAuthority[] }>( - `/api/v1/projects/${projectSlug}/cas`, + `/api/v1/projects/${projectId}/cas`, { params } ); return cas; }, - enabled: Boolean(projectSlug) + enabled: Boolean(projectId) }); }; export const useListWorkspaceCertificates = ({ - projectSlug, + projectId, offset, limit }: { - projectSlug: string; + projectId: string; offset: number; limit: number; }) => { return useQuery({ queryKey: projectKeys.specificWorkspaceCertificates({ - slug: projectSlug, + projectId, offset, limit }), @@ -736,7 +740,7 @@ export const useListWorkspaceCertificates = ({ const { data: { certificates, totalCount } } = await apiRequest.get<{ certificates: TCertificate[]; totalCount: number }>( - `/api/v1/projects/${projectSlug}/certificates`, + `/api/v1/projects/${projectId}/certificates`, { params } @@ -744,7 +748,7 @@ export const useListWorkspaceCertificates = ({ return { certificates, totalCount }; }, - enabled: Boolean(projectSlug) + enabled: Boolean(projectId) }); }; diff --git a/frontend/src/hooks/api/workspace/query-keys.tsx b/frontend/src/hooks/api/workspace/query-keys.tsx index 2da17b3aa..fe17dc68d 100644 --- a/frontend/src/hooks/api/workspace/query-keys.tsx +++ b/frontend/src/hooks/api/workspace/query-keys.tsx @@ -34,22 +34,22 @@ export const projectKeys = { getWorkspaceGroupMemberships: (projectId: string) => [{ projectId }, "project-groups"] as const, getWorkspaceGroupMembershipDetails: (projectId: string, groupId: string) => [{ projectId, groupId }, "project-group-membership-details"] as const, - getWorkspaceCas: ({ projectSlug }: { projectSlug: string }) => - [{ projectSlug }, "project-cas"] as const, - specificWorkspaceCas: ({ projectSlug, status }: { projectSlug: string; status?: CaStatus }) => - [...projectKeys.getWorkspaceCas({ projectSlug }), { status }] as const, + getWorkspaceCas: ({ projectId }: { projectId: string }) => + [{ projectId }, "project-cas"] as const, + specificWorkspaceCas: ({ projectId, status }: { projectId: string; status?: CaStatus }) => + [...projectKeys.getWorkspaceCas({ projectId }), { status }] as const, allWorkspaceCertificates: () => ["project-certificates"] as const, - forWorkspaceCertificates: (slug: string) => - [...projectKeys.allWorkspaceCertificates(), slug] as const, + forWorkspaceCertificates: (projectId: string) => + [...projectKeys.allWorkspaceCertificates(), projectId] as const, specificWorkspaceCertificates: ({ - slug, + projectId, offset, limit }: { - slug: string; + projectId: string; offset: number; limit: number; - }) => [...projectKeys.forWorkspaceCertificates(slug), { offset, limit }] as const, + }) => [...projectKeys.forWorkspaceCertificates(projectId), { offset, limit }] as const, getWorkspacePkiAlerts: (projectId: string) => [{ projectId }, "project-pki-alerts"] as const, getWorkspacePkiSubscribers: (projectId: string) => [{ projectId }, "project-pki-subscribers"] as const, diff --git a/frontend/src/hooks/api/workspace/types.ts b/frontend/src/hooks/api/workspace/types.ts index 50dff8337..7c8da4d4b 100644 --- a/frontend/src/hooks/api/workspace/types.ts +++ b/frontend/src/hooks/api/workspace/types.ts @@ -83,6 +83,8 @@ export type UpdateProjectDTO = { secretSharing?: boolean; showSnapshotsLegacy?: boolean; secretDetectionIgnoreValues?: string[]; + pitVersionLimit?: number; + autoCapitalization?: boolean; }; export type UpdatePitVersionLimitDTO = { projectSlug: string; pitVersionLimit: number }; diff --git a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesTable.tsx b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesTable.tsx index 98f83bc02..9a204afac 100644 --- a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesTable.tsx +++ b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesTable.tsx @@ -64,7 +64,7 @@ export const CertificatesTable = ({ handlePopUpOpen }: Props) => { const { currentWorkspace } = useWorkspace(); const { data, isPending } = useListWorkspaceCertificates({ - projectSlug: currentWorkspace?.slug ?? "", + projectId: currentWorkspace?.slug ?? "", offset: (page - 1) * perPage, limit: perPage }); diff --git a/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/components/AddPkiCollectionItemModal.tsx b/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/components/AddPkiCollectionItemModal.tsx index f356f2190..e1b6ebe17 100644 --- a/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/components/AddPkiCollectionItemModal.tsx +++ b/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/components/AddPkiCollectionItemModal.tsx @@ -49,7 +49,7 @@ export const AddPkiCollectionItemModal = ({ }); const { data } = useListWorkspaceCertificates({ - projectSlug: currentWorkspace?.slug || "", + projectId: currentWorkspace?.slug || "", offset: 0, limit: 25 }); From ac80242749baf503280bd98b19dfee8da9bab659 Mon Sep 17 00:00:00 2001 From: = Date: Sun, 14 Sep 2025 20:57:06 +0530 Subject: [PATCH 12/27] feat: removed last bit of workspace in frontend. Fatality! --- .../src/components/navigation/NavHeader.tsx | 12 +- .../permissions/AccessTree/hooks/index.ts | 10 +- .../project/ProjectOverviewChangeSection.tsx | 24 +-- .../components/projects/NewProjectModal.tsx | 6 +- .../CreateSecretRotationV2Modal.tsx | 4 +- .../SecretRotationV2ConfigurationFields.tsx | 4 +- .../forms/SecretRotationV2Form.tsx | 14 +- .../forms/SecretScanningDataSourceForm.tsx | 6 +- .../forms/CreateSecretSyncForm.tsx | 6 +- .../forms/SecretSyncSourceFields.tsx | 8 +- .../SecretReferenceDetails.tsx | 6 +- .../tags/CreateTagModal/CreateTagModal.tsx | 9 +- .../InfisicalSecretInput.tsx | 16 +- .../v2/SecretPathInput/SecretPathInput.tsx | 8 +- .../ProjectPermissionContext.tsx | 4 +- .../WorkspaceContext/WorkspaceContext.tsx | 12 +- .../src/context/WorkspaceContext/index.tsx | 2 +- frontend/src/context/index.tsx | 2 +- frontend/src/helpers/project.ts | 6 +- .../src/hooks/api/accessApproval/types.ts | 4 +- .../src/hooks/api/auditLogs/constants.tsx | 10 +- frontend/src/hooks/api/auditLogs/enums.tsx | 10 +- frontend/src/hooks/api/auditLogs/types.tsx | 10 +- frontend/src/hooks/api/auth/queries.tsx | 4 +- frontend/src/hooks/api/ca/mutations.tsx | 12 +- frontend/src/hooks/api/ca/types.ts | 1 + .../api/certificateTemplates/mutations.tsx | 8 +- .../src/hooks/api/certificates/mutations.tsx | 8 +- frontend/src/hooks/api/identities/types.ts | 2 +- frontend/src/hooks/api/index.tsx | 5 +- .../src/hooks/api/integrationAuth/queries.tsx | 14 +- .../src/hooks/api/integrations/queries.tsx | 8 +- .../src/hooks/api/migration/mutations.tsx | 4 +- .../src/hooks/api/pkiAlerts/mutations.tsx | 8 +- .../hooks/api/pkiCollections/mutations.tsx | 8 +- .../src/hooks/api/pkiSubscriber/mutations.tsx | 8 +- .../src/hooks/api/projectTemplates/types.ts | 2 +- .../api/{workspace => projects}/index.tsx | 3 +- .../api/{workspace => projects}/mutations.tsx | 12 +- .../api/{workspace => projects}/queries.tsx | 157 ++++++------------ .../src/hooks/api/projects/query-keys.tsx | 78 +++++++++ .../api/{workspace => projects}/types.ts | 9 +- .../src/hooks/api/secretApproval/types.ts | 4 +- frontend/src/hooks/api/secretFolders/types.ts | 4 +- frontend/src/hooks/api/secretImports/types.ts | 6 +- .../src/hooks/api/secretRotation/types.ts | 4 +- .../src/hooks/api/secretSnapshots/types.ts | 4 +- frontend/src/hooks/api/secrets/mutations.tsx | 8 +- frontend/src/hooks/api/secrets/types.ts | 1 - frontend/src/hooks/api/sshCa/mutations.tsx | 12 +- frontend/src/hooks/api/sshHost/mutations.tsx | 8 +- .../src/hooks/api/sshHostGroup/mutations.tsx | 12 +- frontend/src/hooks/api/tags/queries.tsx | 2 +- frontend/src/hooks/api/tags/types.ts | 2 +- frontend/src/hooks/api/types.ts | 8 +- frontend/src/hooks/api/users/mutation.tsx | 4 +- frontend/src/hooks/api/users/queries.tsx | 6 +- frontend/src/hooks/api/users/types.ts | 2 +- .../api/workflowIntegrations/mutation.tsx | 6 +- .../src/hooks/api/workspace/query-keys.tsx | 82 --------- .../src/hooks/useGetProjectTypeFromRoute.tsx | 2 +- frontend/src/hooks/usePathAccessPolicies.tsx | 6 +- frontend/src/layouts/KmsLayout/KmsLayout.tsx | 14 +- .../components/NavBar/Navbar.tsx | 4 +- .../PkiManagerLayout/PkiManagerLayout.tsx | 20 +-- .../AssumePrivilegeModeBanner.tsx | 13 +- .../ProjectSelect/ProjectSelect.tsx | 18 +- .../SecretManagerLayout.tsx | 31 ++-- .../SecretScanningLayout.tsx | 16 +- frontend/src/layouts/SshLayout/SshLayout.tsx | 14 +- .../AlertingPage/components/PkiAlertModal.tsx | 8 +- .../components/PkiAlertsSection.tsx | 6 +- .../components/PkiAlertsTable.tsx | 8 +- .../components/PkiCollectionModal.tsx | 6 +- .../components/PkiCollectionSection.tsx | 6 +- .../components/PkiCollectionTable.tsx | 8 +- .../CertAuthDetailsByIDPage.tsx | 12 +- .../components/CaDetailsSection.tsx | 6 +- .../components/CaRenewalModal.tsx | 6 +- .../ExternalCaInstallForm.tsx | 10 +- .../InternalCaInstallForm.tsx | 12 +- .../components/CaModal.tsx | 12 +- .../components/CaSection.tsx | 12 +- .../components/CaTable.tsx | 8 +- .../components/ExternalCaModal.tsx | 12 +- .../components/ExternalCaSection.tsx | 12 +- .../components/ExternalCaTable.tsx | 6 +- .../components/CertificateImportModal.tsx | 10 +- .../components/CertificateModal.tsx | 14 +- .../components/CertificateRevocationModal.tsx | 8 +- .../components/CertificateTemplateModal.tsx | 14 +- .../CertificateTemplatesSection.tsx | 8 +- .../components/CertificatesSection.tsx | 8 +- .../components/CertificatesTable.tsx | 8 +- .../PkiCollectionDetailsByIDPage.tsx | 6 +- .../components/AddPkiCollectionItemModal.tsx | 8 +- .../PkiSubscriberDetailsByIDPage.tsx | 6 +- .../PkiSubscriberCertificatesTable.tsx | 8 +- .../PkiSubscriberDetailsSection.tsx | 6 +- .../components/PkiSubscriberModal.tsx | 6 +- .../components/PkiSubscriberSection.tsx | 8 +- .../components/PkiSubscribersTable.tsx | 8 +- .../PkiTemplateListPage.tsx | 8 +- .../components/PkiTemplateForm.tsx | 12 +- frontend/src/pages/cert-manager/layout.tsx | 12 +- .../KmipPage/components/KmipClientModal.tsx | 6 +- .../KmipPage/components/KmipClientTable.tsx | 6 +- .../kms/OverviewPage/components/CmekModal.tsx | 6 +- .../kms/OverviewPage/components/CmekTable.tsx | 6 +- frontend/src/pages/kms/layout.tsx | 12 +- .../OrgMembersSection/AddOrgMemberModal.tsx | 6 +- .../AuditLogsPage/components/LogsFilter.tsx | 6 +- .../AuditLogsPage/components/LogsSection.tsx | 2 +- .../AuditLogsPage/components/types.tsx | 2 +- .../IdentityAddToProjectModal.tsx | 6 +- .../IdentityProjectRow.tsx | 4 +- .../IdentityProjectsSection.tsx | 2 +- .../components/AllProjectView.tsx | 4 +- .../ProjectsPage/components/MyProjectView.tsx | 6 +- .../components/EditProjectTemplate.tsx | 2 +- .../ProjectTemplateDetailsModal.tsx | 2 +- .../UserAddToProjectModal.tsx | 6 +- .../UserProjectsSection/UserProjectRow.tsx | 4 +- .../UserProjectsSection.tsx | 2 +- .../AccessControlPage/AccessControlPage.tsx | 12 +- .../components/GroupsSection/GroupModal.tsx | 10 +- .../components/GroupsSection/GroupRoles.tsx | 12 +- .../GroupsSection/GroupsSection.tsx | 6 +- .../components/GroupsSection/GroupsTable.tsx | 14 +- .../components/IdentityTab/IdentityTab.tsx | 20 +-- .../IdentityTab/components/IdentityModal.tsx | 11 +- .../MembersTab/components/AddMemberModal.tsx | 18 +- .../MemberRoleForm/MemberRbacSection.tsx | 11 +- .../MemberRoleForm/MemberRoleForm.tsx | 8 +- .../SpecificPrivilegeSection.tsx | 12 +- .../MembersTab/components/MembersSection.tsx | 8 +- .../MembersTab/components/MembersTable.tsx | 15 +- .../ProjectRoleList/ProjectRoleList.tsx | 14 +- .../AddServiceTokenModal.tsx | 20 +-- .../ServiceTokenSection/ServiceTokenTable.tsx | 6 +- .../project/AuditLogsPage/AuditLogsPage.tsx | 6 +- .../GroupDetailsByIDPage.tsx | 8 +- .../components/GroupDetailsSection.tsx | 10 +- .../GroupMembersSection/GroupMembersTable.tsx | 12 +- .../IdentityDetailsByIDPage.tsx | 20 +-- ...rojectAdditionalPrivilegeModifySection.tsx | 8 +- .../IdentityRoleDetailsSection.tsx | 6 +- .../IdentityRoleModify.tsx | 11 +- .../MemberDetailsByIDPage.tsx | 22 ++- ...rojectAdditionalPrivilegeModifySection.tsx | 8 +- .../MemberRoleDetailsSection.tsx | 11 +- .../MemberRoleModify.tsx | 11 +- .../RoleDetailsBySlugPage.tsx | 10 +- .../components/AddPoliciesButton.tsx | 2 +- .../components/DuplicateProjectRoleModal.tsx | 14 +- .../components/PolicySelectionModal.tsx | 2 +- .../components/PolicyTemplateModal.tsx | 2 +- .../ProjectRoleModifySection.utils.tsx | 2 +- .../components/RoleModal.tsx | 8 +- .../components/RolePermissionsSection.tsx | 14 +- .../AuditLogsRetentionSection.tsx | 12 +- .../DeleteProjectProtection.tsx | 17 +- .../DeleteProjectSection.tsx | 22 +-- .../CommitDetailsPage/CommitDetailsPage.tsx | 10 +- .../RollbackPreviewTab/RollbackPreviewTab.tsx | 10 +- .../CommitsPage/CommitsPage.tsx | 8 +- .../CommitHistoryTab/CommitHistoryTab.tsx | 2 +- .../components/IPAllowlistModal.tsx | 10 +- .../components/IPAllowlistSection.tsx | 8 +- .../components/IPAllowlistTable.tsx | 12 +- .../IntegrationsDetailsByIDPage.tsx | 10 +- .../IntegrationAuditLogsSection.tsx | 6 +- .../IntegrationsListPage.tsx | 6 +- .../CloudIntegrationSection.tsx | 14 +- .../NativeIntegrationsTab/IntegrationRow.tsx | 6 +- .../NativeIntegrationsTab.tsx | 8 +- .../SecretSyncTable/SecretSyncsTable.tsx | 6 +- .../SecretSyncsTab/SecretSyncsTab.tsx | 8 +- .../IntegrationsListPage/route.tsx | 6 +- .../OverviewPage/OverviewPage.tsx | 48 +++--- .../CreateSecretForm/CreateSecretForm.tsx | 19 +-- .../SecretOverviewTableRow.tsx | 4 +- .../SecretRenameRow.tsx | 9 +- .../components/QuickSearchModal.tsx | 4 +- .../components/QuickSearchSecretItem.tsx | 4 +- .../SecretV2MigrationSection.tsx | 18 +- .../SelectionPanel/SelectionPanel.tsx | 15 +- .../MoveSecretsDialog/MoveSecretsDialog.tsx | 6 +- .../SecretApprovalsPage.tsx | 9 +- .../AccessApprovalRequest.tsx | 6 +- .../components/ReviewAccessModal.tsx | 6 +- .../ApprovalPolicyList/ApprovalPolicyList.tsx | 28 ++-- .../components/AccessPolicyModal.tsx | 10 +- .../components/ApprovalPolicyRow.tsx | 4 +- .../components/RemoveApprovalPolicyModal.tsx | 12 +- .../SecretApprovalRequest.tsx | 14 +- .../SecretApprovalRequestAction.tsx | 8 +- .../SecretApprovalRequestChanges.tsx | 14 +- .../SecretDashboardPage.tsx | 66 ++++---- .../SecretMainPage.store.tsx | 20 +-- .../components/ActionBar/ActionBar.tsx | 49 +++--- .../AwsElastiCacheInputForm.tsx | 4 +- .../AwsIamInputForm.tsx | 4 +- .../AzureEntraIdInputForm.tsx | 4 +- .../CassandraInputForm.tsx | 4 +- .../CouchbaseInputForm.tsx | 4 +- .../CreateDynamicSecretForm.tsx | 4 +- .../ElasticSearchInputForm.tsx | 4 +- .../GcpIamInputForm.tsx | 4 +- .../GithubInputForm.tsx | 4 +- .../KubernetesInputForm.tsx | 4 +- .../CreateDynamicSecretForm/LdapInputForm.tsx | 4 +- .../MongoAtlasInputForm.tsx | 4 +- .../MongoDBInputForm.tsx | 4 +- .../RabbitMqInputForm.tsx | 4 +- .../RedisInputForm.tsx | 4 +- .../SapAseInputForm.tsx | 4 +- .../SapHanaInputForm.tsx | 4 +- .../SnowflakeInputForm.tsx | 4 +- .../SqlDatabaseInputForm.tsx | 4 +- .../CreateDynamicSecretForm/TotpInputForm.tsx | 4 +- .../VerticaInputForm.tsx | 4 +- .../ActionBar/CreateSecretImportForm.tsx | 10 +- .../components/ActionBar/MoveSecretsModal.tsx | 6 +- .../ReplicateFolderFromBoard.tsx | 4 +- .../components/CommitForm/CommitForm.tsx | 6 +- .../CompareEnvironments.tsx | 26 +-- .../components/SecretRow/SecretRow.tsx | 4 +- .../CreateSecretForm/CreateSecretForm.tsx | 13 +- .../EnvironmentTabs/EnvironmentTabs.tsx | 34 ++-- .../FolderListView/FolderListView.tsx | 8 +- .../SecretDropzone/SecretDropzone.tsx | 18 +- .../SecretImportListView/SecretImportItem.tsx | 6 +- .../SecretImportListView.tsx | 4 +- .../CollapsibleSecretImports.tsx | 8 +- .../SecretListView/CreateReminderForm.tsx | 14 +- .../SecretListView/SecretDetailSidebar.tsx | 26 ++- .../components/SecretListView/SecretItem.tsx | 12 +- .../SecretListView/SecretListView.tsx | 70 +++++--- .../components/SnapshotView/SnapshotView.tsx | 6 +- .../SecretRotationPage/SecretRotationPage.tsx | 12 +- .../steps/RotationOutputForm.tsx | 10 +- .../components/SecretSyncAuditLogsSection.tsx | 6 +- .../SettingsPage/SettingsPage.tsx | 8 +- .../AutoCapitalizationSection.tsx | 16 +- .../BackfillSecretReferenceSection.tsx | 8 +- .../EncryptionTab/EncryptionTab.tsx | 35 ++-- .../AddEnvironmentModal.tsx | 14 +- .../EnvironmentSection/EnvironmentSection.tsx | 12 +- .../EnvironmentSection/EnvironmentTable.tsx | 27 ++- .../UpdateEnvironmentModal.tsx | 8 +- .../PointInTimeVersionLimitSection.tsx | 16 +- .../SecretDetectionIgnoreValuesSection.tsx | 12 +- .../SecretSharingSection.tsx | 12 +- .../SecretSnapshotsLegacySection.tsx | 12 +- .../SecretTagsSection/AddSecretTagModal.tsx | 10 +- .../SecretTagsSection/SecretTagsSection.tsx | 6 +- .../SecretTagsSection/SecretTagsTable.tsx | 6 +- .../components/WebhooksTab/WebhooksTab.tsx | 8 +- .../WorkflowIntegrationTab.tsx | 12 +- .../AddWorkflowIntegrationModal.tsx | 8 +- .../MicrosoftTeamsIntegrationForm.tsx | 12 +- .../components/SlackIntegrationForm.tsx | 12 +- .../AwsParameterStoreAuthorizePage.tsx | 8 +- .../AwsParamterStoreConfigurePage.tsx | 16 +- .../AwsSecretManagerAuthorizePage.tsx | 8 +- .../AwsSecretManagerConfigurePage.tsx | 16 +- .../AzureAppConfigurationConfigurePage.tsx | 10 +- ...AzureAppConfigurationOauthCallbackPage.tsx | 8 +- .../AzureDevopsAuthorizePage.tsx | 8 +- .../AzureDevopsConfigurePage.tsx | 10 +- .../AzureKeyVaultConfigurePage.tsx | 10 +- .../AzureKeyVaultOauthCallback.tsx | 8 +- .../BitbucketConfigurePage.tsx | 16 +- .../BitbucketOauthCallbackPage.tsx | 8 +- .../ChecklyAuthorizePage.tsx | 8 +- .../ChecklyConfigurePage.tsx | 10 +- .../CircleCIAuthorizePage.tsx | 8 +- .../CircleCIConfigurePage.tsx | 12 +- .../Cloud66AuthorizePage.tsx | 8 +- .../Cloud66ConfigurePage.tsx | 14 +- .../CloudflarePagesAuthorizePage.tsx | 8 +- .../CloudflarePagesConfigurePage.tsx | 8 +- .../CloudflareWorkersAuthorizePage.tsx | 8 +- .../CloudflareWorkersConfigurePage.tsx | 10 +- .../CodefreshAuthorizePage.tsx | 8 +- .../CodefreshConfigurePage.tsx | 10 +- .../DatabricksAuthorizePage.tsx | 8 +- .../DatabricksConfigurePage.tsx | 10 +- .../DigitalOceanAppPlatformAuthorizePage.tsx | 8 +- .../DigitalOceanAppPlatformConfigurePage.tsx | 10 +- .../FlyioAuthorizePage/FlyioAuthorizePage.tsx | 8 +- .../FlyioConfigurePage/FlyioConfigurePage.tsx | 10 +- .../GcpSecretManagerAuthorizePage.tsx | 10 +- .../GcpSecretManagerConfigurePage.tsx | 10 +- .../GcpSecretManagerOauthCallbackPage.tsx | 8 +- .../GithubAuthorizePage.tsx | 8 +- .../GithubConfigurePage.tsx | 10 +- .../GithubOauthCallbackPage.tsx | 8 +- .../GitlabAuthorizePage.tsx | 8 +- .../GitlabConfigurePage.tsx | 10 +- .../GitlabOauthCallbackPage.tsx | 8 +- .../HashicorpVaultAuthorizePage.tsx | 8 +- .../HashicorpVaultConfigurePage.tsx | 12 +- .../HasuraCloudAuthorizePage.tsx | 8 +- .../HasuraCloudConfigurePage.tsx | 8 +- .../HerokuConfigurePage.tsx | 10 +- .../HerokuOauthCallbackPage.tsx | 8 +- .../LaravelForgeAuthorizePage.tsx | 8 +- .../LaravelForgeConfigurePage.tsx | 10 +- .../NetlifyConfigurePage.tsx | 10 +- .../NetlifyOauthCallbackPage.tsx | 8 +- .../NorthflankAuthorizePage.tsx | 8 +- .../NorthflankConfigurePage.tsx | 10 +- .../OctopusDeployAuthorizePage.tsx | 8 +- .../OctopusDeployConfigurePage.tsx | 16 +- .../QoveryAuthorizePage.tsx | 8 +- .../QoveryConfigurePage.tsx | 10 +- .../RailwayAuthorizePage.tsx | 8 +- .../RailwayConfigurePage.tsx | 10 +- .../RenderAuthorizePage.tsx | 8 +- .../RenderConfigurePage.tsx | 10 +- .../RundeckAuthorizePage.tsx | 8 +- .../RundeckConfigurePage.tsx | 10 +- .../SelectIntegrationAuthPage.tsx | 16 +- .../SupabaseAuthorizePage.tsx | 8 +- .../SupabaseConfigurePage.tsx | 10 +- .../TeamcityAuthorizePage.tsx | 8 +- .../TeamcityConfigurePage.tsx | 10 +- .../TerraformCloudAuthorizePage.tsx | 8 +- .../TerraformCloudConfigurePage.tsx | 10 +- .../TravisCIAuthorizePage.tsx | 8 +- .../TravisCIConfigurePage.tsx | 10 +- .../VercelConfigurePage.tsx | 10 +- .../VercelOauthCallbackPage.tsx | 8 +- .../WindmillAuthorizePage.tsx | 8 +- .../WindmillConfigurePage.tsx | 10 +- frontend/src/pages/secret-manager/layout.tsx | 12 +- .../components/SecretScanningScanRow.tsx | 6 +- .../SecretScanningDataSourcesSection.tsx | 6 +- .../SecretScanningFindingsSection.tsx | 6 +- .../ProjectScanningConfigTab.tsx | 6 +- frontend/src/pages/secret-scanning/layout.tsx | 12 +- .../components/ProjectSshConfigCasSection.tsx | 10 +- .../pages/ssh/SshCaByIDPage/SshCaByIDPage.tsx | 6 +- .../components/SshCertificateModal.tsx | 6 +- .../SshCertificateTemplateModal.tsx | 6 +- .../ssh/SshCasPage/components/SshCaModal.tsx | 6 +- .../ssh/SshCasPage/components/SshCaTable.tsx | 8 +- .../components/SshCertificatesTable.tsx | 6 +- .../SshHostGroupDetailsByIDPage.tsx | 6 +- .../components/SshHostGroupModal.tsx | 6 +- .../components/SshHostGroupsTable.tsx | 10 +- .../SshHostsPage/components/SshHostModal.tsx | 8 +- .../SshHostsPage/components/SshHostsTable.tsx | 6 +- frontend/src/pages/ssh/layout.tsx | 12 +- 356 files changed, 1788 insertions(+), 1890 deletions(-) rename frontend/src/hooks/api/{workspace => projects}/index.tsx (96%) rename frontend/src/hooks/api/{workspace => projects}/mutations.tsx (90%) rename frontend/src/hooks/api/{workspace => projects}/queries.tsx (82%) create mode 100644 frontend/src/hooks/api/projects/query-keys.tsx rename frontend/src/hooks/api/{workspace => projects}/types.ts (96%) delete mode 100644 frontend/src/hooks/api/workspace/query-keys.tsx diff --git a/frontend/src/components/navigation/NavHeader.tsx b/frontend/src/components/navigation/NavHeader.tsx index 1283c02d1..b16015680 100644 --- a/frontend/src/components/navigation/NavHeader.tsx +++ b/frontend/src/components/navigation/NavHeader.tsx @@ -4,7 +4,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Link, useParams } from "@tanstack/react-router"; import { twMerge } from "tailwind-merge"; -import { useOrganization, useWorkspace } from "@app/context"; +import { useOrganization, useProject } from "@app/context"; import { useToggle } from "@app/hooks"; import { createNotification } from "../notifications"; @@ -51,7 +51,7 @@ export default function NavHeader({ isProtectedBranch = false, protectionPolicyName }: Props): JSX.Element { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { currentOrg } = useOrganization(); const [isCopied, { timedToggle: toggleIsCopied }] = useToggle(false); @@ -79,7 +79,7 @@ export default function NavHeader({ <>
    - {currentWorkspace?.name} + {currentProject?.name}
    )} @@ -93,7 +93,7 @@ export default function NavHeader({ {pageName === "Secrets" ? ( {pageName} @@ -129,7 +129,7 @@ export default function NavHeader({ {userAvailableEnvs?.find(({ slug }) => slug === currentEnv)?.name} @@ -192,7 +192,7 @@ export default function NavHeader({ ({ ...query, secretPath: newSecretPath })} diff --git a/frontend/src/components/permissions/AccessTree/hooks/index.ts b/frontend/src/components/permissions/AccessTree/hooks/index.ts index 717bdaf3a..b02e6a9d6 100644 --- a/frontend/src/components/permissions/AccessTree/hooks/index.ts +++ b/frontend/src/components/permissions/AccessTree/hooks/index.ts @@ -3,7 +3,7 @@ import { useFormContext, useWatch } from "react-hook-form"; import { MongoAbility, MongoQuery } from "@casl/ability"; import { Edge, Node, useEdgesState, useNodesState } from "@xyflow/react"; -import { ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionSub, useProject } from "@app/context"; import { ProjectPermissionSet } from "@app/context/ProjectPermissionContext"; import { useListProjectEnvironmentsFolders } from "@app/hooks/api/secretFolders/queries"; import { TSecretFolderWithPath } from "@app/hooks/api/secretFolders/types"; @@ -36,15 +36,15 @@ export const useAccessTree = ( searchPath: string, subject: ProjectPermissionSub ) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { secretName, setSecretName, setViewMode, viewMode } = useAccessTreeContext(); const { control } = useFormContext(); const metadata = useWatch({ control, name: "metadata" }); const [nodes, setNodes] = useNodesState([]); const [edges, setEdges] = useEdgesState([]); - const [environment, setEnvironment] = useState(currentWorkspace.environments[0]?.slug ?? ""); + const [environment, setEnvironment] = useState(currentProject.environments[0]?.slug ?? ""); const { data: environmentsFolders, isPending } = useListProjectEnvironmentsFolders( - currentWorkspace.id + currentProject.id ); const [levelFolderMap, setLevelFolderMap] = useState({}); @@ -279,7 +279,7 @@ export const useAccessTree = ( environment, setEnvironment, isLoading: isPending, - environments: currentWorkspace.environments, + environments: currentProject.environments, secretName, setSecretName, viewMode, diff --git a/frontend/src/components/project/ProjectOverviewChangeSection.tsx b/frontend/src/components/project/ProjectOverviewChangeSection.tsx index 0f88ec2e9..852253bb3 100644 --- a/frontend/src/components/project/ProjectOverviewChangeSection.tsx +++ b/frontend/src/components/project/ProjectOverviewChangeSection.tsx @@ -6,7 +6,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; import { Button, FormControl, Input, TextArea } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { useUpdateProject } from "@app/hooks/api"; const baseFormSchema = z.object({ @@ -37,35 +37,35 @@ type Props = { }; export const ProjectOverviewChangeSection = ({ showSlugField = false }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync, isPending } = useUpdateProject(); const { handleSubmit, control, reset, watch } = useForm({ resolver: zodResolver(showSlugField ? formSchemaWithSlug : baseFormSchema) }); - const currentSlug = showSlugField ? watch("slug") : currentWorkspace?.slug; + const currentSlug = showSlugField ? watch("slug") : currentProject?.slug; useEffect(() => { - if (currentWorkspace) { + if (currentProject) { reset({ - name: currentWorkspace.name, - description: currentWorkspace.description ?? "", - ...(showSlugField && { slug: currentWorkspace.slug }) + name: currentProject.name, + description: currentProject.description ?? "", + ...(showSlugField && { slug: currentProject.slug }) }); } - }, [currentWorkspace, showSlugField]); + }, [currentProject, showSlugField]); const onFormSubmit = async (data: BaseFormData | FormDataWithSlug) => { try { - if (!currentWorkspace?.id) return; + if (!currentProject?.id) return; await mutateAsync({ - projectID: currentWorkspace.id, + projectId: currentProject.id, newProjectName: data.name, newProjectDescription: data.description, ...(showSlugField && "slug" in data && { - newSlug: data.slug !== currentWorkspace.slug ? data.slug : undefined + newSlug: data.slug !== currentProject.slug ? data.slug : undefined }) }); @@ -105,7 +105,7 @@ export const ProjectOverviewChangeSection = ({ showSlugField = false }: Props) = variant="outline_bg" size="sm" onClick={() => { - navigator.clipboard.writeText(currentWorkspace?.id || ""); + navigator.clipboard.writeText(currentProject?.id || ""); createNotification({ text: "Copied project ID to clipboard", type: "success" diff --git a/frontend/src/components/projects/NewProjectModal.tsx b/frontend/src/components/projects/NewProjectModal.tsx index 1bbe9f6f1..f097ae428 100644 --- a/frontend/src/components/projects/NewProjectModal.tsx +++ b/frontend/src/components/projects/NewProjectModal.tsx @@ -34,10 +34,10 @@ import { useUser } from "@app/context"; import { getProjectHomePage, getProjectLottieIcon } from "@app/helpers/project"; -import { useCreateWorkspace, useGetExternalKmsList, useGetUserWorkspaces } from "@app/hooks/api"; +import { useCreateWorkspace, useGetExternalKmsList, useGetUserProjects } from "@app/hooks/api"; import { INTERNAL_KMS_KEY_ID } from "@app/hooks/api/kms/types"; import { InfisicalProjectTemplate, useListProjectTemplates } from "@app/hooks/api/projectTemplates"; -import { ProjectType } from "@app/hooks/api/workspace/types"; +import { ProjectType } from "@app/hooks/api/projects/types"; const formSchema = z.object({ name: z.string().trim().min(1, "Required").max(64, "Too long, maximum length is 64 characters"), @@ -89,7 +89,7 @@ const NewProjectForm = ({ onOpenChange }: NewProjectFormProps) => { const { permission } = useOrgPermission(); const { user } = useUser(); const createWs = useCreateWorkspace(); - const { refetch: refetchWorkspaces } = useGetUserWorkspaces(); + const { refetch: refetchWorkspaces } = useGetUserProjects(); const { subscription } = useSubscription(); const canReadProjectTemplates = permission.can( diff --git a/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx b/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx index f5b9a39b3..7813ed3c9 100644 --- a/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx +++ b/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx @@ -7,12 +7,12 @@ import { SecretRotationV2ModalHeader } from "@app/components/secret-rotations-v2 import { SecretRotationV2Select } from "@app/components/secret-rotations-v2/SecretRotationV2Select"; import { Modal, ModalContent } from "@app/components/v2"; import { SecretRotation, TSecretRotationV2 } from "@app/hooks/api/secretRotationsV2"; -import { WorkspaceEnv } from "@app/hooks/api/workspace/types"; +import { ProjectEnv } from "@app/hooks/api/projects/types"; type SharedProps = { secretPath: string; environment?: string; - environments?: WorkspaceEnv[]; + environments?: ProjectEnv[]; }; type Props = { diff --git a/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2ConfigurationFields.tsx b/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2ConfigurationFields.tsx index 1906b743d..e518752c4 100644 --- a/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2ConfigurationFields.tsx +++ b/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2ConfigurationFields.tsx @@ -9,14 +9,14 @@ import { IS_ROTATION_DUAL_CREDENTIALS, SECRET_ROTATION_MAP } from "@app/helpers/secretRotationsV2"; -import { WorkspaceEnv } from "@app/hooks/api/workspace/types"; +import { ProjectEnv } from "@app/hooks/api/projects/types"; import { TSecretRotationV2Form } from "./schemas"; import { SecretRotationV2ConnectionField } from "./SecretRotationV2ConnectionField"; type Props = { isUpdate: boolean; - environments?: WorkspaceEnv[]; + environments?: ProjectEnv[]; }; export const SecretRotationV2ConfigurationFields = ({ isUpdate, environments }: Props) => { diff --git a/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2Form.tsx b/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2Form.tsx index d931d9d3c..793443a9e 100644 --- a/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2Form.tsx +++ b/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2Form.tsx @@ -11,7 +11,7 @@ import { SecretRotationV2ParametersFields } from "@app/components/secret-rotatio import { SecretRotationV2ReviewFields } from "@app/components/secret-rotations-v2/forms/SecretRotationV2ReviewFields"; import { SecretRotationV2SecretsMappingFields } from "@app/components/secret-rotations-v2/forms/SecretRotationV2SecretsMappingFields"; import { Button } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { IS_ROTATION_DUAL_CREDENTIALS, SECRET_ROTATION_MAP } from "@app/helpers/secretRotationsV2"; import { SecretRotation, @@ -22,7 +22,7 @@ import { useCreateSecretRotationV2, useUpdateSecretRotationV2 } from "@app/hooks/api/secretRotationsV2/mutations"; -import { WorkspaceEnv } from "@app/hooks/api/workspace/types"; +import { ProjectEnv } from "@app/hooks/api/projects/types"; import { SecretRotationV2FormSchema, TSecretRotationV2Form } from "./schemas"; @@ -32,7 +32,7 @@ type Props = { onCancel: () => void; secretPath: string; environment?: string; - environments?: WorkspaceEnv[]; + environments?: ProjectEnv[]; secretRotation?: TSecretRotationV2; }; @@ -68,7 +68,7 @@ export const SecretRotationV2Form = ({ }: Props) => { const createSecretRotation = useCreateSecretRotationV2(); const updateSecretRotation = useUpdateSecretRotationV2(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { name: rotationType } = SECRET_ROTATION_MAP[type]; const [selectedTabIndex, setSelectedTabIndex] = useState(0); @@ -80,7 +80,7 @@ export const SecretRotationV2Form = ({ defaultValues: secretRotation ? { ...secretRotation, - environment: currentWorkspace?.environments.find((env) => env.slug === envSlug), + environment: currentProject?.environments.find((env) => env.slug === envSlug), secretPath } : { @@ -91,7 +91,7 @@ export const SecretRotationV2Form = ({ hours: 0, minutes: 0 }, - environment: currentWorkspace?.environments.find((env) => env.slug === envSlug), + environment: currentProject?.environments.find((env) => env.slug === envSlug), secretPath, ...(rotationOption!.template as object) // can't infer type since we don't know which specific type it is }, @@ -115,7 +115,7 @@ export const SecretRotationV2Form = ({ connectionId: connection.id, environment: environment.slug, - projectId: currentWorkspace.id + projectId: currentProject.id }); try { const rotation = await mutation; diff --git a/frontend/src/components/secret-scanning/forms/SecretScanningDataSourceForm.tsx b/frontend/src/components/secret-scanning/forms/SecretScanningDataSourceForm.tsx index b1ea0b559..948cfcdc1 100644 --- a/frontend/src/components/secret-scanning/forms/SecretScanningDataSourceForm.tsx +++ b/frontend/src/components/secret-scanning/forms/SecretScanningDataSourceForm.tsx @@ -6,7 +6,7 @@ import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; import { Button } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { SECRET_SCANNING_DATA_SOURCE_MAP } from "@app/helpers/secretScanningV2"; import { SecretScanningDataSource, @@ -39,7 +39,7 @@ const FORM_TABS: { name: string; key: string; fields: (keyof TSecretScanningData export const SecretScanningDataSourceForm = ({ type, onComplete, onCancel, dataSource }: Props) => { const createDataSource = useCreateSecretScanningDataSource(); const updateDataSource = useUpdateSecretScanningDataSource(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { name: sourceType } = SECRET_SCANNING_DATA_SOURCE_MAP[type]; const [selectedTabIndex, setSelectedTabIndex] = useState(0); @@ -63,7 +63,7 @@ export const SecretScanningDataSourceForm = ({ type, onComplete, onCancel, dataS : createDataSource.mutateAsync({ ...formData, connectionId: connection?.id, - projectId: currentWorkspace.id + projectId: currentProject.id }); try { const source = await mutation; diff --git a/frontend/src/components/secret-syncs/forms/CreateSecretSyncForm.tsx b/frontend/src/components/secret-syncs/forms/CreateSecretSyncForm.tsx index 8a1be69c4..8e5a0ebf4 100644 --- a/frontend/src/components/secret-syncs/forms/CreateSecretSyncForm.tsx +++ b/frontend/src/components/secret-syncs/forms/CreateSecretSyncForm.tsx @@ -8,7 +8,7 @@ import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Switch } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { SECRET_SYNC_MAP } from "@app/helpers/secretSyncs"; import { SecretSync, @@ -41,7 +41,7 @@ const FORM_TABS: { name: string; key: string; fields: (keyof TSecretSyncForm)[] export const CreateSecretSyncForm = ({ destination, onComplete, onCancel }: Props) => { const createSecretSync = useCreateSecretSync(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { name: destinationName } = SECRET_SYNC_MAP[destination]; const [showConfirmation, setShowConfirmation] = useState(false); @@ -70,7 +70,7 @@ export const CreateSecretSyncForm = ({ destination, onComplete, onCancel }: Prop ...formData, connectionId: connection.id, environment: environment.slug, - projectId: currentWorkspace.id + projectId: currentProject.id }); createNotification({ diff --git a/frontend/src/components/secret-syncs/forms/SecretSyncSourceFields.tsx b/frontend/src/components/secret-syncs/forms/SecretSyncSourceFields.tsx index 850ebbc80..8aa6d4fe2 100644 --- a/frontend/src/components/secret-syncs/forms/SecretSyncSourceFields.tsx +++ b/frontend/src/components/secret-syncs/forms/SecretSyncSourceFields.tsx @@ -4,7 +4,7 @@ import { subject } from "@casl/ability"; import { FilterableSelect, FormControl } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; -import { useProjectPermission, useWorkspace } from "@app/context"; +import { useProjectPermission, useProject } from "@app/context"; import { ProjectPermissionSecretSyncActions, ProjectPermissionSub @@ -16,7 +16,7 @@ export const SecretSyncSourceFields = () => { const { control, watch, setError, clearErrors } = useFormContext(); const { permission } = useProjectPermission(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const selectedEnvironment = watch("environment"); const selectedSecretPath = watch("secretPath"); @@ -48,7 +48,7 @@ export const SecretSyncSourceFields = () => {

    ( @@ -56,7 +56,7 @@ export const SecretSyncSourceFields = () => { option?.name} getOptionValue={(option) => option?.id} diff --git a/frontend/src/components/secrets/SecretReferenceDetails/SecretReferenceDetails.tsx b/frontend/src/components/secrets/SecretReferenceDetails/SecretReferenceDetails.tsx index a9542c90c..ada741145 100644 --- a/frontend/src/components/secrets/SecretReferenceDetails/SecretReferenceDetails.tsx +++ b/frontend/src/components/secrets/SecretReferenceDetails/SecretReferenceDetails.tsx @@ -13,7 +13,7 @@ import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; import { FormControl, FormLabel, SecretInput, Spinner, Tooltip } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useGetSecretReferenceTree } from "@app/hooks/api"; import { ApiErrorTypes, TApiErrors, TSecretReferenceTraceNode } from "@app/hooks/api/types"; @@ -89,8 +89,8 @@ export const SecretReferenceNode = ({ }; export const SecretReferenceTree = ({ secretPath, environment, secretKey }: Props) => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data, isPending, isError, error } = useGetSecretReferenceTree({ secretPath, diff --git a/frontend/src/components/tags/CreateTagModal/CreateTagModal.tsx b/frontend/src/components/tags/CreateTagModal/CreateTagModal.tsx index b1773b2e3..d48b7d95f 100644 --- a/frontend/src/components/tags/CreateTagModal/CreateTagModal.tsx +++ b/frontend/src/components/tags/CreateTagModal/CreateTagModal.tsx @@ -15,7 +15,7 @@ import { ModalContent, Tooltip } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateWsTag } from "@app/hooks/api"; import { slugSchema } from "@app/lib/schemas"; @@ -115,11 +115,10 @@ export const CreateTagModal = ({ isOpen, onToggle }: Props): JSX.Element => { } }); - const { currentWorkspace } = useWorkspace(); - const workspaceId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { mutateAsync: createWsTag } = useCreateWsTag(); - const [showHexInput, setShowHexInput] = useState(false); const selectedTagColor = watch("color", secretTagsColors[0].hex); @@ -130,7 +129,7 @@ export const CreateTagModal = ({ isOpen, onToggle }: Props): JSX.Element => { const onFormSubmit = async ({ slug, color }: FormData) => { try { await createWsTag({ - workspaceID: workspaceId, + projectId, tagColor: color, tagSlug: slug }); diff --git a/frontend/src/components/v2/InfisicalSecretInput/InfisicalSecretInput.tsx b/frontend/src/components/v2/InfisicalSecretInput/InfisicalSecretInput.tsx index ee2f196b1..82da9b8c8 100644 --- a/frontend/src/components/v2/InfisicalSecretInput/InfisicalSecretInput.tsx +++ b/frontend/src/components/v2/InfisicalSecretInput/InfisicalSecretInput.tsx @@ -3,7 +3,7 @@ import { faFolder, faKey, faLayerGroup } from "@fortawesome/free-solid-svg-icons import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import * as Popover from "@radix-ui/react-popover"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useDebounce, useToggle } from "@app/hooks"; import { useGetProjectFolders, useGetProjectSecrets } from "@app/hooks/api"; @@ -76,8 +76,8 @@ export const InfisicalSecretInput = forwardRef( }, ref ) => { - const { currentWorkspace } = useWorkspace(); - const workspaceId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const [debouncedValue] = useDebounce(value, 100); @@ -101,7 +101,7 @@ export const InfisicalSecretInput = forwardRef( let predicate = suggestionSourceValue; if (isDeep) { const [envSlug, ...folderPaths] = suggestionSourceValue.split("."); - const isValidEnvSlug = currentWorkspace?.environments.find((e) => e.slug === envSlug); + const isValidEnvSlug = currentProject?.environments.find((e) => e.slug === envSlug); suggestionSourceEnv = isValidEnvSlug ? envSlug : undefined; suggestionSourceSecretPath = `/${folderPaths.slice(0, -1)?.join("/")}`; predicate = folderPaths[folderPaths.length - 1]; @@ -125,7 +125,7 @@ export const InfisicalSecretInput = forwardRef( viewSecretValue: false, environment: suggestionSource.environment || "", secretPath: suggestionSource.secretPath || "", - workspaceId, + projectId, options: { enabled: isPopupOpen } @@ -133,7 +133,7 @@ export const InfisicalSecretInput = forwardRef( const { data: folders } = useGetProjectFolders({ environment: suggestionSource.environment || "", path: suggestionSource.secretPath || "", - projectId: workspaceId, + projectId: projectId, options: { enabled: isPopupOpen } @@ -148,7 +148,7 @@ export const InfisicalSecretInput = forwardRef( if (!suggestionSource.isDeep) { // At first level only environments and secrets - (currentWorkspace?.environments || []).forEach(({ name, slug }) => { + (currentProject?.environments || []).forEach(({ name, slug }) => { if (name.toLowerCase().startsWith(predicate)) suggestionsArr.push({ label: name, @@ -176,7 +176,7 @@ export const InfisicalSecretInput = forwardRef( }); }); return suggestionsArr; - }, [secrets, folders, currentWorkspace?.environments, isPopupOpen, suggestionSource.value]); + }, [secrets, folders, currentProject?.environments, isPopupOpen, suggestionSource.value]); const handleSuggestionSelect = (selectIndex?: number) => { const selectedSuggestion = diff --git a/frontend/src/components/v2/SecretPathInput/SecretPathInput.tsx b/frontend/src/components/v2/SecretPathInput/SecretPathInput.tsx index a1d4fb2a2..a4b33fd38 100644 --- a/frontend/src/components/v2/SecretPathInput/SecretPathInput.tsx +++ b/frontend/src/components/v2/SecretPathInput/SecretPathInput.tsx @@ -4,7 +4,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import * as Popover from "@radix-ui/react-popover"; import { twMerge } from "tailwind-merge"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useDebounce } from "@app/hooks"; import { useGetFoldersByEnv } from "@app/hooks/api"; @@ -35,11 +35,11 @@ export const SecretPathInput = ({ const [highlightedIndex, setHighlightedIndex] = useState(-1); const [debouncedInputValue] = useDebounce(inputValue, 200); - const { currentWorkspace } = useWorkspace(); - const workspaceId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const workspaceId = currentProject?.id || ""; const { folderNames: folders } = useGetFoldersByEnv({ path: secretPath, - environments: [environment || currentWorkspace?.environments?.[0].slug || ""], + environments: [environment || currentProject?.environments?.[0].slug || ""], projectId: workspaceId }); diff --git a/frontend/src/context/ProjectPermissionContext/ProjectPermissionContext.tsx b/frontend/src/context/ProjectPermissionContext/ProjectPermissionContext.tsx index a824f6fa6..871d5c338 100644 --- a/frontend/src/context/ProjectPermissionContext/ProjectPermissionContext.tsx +++ b/frontend/src/context/ProjectPermissionContext/ProjectPermissionContext.tsx @@ -22,8 +22,8 @@ export const useProjectPermission = () => { const { data: { permission, membership, assumedPrivilegeDetails } } = useSuspenseQuery({ - queryKey: roleQueryKeys.getUserProjectPermissions({ workspaceId: projectId }), - queryFn: () => fetchUserProjectPermissions({ workspaceId: projectId }), + queryKey: roleQueryKeys.getUserProjectPermissions({ projectId }), + queryFn: () => fetchUserProjectPermissions({ projectId }), staleTime: Infinity, select: (data) => { const rule = unpackRules>>(data.permissions); diff --git a/frontend/src/context/WorkspaceContext/WorkspaceContext.tsx b/frontend/src/context/WorkspaceContext/WorkspaceContext.tsx index 9d3aadd5d..7256741ef 100644 --- a/frontend/src/context/WorkspaceContext/WorkspaceContext.tsx +++ b/frontend/src/context/WorkspaceContext/WorkspaceContext.tsx @@ -2,9 +2,9 @@ import { useSuspenseQuery } from "@tanstack/react-query"; import { useParams } from "@tanstack/react-router"; import { projectKeys } from "@app/hooks/api"; -import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; +import { fetchProjectById } from "@app/hooks/api/projects/queries"; -export const useWorkspace = () => { +export const useProject = () => { const params = useParams({ strict: false }); @@ -12,11 +12,11 @@ export const useWorkspace = () => { throw new Error("Missing project id"); } - const { data: currentWorkspace } = useSuspenseQuery({ - queryKey: projectKeys.getWorkspaceById(params.projectId), - queryFn: () => fetchWorkspaceById(params.projectId as string), + const { data: currentProject } = useSuspenseQuery({ + queryKey: projectKeys.getProjectById(params.projectId), + queryFn: () => fetchProjectById(params.projectId as string), staleTime: Infinity }); - return { currentWorkspace }; + return { currentProject, projectId: currentProject.id }; }; diff --git a/frontend/src/context/WorkspaceContext/index.tsx b/frontend/src/context/WorkspaceContext/index.tsx index b0c25d4da..6e4b5ce69 100644 --- a/frontend/src/context/WorkspaceContext/index.tsx +++ b/frontend/src/context/WorkspaceContext/index.tsx @@ -1 +1 @@ -export { useWorkspace } from "./WorkspaceContext"; +export { useProject } from "./WorkspaceContext"; diff --git a/frontend/src/context/index.tsx b/frontend/src/context/index.tsx index bfb504664..1659027db 100644 --- a/frontend/src/context/index.tsx +++ b/frontend/src/context/index.tsx @@ -29,4 +29,4 @@ export { export { useServerConfig } from "./ServerConfigContext"; export { useSubscription } from "./SubscriptionContext"; export { useUser } from "./UserContext"; -export { useWorkspace } from "./WorkspaceContext"; +export { useProject } from "./WorkspaceContext"; diff --git a/frontend/src/helpers/project.ts b/frontend/src/helpers/project.ts index 7c9185556..d2dbce2c6 100644 --- a/frontend/src/helpers/project.ts +++ b/frontend/src/helpers/project.ts @@ -1,6 +1,6 @@ import { apiRequest } from "@app/config/request"; -import { createWorkspace } from "@app/hooks/api/workspace/queries"; -import { ProjectType, WorkspaceEnv } from "@app/hooks/api/workspace/types"; +import { createWorkspace } from "@app/hooks/api/projects/queries"; +import { ProjectType, ProjectEnv } from "@app/hooks/api/projects/types"; const secretsToBeAdded = [ { @@ -74,7 +74,7 @@ export const getProjectBaseURL = (type: ProjectType) => { // @ts-expect-error akhilmhdh: will remove this later // eslint-disable-next-line @typescript-eslint/no-unused-vars -export const getProjectHomePage = (type: ProjectType, environments: WorkspaceEnv[]) => { +export const getProjectHomePage = (type: ProjectType, environments: ProjectEnv[]) => { switch (type) { case ProjectType.SecretManager: return "/projects/secret-management/$projectId/overview" as const; diff --git a/frontend/src/hooks/api/accessApproval/types.ts b/frontend/src/hooks/api/accessApproval/types.ts index 5063f4fff..954d2b6bc 100644 --- a/frontend/src/hooks/api/accessApproval/types.ts +++ b/frontend/src/hooks/api/accessApproval/types.ts @@ -1,7 +1,7 @@ import { EnforcementLevel, PolicyType } from "../policies/enums"; import { TProjectPermission } from "../roles/types"; import { ApprovalStatus } from "../secretApprovalRequest/types"; -import { WorkspaceEnv } from "../workspace/types"; +import { ProjectEnv } from "../projects/types"; export type TAccessApprovalPolicy = { id: string; @@ -9,7 +9,7 @@ export type TAccessApprovalPolicy = { approvals: number; secretPath: string; workspace: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; projectId: string; policyType: PolicyType; approversRequired: boolean; diff --git a/frontend/src/hooks/api/auditLogs/constants.tsx b/frontend/src/hooks/api/auditLogs/constants.tsx index 186a8e539..3ced13cf0 100644 --- a/frontend/src/hooks/api/auditLogs/constants.tsx +++ b/frontend/src/hooks/api/auditLogs/constants.tsx @@ -20,7 +20,7 @@ export const eventToNameMap: { [K in EventType]: string } = { [EventType.CREATE_SECRET]: "Create secret", [EventType.UPDATE_SECRET]: "Update secret", [EventType.DELETE_SECRET]: "Delete secret", - [EventType.GET_WORKSPACE_KEY]: "Read project key", + [EventType.GET_PROJECT_KEY]: "Read project key", [EventType.AUTHORIZE_INTEGRATION]: "Authorize integration", [EventType.UPDATE_INTEGRATION_AUTH]: "Update integration auth", [EventType.UNAUTHORIZE_INTEGRATION]: "Unauthorize integration", @@ -45,8 +45,8 @@ export const eventToNameMap: { [K in EventType]: string } = { [EventType.CREATE_ENVIRONMENT]: "Create environment", [EventType.UPDATE_ENVIRONMENT]: "Update environment", [EventType.DELETE_ENVIRONMENT]: "Delete environment", - [EventType.ADD_WORKSPACE_MEMBER]: "Add member", - [EventType.REMOVE_WORKSPACE_MEMBER]: "Remove member", + [EventType.ADD_PROJECT_MEMBER]: "Add member", + [EventType.REMOVE_PROJECT_MEMBER]: "Remove member", [EventType.CREATE_FOLDER]: "Create folder", [EventType.UPDATE_FOLDER]: "Update folder", [EventType.DELETE_FOLDER]: "Delete folder", @@ -58,8 +58,8 @@ export const eventToNameMap: { [K in EventType]: string } = { [EventType.CREATE_SECRET_IMPORT]: "Create secret import", [EventType.UPDATE_SECRET_IMPORT]: "Update secret import", [EventType.DELETE_SECRET_IMPORT]: "Delete secret import", - [EventType.UPDATE_USER_WORKSPACE_DENIED_PERMISSIONS]: "Update denied permissions", - [EventType.UPDATE_USER_WORKSPACE_ROLE]: "Update user role", + [EventType.UPDATE_USER_PROJECT_DENIED_PERMISSIONS]: "Update denied permissions", + [EventType.UPDATE_USER_PROJECT_ROLE]: "Update user role", [EventType.CREATE_CA]: "Create CA", [EventType.GET_CA]: "Get CA", [EventType.UPDATE_CA]: "Update CA", diff --git a/frontend/src/hooks/api/auditLogs/enums.tsx b/frontend/src/hooks/api/auditLogs/enums.tsx index 4fe8948dd..002e43287 100644 --- a/frontend/src/hooks/api/auditLogs/enums.tsx +++ b/frontend/src/hooks/api/auditLogs/enums.tsx @@ -26,7 +26,7 @@ export enum EventType { CREATE_SECRET = "create-secret", UPDATE_SECRET = "update-secret", DELETE_SECRET = "delete-secret", - GET_WORKSPACE_KEY = "get-workspace-key", + GET_PROJECT_KEY = "get-project-key", AUTHORIZE_INTEGRATION = "authorize-integration", UPDATE_INTEGRATION_AUTH = "update-integration-auth", UNAUTHORIZE_INTEGRATION = "unauthorize-integration", @@ -58,8 +58,8 @@ export enum EventType { CREATE_ENVIRONMENT = "create-environment", UPDATE_ENVIRONMENT = "update-environment", DELETE_ENVIRONMENT = "delete-environment", - ADD_WORKSPACE_MEMBER = "add-workspace-member", - REMOVE_WORKSPACE_MEMBER = "remove-workspace-member", + ADD_PROJECT_MEMBER = "add-project-member", + REMOVE_PROJECT_MEMBER = "remove-project-member", CREATE_FOLDER = "create-folder", UPDATE_FOLDER = "update-folder", DELETE_FOLDER = "delete-folder", @@ -71,8 +71,8 @@ export enum EventType { CREATE_SECRET_IMPORT = "create-secret-import", UPDATE_SECRET_IMPORT = "update-secret-import", DELETE_SECRET_IMPORT = "delete-secret-import", - UPDATE_USER_WORKSPACE_ROLE = "update-user-workspace-role", - UPDATE_USER_WORKSPACE_DENIED_PERMISSIONS = "update-user-workspace-denied-permissions", + UPDATE_USER_PROJECT_ROLE = "update-user-project-role", + UPDATE_USER_PROJECT_DENIED_PERMISSIONS = "update-user-project-denied-permissions", CREATE_CA = "create-certificate-authority", GET_CA = "get-certificate-authority", UPDATE_CA = "update-certificate-authority", diff --git a/frontend/src/hooks/api/auditLogs/types.tsx b/frontend/src/hooks/api/auditLogs/types.tsx index 1ca819e60..f09924d26 100644 --- a/frontend/src/hooks/api/auditLogs/types.tsx +++ b/frontend/src/hooks/api/auditLogs/types.tsx @@ -129,7 +129,7 @@ interface DeleteSecretEvent { } interface GetWorkspaceKeyEvent { - type: EventType.GET_WORKSPACE_KEY; + type: EventType.GET_PROJECT_KEY; metadata: { keyId: string; }; @@ -361,7 +361,7 @@ interface DeleteEnvironmentEvent { } interface AddWorkspaceMemberEvent { - type: EventType.ADD_WORKSPACE_MEMBER; + type: EventType.ADD_PROJECT_MEMBER; metadata: { userId: string; email: string; @@ -369,7 +369,7 @@ interface AddWorkspaceMemberEvent { } interface RemoveWorkspaceMemberEvent { - type: EventType.REMOVE_WORKSPACE_MEMBER; + type: EventType.REMOVE_PROJECT_MEMBER; metadata: { userId: string; email: string; @@ -500,7 +500,7 @@ interface DeleteSecretImportEvent { } interface UpdateUserRole { - type: EventType.UPDATE_USER_WORKSPACE_ROLE; + type: EventType.UPDATE_USER_PROJECT_ROLE; metadata: { userId: string; email: string; @@ -510,7 +510,7 @@ interface UpdateUserRole { } interface UpdateUserDeniedPermissions { - type: EventType.UPDATE_USER_WORKSPACE_DENIED_PERMISSIONS; + type: EventType.UPDATE_USER_PROJECT_DENIED_PERMISSIONS; metadata: { userId: string; email: string; diff --git a/frontend/src/hooks/api/auth/queries.tsx b/frontend/src/hooks/api/auth/queries.tsx index cb7e3f64c..6275d8141 100644 --- a/frontend/src/hooks/api/auth/queries.tsx +++ b/frontend/src/hooks/api/auth/queries.tsx @@ -6,7 +6,7 @@ import { SessionStorageKeys } from "@app/const"; import { organizationKeys } from "../organization/queries"; import { setAuthToken } from "../reactQuery"; -import { workspaceKeys } from "../workspace"; +import { projectKeys } from "../projects"; import { CompleteAccountDTO, CompleteAccountSignupDTO, @@ -101,7 +101,7 @@ export const useSelectOrganization = () => { }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: [organizationKeys.getUserOrganizations, workspaceKeys.getAllUserWorkspace] + queryKey: [organizationKeys.getUserOrganizations, projectKeys.getAllUserProjects] }); } }); diff --git a/frontend/src/hooks/api/ca/mutations.tsx b/frontend/src/hooks/api/ca/mutations.tsx index f6204d4fc..a14a0244b 100644 --- a/frontend/src/hooks/api/ca/mutations.tsx +++ b/frontend/src/hooks/api/ca/mutations.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { workspaceKeys } from "../workspace"; +import { projectKeys } from "../projects"; import { CaType } from "./enums"; import { caKeys } from "./queries"; import { @@ -118,8 +118,8 @@ export const useImportCaCertificate = (projectId: string) => { ); return data; }, - onSuccess: (_, { caId, projectSlug }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspaceCas({ projectSlug }) }); + onSuccess: (_, { caId }) => { + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectCas({ projectId }) }); queryClient.invalidateQueries({ queryKey: caKeys.getCaCerts(caId) }); queryClient.invalidateQueries({ queryKey: caKeys.getCaCert(caId) }); queryClient.invalidateQueries({ @@ -142,7 +142,7 @@ export const useCreateCertificate = () => { }, onSuccess: (_, { projectSlug }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.forWorkspaceCertificates(projectSlug) + queryKey: projectKeys.forProjectCertificates(projectSlug) }); } }); @@ -158,8 +158,8 @@ export const useRenewCa = () => { ); return data; }, - onSuccess: (_, { caId, projectSlug }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspaceCas({ projectSlug }) }); + onSuccess: ({ projectId }, { caId }) => { + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectCas({ projectId }) }); queryClient.invalidateQueries({ queryKey: caKeys.getCaById(caId) }); queryClient.invalidateQueries({ queryKey: caKeys.getCaCert(caId) }); queryClient.invalidateQueries({ queryKey: caKeys.getCaCerts(caId) }); diff --git a/frontend/src/hooks/api/ca/types.ts b/frontend/src/hooks/api/ca/types.ts index 336688ca4..0443dd5e9 100644 --- a/frontend/src/hooks/api/ca/types.ts +++ b/frontend/src/hooks/api/ca/types.ts @@ -182,4 +182,5 @@ export type TRenewCaResponse = { certificate: string; certificateChain: string; serialNumber: string; + projectId: string; }; diff --git a/frontend/src/hooks/api/certificateTemplates/mutations.tsx b/frontend/src/hooks/api/certificateTemplates/mutations.tsx index d1069e7e6..24a7d0e5f 100644 --- a/frontend/src/hooks/api/certificateTemplates/mutations.tsx +++ b/frontend/src/hooks/api/certificateTemplates/mutations.tsx @@ -3,7 +3,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; import { caKeys } from "../ca/queries"; -import { workspaceKeys } from "../workspace"; +import { projectKeys } from "../projects"; import { certTemplateKeys } from "./queries"; import { TCertificateTemplate, @@ -29,7 +29,7 @@ export const useCreateCertTemplate = () => { }, onSuccess: ({ caId }, { projectId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceCertificateTemplates(projectId) + queryKey: projectKeys.getProjectCertificateTemplates(projectId) }); queryClient.invalidateQueries({ queryKey: caKeys.getCaCertTemplates(caId) }); } @@ -49,7 +49,7 @@ export const useUpdateCertTemplate = () => { }, onSuccess: ({ caId }, { projectId, id }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceCertificateTemplates(projectId) + queryKey: projectKeys.getProjectCertificateTemplates(projectId) }); queryClient.invalidateQueries({ queryKey: certTemplateKeys.getCertTemplateById(id) }); queryClient.invalidateQueries({ queryKey: caKeys.getCaCertTemplates(caId) }); @@ -68,7 +68,7 @@ export const useDeleteCertTemplate = () => { }, onSuccess: ({ caId }, { projectId, id }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceCertificateTemplates(projectId) + queryKey: projectKeys.getProjectCertificateTemplates(projectId) }); queryClient.invalidateQueries({ queryKey: certTemplateKeys.getCertTemplateById(id) }); queryClient.invalidateQueries({ queryKey: caKeys.getCaCertTemplates(caId) }); diff --git a/frontend/src/hooks/api/certificates/mutations.tsx b/frontend/src/hooks/api/certificates/mutations.tsx index 12f8e834b..77a3dab72 100644 --- a/frontend/src/hooks/api/certificates/mutations.tsx +++ b/frontend/src/hooks/api/certificates/mutations.tsx @@ -3,7 +3,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; import { pkiSubscriberKeys } from "../pkiSubscriber/queries"; -import { workspaceKeys } from "../workspace"; +import { projectKeys } from "../projects"; import { TCertificate, TDeleteCertDTO, @@ -25,7 +25,7 @@ export const useDeleteCert = () => { }, onSuccess: (_, { projectSlug }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.forWorkspaceCertificates(projectSlug) + queryKey: projectKeys.forProjectCertificates(projectSlug) }); } }); @@ -47,7 +47,7 @@ export const useRevokeCert = () => { }, onSuccess: (_, { projectSlug }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.forWorkspaceCertificates(projectSlug) + queryKey: projectKeys.forProjectCertificates(projectSlug) }); queryClient.invalidateQueries({ queryKey: pkiSubscriberKeys.allPkiSubscriberCertificates() @@ -68,7 +68,7 @@ export const useImportCertificate = () => { }, onSuccess: (_, { projectSlug }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.forWorkspaceCertificates(projectSlug) + queryKey: projectKeys.forProjectCertificates(projectSlug) }); } }); diff --git a/frontend/src/hooks/api/identities/types.ts b/frontend/src/hooks/api/identities/types.ts index c16c61c57..9634164aa 100644 --- a/frontend/src/hooks/api/identities/types.ts +++ b/frontend/src/hooks/api/identities/types.ts @@ -1,7 +1,7 @@ import { OrderByDirection } from "../generic/types"; import { OrgIdentityOrderBy } from "../organization/types"; import { TOrgRole } from "../roles/types"; -import { ProjectUserMembershipTemporaryMode, Project } from "../workspace/types"; +import { ProjectUserMembershipTemporaryMode, Project } from "../projects/types"; import { IdentityAuthMethod, IdentityJwtConfigurationType } from "./enums"; export type IdentityTrustedIp = { diff --git a/frontend/src/hooks/api/index.tsx b/frontend/src/hooks/api/index.tsx index 78dcd3b79..002c03cec 100644 --- a/frontend/src/hooks/api/index.tsx +++ b/frontend/src/hooks/api/index.tsx @@ -1,5 +1,5 @@ -export * from "./accessApproval"; export * from "./admin"; +export * from "./accessApproval"; export * from "./apiKeys"; export * from "./assumePrivileges"; export * from "./auditLogs"; @@ -20,7 +20,6 @@ export * from "./identityProjectAdditionalPrivilege"; export * from "./incidentContacts"; export * from "./integrationAuth"; export * from "./integrations"; -export * from "./keys"; export * from "./kms"; export * from "./ldapConfig"; export * from "./oidcConfig"; @@ -54,4 +53,4 @@ export * from "./trustedIps"; export * from "./users"; export * from "./webhooks"; export * from "./workflowIntegrations"; -export * from "./workspace"; +export * from "./projects"; diff --git a/frontend/src/hooks/api/integrationAuth/queries.tsx b/frontend/src/hooks/api/integrationAuth/queries.tsx index 044ec8d2a..f6c936480 100644 --- a/frontend/src/hooks/api/integrationAuth/queries.tsx +++ b/frontend/src/hooks/api/integrationAuth/queries.tsx @@ -3,7 +3,7 @@ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; import { TReactQueryOptions } from "@app/types/reactQuery"; -import { workspaceKeys } from "../workspace"; +import { projectKeys } from "../projects"; import { App, BitbucketEnvironment, @@ -970,7 +970,7 @@ export const useAuthorizeIntegration = () => { }, onSuccess: (res) => { queryClient.invalidateQueries({ - queryKey: { queryKey: workspaceKeys.getWorkspaceAuthorization(res.workspace) } + queryKey: { queryKey: projectKeys.getProjectAuthorization(res.workspace) } }); } }); @@ -1016,7 +1016,7 @@ export const useSaveIntegrationAccessToken = () => { }, onSuccess: (res) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceAuthorization(res.workspace) + queryKey: projectKeys.getProjectAuthorization(res.workspace) }); } }); @@ -1035,10 +1035,10 @@ export const useDeleteIntegrationAuths = () => { ), onSuccess: (_, { workspaceId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceAuthorization(workspaceId) + queryKey: projectKeys.getProjectAuthorization(workspaceId) }); queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceIntegrations(workspaceId) + queryKey: projectKeys.getProjectIntegrations(workspaceId) }); } }); @@ -1052,10 +1052,10 @@ export const useDeleteIntegrationAuth = () => { mutationFn: ({ id }) => apiRequest.delete(`/api/v1/integration-auth/${id}`), onSuccess: (_, { workspaceId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceAuthorization(workspaceId) + queryKey: projectKeys.getProjectAuthorization(workspaceId) }); queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceIntegrations(workspaceId) + queryKey: projectKeys.getProjectIntegrations(workspaceId) }); } }); diff --git a/frontend/src/hooks/api/integrations/queries.tsx b/frontend/src/hooks/api/integrations/queries.tsx index a439f8caa..69519a5a4 100644 --- a/frontend/src/hooks/api/integrations/queries.tsx +++ b/frontend/src/hooks/api/integrations/queries.tsx @@ -3,7 +3,7 @@ import { useMutation, useQuery, useQueryClient, UseQueryOptions } from "@tanstac import { createNotification } from "@app/components/notifications"; import { apiRequest } from "@app/config/request"; -import { workspaceKeys } from "../workspace"; +import { projectKeys } from "../projects"; import { IntegrationMetadataSyncMode, TCloudIntegration, @@ -121,7 +121,7 @@ export const useCreateIntegration = () => { }, onSuccess: (res) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceIntegrations(res.workspace) + queryKey: projectKeys.getProjectIntegrations(res.workspace) }); } }); @@ -141,10 +141,10 @@ export const useDeleteIntegration = () => { ), onSuccess: (_, { workspaceId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceIntegrations(workspaceId) + queryKey: projectKeys.getProjectIntegrations(workspaceId) }); queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceAuthorization(workspaceId) + queryKey: projectKeys.getProjectAuthorization(workspaceId) }); } }); diff --git a/frontend/src/hooks/api/migration/mutations.tsx b/frontend/src/hooks/api/migration/mutations.tsx index 182797954..b2694b458 100644 --- a/frontend/src/hooks/api/migration/mutations.tsx +++ b/frontend/src/hooks/api/migration/mutations.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { workspaceKeys } from "../workspace"; +import { projectKeys } from "../projects"; export const useImportEnvKey = () => { const queryClient = useQueryClient(); @@ -34,7 +34,7 @@ export const useImportEnvKey = () => { }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserProjects() }); } }); diff --git a/frontend/src/hooks/api/pkiAlerts/mutations.tsx b/frontend/src/hooks/api/pkiAlerts/mutations.tsx index 34397c141..df48a6aab 100644 --- a/frontend/src/hooks/api/pkiAlerts/mutations.tsx +++ b/frontend/src/hooks/api/pkiAlerts/mutations.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { workspaceKeys } from "../workspace"; +import { projectKeys } from "../projects"; import { pkiAlertKeys } from "./queries"; import { TCreatePkiAlertDTO, TDeletePkiAlertDTO, TPkiAlert, TUpdatePkiAlertDTO } from "./types"; @@ -14,7 +14,7 @@ export const useCreatePkiAlert = () => { return alert; }, onSuccess: (_, { projectId }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspacePkiAlerts(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectPkiAlerts(projectId) }); } }); }; @@ -30,7 +30,7 @@ export const useUpdatePkiAlert = () => { return alert; }, onSuccess: (_, { projectId, alertId }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspacePkiAlerts(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectPkiAlerts(projectId) }); queryClient.invalidateQueries({ queryKey: pkiAlertKeys.getPkiAlertById(alertId) }); } }); @@ -44,7 +44,7 @@ export const useDeletePkiAlert = () => { return alert; }, onSuccess: (_, { projectId, alertId }) => { - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspacePkiAlerts(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectPkiAlerts(projectId) }); queryClient.invalidateQueries({ queryKey: pkiAlertKeys.getPkiAlertById(alertId) }); } }); diff --git a/frontend/src/hooks/api/pkiCollections/mutations.tsx b/frontend/src/hooks/api/pkiCollections/mutations.tsx index af1f0af18..a06afcd09 100644 --- a/frontend/src/hooks/api/pkiCollections/mutations.tsx +++ b/frontend/src/hooks/api/pkiCollections/mutations.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { workspaceKeys } from "../workspace"; +import { projectKeys } from "../projects"; import { pkiCollectionKeys } from "./queries"; import { TAddItemToPkiCollectionDTO, @@ -26,7 +26,7 @@ export const useCreatePkiCollection = () => { }, onSuccess: (_, { projectId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspacePkiCollections(projectId) + queryKey: projectKeys.getProjectPkiCollections(projectId) }); } }); @@ -44,7 +44,7 @@ export const useUpdatePkiCollection = () => { }, onSuccess: (_, { projectId, collectionId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspacePkiCollections(projectId) + queryKey: projectKeys.getProjectPkiCollections(projectId) }); queryClient.invalidateQueries({ queryKey: pkiCollectionKeys.getPkiCollectionById(collectionId) @@ -64,7 +64,7 @@ export const useDeletePkiCollection = () => { }, onSuccess: (_, { projectId, collectionId }) => { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspacePkiCollections(projectId) + queryKey: projectKeys.getProjectPkiCollections(projectId) }); queryClient.invalidateQueries({ queryKey: pkiCollectionKeys.getPkiCollectionById(collectionId) diff --git a/frontend/src/hooks/api/pkiSubscriber/mutations.tsx b/frontend/src/hooks/api/pkiSubscriber/mutations.tsx index 17b53004b..57d086780 100644 --- a/frontend/src/hooks/api/pkiSubscriber/mutations.tsx +++ b/frontend/src/hooks/api/pkiSubscriber/mutations.tsx @@ -3,7 +3,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; import { TCreateCertificateResponse } from "../ca/types"; -import { projectKeys } from "../workspace/query-keys"; +import { projectKeys } from "../projects/query-keys"; import { pkiSubscriberKeys } from "./queries"; import { TCreatePkiSubscriberDTO, @@ -22,7 +22,7 @@ export const useCreatePkiSubscriber = () => { }, onSuccess: ({ projectId, name }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspacePkiSubscribers(projectId) + queryKey: projectKeys.getProjectPkiSubscribers(projectId) }); queryClient.invalidateQueries({ queryKey: pkiSubscriberKeys.getPkiSubscriber({ @@ -46,7 +46,7 @@ export const useUpdatePkiSubscriber = () => { }, onSuccess: ({ projectId, name }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspacePkiSubscribers(projectId) + queryKey: projectKeys.getProjectPkiSubscribers(projectId) }); queryClient.invalidateQueries({ queryKey: pkiSubscriberKeys.getPkiSubscriber({ @@ -74,7 +74,7 @@ export const useDeletePkiSubscriber = () => { }, onSuccess: ({ name, projectId }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspacePkiSubscribers(projectId) + queryKey: projectKeys.getProjectPkiSubscribers(projectId) }); queryClient.invalidateQueries({ queryKey: pkiSubscriberKeys.getPkiSubscriber({ diff --git a/frontend/src/hooks/api/projectTemplates/types.ts b/frontend/src/hooks/api/projectTemplates/types.ts index f5ff22dff..d58e80f53 100644 --- a/frontend/src/hooks/api/projectTemplates/types.ts +++ b/frontend/src/hooks/api/projectTemplates/types.ts @@ -1,6 +1,6 @@ import { TProjectRole } from "@app/hooks/api/roles/types"; -import { ProjectType } from "../workspace/types"; +import { ProjectType } from "../projects/types"; export type TProjectTemplate = { id: string; diff --git a/frontend/src/hooks/api/workspace/index.tsx b/frontend/src/hooks/api/projects/index.tsx similarity index 96% rename from frontend/src/hooks/api/workspace/index.tsx rename to frontend/src/hooks/api/projects/index.tsx index a75789da5..7297c7362 100644 --- a/frontend/src/hooks/api/workspace/index.tsx +++ b/frontend/src/hooks/api/projects/index.tsx @@ -18,7 +18,7 @@ export { useGetProjectSshConfig, useGetUpgradeProjectStatus, useGetUserWorkspaceMemberships, - useGetUserWorkspaces, + useGetUserProjects, useGetWorkspaceAuthorizations, useGetWorkspaceById, useGetWorkspaceIdentityMembershipDetails, @@ -41,7 +41,6 @@ export { useListWorkspaceSshHostGroups, useListWorkspaceSshHosts, useSearchProjects, - useToggleAutoCapitalization, useUpdateIdentityWorkspaceRole, useUpdateProject, useUpdateUserWorkspaceRole, diff --git a/frontend/src/hooks/api/workspace/mutations.tsx b/frontend/src/hooks/api/projects/mutations.tsx similarity index 90% rename from frontend/src/hooks/api/workspace/mutations.tsx rename to frontend/src/hooks/api/projects/mutations.tsx index bde2666a9..e2a80ff53 100644 --- a/frontend/src/hooks/api/workspace/mutations.tsx +++ b/frontend/src/hooks/api/projects/mutations.tsx @@ -32,7 +32,7 @@ export const useAddGroupToWorkspace = () => { }, onSuccess: (_, { projectId }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceGroupMemberships(projectId) + queryKey: projectKeys.getProjectGroupMemberships(projectId) }); } }); @@ -52,10 +52,10 @@ export const useUpdateGroupWorkspaceRole = () => { }, onSuccess: (_, { projectId, groupId }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceGroupMemberships(projectId) + queryKey: projectKeys.getProjectGroupMemberships(projectId) }); queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceGroupMembershipDetails(projectId, groupId) + queryKey: projectKeys.getProjectGroupMembershipDetails(projectId, groupId) }); } }); @@ -79,7 +79,7 @@ export const useDeleteGroupFromWorkspace = () => { }, onSuccess: (_, { projectId, username }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceGroupMemberships(projectId) + queryKey: projectKeys.getProjectGroupMemberships(projectId) }); if (username) { @@ -96,7 +96,7 @@ export const useLeaveProject = () => { return apiRequest.delete(`/api/v1/projects/${projectId}/leave`); }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); + queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserProjects() }); } }); }; @@ -109,7 +109,7 @@ export const useMigrateProjectToV3 = () => { }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: projectKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserProjects() }); } }); diff --git a/frontend/src/hooks/api/workspace/queries.tsx b/frontend/src/hooks/api/projects/queries.tsx similarity index 82% rename from frontend/src/hooks/api/workspace/queries.tsx rename to frontend/src/hooks/api/projects/queries.tsx index 4f21ebb5e..f7a4313fa 100644 --- a/frontend/src/hooks/api/workspace/queries.tsx +++ b/frontend/src/hooks/api/projects/queries.tsx @@ -35,21 +35,18 @@ import { ProjectType, TGetUpgradeProjectStatusDTO, TListProjectIdentitiesDTO, - ToggleAutoCapitalizationDTO, - ToggleDeleteProjectProtectionDTO, TProjectSshConfig, TSearchProjectsDTO, TUpdateWorkspaceIdentityRoleDTO, TUpdateWorkspaceUserRoleDTO, UpdateAuditLogsRetentionDTO, UpdateEnvironmentDTO, - UpdatePitVersionLimitDTO, UpdateProjectDTO, Project, - WorkspaceEnv + ProjectEnv } from "./types"; -export const fetchWorkspaceById = async (projectId: string) => { +export const fetchProjectById = async (projectId: string) => { const { data } = await apiRequest.get<{ project: Project }>(`/api/v1/projects/${projectId}`); return data.project; @@ -82,7 +79,7 @@ export const useUpgradeProject = () => { }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: projectKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserProjects() }); } }); @@ -113,7 +110,7 @@ const fetchUserWorkspaces = async (includeRoles?: boolean, type?: ProjectType | export const useGetWorkspaceIndexStatus = (projectId: string) => { return useQuery({ - queryKey: projectKeys.getWorkspaceIndexStatus(projectId), + queryKey: projectKeys.getProjectIndexStatus(projectId), queryFn: () => fetchWorkspaceIndexStatus(projectId), enabled: true }); @@ -124,14 +121,14 @@ export const useGetWorkspaceById = ( dto?: { refetchInterval?: number | false } ) => { return useQuery({ - queryKey: projectKeys.getWorkspaceById(projectId), - queryFn: () => fetchWorkspaceById(projectId), + queryKey: projectKeys.getProjectById(projectId), + queryFn: () => fetchProjectById(projectId), enabled: Boolean(projectId), refetchInterval: dto?.refetchInterval }); }; -export const useGetUserWorkspaces = ({ +export const useGetUserProjects = ({ includeRoles, options = {} }: { @@ -139,14 +136,14 @@ export const useGetUserWorkspaces = ({ options?: { enabled?: boolean }; } = {}) => useQuery({ - queryKey: projectKeys.getAllUserWorkspace(), + queryKey: projectKeys.getAllUserProjects(), queryFn: () => fetchUserWorkspaces(includeRoles), ...options }); export const useSearchProjects = ({ options, ...dto }: TSearchProjectsDTO) => useQuery({ - queryKey: projectKeys.searchWorkspace(dto), + queryKey: projectKeys.searchProject(dto), queryFn: async () => { const { data } = await apiRequest.post<{ projects: (Project & { isMember: boolean })[]; @@ -169,7 +166,7 @@ const fetchUserWorkspaceMemberships = async (orgId: string) => { // to get all userids in an org with the project they are part of export const useGetUserWorkspaceMemberships = (orgId: string) => useQuery({ - queryKey: projectKeys.getWorkspaceMemberships(orgId), + queryKey: projectKeys.getProjectMemberships(orgId), queryFn: () => fetchUserWorkspaceMemberships(orgId), enabled: Boolean(orgId) }); @@ -187,7 +184,7 @@ export const useGetWorkspaceAuthorizations = ( select?: (data: IntegrationAuth[]) => TData ) => useQuery({ - queryKey: projectKeys.getWorkspaceAuthorization(projectId), + queryKey: projectKeys.getProjectAuthorization(projectId), queryFn: () => fetchWorkspaceAuthorization(projectId), enabled: Boolean(projectId), select @@ -202,7 +199,7 @@ export const fetchWorkspaceIntegrations = async (projectId: string) => { export const useGetWorkspaceIntegrations = (projectId: string) => useQuery({ - queryKey: projectKeys.getWorkspaceIntegrations(projectId), + queryKey: projectKeys.getProjectIntegrations(projectId), queryFn: () => fetchWorkspaceIntegrations(projectId), enabled: Boolean(projectId), refetchInterval: 4000 @@ -228,7 +225,7 @@ export const useCreateWorkspace = () => { }), onSuccess: () => { queryClient.invalidateQueries({ - queryKey: projectKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserProjects() }); } }); @@ -239,8 +236,9 @@ export const useUpdateProject = () => { return useMutation({ mutationFn: async ({ - projectID, + projectId: projectID, newProjectName, + hasDeleteProtection, newProjectDescription, newSlug, secretSharing, @@ -259,67 +257,14 @@ export const useUpdateProject = () => { showSnapshotsLegacy, secretDetectionIgnoreValues, autoCapitalization, - pitVersionLimit + pitVersionLimit, + hasDeleteProtection } ); return data.project; }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); - } - }); -}; - -export const useToggleAutoCapitalization = () => { - const queryClient = useQueryClient(); - - return useMutation({ - mutationFn: async ({ projectID, state }) => { - const { data } = await apiRequest.post<{ project: Project }>( - `/api/v1/projects/${projectID}/auto-capitalization`, - { - autoCapitalization: state - } - ); - return data.project; - }, - onSuccess: () => { - queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); - } - }); -}; - -export const useToggleDeleteProjectProtection = () => { - const queryClient = useQueryClient(); - - return useMutation({ - mutationFn: async ({ projectID, state }) => { - const { data } = await apiRequest.post<{ project: Project }>( - `/api/v1/projects/${projectID}/delete-protection`, - { - hasDeleteProtection: state - } - ); - return data.project; - }, - onSuccess: () => { - queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); - } - }); -}; - -export const useUpdateWorkspaceVersionLimit = () => { - const queryClient = useQueryClient(); - - return useMutation({ - mutationFn: async ({ projectSlug, pitVersionLimit }) => { - const { data } = await apiRequest.put(`/api/v1/projects/${projectSlug}/version-limit`, { - pitVersionLimit - }); - return data.project; - }, - onSuccess: () => { - queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); + queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserProjects() }); } }); }; @@ -338,7 +283,7 @@ export const useUpdateWorkspaceAuditLogsRetention = () => { return data.project; }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); + queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserProjects() }); } }); }; @@ -352,7 +297,7 @@ export const useDeleteWorkspace = () => { return data.project; }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserWorkspace() }); + queryClient.invalidateQueries({ queryKey: projectKeys.getAllUserProjects() }); queryClient.invalidateQueries({ queryKey: ["org-admin-projects"] }); @@ -363,9 +308,9 @@ export const useDeleteWorkspace = () => { export const useCreateWsEnvironment = () => { const queryClient = useQueryClient(); - return useMutation({ + return useMutation({ mutationFn: async ({ projectId, name, slug }) => { - const { data } = await apiRequest.post<{ environment: WorkspaceEnv }>( + const { data } = await apiRequest.post<{ environment: ProjectEnv }>( `/api/v1/projects/${projectId}/environments`, { name, @@ -376,7 +321,7 @@ export const useCreateWsEnvironment = () => { }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: projectKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserProjects() }); } }); @@ -395,7 +340,7 @@ export const useUpdateWsEnvironment = () => { }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: projectKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserProjects() }); } }); @@ -410,7 +355,7 @@ export const useDeleteWsEnvironment = () => { }, onSuccess: () => { queryClient.invalidateQueries({ - queryKey: projectKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserProjects() }); } }); @@ -422,7 +367,7 @@ export const useGetWorkspaceUsers = ( roles?: string[] ) => { return useQuery({ - queryKey: projectKeys.getWorkspaceUsers(projectId, includeGroupMembers, roles), + queryKey: projectKeys.getProjectUsers(projectId, includeGroupMembers, roles), queryFn: async () => { const { data: { users } @@ -443,7 +388,7 @@ export const useGetWorkspaceUsers = ( export const useGetWorkspaceUserDetails = (projectId: string, membershipId: string) => { return useQuery({ - queryKey: projectKeys.getWorkspaceUserDetails(projectId, membershipId), + queryKey: projectKeys.getProjectUserDetails(projectId, membershipId), queryFn: async () => { const { data: { membership } @@ -476,7 +421,7 @@ export const useDeleteUserFromWorkspace = () => { return deletedMembership; }, onSuccess: (_, { orgId, projectId }) => { - queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceUsers(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectUsers(projectId) }); queryClient.invalidateQueries({ queryKey: userKeys.allOrgMembershipProjectMemberships(orgId) }); @@ -499,9 +444,9 @@ export const useUpdateUserWorkspaceRole = () => { return membership; }, onSuccess: (_, { projectId, membershipId }) => { - queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceUsers(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectUsers(projectId) }); queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceUserDetails(projectId, membershipId) + queryKey: projectKeys.getProjectUserDetails(projectId, membershipId) }); } }); @@ -532,7 +477,7 @@ export const useAddIdentityToWorkspace = () => { }, onSuccess: (_, { identityId, projectId }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceIdentityMemberships(projectId) + queryKey: projectKeys.getProjectIdentityMemberships(projectId) }); queryClient.invalidateQueries({ queryKey: identitiesKeys.getIdentityProjectMemberships(identityId) @@ -558,13 +503,13 @@ export const useUpdateIdentityWorkspaceRole = () => { }, onSuccess: (_, { identityId, projectId }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceIdentityMemberships(projectId) + queryKey: projectKeys.getProjectIdentityMemberships(projectId) }); queryClient.invalidateQueries({ queryKey: identitiesKeys.getIdentityProjectMemberships(identityId) }); queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceIdentityMembershipDetails(projectId, identityId) + queryKey: projectKeys.getProjectIdentityMembershipDetails(projectId, identityId) }); } }); @@ -583,7 +528,7 @@ export const useDeleteIdentityFromWorkspace = () => { }, onSuccess: (_, { identityId, projectId }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceIdentityMemberships(projectId) + queryKey: projectKeys.getProjectIdentityMemberships(projectId) }); queryClient.invalidateQueries({ queryKey: identitiesKeys.getIdentityProjectMemberships(identityId) @@ -606,13 +551,13 @@ export const useGetWorkspaceIdentityMemberships = ( TProjectIdentitiesList, unknown, TProjectIdentitiesList, - ReturnType + ReturnType >, "queryKey" | "queryFn" > ) => { return useQuery({ - queryKey: projectKeys.getWorkspaceIdentityMembershipsWithParams({ + queryKey: projectKeys.getProjectIdentityMembershipsWithParams({ projectId, offset, limit, @@ -643,7 +588,7 @@ export const useGetWorkspaceIdentityMemberships = ( export const useGetWorkspaceIdentityMembershipDetails = (projectId: string, identityId: string) => { return useQuery({ enabled: Boolean(projectId && identityId), - queryKey: projectKeys.getWorkspaceIdentityMembershipDetails(projectId, identityId), + queryKey: projectKeys.getProjectIdentityMembershipDetails(projectId, identityId), queryFn: async () => { const { data: { identityMembership } @@ -658,7 +603,7 @@ export const useGetWorkspaceIdentityMembershipDetails = (projectId: string, iden export const useGetWorkspaceGroupMembershipDetails = (projectId: string, groupId: string) => { return useQuery({ enabled: Boolean(projectId && groupId), - queryKey: projectKeys.getWorkspaceGroupMembershipDetails(projectId, groupId), + queryKey: projectKeys.getProjectGroupMembershipDetails(projectId, groupId), queryFn: async () => { const { data: { groupMembership } @@ -672,7 +617,7 @@ export const useGetWorkspaceGroupMembershipDetails = (projectId: string, groupId export const useListWorkspaceGroups = (projectId: string) => { return useQuery({ - queryKey: projectKeys.getWorkspaceGroupMemberships(projectId), + queryKey: projectKeys.getProjectGroupMemberships(projectId), queryFn: async () => { const { data: { groupMemberships } @@ -693,7 +638,7 @@ export const useListWorkspaceCas = ({ status?: CaStatus; }) => { return useQuery({ - queryKey: projectKeys.specificWorkspaceCas({ + queryKey: projectKeys.specificProjectCas({ projectId, status }), @@ -726,7 +671,7 @@ export const useListWorkspaceCertificates = ({ limit: number; }) => { return useQuery({ - queryKey: projectKeys.specificWorkspaceCertificates({ + queryKey: projectKeys.specificProjectCertificates({ projectId, offset, limit @@ -754,7 +699,7 @@ export const useListWorkspaceCertificates = ({ export const useListWorkspacePkiAlerts = ({ projectId }: { projectId: string }) => { return useQuery({ - queryKey: projectKeys.getWorkspacePkiAlerts(projectId), + queryKey: projectKeys.getProjectPkiAlerts(projectId), queryFn: async () => { const { data: { alerts } @@ -768,7 +713,7 @@ export const useListWorkspacePkiAlerts = ({ projectId }: { projectId: string }) export const useListWorkspacePkiCollections = ({ projectId }: { projectId: string }) => { return useQuery({ - queryKey: projectKeys.getWorkspacePkiCollections(projectId), + queryKey: projectKeys.getProjectPkiCollections(projectId), queryFn: async () => { const { data: { collections } @@ -784,7 +729,7 @@ export const useListWorkspacePkiCollections = ({ projectId }: { projectId: strin export const useListWorkspaceCertificateTemplates = ({ projectId }: { projectId: string }) => { return useQuery({ - queryKey: projectKeys.getWorkspaceCertificateTemplates(projectId), + queryKey: projectKeys.getProjectCertificateTemplates(projectId), queryFn: async () => { const { data: { certificateTemplates } @@ -808,7 +753,7 @@ export const useListWorkspaceSshCertificates = ({ projectId: string; }) => { return useQuery({ - queryKey: projectKeys.specificWorkspaceSshCertificates({ + queryKey: projectKeys.specificProjectSshCertificates({ offset, limit, projectId @@ -833,7 +778,7 @@ export const useListWorkspaceSshCertificates = ({ export const useListWorkspaceSshCas = (projectId: string) => { return useQuery({ - queryKey: projectKeys.getWorkspaceSshCas(projectId), + queryKey: projectKeys.getProjectSshCas(projectId), queryFn: async () => { const { data: { cas } @@ -848,7 +793,7 @@ export const useListWorkspaceSshCas = (projectId: string) => { export const useListWorkspaceSshHosts = (projectId: string) => { return useQuery({ - queryKey: projectKeys.getWorkspaceSshHosts(projectId), + queryKey: projectKeys.getProjectSshHosts(projectId), queryFn: async () => { const { data: { hosts } @@ -861,7 +806,7 @@ export const useListWorkspaceSshHosts = (projectId: string) => { export const useListWorkspacePkiSubscribers = (projectId: string) => { return useQuery({ - queryKey: projectKeys.getWorkspacePkiSubscribers(projectId), + queryKey: projectKeys.getProjectPkiSubscribers(projectId), queryFn: async () => { const { data: { subscribers } @@ -876,7 +821,7 @@ export const useListWorkspacePkiSubscribers = (projectId: string) => { export const useListWorkspaceSshHostGroups = (projectId: string) => { return useQuery({ - queryKey: projectKeys.getWorkspaceSshHostGroups(projectId), + queryKey: projectKeys.getProjectSshHostGroups(projectId), queryFn: async () => { const { data: { groups } @@ -891,7 +836,7 @@ export const useListWorkspaceSshHostGroups = (projectId: string) => { export const useListWorkspaceSshCertificateTemplates = (projectId: string) => { return useQuery({ - queryKey: projectKeys.getWorkspaceSshCertificateTemplates(projectId), + queryKey: projectKeys.getProjectSshCertificateTemplates(projectId), queryFn: async () => { const { data } = await apiRequest.get<{ certificateTemplates: TSshCertificateTemplate[] }>( `/api/v1/projects/${projectId}/ssh-certificate-templates` @@ -910,7 +855,7 @@ export const useGetWorkspaceWorkflowIntegrationConfig = ({ integration: WorkflowIntegrationPlatform; }) => { return useQuery({ - queryKey: projectKeys.getWorkspaceWorkflowIntegrationConfig(projectId, integration), + queryKey: projectKeys.getProjectWorkflowIntegrationConfig(projectId, integration), queryFn: async () => { const { data } = await apiRequest .get( diff --git a/frontend/src/hooks/api/projects/query-keys.tsx b/frontend/src/hooks/api/projects/query-keys.tsx new file mode 100644 index 000000000..38aa888be --- /dev/null +++ b/frontend/src/hooks/api/projects/query-keys.tsx @@ -0,0 +1,78 @@ +import { TListProjectIdentitiesDTO, TSearchProjectsDTO } from "./types"; + +import type { CaStatus } from "../ca"; +import { WorkflowIntegrationPlatform } from "../workflowIntegrations/types"; + +export const projectKeys = { + getProjectById: (projectId: string) => ["projects", { projectId }] as const, + getProjectSecrets: (projectId: string) => [{ projectId }, "project-secrets"] as const, + getProjectIndexStatus: (projectId: string) => [{ projectId }, "project-index-status"] as const, + getProjectUpgradeStatus: (projectId: string) => [{ projectId }, "project-upgrade-status"], + getProjectMemberships: (orgId: string) => [{ orgId }, "project-memberships"], + getProjectAuthorization: (projectId: string) => [{ projectId }, "project-authorizations"], + getProjectIntegrations: (projectId: string) => [{ projectId }, "project-integrations"], + getAllUserProjects: () => ["projects"] as const, + getProjectAuditLogs: (projectId: string) => [{ projectId }, "project-audit-logs"] as const, + getProjectUsers: ( + projectId: string, + includeGroupMembers: boolean = false, + roles: string[] = [] + ) => [{ projectId, includeGroupMembers, roles }, "project-users"] as const, + getProjectUserDetails: (projectId: string, membershipId: string) => + [{ projectId, membershipId }, "project-user-details"] as const, + getProjectIdentityMemberships: (projectId: string) => + [{ projectId }, "project-identity-memberships"] as const, + getProjectIdentityMembershipDetails: (projectId: string, identityId: string) => + [{ projectId, identityId }, "project-identity-membership-details"] as const, + // allows invalidation using above key without knowing params + getProjectIdentityMembershipsWithParams: ({ projectId, ...params }: TListProjectIdentitiesDTO) => + [...projectKeys.getProjectIdentityMemberships(projectId), params] as const, + searchProject: (dto: TSearchProjectsDTO) => ["search-projects", dto] as const, + getProjectGroupMemberships: (projectId: string) => [{ projectId }, "project-groups"] as const, + getProjectGroupMembershipDetails: (projectId: string, groupId: string) => + [{ projectId, groupId }, "project-group-membership-details"] as const, + getProjectCas: ({ projectId }: { projectId: string }) => [{ projectId }, "project-cas"] as const, + specificProjectCas: ({ projectId, status }: { projectId: string; status?: CaStatus }) => + [...projectKeys.getProjectCas({ projectId }), { status }] as const, + allProjectCertificates: () => ["project-certificates"] as const, + forProjectCertificates: (projectId: string) => + [...projectKeys.allProjectCertificates(), projectId] as const, + specificProjectCertificates: ({ + projectId, + offset, + limit + }: { + projectId: string; + offset: number; + limit: number; + }) => [...projectKeys.forProjectCertificates(projectId), { offset, limit }] as const, + getProjectPkiAlerts: (projectId: string) => [{ projectId }, "project-pki-alerts"] as const, + getProjectPkiSubscribers: (projectId: string) => + [{ projectId }, "project-pki-subscribers"] as const, + getProjectPkiCollections: (projectId: string) => + [{ projectId }, "project-pki-collections"] as const, + getProjectCertificateTemplates: (projectId: string) => + [{ projectId }, "project-certificate-templates"] as const, + getProjectWorkflowIntegrationConfig: ( + projectId: string, + integration: WorkflowIntegrationPlatform + ) => [{ projectId, integration }, "project-workflow-integration-config"] as const, + getProjectSshCas: (projectId: string) => [{ projectId }, "project-ssh-cas"] as const, + allProjectSshCertificates: (projectId: string) => + [{ projectId }, "project-ssh-certificates"] as const, + getProjectSshHosts: (projectId: string) => [{ projectId }, "project-ssh-hosts"] as const, + getProjectSshHostGroups: (projectId: string) => + [{ projectId }, "project-ssh-host-groups"] as const, + specificProjectSshCertificates: ({ + offset, + limit, + projectId + }: { + offset: number; + limit: number; + projectId: string; + }) => [...projectKeys.allProjectSshCertificates(projectId), { offset, limit }] as const, + getProjectSshCertificateTemplates: (projectId: string) => + [{ projectId }, "project-ssh-certificate-templates"] as const, + getProjectSshConfig: (projectId: string) => [{ projectId }, "project-ssh-config"] as const +}; diff --git a/frontend/src/hooks/api/workspace/types.ts b/frontend/src/hooks/api/projects/types.ts similarity index 96% rename from frontend/src/hooks/api/workspace/types.ts rename to frontend/src/hooks/api/projects/types.ts index 7c8da4d4b..5901a0116 100644 --- a/frontend/src/hooks/api/workspace/types.ts +++ b/frontend/src/hooks/api/projects/types.ts @@ -31,7 +31,7 @@ export type Project = { upgradeStatus: string | null; updatedAt: string; autoCapitalization: boolean; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; pitVersionLimit: number; auditLogsRetentionDays: number; slug: string; @@ -43,13 +43,13 @@ export type Project = { secretDetectionIgnoreValues: string[]; }; -export type WorkspaceEnv = { +export type ProjectEnv = { id: string; name: string; slug: string; }; -export type WorkspaceTag = { id: string; name: string; slug: string }; +export type ProjectTag = { id: string; name: string; slug: string }; export type NameWorkspaceSecretsDTO = { projectId: string; @@ -76,7 +76,7 @@ export type CreateWorkspaceDTO = { }; export type UpdateProjectDTO = { - projectID: string; + projectId: string; newProjectName?: string; newProjectDescription?: string; newSlug?: string; @@ -85,6 +85,7 @@ export type UpdateProjectDTO = { secretDetectionIgnoreValues?: string[]; pitVersionLimit?: number; autoCapitalization?: boolean; + hasDeleteProtection?: boolean; }; export type UpdatePitVersionLimitDTO = { projectSlug: string; pitVersionLimit: number }; diff --git a/frontend/src/hooks/api/secretApproval/types.ts b/frontend/src/hooks/api/secretApproval/types.ts index 6b4aeba63..ac912c401 100644 --- a/frontend/src/hooks/api/secretApproval/types.ts +++ b/frontend/src/hooks/api/secretApproval/types.ts @@ -1,11 +1,11 @@ import { EnforcementLevel } from "../policies/enums"; -import { WorkspaceEnv } from "../workspace/types"; +import { ProjectEnv } from "../projects/types"; export type TSecretApprovalPolicy = { id: string; project: string; name: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; secretPath?: string; approvals: number; approvers: Approver[]; diff --git a/frontend/src/hooks/api/secretFolders/types.ts b/frontend/src/hooks/api/secretFolders/types.ts index dc9bce70f..5772fb1ba 100644 --- a/frontend/src/hooks/api/secretFolders/types.ts +++ b/frontend/src/hooks/api/secretFolders/types.ts @@ -1,4 +1,4 @@ -import { WorkspaceEnv } from "@app/hooks/api/workspace/types"; +import { ProjectEnv } from "@app/hooks/api/projects/types"; export enum ReservedFolders { SecretReplication = "__reserve_replication_" @@ -22,7 +22,7 @@ export type TSecretFolder = { export type TSecretFolderWithPath = TSecretFolder & { path: string }; export type TProjectEnvironmentsFolders = { - [key: string]: WorkspaceEnv & { folders: TSecretFolderWithPath[] }; + [key: string]: ProjectEnv & { folders: TSecretFolderWithPath[] }; }; export type TGetProjectFoldersDTO = { diff --git a/frontend/src/hooks/api/secretImports/types.ts b/frontend/src/hooks/api/secretImports/types.ts index d950c2ca2..a64bf5af0 100644 --- a/frontend/src/hooks/api/secretImports/types.ts +++ b/frontend/src/hooks/api/secretImports/types.ts @@ -1,11 +1,11 @@ import { SecretV3Raw } from "../secrets/types"; -import { WorkspaceEnv } from "../workspace/types"; +import { ProjectEnv } from "../projects/types"; export type TSecretImport = { id: string; folderId: string; importPath: string; - importEnv: WorkspaceEnv; + importEnv: ProjectEnv; position: string; createdAt: string; updatedAt: string; @@ -25,7 +25,7 @@ export type TGetImportedFoldersByEnvDTO = { export type TImportedSecrets = { environment: string; - environmentInfo: WorkspaceEnv; + environmentInfo: ProjectEnv; secretPath: string; folderId: string; secrets: SecretV3Raw[]; diff --git a/frontend/src/hooks/api/secretRotation/types.ts b/frontend/src/hooks/api/secretRotation/types.ts index 19c4cdcdf..c5f939c5c 100644 --- a/frontend/src/hooks/api/secretRotation/types.ts +++ b/frontend/src/hooks/api/secretRotation/types.ts @@ -1,4 +1,4 @@ -import { WorkspaceEnv } from "../workspace/types"; +import { ProjectEnv } from "../projects/types"; export enum TProviderFunctionTypes { HTTP = "http", @@ -80,7 +80,7 @@ export type TSecretRotation = { customProvider: string; workspace: string; envId: string; - environment: WorkspaceEnv; + environment: ProjectEnv; secretPath: string; outputs: Array<{ key: string; diff --git a/frontend/src/hooks/api/secretSnapshots/types.ts b/frontend/src/hooks/api/secretSnapshots/types.ts index 82c04253b..9b1f95480 100644 --- a/frontend/src/hooks/api/secretSnapshots/types.ts +++ b/frontend/src/hooks/api/secretSnapshots/types.ts @@ -1,5 +1,5 @@ import { SecretVersions } from "../secrets/types"; -import { WorkspaceEnv } from "../types"; +import { ProjectEnv } from "../types"; export type TSecretSnapshot = { id: string; @@ -13,7 +13,7 @@ export type TSnapshotData = Omit & { id: string; secretVersions: (SecretVersions & { isRotatedSecret?: boolean })[]; folderVersion: Array<{ name: string; id: string }>; - environment: WorkspaceEnv; + environment: ProjectEnv; }; export type TSnapshotDataProps = { diff --git a/frontend/src/hooks/api/secrets/mutations.tsx b/frontend/src/hooks/api/secrets/mutations.tsx index 0dfc5db25..cfd2dc921 100644 --- a/frontend/src/hooks/api/secrets/mutations.tsx +++ b/frontend/src/hooks/api/secrets/mutations.tsx @@ -333,11 +333,11 @@ export const useMoveSecrets = ({ mutationFn: async ({ sourceEnvironment, sourceSecretPath, - projectSlug, destinationEnvironment, destinationSecretPath, secretIds, - shouldOverwrite + shouldOverwrite, + projectId }) => { const { data } = await apiRequest.post<{ isSourceUpdated: boolean; @@ -345,11 +345,11 @@ export const useMoveSecrets = ({ }>("/api/v4/secrets/move", { sourceEnvironment, sourceSecretPath, - projectSlug, destinationEnvironment, destinationSecretPath, secretIds, - shouldOverwrite + shouldOverwrite, + projectId }); return data; diff --git a/frontend/src/hooks/api/secrets/types.ts b/frontend/src/hooks/api/secrets/types.ts index 95855992a..327d3659d 100644 --- a/frontend/src/hooks/api/secrets/types.ts +++ b/frontend/src/hooks/api/secrets/types.ts @@ -227,7 +227,6 @@ export type TDeleteSecretBatchDTO = { }; export type TMoveSecretsDTO = { - projectSlug: string; projectId: string; sourceEnvironment: string; sourceSecretPath: string; diff --git a/frontend/src/hooks/api/sshCa/mutations.tsx b/frontend/src/hooks/api/sshCa/mutations.tsx index 11d7fa8f5..fc6c43ef4 100644 --- a/frontend/src/hooks/api/sshCa/mutations.tsx +++ b/frontend/src/hooks/api/sshCa/mutations.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { projectKeys } from "../workspace/query-keys"; +import { projectKeys } from "../projects/query-keys"; import { TCreateSshCaDTO, TDeleteSshCaDTO, @@ -28,7 +28,7 @@ export const useCreateSshCa = () => { return ca; }, onSuccess: ({ projectId }) => { - queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceSshCas(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectSshCas(projectId) }); } }); }; @@ -43,7 +43,7 @@ export const useUpdateSshCa = () => { return ca; }, onSuccess: ({ projectId }, { caId }) => { - queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceSshCas(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectSshCas(projectId) }); queryClient.invalidateQueries({ queryKey: sshCaKeys.getSshCaById(caId) }); } }); @@ -59,7 +59,7 @@ export const useDeleteSshCa = () => { return ca; }, onSuccess: ({ projectId }) => { - queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceSshCas(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectSshCas(projectId) }); } }); }; @@ -76,7 +76,7 @@ export const useSignSshKey = () => { }, onSuccess: (_, { projectId }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.allWorkspaceSshCertificates(projectId) + queryKey: projectKeys.allProjectSshCertificates(projectId) }); } }); @@ -94,7 +94,7 @@ export const useIssueSshCreds = () => { }, onSuccess: (_, { projectId }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.allWorkspaceSshCertificates(projectId) + queryKey: projectKeys.allProjectSshCertificates(projectId) }); } }); diff --git a/frontend/src/hooks/api/sshHost/mutations.tsx b/frontend/src/hooks/api/sshHost/mutations.tsx index 0ebfd087e..0c1b67103 100644 --- a/frontend/src/hooks/api/sshHost/mutations.tsx +++ b/frontend/src/hooks/api/sshHost/mutations.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { projectKeys } from "../workspace/query-keys"; +import { projectKeys } from "../projects/query-keys"; import { TCreateSshHostDTO, TDeleteSshHostDTO, TSshHost, TUpdateSshHostDTO } from "./types"; export const useCreateSshHost = () => { @@ -13,7 +13,7 @@ export const useCreateSshHost = () => { return host; }, onSuccess: ({ projectId }) => { - queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceSshHosts(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectSshHosts(projectId) }); } }); }; @@ -26,7 +26,7 @@ export const useUpdateSshHost = () => { return host; }, onSuccess: ({ projectId }) => { - queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceSshHosts(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectSshHosts(projectId) }); } }); }; @@ -39,7 +39,7 @@ export const useDeleteSshHost = () => { return host; }, onSuccess: ({ projectId }) => { - queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceSshHosts(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectSshHosts(projectId) }); } }); }; diff --git a/frontend/src/hooks/api/sshHostGroup/mutations.tsx b/frontend/src/hooks/api/sshHostGroup/mutations.tsx index b06089809..fa9eebb07 100644 --- a/frontend/src/hooks/api/sshHostGroup/mutations.tsx +++ b/frontend/src/hooks/api/sshHostGroup/mutations.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { projectKeys } from "../workspace/query-keys"; +import { projectKeys } from "../projects/query-keys"; import { sshHostGroupKeys } from "./queries"; import { TCreateSshHostGroupDTO, @@ -20,7 +20,7 @@ export const useCreateSshHostGroup = () => { }, onSuccess: ({ projectId, id }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceSshHostGroups(projectId) + queryKey: projectKeys.getProjectSshHostGroups(projectId) }); queryClient.invalidateQueries({ queryKey: sshHostGroupKeys.getSshHostGroupById(id) @@ -41,10 +41,10 @@ export const useUpdateSshHostGroup = () => { }, onSuccess: ({ projectId }, { sshHostGroupId }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceSshHostGroups(projectId) + queryKey: projectKeys.getProjectSshHostGroups(projectId) }); queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceSshHosts(projectId) + queryKey: projectKeys.getProjectSshHosts(projectId) }); queryClient.invalidateQueries({ queryKey: sshHostGroupKeys.getSshHostGroupById(sshHostGroupId) @@ -64,10 +64,10 @@ export const useDeleteSshHostGroup = () => { }, onSuccess: ({ projectId }, { sshHostGroupId }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceSshHostGroups(projectId) + queryKey: projectKeys.getProjectSshHostGroups(projectId) }); queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceSshHosts(projectId) + queryKey: projectKeys.getProjectSshHosts(projectId) }); queryClient.invalidateQueries({ queryKey: sshHostGroupKeys.getSshHostGroupById(sshHostGroupId) diff --git a/frontend/src/hooks/api/tags/queries.tsx b/frontend/src/hooks/api/tags/queries.tsx index 0bd4b09a9..1ef75554d 100644 --- a/frontend/src/hooks/api/tags/queries.tsx +++ b/frontend/src/hooks/api/tags/queries.tsx @@ -28,7 +28,7 @@ export const useCreateWsTag = () => { const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ projectID, tagColor, tagSlug }) => { + mutationFn: async ({ projectId: projectID, tagColor, tagSlug }) => { const { data } = await apiRequest.post<{ projectTag: WsTag }>( `/api/v1/projects/${projectID}/tags`, { diff --git a/frontend/src/hooks/api/tags/types.ts b/frontend/src/hooks/api/tags/types.ts index c0994b92c..09ac22147 100644 --- a/frontend/src/hooks/api/tags/types.ts +++ b/frontend/src/hooks/api/tags/types.ts @@ -13,7 +13,7 @@ export type WsTag = { export type WorkspaceTag = { id: string; name: string; slug: string }; export type CreateTagDTO = { - projectID: string; + projectId: string; tagSlug: string; tagColor: string; }; diff --git a/frontend/src/hooks/api/types.ts b/frontend/src/hooks/api/types.ts index 99c991c35..deae94ff6 100644 --- a/frontend/src/hooks/api/types.ts +++ b/frontend/src/hooks/api/types.ts @@ -36,10 +36,10 @@ export type { ToggleAutoCapitalizationDTO, UpdateEnvironmentDTO, UpdateProjectDTO, - Project as Workspace, - WorkspaceEnv, - WorkspaceTag -} from "./workspace/types"; + Project, + ProjectEnv, + ProjectTag +} from "./projects/types"; export enum ApiErrorTypes { ValidationError = "ValidationFailure", diff --git a/frontend/src/hooks/api/users/mutation.tsx b/frontend/src/hooks/api/users/mutation.tsx index adc37fd42..7acfb8fe0 100644 --- a/frontend/src/hooks/api/users/mutation.tsx +++ b/frontend/src/hooks/api/users/mutation.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { projectKeys } from "../workspace"; +import { projectKeys } from "../projects"; import { userKeys } from "./query-keys"; import { AddUserToWsDTONonE2EE } from "./types"; @@ -18,7 +18,7 @@ export const useAddUserToWsNonE2EE = () => { return data; }, onSuccess: (_, { orgId, projectId }) => { - queryClient.invalidateQueries({ queryKey: projectKeys.getWorkspaceUsers(projectId) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectUsers(projectId) }); queryClient.invalidateQueries({ queryKey: userKeys.allOrgMembershipProjectMemberships(orgId) }); diff --git a/frontend/src/hooks/api/users/queries.tsx b/frontend/src/hooks/api/users/queries.tsx index 77289fee6..a2f86d6d3 100644 --- a/frontend/src/hooks/api/users/queries.tsx +++ b/frontend/src/hooks/api/users/queries.tsx @@ -10,7 +10,7 @@ import { MfaMethod } from "../auth/types"; import { TGroupWithProjectMemberships } from "../groups/types"; import { setAuthToken } from "../reactQuery"; import { subscriptionQueryKeys } from "../subscriptions/queries"; -import { workspaceKeys } from "../workspace"; +import { projectKeys } from "../projects"; import { userKeys } from "./query-keys"; import { AddUserToOrgDTO, @@ -197,10 +197,10 @@ export const useAddUsersToOrg = () => { projects?.forEach((project) => { if (project.slug) { queryClient.invalidateQueries({ - queryKey: workspaceKeys.getWorkspaceGroupMemberships(project.slug) + queryKey: projectKeys.getProjectGroupMemberships(project.slug) }); } - queryClient.invalidateQueries({ queryKey: workspaceKeys.getWorkspaceUsers(project.id) }); + queryClient.invalidateQueries({ queryKey: projectKeys.getProjectUsers(project.id) }); }); } }); diff --git a/frontend/src/hooks/api/users/types.ts b/frontend/src/hooks/api/users/types.ts index 5a90d4b64..a59965dfc 100644 --- a/frontend/src/hooks/api/users/types.ts +++ b/frontend/src/hooks/api/users/types.ts @@ -1,5 +1,5 @@ import { MfaMethod } from "../auth/types"; -import { ProjectType, ProjectUserMembershipTemporaryMode } from "../workspace/types"; +import { ProjectType, ProjectUserMembershipTemporaryMode } from "../projects/types"; export enum AuthMethod { EMAIL = "email", diff --git a/frontend/src/hooks/api/workflowIntegrations/mutation.tsx b/frontend/src/hooks/api/workflowIntegrations/mutation.tsx index 1a3927eff..d362c7b82 100644 --- a/frontend/src/hooks/api/workflowIntegrations/mutation.tsx +++ b/frontend/src/hooks/api/workflowIntegrations/mutation.tsx @@ -2,7 +2,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; -import { projectKeys } from "../workspace/query-keys"; +import { projectKeys } from "../projects/query-keys"; import { workflowIntegrationKeys } from "./queries"; import { TCheckMicrosoftTeamsIntegrationInstallationStatusDTO, @@ -126,7 +126,7 @@ export const useUpdateProjectWorkflowIntegrationConfig = () => { }, onSuccess: (_, { projectId: workspaceId, integration }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceWorkflowIntegrationConfig(workspaceId, integration) + queryKey: projectKeys.getProjectWorkflowIntegrationConfig(workspaceId, integration) }); } }); @@ -145,7 +145,7 @@ export const useDeleteProjectWorkflowIntegration = () => { }, onSuccess: (_, { projectId, integration }) => { queryClient.invalidateQueries({ - queryKey: projectKeys.getWorkspaceWorkflowIntegrationConfig(projectId, integration) + queryKey: projectKeys.getProjectWorkflowIntegrationConfig(projectId, integration) }); } }); diff --git a/frontend/src/hooks/api/workspace/query-keys.tsx b/frontend/src/hooks/api/workspace/query-keys.tsx deleted file mode 100644 index fe17dc68d..000000000 --- a/frontend/src/hooks/api/workspace/query-keys.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import { TListProjectIdentitiesDTO, TSearchProjectsDTO } from "@app/hooks/api/workspace/types"; - -import type { CaStatus } from "../ca"; -import { WorkflowIntegrationPlatform } from "../workflowIntegrations/types"; - -export const projectKeys = { - getWorkspaceById: (projectId: string) => ["projects", { projectId }] as const, - getWorkspaceSecrets: (projectId: string) => [{ projectId }, "project-secrets"] as const, - getWorkspaceIndexStatus: (projectId: string) => [{ projectId }, "project-index-status"] as const, - getProjectUpgradeStatus: (projectId: string) => [{ projectId }, "project-upgrade-status"], - getWorkspaceMemberships: (orgId: string) => [{ orgId }, "project-memberships"], - getWorkspaceAuthorization: (projectId: string) => [{ projectId }, "project-authorizations"], - getWorkspaceIntegrations: (projectId: string) => [{ projectId }, "project-integrations"], - getAllUserWorkspace: () => ["projects"] as const, - getWorkspaceAuditLogs: (projectId: string) => [{ projectId }, "project-audit-logs"] as const, - getWorkspaceUsers: ( - projectId: string, - includeGroupMembers: boolean = false, - roles: string[] = [] - ) => [{ projectId, includeGroupMembers, roles }, "project-users"] as const, - getWorkspaceUserDetails: (projectId: string, membershipId: string) => - [{ projectId, membershipId }, "project-user-details"] as const, - getWorkspaceIdentityMemberships: (projectId: string) => - [{ projectId }, "project-identity-memberships"] as const, - getWorkspaceIdentityMembershipDetails: (projectId: string, identityId: string) => - [{ projectId, identityId }, "project-identity-membership-details"] as const, - // allows invalidation using above key without knowing params - getWorkspaceIdentityMembershipsWithParams: ({ - projectId, - ...params - }: TListProjectIdentitiesDTO) => - [...projectKeys.getWorkspaceIdentityMemberships(projectId), params] as const, - searchWorkspace: (dto: TSearchProjectsDTO) => ["search-projects", dto] as const, - getWorkspaceGroupMemberships: (projectId: string) => [{ projectId }, "project-groups"] as const, - getWorkspaceGroupMembershipDetails: (projectId: string, groupId: string) => - [{ projectId, groupId }, "project-group-membership-details"] as const, - getWorkspaceCas: ({ projectId }: { projectId: string }) => - [{ projectId }, "project-cas"] as const, - specificWorkspaceCas: ({ projectId, status }: { projectId: string; status?: CaStatus }) => - [...projectKeys.getWorkspaceCas({ projectId }), { status }] as const, - allWorkspaceCertificates: () => ["project-certificates"] as const, - forWorkspaceCertificates: (projectId: string) => - [...projectKeys.allWorkspaceCertificates(), projectId] as const, - specificWorkspaceCertificates: ({ - projectId, - offset, - limit - }: { - projectId: string; - offset: number; - limit: number; - }) => [...projectKeys.forWorkspaceCertificates(projectId), { offset, limit }] as const, - getWorkspacePkiAlerts: (projectId: string) => [{ projectId }, "project-pki-alerts"] as const, - getWorkspacePkiSubscribers: (projectId: string) => - [{ projectId }, "project-pki-subscribers"] as const, - getWorkspacePkiCollections: (projectId: string) => - [{ projectId }, "project-pki-collections"] as const, - getWorkspaceCertificateTemplates: (projectId: string) => - [{ projectId }, "project-certificate-templates"] as const, - getWorkspaceWorkflowIntegrationConfig: ( - projectId: string, - integration: WorkflowIntegrationPlatform - ) => [{ projectId, integration }, "project-workflow-integration-config"] as const, - getWorkspaceSshCas: (projectId: string) => [{ projectId }, "project-ssh-cas"] as const, - allWorkspaceSshCertificates: (projectId: string) => - [{ projectId }, "project-ssh-certificates"] as const, - getWorkspaceSshHosts: (projectId: string) => [{ projectId }, "project-ssh-hosts"] as const, - getWorkspaceSshHostGroups: (projectId: string) => - [{ projectId }, "project-ssh-host-groups"] as const, - specificWorkspaceSshCertificates: ({ - offset, - limit, - projectId - }: { - offset: number; - limit: number; - projectId: string; - }) => [...projectKeys.allWorkspaceSshCertificates(projectId), { offset, limit }] as const, - getWorkspaceSshCertificateTemplates: (projectId: string) => - [{ projectId }, "project-ssh-certificate-templates"] as const, - getProjectSshConfig: (projectId: string) => [{ projectId }, "project-ssh-config"] as const -}; diff --git a/frontend/src/hooks/useGetProjectTypeFromRoute.tsx b/frontend/src/hooks/useGetProjectTypeFromRoute.tsx index 3156216db..972671a96 100644 --- a/frontend/src/hooks/useGetProjectTypeFromRoute.tsx +++ b/frontend/src/hooks/useGetProjectTypeFromRoute.tsx @@ -1,7 +1,7 @@ import { useMemo } from "react"; import { useRouterState } from "@tanstack/react-router"; -import { ProjectType } from "@app/hooks/api/workspace/types"; +import { ProjectType } from "@app/hooks/api/projects/types"; export const useGetProjectTypeFromRoute = () => { const { location } = useRouterState(); diff --git a/frontend/src/hooks/usePathAccessPolicies.tsx b/frontend/src/hooks/usePathAccessPolicies.tsx index 1fbc5fd52..82fc50bc3 100644 --- a/frontend/src/hooks/usePathAccessPolicies.tsx +++ b/frontend/src/hooks/usePathAccessPolicies.tsx @@ -1,6 +1,6 @@ import { useMemo } from "react"; -import { useSubscription, useWorkspace } from "@app/context"; +import { useSubscription, useProject } from "@app/context"; import { useGetAccessApprovalPolicies } from "@app/hooks/api"; const matchesPath = (folderPath: string, pattern: string) => { @@ -37,10 +37,10 @@ type Params = { }; export const usePathAccessPolicies = ({ secretPath, environment }: Params) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { subscription } = useSubscription(); const { data: policies } = useGetAccessApprovalPolicies({ - projectSlug: currentWorkspace.slug, + projectSlug: currentProject.slug, options: { enabled: subscription.secretApproval } diff --git a/frontend/src/layouts/KmsLayout/KmsLayout.tsx b/frontend/src/layouts/KmsLayout/KmsLayout.tsx index c34bc3626..953e2c3db 100644 --- a/frontend/src/layouts/KmsLayout/KmsLayout.tsx +++ b/frontend/src/layouts/KmsLayout/KmsLayout.tsx @@ -4,12 +4,12 @@ import { Link, Outlet } from "@tanstack/react-router"; import { motion } from "framer-motion"; import { Lottie, Menu, MenuGroup, MenuItem } from "@app/components/v2"; -import { useProjectPermission, useWorkspace } from "@app/context"; +import { useProjectPermission, useProject } from "@app/context"; import { AssumePrivilegeModeBanner } from "../ProjectLayout/components/AssumePrivilegeModeBanner"; export const KmsLayout = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { assumedPrivilegeDetails } = useProjectPermission(); return ( @@ -34,7 +34,7 @@ export const KmsLayout = () => { {({ isActive }) => ( @@ -51,7 +51,7 @@ export const KmsLayout = () => { {({ isActive }) => ( @@ -70,7 +70,7 @@ export const KmsLayout = () => { {({ isActive }) => ( @@ -87,7 +87,7 @@ export const KmsLayout = () => { {({ isActive }) => ( @@ -104,7 +104,7 @@ export const KmsLayout = () => { {({ isActive }) => ( diff --git a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx index e9bb6a902..2f339a870 100644 --- a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx @@ -40,7 +40,7 @@ import { envConfig } from "@app/config/env"; import { useOrganization, useSubscription, useUser } from "@app/context"; import { isInfisicalCloud } from "@app/helpers/platform"; import { useToggle } from "@app/hooks"; -import { useGetOrganizations, useLogoutUser, workspaceKeys } from "@app/hooks/api"; +import { useGetOrganizations, useLogoutUser, projectKeys } from "@app/hooks/api"; import { authKeys, selectOrganization } from "@app/hooks/api/auth/queries"; import { MfaMethod } from "@app/hooks/api/auth/types"; import { getAuthToken } from "@app/hooks/api/reactQuery"; @@ -135,7 +135,7 @@ export const Navbar = () => { const handleOrgChange = async (orgId: string) => { queryClient.removeQueries({ queryKey: authKeys.getAuthToken }); - queryClient.removeQueries({ queryKey: workspaceKeys.getAllUserWorkspace() }); + queryClient.removeQueries({ queryKey: projectKeys.getAllUserProjects() }); const { token, isMfaEnabled, mfaMethod } = await selectOrganization({ organizationId: orgId diff --git a/frontend/src/layouts/PkiManagerLayout/PkiManagerLayout.tsx b/frontend/src/layouts/PkiManagerLayout/PkiManagerLayout.tsx index da9b5acdf..682f4a6ef 100644 --- a/frontend/src/layouts/PkiManagerLayout/PkiManagerLayout.tsx +++ b/frontend/src/layouts/PkiManagerLayout/PkiManagerLayout.tsx @@ -16,12 +16,12 @@ import { Link, Outlet } from "@tanstack/react-router"; import { motion } from "framer-motion"; import { Lottie, Menu, MenuGroup, MenuItem } from "@app/components/v2"; -import { useProjectPermission, useWorkspace } from "@app/context"; +import { useProjectPermission, useProject } from "@app/context"; import { AssumePrivilegeModeBanner } from "../ProjectLayout/components/AssumePrivilegeModeBanner"; export const PkiManagerLayout = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { assumedPrivilegeDetails } = useProjectPermission(); const { t } = useTranslation(); @@ -48,7 +48,7 @@ export const PkiManagerLayout = () => { {({ isActive }) => ( @@ -65,7 +65,7 @@ export const PkiManagerLayout = () => { {({ isActive }) => ( @@ -82,7 +82,7 @@ export const PkiManagerLayout = () => { {({ isActive }) => ( @@ -99,7 +99,7 @@ export const PkiManagerLayout = () => { {({ isActive }) => ( @@ -116,7 +116,7 @@ export const PkiManagerLayout = () => { {({ isActive }) => ( @@ -135,7 +135,7 @@ export const PkiManagerLayout = () => { {({ isActive }) => ( @@ -152,7 +152,7 @@ export const PkiManagerLayout = () => { {({ isActive }) => ( @@ -169,7 +169,7 @@ export const PkiManagerLayout = () => { {({ isActive }) => ( diff --git a/frontend/src/layouts/ProjectLayout/components/AssumePrivilegeModeBanner/AssumePrivilegeModeBanner.tsx b/frontend/src/layouts/ProjectLayout/components/AssumePrivilegeModeBanner/AssumePrivilegeModeBanner.tsx index 995083ee7..84a108375 100644 --- a/frontend/src/layouts/ProjectLayout/components/AssumePrivilegeModeBanner/AssumePrivilegeModeBanner.tsx +++ b/frontend/src/layouts/ProjectLayout/components/AssumePrivilegeModeBanner/AssumePrivilegeModeBanner.tsx @@ -2,13 +2,13 @@ import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Button } from "@app/components/v2"; -import { useProjectPermission, useWorkspace } from "@app/context"; +import { useProjectPermission, useProject } from "@app/context"; import { getProjectHomePage } from "@app/helpers/project"; import { useRemoveAssumeProjectPrivilege } from "@app/hooks/api"; import { ActorType } from "@app/hooks/api/auditLogs/enums"; export const AssumePrivilegeModeBanner = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const exitAssumePrivilegeMode = useRemoveAssumeProjectPrivilege(); const { assumedPrivilegeDetails } = useProjectPermission(); @@ -32,15 +32,12 @@ export const AssumePrivilegeModeBanner = () => { onClick={() => { exitAssumePrivilegeMode.mutate( { - projectId: currentWorkspace.id + projectId: currentProject.id }, { onSuccess: () => { - const url = getProjectHomePage( - currentWorkspace.type, - currentWorkspace.environments - ); - window.location.href = url.replace("$projectId", currentWorkspace.id); + const url = getProjectHomePage(currentProject.type, currentProject.environments); + window.location.href = url.replace("$projectId", currentProject.id); } } ); diff --git a/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx b/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx index f566ab6ef..e80df4a6a 100644 --- a/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx +++ b/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx @@ -29,20 +29,20 @@ import { OrgPermissionSubjects, useOrganization, useSubscription, - useWorkspace + useProject } from "@app/context"; import { getProjectHomePage } from "@app/helpers/project"; import { usePopUp } from "@app/hooks"; -import { useGetUserWorkspaces } from "@app/hooks/api"; +import { useGetUserProjects } from "@app/hooks/api"; import { useUpdateUserProjectFavorites } from "@app/hooks/api/users/mutation"; import { useGetUserProjectFavorites } from "@app/hooks/api/users/queries"; -import { Project } from "@app/hooks/api/workspace/types"; +import { Project } from "@app/hooks/api/projects/types"; export const ProjectSelect = () => { const [searchProject, setSearchProject] = useState(""); - const { currentWorkspace } = useWorkspace(); + const { currentProject: currentWorkspace } = useProject(); const { currentOrg } = useOrganization(); - const { data: workspaces = [] } = useGetUserWorkspaces(); + const { data: projects = [] } = useGetUserProjects(); const { data: projectFavorites } = useGetUserProjectFavorites(currentOrg.id); const { subscription } = useSubscription(); @@ -86,8 +86,8 @@ export const ProjectSelect = () => { "upgradePlan" ] as const); - const projects = useMemo(() => { - const projectOptions = workspaces + const projectsSortedByFav = useMemo(() => { + const projectOptions = projects .map((w): Project & { isFavorite: boolean } => ({ ...w, isFavorite: Boolean(projectFavorites?.includes(w.id)) @@ -95,7 +95,7 @@ export const ProjectSelect = () => { .sort((a, b) => Number(b.isFavorite) - Number(a.isFavorite)); return projectOptions; - }, [workspaces, projectFavorites, currentWorkspace]); + }, [projects, projectFavorites, currentWorkspace]); return (
    @@ -147,7 +147,7 @@ export const ProjectSelect = () => { />
    - {projects + {projectsSortedByFav ?.filter((el) => el.name?.toLowerCase().includes(searchProject.toLowerCase())) ?.map((workspace) => { return ( diff --git a/frontend/src/layouts/SecretManagerLayout/SecretManagerLayout.tsx b/frontend/src/layouts/SecretManagerLayout/SecretManagerLayout.tsx index 0584e8e9c..06e597079 100644 --- a/frontend/src/layouts/SecretManagerLayout/SecretManagerLayout.tsx +++ b/frontend/src/layouts/SecretManagerLayout/SecretManagerLayout.tsx @@ -15,7 +15,7 @@ import { Link, Outlet, useLocation } from "@tanstack/react-router"; import { motion } from "framer-motion"; import { Badge, Lottie, Menu, MenuGroup, MenuItem } from "@app/components/v2"; -import { useProjectPermission, useWorkspace } from "@app/context"; +import { useProjectPermission, useProject } from "@app/context"; import { useGetAccessRequestsCount, useGetSecretApprovalRequestCount, @@ -25,16 +25,15 @@ import { import { AssumePrivilegeModeBanner } from "../ProjectLayout/components/AssumePrivilegeModeBanner"; export const SecretManagerLayout = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject, projectId } = useProject(); const { assumedPrivilegeDetails } = useProjectPermission(); const { t } = useTranslation(); - const workspaceId = currentWorkspace?.id || ""; - const projectSlug = currentWorkspace?.slug || ""; + const projectSlug = currentProject?.slug || ""; const location = useLocation(); const { data: secretApprovalReqCount } = useGetSecretApprovalRequestCount({ - workspaceId + projectId }); const { data: accessApprovalRequestCount } = useGetAccessRequestsCount({ projectSlug @@ -42,7 +41,7 @@ export const SecretManagerLayout = () => { // we only show the secret rotations v1 tab if they have existing rotations const { data: secretRotations } = useGetSecretRotations({ - workspaceId, + workspaceId: projectId, options: { refetchOnMount: false } @@ -74,9 +73,9 @@ export const SecretManagerLayout = () => { @@ -85,7 +84,7 @@ export const SecretManagerLayout = () => { isSelected={ isActive || location.pathname.startsWith( - `/projects/secret-management/${currentWorkspace.id}/overview` + `/projects/secret-management/${currentProject.id}/overview` ) } > @@ -101,7 +100,7 @@ export const SecretManagerLayout = () => { {({ isActive }) => ( @@ -119,7 +118,7 @@ export const SecretManagerLayout = () => { {({ isActive }) => ( @@ -137,7 +136,7 @@ export const SecretManagerLayout = () => { {({ isActive }) => ( @@ -164,7 +163,7 @@ export const SecretManagerLayout = () => { {({ isActive }) => ( @@ -181,7 +180,7 @@ export const SecretManagerLayout = () => { {({ isActive }) => ( @@ -198,7 +197,7 @@ export const SecretManagerLayout = () => { {({ isActive }) => ( diff --git a/frontend/src/layouts/SecretScanningLayout/SecretScanningLayout.tsx b/frontend/src/layouts/SecretScanningLayout/SecretScanningLayout.tsx index 265fcc003..4f4ed345c 100644 --- a/frontend/src/layouts/SecretScanningLayout/SecretScanningLayout.tsx +++ b/frontend/src/layouts/SecretScanningLayout/SecretScanningLayout.tsx @@ -15,7 +15,7 @@ import { ProjectPermissionSub, useProjectPermission, useSubscription, - useWorkspace + useProject } from "@app/context"; import { ProjectPermissionSecretScanningFindingActions } from "@app/context/ProjectPermissionContext/types"; import { useGetSecretScanningUnresolvedFindingCount } from "@app/hooks/api/secretScanningV2"; @@ -23,14 +23,14 @@ import { useGetSecretScanningUnresolvedFindingCount } from "@app/hooks/api/secre import { AssumePrivilegeModeBanner } from "../ProjectLayout/components/AssumePrivilegeModeBanner"; export const SecretScanningLayout = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { assumedPrivilegeDetails } = useProjectPermission(); const { permission } = useProjectPermission(); const { subscription } = useSubscription(); const { data: unresolvedFindings } = useGetSecretScanningUnresolvedFindingCount( - currentWorkspace.id, + currentProject.id, { enabled: subscription.secretScanning && @@ -64,7 +64,7 @@ export const SecretScanningLayout = () => { {({ isActive }) => ( @@ -81,7 +81,7 @@ export const SecretScanningLayout = () => { {({ isActive }) => ( @@ -105,7 +105,7 @@ export const SecretScanningLayout = () => { {({ isActive }) => ( @@ -122,7 +122,7 @@ export const SecretScanningLayout = () => { {({ isActive }) => ( @@ -139,7 +139,7 @@ export const SecretScanningLayout = () => { {({ isActive }) => ( diff --git a/frontend/src/layouts/SshLayout/SshLayout.tsx b/frontend/src/layouts/SshLayout/SshLayout.tsx index 9c807723e..f8aa4f95b 100644 --- a/frontend/src/layouts/SshLayout/SshLayout.tsx +++ b/frontend/src/layouts/SshLayout/SshLayout.tsx @@ -16,13 +16,13 @@ import { ProjectPermissionActions, ProjectPermissionSub, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { AssumePrivilegeModeBanner } from "../ProjectLayout/components/AssumePrivilegeModeBanner"; export const SshLayout = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { assumedPrivilegeDetails } = useProjectPermission(); return ( @@ -47,7 +47,7 @@ export const SshLayout = () => { {({ isActive }) => ( @@ -70,7 +70,7 @@ export const SshLayout = () => { {({ isActive }) => ( @@ -93,7 +93,7 @@ export const SshLayout = () => { {({ isActive }) => ( @@ -110,7 +110,7 @@ export const SshLayout = () => { {({ isActive }) => ( @@ -127,7 +127,7 @@ export const SshLayout = () => { {({ isActive }) => ( diff --git a/frontend/src/pages/cert-manager/AlertingPage/components/PkiAlertModal.tsx b/frontend/src/pages/cert-manager/AlertingPage/components/PkiAlertModal.tsx index 04fafa0b2..5601e48db 100644 --- a/frontend/src/pages/cert-manager/AlertingPage/components/PkiAlertModal.tsx +++ b/frontend/src/pages/cert-manager/AlertingPage/components/PkiAlertModal.tsx @@ -13,7 +13,7 @@ import { Select, SelectItem } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreatePkiAlert, useGetPkiAlertById, @@ -60,15 +60,15 @@ type Props = { }; export const PkiAlertModal = ({ popUp, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data: alert } = useGetPkiAlertById( (popUp?.pkiAlert?.data as { alertId: string })?.alertId || "" ); const { data: pkiCollections } = useListWorkspacePkiCollections({ - workspaceId: projectId + projectId }); const { mutateAsync: createPkiAlert } = useCreatePkiAlert(); diff --git a/frontend/src/pages/cert-manager/AlertingPage/components/PkiAlertsSection.tsx b/frontend/src/pages/cert-manager/AlertingPage/components/PkiAlertsSection.tsx index 497f10c39..d3aeefab7 100644 --- a/frontend/src/pages/cert-manager/AlertingPage/components/PkiAlertsSection.tsx +++ b/frontend/src/pages/cert-manager/AlertingPage/components/PkiAlertsSection.tsx @@ -4,7 +4,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; import { Button, DeleteActionModal } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { useDeletePkiAlert } from "@app/hooks/api"; import { usePopUp } from "@app/hooks/usePopUp"; @@ -12,8 +12,8 @@ import { PkiAlertModal } from "./PkiAlertModal"; import { PkiAlertsTable } from "./PkiAlertsTable"; export const PkiAlertsSection = () => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { mutateAsync: deletePkiAlert } = useDeletePkiAlert(); const { popUp, handlePopUpOpen, handlePopUpClose, handlePopUpToggle } = usePopUp([ diff --git a/frontend/src/pages/cert-manager/AlertingPage/components/PkiAlertsTable.tsx b/frontend/src/pages/cert-manager/AlertingPage/components/PkiAlertsTable.tsx index b67c5a2c6..4ddbd4671 100644 --- a/frontend/src/pages/cert-manager/AlertingPage/components/PkiAlertsTable.tsx +++ b/frontend/src/pages/cert-manager/AlertingPage/components/PkiAlertsTable.tsx @@ -10,7 +10,7 @@ import { THead, Tr } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useListWorkspacePkiAlerts } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -24,11 +24,11 @@ type Props = { }; export const PkiAlertsTable = ({ handlePopUpOpen }: Props) => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data, isPending } = useListWorkspacePkiAlerts({ - workspaceId: projectId + projectId }); return ( diff --git a/frontend/src/pages/cert-manager/AlertingPage/components/PkiCollectionModal.tsx b/frontend/src/pages/cert-manager/AlertingPage/components/PkiCollectionModal.tsx index 366f51c62..5900a1ba9 100644 --- a/frontend/src/pages/cert-manager/AlertingPage/components/PkiCollectionModal.tsx +++ b/frontend/src/pages/cert-manager/AlertingPage/components/PkiCollectionModal.tsx @@ -6,7 +6,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Input, Modal, ModalContent } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreatePkiCollection, useGetPkiCollectionById, @@ -28,8 +28,8 @@ type Props = { export const PkiCollectionModal = ({ popUp, handlePopUpToggle }: Props) => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data: pkiCollection } = useGetPkiCollectionById( (popUp?.pkiCollection?.data as { collectionId: string })?.collectionId || "" diff --git a/frontend/src/pages/cert-manager/AlertingPage/components/PkiCollectionSection.tsx b/frontend/src/pages/cert-manager/AlertingPage/components/PkiCollectionSection.tsx index 81f5a8609..66732ad88 100644 --- a/frontend/src/pages/cert-manager/AlertingPage/components/PkiCollectionSection.tsx +++ b/frontend/src/pages/cert-manager/AlertingPage/components/PkiCollectionSection.tsx @@ -4,7 +4,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; import { Button, DeleteActionModal } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { useDeletePkiCollection } from "@app/hooks/api"; import { usePopUp } from "@app/hooks/usePopUp"; @@ -12,8 +12,8 @@ import { PkiCollectionModal } from "./PkiCollectionModal"; import { PkiCollectionTable } from "./PkiCollectionTable"; export const PkiCollectionSection = () => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { mutateAsync: deletePkiCollection } = useDeletePkiCollection(); const { popUp, handlePopUpOpen, handlePopUpClose, handlePopUpToggle } = usePopUp([ diff --git a/frontend/src/pages/cert-manager/AlertingPage/components/PkiCollectionTable.tsx b/frontend/src/pages/cert-manager/AlertingPage/components/PkiCollectionTable.tsx index ff525b1f4..ebd86973f 100644 --- a/frontend/src/pages/cert-manager/AlertingPage/components/PkiCollectionTable.tsx +++ b/frontend/src/pages/cert-manager/AlertingPage/components/PkiCollectionTable.tsx @@ -19,7 +19,7 @@ import { THead, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { useListWorkspacePkiCollections } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -32,11 +32,11 @@ type Props = { export const PkiCollectionTable = ({ handlePopUpOpen }: Props) => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data, isPending } = useListWorkspacePkiCollections({ - workspaceId: projectId + projectId }); return ( diff --git a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/CertAuthDetailsByIDPage.tsx b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/CertAuthDetailsByIDPage.tsx index 0bf3c4431..4e5859215 100644 --- a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/CertAuthDetailsByIDPage.tsx +++ b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/CertAuthDetailsByIDPage.tsx @@ -15,7 +15,7 @@ import { Tooltip } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { CaType, useDeleteCa, useGetCa } from "@app/hooks/api"; import { TInternalCertificateAuthority } from "@app/hooks/api/ca/types"; import { usePopUp } from "@app/hooks/usePopUp"; @@ -30,7 +30,7 @@ import { } from "./components"; const Page = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const navigate = useNavigate(); const params = useParams({ from: ROUTE_PATHS.CertManager.CertAuthDetailsByIDPage.id @@ -38,11 +38,11 @@ const Page = () => { const { caName } = params as { caName: string }; const { data } = useGetCa({ caName, - projectId: currentWorkspace?.id || "", + projectId: currentProject?.id || "", type: CaType.INTERNAL }) as { data: TInternalCertificateAuthority }; - const projectId = currentWorkspace?.id || ""; + const projectId = currentProject?.id || ""; const { mutateAsync: deleteCa } = useDeleteCa(); @@ -55,11 +55,11 @@ const Page = () => { const onRemoveCaSubmit = async () => { try { - if (!currentWorkspace?.slug) return; + if (!currentProject?.slug) return; await deleteCa({ caName, - projectId: currentWorkspace.id, + projectId: currentProject.id, type: CaType.INTERNAL }); diff --git a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/components/CaDetailsSection.tsx b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/components/CaDetailsSection.tsx index f12fcfd28..9ee5c1b8b 100644 --- a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/components/CaDetailsSection.tsx +++ b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/components/CaDetailsSection.tsx @@ -4,7 +4,7 @@ import { format } from "date-fns"; import { ProjectPermissionCan } from "@app/components/permissions"; import { Button, IconButton, Tooltip } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { useTimedReset } from "@app/hooks"; import { CaStatus, CaType, InternalCaType, useGetCa } from "@app/hooks/api"; import { caStatusToNameMap, caTypeToNameMap } from "@app/hooks/api/ca/constants"; @@ -21,7 +21,7 @@ type Props = { }; export const CaDetailsSection = ({ caName, handlePopUpOpen }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [copyTextId, isCopyingId, setCopyTextId] = useTimedReset({ initialState: "Copy ID to clipboard" }); @@ -31,7 +31,7 @@ export const CaDetailsSection = ({ caName, handlePopUpOpen }: Props) => { const { data } = useGetCa({ caName, - projectId: currentWorkspace.id, + projectId: currentProject.id, type: CaType.INTERNAL }); diff --git a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/components/CaRenewalModal.tsx b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/components/CaRenewalModal.tsx index 6f9cf3a1c..857586a58 100644 --- a/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/components/CaRenewalModal.tsx +++ b/frontend/src/pages/cert-manager/CertAuthDetailsByIDPage/components/CaRenewalModal.tsx @@ -13,7 +13,7 @@ import { Select, SelectItem } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { CaRenewalType, useRenewCa @@ -45,8 +45,8 @@ type Props = { }; export const CaRenewalModal = ({ popUp, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); - const projectSlug = currentWorkspace?.slug || ""; + const { currentProject } = useProject(); + const projectSlug = currentProject?.slug || ""; const popUpData = popUp?.renewCa?.data as { caId: string; diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaInstallCertModal/ExternalCaInstallForm.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaInstallCertModal/ExternalCaInstallForm.tsx index 6f79cbb24..d737e6c45 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaInstallCertModal/ExternalCaInstallForm.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaInstallCertModal/ExternalCaInstallForm.tsx @@ -8,7 +8,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, IconButton, TextArea, Tooltip } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useTimedReset } from "@app/hooks"; import { useGetCaCsr, useImportCaCertificate } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -26,7 +26,7 @@ type Props = { }; export const ExternalCaInstallForm = ({ caId, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [copyTextCaCsr, isCopyingCaCsr, setCopyTextCaCsr] = useTimedReset({ initialState: "Copy to clipboard" }); @@ -41,7 +41,7 @@ export const ExternalCaInstallForm = ({ caId, handlePopUpToggle }: Props) => { }); const { data: csr } = useGetCaCsr(caId); - const { mutateAsync: importCaCertificate } = useImportCaCertificate(currentWorkspace.id); + const { mutateAsync: importCaCertificate } = useImportCaCertificate(currentProject.id); useEffect(() => { reset(); @@ -49,11 +49,11 @@ export const ExternalCaInstallForm = ({ caId, handlePopUpToggle }: Props) => { const onFormSubmit = async ({ certificate, certificateChain }: FormData) => { try { - if (!csr || !caId || !currentWorkspace?.slug) return; + if (!csr || !caId || !currentProject?.slug) return; await importCaCertificate({ caId, - projectSlug: currentWorkspace?.slug, + projectSlug: currentProject?.slug, certificate, certificateChain }); diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaInstallCertModal/InternalCaInstallForm.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaInstallCertModal/InternalCaInstallForm.tsx index 677407dc8..5979d9711 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaInstallCertModal/InternalCaInstallForm.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaInstallCertModal/InternalCaInstallForm.tsx @@ -6,7 +6,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Input, Select, SelectItem } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { CaStatus, useGetCaById, @@ -46,16 +46,16 @@ type Props = { }; export const InternalCaInstallForm = ({ caId, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: cas } = useListWorkspaceCas({ - projectSlug: currentWorkspace?.slug ?? "", + projectId: currentProject.id, status: CaStatus.ACTIVE }); const { data: ca } = useGetCaById(caId); const { data: csr } = useGetCaCsr(caId); const { mutateAsync: signIntermediate } = useSignIntermediate(); - const { mutateAsync: importCaCertificate } = useImportCaCertificate(currentWorkspace.id); + const { mutateAsync: importCaCertificate } = useImportCaCertificate(currentProject.id); const { control, @@ -102,7 +102,7 @@ export const InternalCaInstallForm = ({ caId, handlePopUpToggle }: Props) => { const onFormSubmit = async ({ notAfter, maxPathLength }: FormData) => { try { - if (!csr || !caId || !currentWorkspace?.slug) return; + if (!csr || !caId || !currentProject?.slug) return; const { certificate, certificateChain } = await signIntermediate({ caId: parentCaId, @@ -114,7 +114,7 @@ export const InternalCaInstallForm = ({ caId, handlePopUpToggle }: Props) => { await importCaCertificate({ caId, - projectSlug: currentWorkspace?.slug, + projectSlug: currentProject?.slug, certificate, certificateChain }); diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaModal.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaModal.tsx index d3040576f..2a976d682 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaModal.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaModal.tsx @@ -16,7 +16,7 @@ import { Switch // DatePicker } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { CaStatus, CaType, @@ -84,10 +84,10 @@ const caTypes = [ ]; export const CaModal = ({ popUp, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: ca } = useGetCa({ caName: (popUp?.ca?.data as { name: string })?.name || "", - projectId: currentWorkspace?.id || "", + projectId: currentProject?.id || "", type: CaType.INTERNAL }); @@ -178,13 +178,13 @@ export const CaModal = ({ popUp, handlePopUpToggle }: Props) => { configuration }: FormData) => { try { - if (!currentWorkspace?.slug) return; + if (!currentProject?.slug) return; if (ca) { // update await updateMutateAsync({ caName: ca.name, - projectId: currentWorkspace.id, + projectId: currentProject.id, name, type: CaType.INTERNAL, status, @@ -193,7 +193,7 @@ export const CaModal = ({ popUp, handlePopUpToggle }: Props) => { } else { // create await createMutateAsync({ - projectId: currentWorkspace.id, + projectId: currentProject.id, name, type, status, diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaSection.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaSection.tsx index 5de6027fa..ed4e8f847 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaSection.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaSection.tsx @@ -5,7 +5,7 @@ import { UpgradePlanModal } from "@app/components/license/UpgradePlanModal"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; import { Button, DeleteActionModal } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { CaStatus, CaType, useDeleteCa, useUpdateCa } from "@app/hooks/api"; import { usePopUp } from "@app/hooks/usePopUp"; @@ -15,7 +15,7 @@ import { CaModal } from "./CaModal"; import { CaTable } from "./CaTable"; export const CaSection = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync: deleteCa } = useDeleteCa(); const { mutateAsync: updateCa } = useUpdateCa(); @@ -30,9 +30,9 @@ export const CaSection = () => { const onRemoveCaSubmit = async (caName: string) => { try { - if (!currentWorkspace?.slug) return; + if (!currentProject?.slug) return; - await deleteCa({ caName, projectId: currentWorkspace.id, type: CaType.INTERNAL }); + await deleteCa({ caName, projectId: currentProject.id, type: CaType.INTERNAL }); createNotification({ text: "Successfully deleted CA", @@ -50,9 +50,9 @@ export const CaSection = () => { const onUpdateCaStatus = async ({ caName, status }: { caName: string; status: CaStatus }) => { try { - if (!currentWorkspace?.slug) return; + if (!currentProject?.slug) return; - await updateCa({ caName, projectId: currentWorkspace.id, type: CaType.INTERNAL, status }); + await updateCa({ caName, projectId: currentProject.id, type: CaType.INTERNAL, status }); createNotification({ text: `Successfully ${status === CaStatus.ACTIVE ? "enabled" : "disabled"} CA`, diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaTable.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaTable.tsx index 00ab03625..81fce98c6 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaTable.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/CaTable.tsx @@ -22,7 +22,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { CaStatus, CaType, useListCasByTypeAndProjectId } from "@app/hooks/api"; import { caStatusToNameMap, @@ -49,8 +49,8 @@ type Props = { export const CaTable = ({ handlePopUpOpen }: Props) => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); - const { data, isPending } = useListCasByTypeAndProjectId(CaType.INTERNAL, currentWorkspace.id); + const { currentProject } = useProject(); + const { data, isPending } = useListCasByTypeAndProjectId(CaType.INTERNAL, currentProject.id); const cas = data as TInternalCertificateAuthority[]; return ( @@ -80,7 +80,7 @@ export const CaTable = ({ handlePopUpOpen }: Props) => { navigate({ to: "/projects/cert-management/$projectId/ca/$caName", params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, caName: ca.name } }) diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx index 68757f549..ed9c6b9e9 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx @@ -16,7 +16,7 @@ import { SelectItem, Switch } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { APP_CONNECTION_MAP } from "@app/helpers/appConnections"; import { TAvailableAppConnection, @@ -127,11 +127,11 @@ const caTypes = [ ]; export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: ca, isLoading: isCaLoading } = useGetCa({ caName: (popUp?.ca?.data as { name: string })?.name || "", - projectId: currentWorkspace?.id || "", + projectId: currentProject?.id || "", type: (popUp?.ca?.data as { type: CaType })?.type || "" }); @@ -297,7 +297,7 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { configuration: formConfiguration }: FormData) => { try { - if (!currentWorkspace?.slug) return; + if (!currentProject?.slug) return; let configPayload: any; @@ -321,7 +321,7 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { if (ca) { await updateMutateAsync({ caName: ca.name, - projectId: currentWorkspace.id, + projectId: currentProject.id, name, type, status, @@ -330,7 +330,7 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { }); } else { await createMutateAsync({ - projectId: currentWorkspace.id, + projectId: currentProject.id, name, type, status, diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaSection.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaSection.tsx index c8d117e21..7e60b0373 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaSection.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaSection.tsx @@ -5,7 +5,7 @@ import { UpgradePlanModal } from "@app/components/license/UpgradePlanModal"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; import { Button, DeleteActionModal } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { CaStatus, CaType, useDeleteCa, useUpdateCa } from "@app/hooks/api"; import { usePopUp } from "@app/hooks/usePopUp"; @@ -13,7 +13,7 @@ import { ExternalCaModal } from "./ExternalCaModal"; import { ExternalCaTable } from "./ExternalCaTable"; export const ExternalCaSection = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync: deleteCa } = useDeleteCa(); const { mutateAsync: updateCa } = useUpdateCa(); @@ -26,9 +26,9 @@ export const ExternalCaSection = () => { const onRemoveCaSubmit = async (caName: string, type: CaType) => { try { - if (!currentWorkspace?.id) return; + if (!currentProject?.id) return; - await deleteCa({ caName, type, projectId: currentWorkspace.id }); + await deleteCa({ caName, type, projectId: currentProject.id }); createNotification({ text: "Successfully deleted CA", @@ -54,9 +54,9 @@ export const ExternalCaSection = () => { status: CaStatus; }) => { try { - if (!currentWorkspace?.slug) return; + if (!currentProject?.slug) return; - await updateCa({ caName: name, type, status, projectId: currentWorkspace.id }); + await updateCa({ caName: name, type, status, projectId: currentProject.id }); createNotification({ text: `Successfully ${status === CaStatus.ACTIVE ? "enabled" : "disabled"} CA`, diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaTable.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaTable.tsx index e7b18f429..a948473e8 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaTable.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaTable.tsx @@ -26,7 +26,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { CaStatus, CaType, useListExternalCasByProjectId } from "@app/hooks/api"; import { caStatusToNameMap, getCaStatusBadgeVariant } from "@app/hooks/api/ca/constants"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -44,8 +44,8 @@ type Props = { }; export const ExternalCaTable = ({ handlePopUpOpen }: Props) => { - const { currentWorkspace } = useWorkspace(); - const { data, isPending } = useListExternalCasByProjectId(currentWorkspace.id); + const { currentProject } = useProject(); + const { data, isPending } = useListExternalCasByProjectId(currentProject.id); return (
    diff --git a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateImportModal.tsx b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateImportModal.tsx index c4cffe7b0..70b51cbbe 100644 --- a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateImportModal.tsx +++ b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateImportModal.tsx @@ -14,7 +14,7 @@ import { SelectItem, TextArea } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useGetCert, useImportCertificate, useListWorkspacePkiCollections } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -48,13 +48,13 @@ type TCertificateDetails = { export const CertificateImportModal = ({ popUp, handlePopUpToggle }: Props) => { const [certificateDetails, setCertificateDetails] = useState(null); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: cert } = useGetCert( (popUp?.certificateImport?.data as { serialNumber: string })?.serialNumber || "" ); const { data } = useListWorkspacePkiCollections({ - workspaceId: currentWorkspace?.id || "" + projectId: currentProject?.id || "" }); const { mutateAsync: importCertificate } = useImportCertificate(); @@ -76,10 +76,10 @@ export const CertificateImportModal = ({ popUp, handlePopUpToggle }: Props) => { collectionId }: FormData) => { try { - if (!currentWorkspace?.slug) return; + if (!currentProject?.slug) return; const { serialNumber, certificate, certificateChain, privateKey } = await importCertificate({ - projectSlug: currentWorkspace.slug, + projectSlug: currentProject.slug, certificatePem, privateKeyPem, diff --git a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateModal.tsx b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateModal.tsx index a10743023..a8509fe17 100644 --- a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateModal.tsx +++ b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateModal.tsx @@ -22,7 +22,7 @@ import { SelectItem, Tooltip } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { CaStatus, useCreateCertificate, @@ -89,22 +89,22 @@ const CERT_TEMPLATE_NONE_VALUE = "none"; export const CertificateModal = ({ popUp, handlePopUpToggle }: Props) => { const [certificateDetails, setCertificateDetails] = useState(null); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: cert } = useGetCert( (popUp?.certificate?.data as { serialNumber: string })?.serialNumber || "" ); const { data: cas } = useListWorkspaceCas({ - projectSlug: currentWorkspace?.slug ?? "", + projectId: currentProject.id, status: CaStatus.ACTIVE }); const { data } = useListWorkspacePkiCollections({ - workspaceId: currentWorkspace?.id || "" + projectId: currentProject?.id || "" }); const { data: templatesData } = useListWorkspaceCertificateTemplates({ - workspaceId: currentWorkspace?.id || "" + projectId: currentProject?.id || "" }); const { mutateAsync: createCertificate } = useCreateCertificate(); @@ -191,12 +191,12 @@ export const CertificateModal = ({ popUp, handlePopUpToggle }: Props) => { extendedKeyUsages }: FormData) => { try { - if (!currentWorkspace?.slug) return; + if (!currentProject?.slug) return; const { serialNumber, certificate, certificateChain, privateKey } = await createCertificate({ caId: !selectedCertTemplate ? caId : undefined, certificateTemplateId: selectedCertTemplate ? selectedCertTemplateId : undefined, - projectSlug: currentWorkspace.slug, + projectSlug: currentProject.slug, pkiCollectionId: collectionId, friendlyName, commonName, diff --git a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateRevocationModal.tsx b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateRevocationModal.tsx index 2f14fda3f..1d1539296 100644 --- a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateRevocationModal.tsx +++ b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateRevocationModal.tsx @@ -4,7 +4,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Modal, ModalContent, Select, SelectItem } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useRevokeCert } from "@app/hooks/api"; import { crlReasons } from "@app/hooks/api/certificates/constants"; import { CrlReason } from "@app/hooks/api/certificates/enums"; @@ -35,7 +35,7 @@ type Props = { }; export const CertificateRevocationModal = ({ popUp, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync: revokeCertificate } = useRevokeCert(); const { @@ -49,12 +49,12 @@ export const CertificateRevocationModal = ({ popUp, handlePopUpToggle }: Props) const onFormSubmit = async ({ revocationReason }: FormData) => { try { - if (!currentWorkspace?.slug) return; + if (!currentProject?.slug) return; const { serialNumber } = popUp.revokeCertificate.data as { serialNumber: string }; await revokeCertificate({ - projectSlug: currentWorkspace.slug, + projectSlug: currentProject.slug, serialNumber, revocationReason }); diff --git a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateTemplateModal.tsx b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateTemplateModal.tsx index d709458f0..8f547e573 100644 --- a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateTemplateModal.tsx +++ b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateTemplateModal.tsx @@ -22,7 +22,7 @@ import { SelectItem, Tooltip } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { CaStatus, useCreateCertTemplate, @@ -82,7 +82,7 @@ type Props = { }; export const CertificateTemplateModal = ({ popUp, handlePopUpToggle, caId }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: ca } = useGetCaById(caId); @@ -91,12 +91,12 @@ export const CertificateTemplateModal = ({ popUp, handlePopUpToggle, caId }: Pro ); const { data: cas } = useListWorkspaceCas({ - projectSlug: currentWorkspace?.slug ?? "", + projectId: currentProject?.id, status: CaStatus.ACTIVE }); const { data: collectionsData } = useListWorkspacePkiCollections({ - workspaceId: currentWorkspace?.id || "" + projectId: currentProject?.id || "" }); const { mutateAsync: createCertTemplate } = useCreateCertTemplate(); @@ -155,7 +155,7 @@ export const CertificateTemplateModal = ({ popUp, handlePopUpToggle, caId }: Pro keyUsages, extendedKeyUsages }: FormData) => { - if (!currentWorkspace?.id) { + if (!currentProject?.id) { return; } @@ -163,7 +163,7 @@ export const CertificateTemplateModal = ({ popUp, handlePopUpToggle, caId }: Pro if (certTemplate) { await updateCertTemplate({ id: certTemplate.id, - projectId: currentWorkspace.id, + projectId: currentProject.id, pkiCollectionId: collectionId, caId, name, @@ -184,7 +184,7 @@ export const CertificateTemplateModal = ({ popUp, handlePopUpToggle, caId }: Pro }); } else { await createCertTemplate({ - projectId: currentWorkspace.id, + projectId: currentProject.id, pkiCollectionId: collectionId, caId, name, diff --git a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateTemplatesSection.tsx b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateTemplatesSection.tsx index 0db7ba923..89f9780e8 100644 --- a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateTemplatesSection.tsx +++ b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateTemplatesSection.tsx @@ -12,7 +12,7 @@ import { DeleteActionModal, IconButton } from "@app/components/v2"; import { ProjectPermissionPkiTemplateActions, ProjectPermissionSub, - useWorkspace + useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useDeleteCertTemplate } from "@app/hooks/api"; @@ -33,18 +33,18 @@ export const CertificateTemplatesSection = ({ caId }: Props) => { "upgradePlan" ] as const); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync: deleteCertTemplate } = useDeleteCertTemplate(); const onRemoveCertificateTemplateSubmit = async (id: string) => { - if (!currentWorkspace?.id) { + if (!currentProject?.id) { return; } try { await deleteCertTemplate({ id, - projectId: currentWorkspace.id + projectId: currentProject.id }); createNotification({ diff --git a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesSection.tsx b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesSection.tsx index 44ddbc8ba..696d07762 100644 --- a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesSection.tsx +++ b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesSection.tsx @@ -7,7 +7,7 @@ import { Button, DeleteActionModal } from "@app/components/v2"; import { ProjectPermissionCertificateActions, ProjectPermissionSub, - useWorkspace + useProject } from "@app/context"; import { useDeleteCert } from "@app/hooks/api"; import { usePopUp } from "@app/hooks/usePopUp"; @@ -19,7 +19,7 @@ import { CertificateRevocationModal } from "./CertificateRevocationModal"; import { CertificatesTable } from "./CertificatesTable"; export const CertificatesSection = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync: deleteCert } = useDeleteCert(); const { popUp, handlePopUpOpen, handlePopUpClose, handlePopUpToggle } = usePopUp([ @@ -32,9 +32,9 @@ export const CertificatesSection = () => { const onRemoveCertificateSubmit = async (serialNumber: string) => { try { - if (!currentWorkspace?.slug) return; + if (!currentProject?.slug) return; - await deleteCert({ serialNumber, projectSlug: currentWorkspace.slug }); + await deleteCert({ serialNumber, projectSlug: currentProject.slug }); createNotification({ text: "Successfully deleted certificate", diff --git a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesTable.tsx b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesTable.tsx index 9a204afac..3cf35ebd6 100644 --- a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesTable.tsx +++ b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesTable.tsx @@ -33,7 +33,7 @@ import { import { ProjectPermissionCertificateActions, ProjectPermissionSub, - useWorkspace + useProject } from "@app/context"; import { useListWorkspaceCertificates } from "@app/hooks/api"; import { caSupportsCapability } from "@app/hooks/api/ca/constants"; @@ -62,15 +62,15 @@ export const CertificatesTable = ({ handlePopUpOpen }: Props) => { const [page, setPage] = useState(1); const [perPage, setPerPage] = useState(PER_PAGE_INIT); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data, isPending } = useListWorkspaceCertificates({ - projectId: currentWorkspace?.slug ?? "", + projectId: currentProject?.slug ?? "", offset: (page - 1) * perPage, limit: perPage }); // Fetch CA data to determine capabilities - const { data: caData } = useListCasByProjectId(currentWorkspace?.id ?? ""); + const { data: caData } = useListCasByProjectId(currentProject?.id ?? ""); // Create mapping from caId to CA type for capability checking const caCapabilityMap = useMemo(() => { diff --git a/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/PkiCollectionDetailsByIDPage.tsx b/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/PkiCollectionDetailsByIDPage.tsx index 0261d55fd..c53df83be 100644 --- a/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/PkiCollectionDetailsByIDPage.tsx +++ b/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/PkiCollectionDetailsByIDPage.tsx @@ -16,7 +16,7 @@ import { Tooltip } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { useDeletePkiCollection, useGetPkiCollectionById } from "@app/hooks/api"; import { PkiItemType } from "@app/hooks/api/pkiCollections/constants"; import { usePopUp } from "@app/hooks/usePopUp"; @@ -30,8 +30,8 @@ export const PkiCollectionPage = () => { from: ROUTE_PATHS.CertManager.PkiCollectionDetailsByIDPage.id }); const collectionId = params.collectionId as string; - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data } = useGetPkiCollectionById(collectionId); const { mutateAsync: deletePkiCollection } = useDeletePkiCollection(); diff --git a/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/components/AddPkiCollectionItemModal.tsx b/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/components/AddPkiCollectionItemModal.tsx index e1b6ebe17..3bcc3dc31 100644 --- a/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/components/AddPkiCollectionItemModal.tsx +++ b/frontend/src/pages/cert-manager/PkiCollectionDetailsByIDPage/components/AddPkiCollectionItemModal.tsx @@ -4,7 +4,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Modal, ModalContent, Select, SelectItem } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { CaStatus, useAddItemToPkiCollection, @@ -41,15 +41,15 @@ export const AddPkiCollectionItemModal = ({ popUp, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: cas } = useListWorkspaceCas({ - projectSlug: currentWorkspace?.slug || "", + projectId: currentProject?.id || "", status: CaStatus.ACTIVE }); const { data } = useListWorkspaceCertificates({ - projectId: currentWorkspace?.slug || "", + projectId: currentProject?.slug || "", offset: 0, limit: 25 }); diff --git a/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/PkiSubscriberDetailsByIDPage.tsx b/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/PkiSubscriberDetailsByIDPage.tsx index 04db9861b..d7d44d4b5 100644 --- a/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/PkiSubscriberDetailsByIDPage.tsx +++ b/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/PkiSubscriberDetailsByIDPage.tsx @@ -19,7 +19,7 @@ import { ROUTE_PATHS } from "@app/const/routes"; import { ProjectPermissionPkiSubscriberActions, ProjectPermissionSub, - useWorkspace + useProject } from "@app/context"; import { useDeletePkiSubscriber, useGetPkiSubscriber } from "@app/hooks/api"; import { usePopUp } from "@app/hooks/usePopUp"; @@ -29,8 +29,8 @@ import { PkiSubscriberCertificatesSection, PkiSubscriberDetailsSection } from ". const Page = () => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace.id; + const { currentProject } = useProject(); + const projectId = currentProject.id; const subscriberName = useParams({ from: ROUTE_PATHS.CertManager.PkiSubscriberDetailsByIDPage.id, select: (el) => el.subscriberName diff --git a/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberCertificatesTable.tsx b/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberCertificatesTable.tsx index 62e7337bd..c6f9f5742 100644 --- a/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberCertificatesTable.tsx +++ b/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberCertificatesTable.tsx @@ -28,7 +28,7 @@ import { ProjectPermissionPkiSubscriberActions, ProjectPermissionSub, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { useGetPkiSubscriberCertificates } from "@app/hooks/api"; import { caSupportsCapability } from "@app/hooks/api/ca/constants"; @@ -45,8 +45,8 @@ type Props = { const PER_PAGE_INIT = 25; export const PkiSubscriberCertificatesTable = ({ subscriberName, handlePopUpOpen }: Props) => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace.id; + const { currentProject } = useProject(); + const projectId = currentProject.id; const { permission } = useProjectPermission(); const [page, setPage] = useState(1); const [perPage, setPerPage] = useState(PER_PAGE_INIT); @@ -64,7 +64,7 @@ export const PkiSubscriberCertificatesTable = ({ subscriberName, handlePopUpOpen ); // Fetch CA data to determine capabilities - const { data: caData } = useListCasByProjectId(currentWorkspace.id); + const { data: caData } = useListCasByProjectId(currentProject.id); // Create mapping from caId to CA type for capability checking const caCapabilityMap = useMemo(() => { diff --git a/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberDetailsSection.tsx b/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberDetailsSection.tsx index 1f15982a4..8286319fc 100644 --- a/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberDetailsSection.tsx +++ b/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberDetailsSection.tsx @@ -17,7 +17,7 @@ import { ProjectPermissionPkiSubscriberActions, ProjectPermissionSub, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { useTimedReset } from "@app/hooks"; import { @@ -44,8 +44,8 @@ type TCertificateDetails = { }; export const PkiSubscriberDetailsSection = ({ subscriberName, handlePopUpOpen }: Props) => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace.id; + const { currentProject } = useProject(); + const projectId = currentProject.id; const { permission } = useProjectPermission(); const [certificateDetails, setCertificateDetails] = useState(null); const [isModalOpen, setIsModalOpen] = useState(false); diff --git a/frontend/src/pages/cert-manager/PkiSubscribersPage/components/PkiSubscriberModal.tsx b/frontend/src/pages/cert-manager/PkiSubscribersPage/components/PkiSubscriberModal.tsx index f6deb97cb..932f3201b 100644 --- a/frontend/src/pages/cert-manager/PkiSubscribersPage/components/PkiSubscriberModal.tsx +++ b/frontend/src/pages/cert-manager/PkiSubscribersPage/components/PkiSubscriberModal.tsx @@ -22,7 +22,7 @@ import { TabPanel, Tabs } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { CaType, useCreatePkiSubscriber, @@ -158,8 +158,8 @@ const schema = z export type FormData = z.infer; export const PkiSubscriberModal = ({ popUp, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace.id; + const { currentProject } = useProject(); + const projectId = currentProject.id; const { data: subscribers } = useListWorkspacePkiSubscribers(projectId); const { data: cas } = useListCasByProjectId(projectId); const [tabValue, setTabValue] = useState(FormTab.Configuration); diff --git a/frontend/src/pages/cert-manager/PkiSubscribersPage/components/PkiSubscriberSection.tsx b/frontend/src/pages/cert-manager/PkiSubscribersPage/components/PkiSubscriberSection.tsx index f81636e49..f9680af9b 100644 --- a/frontend/src/pages/cert-manager/PkiSubscribersPage/components/PkiSubscriberSection.tsx +++ b/frontend/src/pages/cert-manager/PkiSubscribersPage/components/PkiSubscriberSection.tsx @@ -7,7 +7,7 @@ import { Button, DeleteActionModal } from "@app/components/v2"; import { ProjectPermissionPkiSubscriberActions, ProjectPermissionSub, - useWorkspace + useProject } from "@app/context"; import { useDeletePkiSubscriber, useUpdatePkiSubscriber } from "@app/hooks/api"; import { PkiSubscriberStatus } from "@app/hooks/api/pkiSubscriber/types"; @@ -17,8 +17,8 @@ import { PkiSubscriberModal } from "./PkiSubscriberModal"; import { PkiSubscribersTable } from "./PkiSubscribersTable"; export const PkiSubscriberSection = () => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace.id; + const { currentProject } = useProject(); + const projectId = currentProject.id; const { mutateAsync: deletePkiSubscriber } = useDeletePkiSubscriber(); const { mutateAsync: updatePkiSubscriber } = useUpdatePkiSubscriber(); @@ -55,7 +55,7 @@ export const PkiSubscriberSection = () => { status: PkiSubscriberStatus; }) => { try { - if (!currentWorkspace?.slug) return; + if (!currentProject?.slug) return; await updatePkiSubscriber({ subscriberName, projectId, status }); diff --git a/frontend/src/pages/cert-manager/PkiSubscribersPage/components/PkiSubscribersTable.tsx b/frontend/src/pages/cert-manager/PkiSubscribersPage/components/PkiSubscribersTable.tsx index d649c43a7..d28c2d3a2 100644 --- a/frontend/src/pages/cert-manager/PkiSubscribersPage/components/PkiSubscribersTable.tsx +++ b/frontend/src/pages/cert-manager/PkiSubscribersPage/components/PkiSubscribersTable.tsx @@ -30,7 +30,7 @@ import { import { ProjectPermissionPkiSubscriberActions, ProjectPermissionSub, - useWorkspace + useProject } from "@app/context"; import { useListWorkspacePkiSubscribers } from "@app/hooks/api"; import { @@ -49,8 +49,8 @@ type Props = { export const PkiSubscribersTable = ({ handlePopUpOpen }: Props) => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); - const { data, isPending } = useListWorkspacePkiSubscribers(currentWorkspace?.id || ""); + const { currentProject } = useProject(); + const { data, isPending } = useListWorkspacePkiSubscribers(currentProject?.id || ""); return (
    @@ -77,7 +77,7 @@ export const PkiSubscribersTable = ({ handlePopUpOpen }: Props) => { navigate({ to: "/projects/cert-management/$projectId/subscribers/$subscriberName", params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, subscriberName: subscriber.name } }) diff --git a/frontend/src/pages/cert-manager/PkiTemplateListPage/PkiTemplateListPage.tsx b/frontend/src/pages/cert-manager/PkiTemplateListPage/PkiTemplateListPage.tsx index 4449e9a97..f38fbf080 100644 --- a/frontend/src/pages/cert-manager/PkiTemplateListPage/PkiTemplateListPage.tsx +++ b/frontend/src/pages/cert-manager/PkiTemplateListPage/PkiTemplateListPage.tsx @@ -43,7 +43,7 @@ import { ProjectPermissionPkiTemplateActions, ProjectPermissionSub, useSubscription, - useWorkspace + useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useDeleteCertTemplateV2 } from "@app/hooks/api"; @@ -55,7 +55,7 @@ import { PkiTemplateForm } from "./components/PkiTemplateForm"; const PER_PAGE_INIT = 25; export const PkiTemplateListPage = () => { const { t } = useTranslation(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [page, setPage] = useState(1); const [perPage, setPerPage] = useState(PER_PAGE_INIT); const { handlePopUpToggle, popUp, handlePopUpOpen, handlePopUpClose } = usePopUp([ @@ -68,7 +68,7 @@ export const PkiTemplateListPage = () => { const { subscription } = useSubscription(); const { data, isPending } = useListCertificateTemplates({ - projectId: currentWorkspace.id, + projectId: currentProject.id, offset: (page - 1) * perPage, limit: perPage }); @@ -78,7 +78,7 @@ export const PkiTemplateListPage = () => { const onRemovePkiSubscriberSubmit = async () => { try { const pkiTemplate = await deleteCertTemplate.mutateAsync({ - projectId: currentWorkspace.id, + projectId: currentProject.id, templateName: popUp?.deleteTemplate?.data?.name }); diff --git a/frontend/src/pages/cert-manager/PkiTemplateListPage/components/PkiTemplateForm.tsx b/frontend/src/pages/cert-manager/PkiTemplateListPage/components/PkiTemplateForm.tsx index f52c83725..b8cdbfe1c 100644 --- a/frontend/src/pages/cert-manager/PkiTemplateListPage/components/PkiTemplateForm.tsx +++ b/frontend/src/pages/cert-manager/PkiTemplateListPage/components/PkiTemplateForm.tsx @@ -18,7 +18,7 @@ import { Input, Tooltip } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateCertTemplateV2, useListCasByProjectId, @@ -72,9 +72,9 @@ type Props = { }; export const PkiTemplateForm = ({ certTemplate, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); - const { data: cas, isPending: isCaLoading } = useListCasByProjectId(currentWorkspace.id); + const { data: cas, isPending: isCaLoading } = useListCasByProjectId(currentProject.id); const { mutateAsync: createCertTemplate } = useCreateCertTemplateV2(); const { mutateAsync: updateCertTemplate } = useUpdateCertTemplateV2(); @@ -124,7 +124,7 @@ export const PkiTemplateForm = ({ certTemplate, handlePopUpToggle }: Props) => { extendedKeyUsages, ca }: FormData) => { - if (!currentWorkspace?.id) { + if (!currentProject?.id) { return; } @@ -132,7 +132,7 @@ export const PkiTemplateForm = ({ certTemplate, handlePopUpToggle }: Props) => { if (certTemplate) { await updateCertTemplate({ templateName: certTemplate.name, - projectId: currentWorkspace.id, + projectId: currentProject.id, caName: ca.name, name, commonName, @@ -152,7 +152,7 @@ export const PkiTemplateForm = ({ certTemplate, handlePopUpToggle }: Props) => { }); } else { await createCertTemplate({ - projectId: currentWorkspace.id, + projectId: currentProject.id, caName: ca.name, name, commonName, diff --git a/frontend/src/pages/cert-manager/layout.tsx b/frontend/src/pages/cert-manager/layout.tsx index 6b846909e..ea806d3d3 100644 --- a/frontend/src/pages/cert-manager/layout.tsx +++ b/frontend/src/pages/cert-manager/layout.tsx @@ -1,9 +1,9 @@ import { createFileRoute } from "@tanstack/react-router"; import { BreadcrumbTypes } from "@app/components/v2"; -import { workspaceKeys } from "@app/hooks/api"; +import { projectKeys } from "@app/hooks/api"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; -import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; +import { fetchProjectById } from "@app/hooks/api/projects/queries"; import { PkiManagerLayout } from "@app/layouts/PkiManagerLayout"; import { ProjectSelect } from "@app/layouts/ProjectLayout/components/ProjectSelect"; @@ -13,15 +13,15 @@ export const Route = createFileRoute( component: PkiManagerLayout, beforeLoad: async ({ params, context }) => { const project = await context.queryClient.ensureQueryData({ - queryKey: workspaceKeys.getWorkspaceById(params.projectId), - queryFn: () => fetchWorkspaceById(params.projectId) + queryKey: projectKeys.getProjectById(params.projectId), + queryFn: () => fetchProjectById(params.projectId) }); await context.queryClient.ensureQueryData({ queryKey: roleQueryKeys.getUserProjectPermissions({ - workspaceId: params.projectId + projectId: params.projectId }), - queryFn: () => fetchUserProjectPermissions({ workspaceId: params.projectId }) + queryFn: () => fetchUserProjectPermissions({ projectId: params.projectId }) }); return { diff --git a/frontend/src/pages/kms/KmipPage/components/KmipClientModal.tsx b/frontend/src/pages/kms/KmipPage/components/KmipClientModal.tsx index 8c959c7b0..7abbee35f 100644 --- a/frontend/src/pages/kms/KmipPage/components/KmipClientModal.tsx +++ b/frontend/src/pages/kms/KmipPage/components/KmipClientModal.tsx @@ -13,7 +13,7 @@ import { ModalContent, TextArea } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateKmipClient, useUpdateKmipClient } from "@app/hooks/api/kmip"; import { KmipPermission, TKmipClient } from "@app/hooks/api/kmip/types"; @@ -60,8 +60,8 @@ type FormProps = Pick & { const KmipClientForm = ({ onComplete, kmipClient }: FormProps) => { const createKmipClient = useCreateKmipClient(); const updateKmipClient = useUpdateKmipClient(); - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace.id; + const { currentProject } = useProject(); + const projectId = currentProject.id; const isUpdate = !!kmipClient; const { diff --git a/frontend/src/pages/kms/KmipPage/components/KmipClientTable.tsx b/frontend/src/pages/kms/KmipPage/components/KmipClientTable.tsx index bcc49b11a..6ac060580 100644 --- a/frontend/src/pages/kms/KmipPage/components/KmipClientTable.tsx +++ b/frontend/src/pages/kms/KmipPage/components/KmipClientTable.tsx @@ -41,7 +41,7 @@ import { ProjectPermissionSub, useProjectPermission, useSubscription, - useWorkspace + useProject } from "@app/context"; import { getUserTablePreference, @@ -59,9 +59,9 @@ import { KmipClientCertificateModal } from "./KmipClientCertificateModal"; import { KmipClientModal } from "./KmipClientModal"; export const KmipClientTable = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); - const projectId = currentWorkspace?.id ?? ""; + const projectId = currentProject?.id ?? ""; const { offset, diff --git a/frontend/src/pages/kms/OverviewPage/components/CmekModal.tsx b/frontend/src/pages/kms/OverviewPage/components/CmekModal.tsx index c43b6c8d0..93c0102b1 100644 --- a/frontend/src/pages/kms/OverviewPage/components/CmekModal.tsx +++ b/frontend/src/pages/kms/OverviewPage/components/CmekModal.tsx @@ -14,7 +14,7 @@ import { SelectItem, TextArea } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { keyUsageDefaultOption, kmsKeyUsageOptions } from "@app/helpers/kms"; import { AllowedEncryptionKeyAlgorithms, @@ -49,8 +49,8 @@ type FormProps = Pick & { const CmekForm = ({ onComplete, cmek }: FormProps) => { const createCmek = useCreateCmek(); const updateCmek = useUpdateCmek(); - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace.id; + const { currentProject } = useProject(); + const projectId = currentProject.id; const isUpdate = !!cmek; const { diff --git a/frontend/src/pages/kms/OverviewPage/components/CmekTable.tsx b/frontend/src/pages/kms/OverviewPage/components/CmekTable.tsx index e1a2fe789..2bb6671e5 100644 --- a/frontend/src/pages/kms/OverviewPage/components/CmekTable.tsx +++ b/frontend/src/pages/kms/OverviewPage/components/CmekTable.tsx @@ -50,7 +50,7 @@ import { ProjectPermissionCmekActions, ProjectPermissionSub, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { kmsKeyUsageOptions } from "@app/helpers/kms"; import { @@ -87,10 +87,10 @@ const getStatusBadgeProps = ( }; export const CmekTable = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { permission } = useProjectPermission(); - const projectId = currentWorkspace?.id ?? ""; + const projectId = currentProject?.id ?? ""; const { offset, diff --git a/frontend/src/pages/kms/layout.tsx b/frontend/src/pages/kms/layout.tsx index 60bc35ab7..11caba01b 100644 --- a/frontend/src/pages/kms/layout.tsx +++ b/frontend/src/pages/kms/layout.tsx @@ -1,9 +1,9 @@ import { createFileRoute } from "@tanstack/react-router"; import { BreadcrumbTypes } from "@app/components/v2"; -import { workspaceKeys } from "@app/hooks/api"; +import { projectKeys } from "@app/hooks/api"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; -import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; +import { fetchProjectById } from "@app/hooks/api/projects/queries"; import { KmsLayout } from "@app/layouts/KmsLayout"; import { ProjectSelect } from "@app/layouts/ProjectLayout/components/ProjectSelect"; @@ -13,15 +13,15 @@ export const Route = createFileRoute( component: KmsLayout, beforeLoad: async ({ params, context }) => { const project = await context.queryClient.ensureQueryData({ - queryKey: workspaceKeys.getWorkspaceById(params.projectId), - queryFn: () => fetchWorkspaceById(params.projectId) + queryKey: projectKeys.getProjectById(params.projectId), + queryFn: () => fetchProjectById(params.projectId) }); await context.queryClient.ensureQueryData({ queryKey: roleQueryKeys.getUserProjectPermissions({ - workspaceId: params.projectId + projectId: params.projectId }), - queryFn: () => fetchUserProjectPermissions({ workspaceId: params.projectId }) + queryFn: () => fetchUserProjectPermissions({ projectId: params.projectId }) }); return { diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgMembersTab/components/OrgMembersSection/AddOrgMemberModal.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgMembersTab/components/OrgMembersSection/AddOrgMemberModal.tsx index 7f751fc7d..c68d27a4b 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgMembersTab/components/OrgMembersSection/AddOrgMemberModal.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgMembersTab/components/OrgMembersSection/AddOrgMemberModal.tsx @@ -21,10 +21,10 @@ import { useAddUsersToOrg, useFetchServerStatus, useGetOrgRoles, - useGetUserWorkspaces + useGetUserProjects } from "@app/hooks/api"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; -import { ProjectType, ProjectVersion } from "@app/hooks/api/workspace/types"; +import { ProjectType, ProjectVersion } from "@app/hooks/api/projects/types"; import { UsePopUpState } from "@app/hooks/usePopUp"; import { OrgInviteLink } from "./OrgInviteLink"; @@ -76,7 +76,7 @@ export const AddOrgMemberModal = ({ const { data: organizationRoles } = useGetOrgRoles(currentOrg?.id ?? ""); const { data: serverDetails } = useFetchServerStatus(); const { mutateAsync: addUsersMutateAsync } = useAddUsersToOrg(); - const { data: projects, isPending: isProjectsLoading } = useGetUserWorkspaces({ + const { data: projects, isPending: isProjectsLoading } = useGetUserProjects({ includeRoles: true }); diff --git a/frontend/src/pages/organization/AuditLogsPage/components/LogsFilter.tsx b/frontend/src/pages/organization/AuditLogsPage/components/LogsFilter.tsx index bc469ba11..40b2f973f 100644 --- a/frontend/src/pages/organization/AuditLogsPage/components/LogsFilter.tsx +++ b/frontend/src/pages/organization/AuditLogsPage/components/LogsFilter.tsx @@ -21,7 +21,7 @@ import { SelectItem } from "@app/components/v2"; import { useOrganization } from "@app/context"; -import { useGetUserWorkspaces } from "@app/hooks/api"; +import { useGetUserProjects } from "@app/hooks/api"; import { eventToNameMap, secretEvents, @@ -29,7 +29,7 @@ import { } from "@app/hooks/api/auditLogs/constants"; import { EventType } from "@app/hooks/api/auditLogs/enums"; import { UserAgentType } from "@app/hooks/api/auth/types"; -import { Project } from "@app/hooks/api/workspace/types"; +import { Project } from "@app/hooks/api/projects/types"; import { LogFilterItem } from "./LogFilterItem"; import { auditLogFilterFormSchema, Presets, TAuditLogFilterFormData } from "./types"; @@ -72,7 +72,7 @@ const getActiveFilterCount = (filter: TAuditLogFilterFormData) => { }; export const LogsFilter = ({ presets, setFilter, filter, project }: Props) => { - const { data: workspaces = [] } = useGetUserWorkspaces(); + const { data: workspaces = [] } = useGetUserProjects(); const { currentOrg } = useOrganization(); const workspacesInOrg = workspaces.filter((ws) => ws.orgId === currentOrg?.id); diff --git a/frontend/src/pages/organization/AuditLogsPage/components/LogsSection.tsx b/frontend/src/pages/organization/AuditLogsPage/components/LogsSection.tsx index c81ad7047..f1173447c 100644 --- a/frontend/src/pages/organization/AuditLogsPage/components/LogsSection.tsx +++ b/frontend/src/pages/organization/AuditLogsPage/components/LogsSection.tsx @@ -13,7 +13,7 @@ import { } from "@app/context"; import { Timezone } from "@app/helpers/datetime"; import { withPermission, withProjectPermission } from "@app/hoc"; -import { Project } from "@app/hooks/api/workspace/types"; +import { Project } from "@app/hooks/api/projects/types"; import { usePopUp } from "@app/hooks/usePopUp"; import { LogsDateFilter } from "./LogsDateFilter"; diff --git a/frontend/src/pages/organization/AuditLogsPage/components/types.tsx b/frontend/src/pages/organization/AuditLogsPage/components/types.tsx index 8e0ec9ba9..b1338be24 100644 --- a/frontend/src/pages/organization/AuditLogsPage/components/types.tsx +++ b/frontend/src/pages/organization/AuditLogsPage/components/types.tsx @@ -1,7 +1,7 @@ import { z } from "zod"; import { ActorType, EventType, UserAgentType } from "@app/hooks/api/auditLogs/enums"; -import { ProjectType } from "@app/hooks/api/workspace/types"; +import { ProjectType } from "@app/hooks/api/projects/types"; export enum AuditLogDateFilterType { Relative = "relative", diff --git a/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityAddToProjectModal.tsx b/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityAddToProjectModal.tsx index a0565d50d..2e5c7101c 100644 --- a/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityAddToProjectModal.tsx +++ b/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityAddToProjectModal.tsx @@ -17,7 +17,7 @@ import { useAddIdentityToWorkspace, useGetIdentityProjectMemberships, useGetProjectRoles, - useGetUserWorkspaces, + useGetUserProjects, useGetWorkspaceById } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -44,7 +44,7 @@ type Props = { const Content = ({ identityId, handlePopUpToggle }: Omit) => { const { currentOrg } = useOrganization(); - const { data: workspaces = [] } = useGetUserWorkspaces(); + const { data: workspaces = [] } = useGetUserProjects(); const { mutateAsync: addIdentityToWorkspace } = useAddIdentityToWorkspace(); const { @@ -77,7 +77,7 @@ const Content = ({ identityId, handlePopUpToggle }: Omit) => { const onFormSubmit = async ({ project: selectedProject, role }: FormData) => { try { await addIdentityToWorkspace({ - workspaceId: selectedProject.id, + projectId: selectedProject.id, identityId, role: role.slug || undefined }); diff --git a/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectRow.tsx b/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectRow.tsx index 5b0aac0b7..1622962ea 100644 --- a/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectRow.tsx +++ b/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectRow.tsx @@ -8,7 +8,7 @@ import { createNotification } from "@app/components/notifications"; import { IconButton, Td, Tooltip, Tr } from "@app/components/v2"; import { getProjectBaseURL } from "@app/helpers/project"; import { formatProjectRoleName } from "@app/helpers/roles"; -import { useGetUserWorkspaces } from "@app/hooks/api"; +import { useGetUserProjects } from "@app/hooks/api"; import { IdentityMembership } from "@app/hooks/api/identities/types"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -31,7 +31,7 @@ export const IdentityProjectRow = ({ membership: { id, createdAt, identity, project, roles }, handlePopUpOpen }: Props) => { - const { data: workspaces } = useGetUserWorkspaces(); + const { data: workspaces } = useGetUserProjects(); const navigate = useNavigate(); const isAccessible = useMemo(() => { diff --git a/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectsSection.tsx b/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectsSection.tsx index 0ea97c4d3..de0573b7b 100644 --- a/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectsSection.tsx +++ b/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectsSection.tsx @@ -25,7 +25,7 @@ export const IdentityProjectsSection = ({ identityId }: Props) => { try { await deleteMutateAsync({ identityId: id, - workspaceId: projectId + projectId: projectId }); createNotification({ diff --git a/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx b/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx index 3eb143147..cc533be85 100644 --- a/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx +++ b/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx @@ -48,7 +48,7 @@ import { useRequestProjectAccess, useSearchProjects } from "@app/hooks/api"; -import { ProjectType, Project, WorkspaceEnv } from "@app/hooks/api/workspace/types"; +import { ProjectType, Project, ProjectEnv } from "@app/hooks/api/projects/types"; import { ProjectListToggle, ProjectListView @@ -155,7 +155,7 @@ export const AllProjectView = ({ const handleAccessProject = async ( type: ProjectType, projectId: string, - environments: WorkspaceEnv[] + environments: ProjectEnv[] ) => { try { await orgAdminAccessProject.mutateAsync({ diff --git a/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx b/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx index 8987069ec..b20bde224 100644 --- a/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx +++ b/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx @@ -39,11 +39,11 @@ import { setUserTablePreference } from "@app/helpers/userTablePreferences"; import { usePagination, useResetPageHelper } from "@app/hooks"; -import { useGetUserWorkspaces } from "@app/hooks/api"; +import { useGetUserProjects } from "@app/hooks/api"; import { OrderByDirection } from "@app/hooks/api/generic/types"; import { useUpdateUserProjectFavorites } from "@app/hooks/api/users/mutation"; import { useGetUserProjectFavorites } from "@app/hooks/api/users/queries"; -import { ProjectType, Project } from "@app/hooks/api/workspace/types"; +import { ProjectType, Project } from "@app/hooks/api/projects/types"; import { ProjectListToggle, ProjectListView @@ -79,7 +79,7 @@ export const MyProjectView = ({ {} ); - const { data: workspaces = [], isPending: isWorkspaceLoading } = useGetUserWorkspaces(); + const { data: workspaces = [], isPending: isWorkspaceLoading } = useGetUserProjects(); const { setPage, perPage, diff --git a/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/EditProjectTemplateSection/components/EditProjectTemplate.tsx b/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/EditProjectTemplateSection/components/EditProjectTemplate.tsx index c3ecdfa79..c0f7de0c8 100644 --- a/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/EditProjectTemplateSection/components/EditProjectTemplate.tsx +++ b/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/EditProjectTemplateSection/components/EditProjectTemplate.tsx @@ -8,7 +8,7 @@ import { OrgPermissionActions, OrgPermissionSubjects } from "@app/context"; import { getProjectTitle } from "@app/helpers/project"; import { usePopUp } from "@app/hooks"; import { TProjectTemplate, useDeleteProjectTemplate } from "@app/hooks/api/projectTemplates"; -import { ProjectType } from "@app/hooks/api/workspace/types"; +import { ProjectType } from "@app/hooks/api/projects/types"; import { ProjectTemplateDetailsModal } from "../../ProjectTemplateDetailsModal"; import { ProjectTemplateEnvironmentsForm } from "./ProjectTemplateEnvironmentsForm"; diff --git a/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/ProjectTemplateDetailsModal.tsx b/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/ProjectTemplateDetailsModal.tsx index 3c5e138e3..113971ef6 100644 --- a/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/ProjectTemplateDetailsModal.tsx +++ b/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/ProjectTemplateDetailsModal.tsx @@ -20,7 +20,7 @@ import { useCreateProjectTemplate, useUpdateProjectTemplate } from "@app/hooks/api/projectTemplates"; -import { ProjectType } from "@app/hooks/api/workspace/types"; +import { ProjectType } from "@app/hooks/api/projects/types"; import { slugSchema } from "@app/lib/schemas"; const formSchema = z.object({ diff --git a/frontend/src/pages/organization/UserDetailsByIDPage/components/UserProjectsSection/UserAddToProjectModal.tsx b/frontend/src/pages/organization/UserDetailsByIDPage/components/UserProjectsSection/UserAddToProjectModal.tsx index bd19db761..572be1d81 100644 --- a/frontend/src/pages/organization/UserDetailsByIDPage/components/UserProjectsSection/UserAddToProjectModal.tsx +++ b/frontend/src/pages/organization/UserDetailsByIDPage/components/UserProjectsSection/UserAddToProjectModal.tsx @@ -9,9 +9,9 @@ import { useOrganization } from "@app/context"; import { useAddUserToWsNonE2EE, useGetOrgMembershipProjectMemberships, - useGetUserWorkspaces + useGetUserProjects } from "@app/hooks/api"; -import { ProjectVersion } from "@app/hooks/api/workspace/types"; +import { ProjectVersion } from "@app/hooks/api/projects/types"; import { UsePopUpState } from "@app/hooks/usePopUp"; const schema = z @@ -34,7 +34,7 @@ type Props = { const UserAddToProjectModalChild = ({ membershipId, popUp, handlePopUpToggle }: Props) => { const { currentOrg } = useOrganization(); const orgId = currentOrg?.id || ""; - const { data: workspaces = [] } = useGetUserWorkspaces(); + const { data: workspaces = [] } = useGetUserProjects(); const { mutateAsync: addUserToWorkspaceNonE2EE } = useAddUserToWsNonE2EE(); diff --git a/frontend/src/pages/organization/UserDetailsByIDPage/components/UserProjectsSection/UserProjectRow.tsx b/frontend/src/pages/organization/UserDetailsByIDPage/components/UserProjectsSection/UserProjectRow.tsx index aac501fce..a7a88a72c 100644 --- a/frontend/src/pages/organization/UserDetailsByIDPage/components/UserProjectsSection/UserProjectRow.tsx +++ b/frontend/src/pages/organization/UserDetailsByIDPage/components/UserProjectsSection/UserProjectRow.tsx @@ -7,7 +7,7 @@ import { createNotification } from "@app/components/notifications"; import { IconButton, Td, Tooltip, Tr } from "@app/components/v2"; import { getProjectBaseURL } from "@app/helpers/project"; import { formatProjectRoleName } from "@app/helpers/roles"; -import { useGetUserWorkspaces } from "@app/hooks/api"; +import { useGetUserProjects } from "@app/hooks/api"; import { TWorkspaceUser } from "@app/hooks/api/types"; import { UsePopUpState } from "@app/hooks/usePopUp"; import { OrgAccessControlTabSections } from "@app/types/org"; @@ -24,7 +24,7 @@ export const UserProjectRow = ({ membership: { id, project, user, roles }, handlePopUpOpen }: Props) => { - const { data: workspaces = [] } = useGetUserWorkspaces(); + const { data: workspaces = [] } = useGetUserProjects(); const navigate = useNavigate(); const isAccessible = useMemo(() => { diff --git a/frontend/src/pages/organization/UserDetailsByIDPage/components/UserProjectsSection/UserProjectsSection.tsx b/frontend/src/pages/organization/UserDetailsByIDPage/components/UserProjectsSection/UserProjectsSection.tsx index c93e1fa8b..e06ed390d 100644 --- a/frontend/src/pages/organization/UserDetailsByIDPage/components/UserProjectsSection/UserProjectsSection.tsx +++ b/frontend/src/pages/organization/UserDetailsByIDPage/components/UserProjectsSection/UserProjectsSection.tsx @@ -32,7 +32,7 @@ export const UserProjectsSection = ({ membershipId }: Props) => { const handleRemoveUser = async (projectId: string, username: string) => { try { - await removeUserFromWorkspace({ workspaceId: projectId, usernames: [username], orgId }); + await removeUserFromWorkspace({ projectId, usernames: [username], orgId }); createNotification({ text: "Successfully removed user from project", type: "success" diff --git a/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx b/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx index 8bb007e88..9da8770d2 100644 --- a/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx +++ b/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx @@ -3,9 +3,9 @@ import { useTranslation } from "react-i18next"; import { useNavigate, useSearch } from "@tanstack/react-router"; import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; -import { ProjectType } from "@app/hooks/api/workspace/types"; +import { ProjectType } from "@app/hooks/api/projects/types"; import { ProjectAccessControlTabs } from "@app/types/project"; import { @@ -18,7 +18,7 @@ import { const Page = () => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const selectedTab = useSearch({ strict: false, select: (el) => el.selectedTab @@ -26,15 +26,15 @@ const Page = () => { const updateSelectedTab = (tab: string) => { navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/access-management` as const, + to: `${getProjectBaseURL(currentProject.type)}/access-management` as const, search: (prev) => ({ ...prev, selectedTab: tab }), params: { - projectId: currentWorkspace.id + projectId: currentProject.id } }); }; - const isSecretManager = currentWorkspace.type === ProjectType.SecretManager; + const isSecretManager = currentProject.type === ProjectType.SecretManager; return (
    diff --git a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupModal.tsx b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupModal.tsx index f909f92b4..a279bd1b0 100644 --- a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupModal.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupModal.tsx @@ -6,7 +6,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FilterableSelect, FormControl, Modal, ModalContent } from "@app/components/v2"; -import { useOrganization, useWorkspace } from "@app/context"; +import { useOrganization, useProject } from "@app/context"; import { useAddGroupToWorkspace, useGetOrganizationGroups, @@ -31,14 +31,14 @@ type Props = { const Content = ({ popUp, handlePopUpToggle }: Props) => { const { currentOrg } = useOrganization(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const orgId = currentOrg?.id || ""; const { data: groups } = useGetOrganizationGroups(orgId); - const { data: groupMemberships } = useListWorkspaceGroups(currentWorkspace?.id || ""); + const { data: groupMemberships } = useListWorkspaceGroups(currentProject?.id || ""); - const { data: roles } = useGetProjectRoles(currentWorkspace?.id || ""); + const { data: roles } = useGetProjectRoles(currentProject?.id || ""); const { mutateAsync: addGroupToWorkspaceMutateAsync } = useAddGroupToWorkspace(); @@ -64,7 +64,7 @@ const Content = ({ popUp, handlePopUpToggle }: Props) => { const onFormSubmit = async ({ group, role }: FormData) => { try { await addGroupToWorkspaceMutateAsync({ - projectId: currentWorkspace?.id || "", + projectId: currentProject?.id || "", groupId: group.id, role: role.slug || undefined }); diff --git a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupRoles.tsx b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupRoles.tsx index 91b6d3186..ac5b572c3 100644 --- a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupRoles.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupRoles.tsx @@ -24,13 +24,13 @@ import { Tag, Tooltip } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { formatProjectRoleName } from "@app/helpers/roles"; import { usePopUp } from "@app/hooks"; import { useGetProjectRoles, useUpdateGroupWorkspaceRole } from "@app/hooks/api"; import { TGroupMembership } from "@app/hooks/api/groups/types"; import { TProjectRole } from "@app/hooks/api/roles/types"; -import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/workspace/types"; +import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/projects/types"; import { groupBy } from "@app/lib/fn/array"; const temporaryRoleFormSchema = z.object({ @@ -213,7 +213,7 @@ type FormProps = { }; const GroupRolesForm = ({ projectRoles, roles, groupId, onClose }: FormProps) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [searchRoles, setSearchRoles] = useState(""); @@ -255,7 +255,7 @@ const GroupRolesForm = ({ projectRoles, roles, groupId, onClose }: FormProps) => try { await updateGroupWorkspaceRole.mutateAsync({ - projectId: currentWorkspace?.id || "", + projectId: currentProject?.id || "", groupId, roles: selectedRoles }); @@ -373,11 +373,11 @@ export const GroupRoles = ({ className, popperContentProps }: TMemberRolesProp) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { popUp, handlePopUpToggle } = usePopUp(["editRole"] as const); const { data: projectRoles, isPending: isRolesLoading } = useGetProjectRoles( - currentWorkspace?.id ?? "" + currentProject?.id ?? "" ); return ( diff --git a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsSection.tsx b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsSection.tsx index 5ba6082e1..0470953ae 100644 --- a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsSection.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsSection.tsx @@ -9,7 +9,7 @@ import { ProjectPermissionActions, ProjectPermissionSub, useSubscription, - useWorkspace + useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useDeleteGroupFromWorkspace } from "@app/hooks/api"; @@ -19,7 +19,7 @@ import { GroupTable } from "./GroupsTable"; export const GroupsSection = () => { const { subscription } = useSubscription(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync: deleteMutateAsync } = useDeleteGroupFromWorkspace(); @@ -44,7 +44,7 @@ export const GroupsSection = () => { try { await deleteMutateAsync({ groupId, - projectId: currentWorkspace?.id || "" + projectId: currentProject?.id || "" }); createNotification({ diff --git a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsTable.tsx b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsTable.tsx index 9bd98084e..3ce5b4062 100644 --- a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsTable.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsTable.tsx @@ -32,7 +32,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; import { getUserTablePreference, @@ -61,7 +61,7 @@ enum GroupsOrderBy { } export const GroupTable = ({ handlePopUpOpen }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const navigate = useNavigate(); const { @@ -85,7 +85,7 @@ export const GroupTable = ({ handlePopUpOpen }: Props) => { }; const { data: groupMemberships = [], isPending } = useListWorkspaceGroups( - currentWorkspace?.id || "" + currentProject?.id || "" ); const filteredGroupMemberships = useMemo(() => { @@ -159,9 +159,9 @@ export const GroupTable = ({ handlePopUpOpen }: Props) => { onKeyDown={(evt) => { if (evt.key === "Enter") { navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/groups/$groupId` as const, + to: `${getProjectBaseURL(currentProject.type)}/groups/$groupId` as const, params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, groupId: id } }); @@ -169,9 +169,9 @@ export const GroupTable = ({ handlePopUpOpen }: Props) => { }} onClick={() => navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/groups/$groupId` as const, + to: `${getProjectBaseURL(currentProject.type)}/groups/$groupId` as const, params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, groupId: id } }) diff --git a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx index 5b6e773db..7fbe99934 100644 --- a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx @@ -45,7 +45,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; import { formatProjectRoleName } from "@app/helpers/roles"; import { @@ -57,7 +57,7 @@ import { withProjectPermission } from "@app/hoc"; import { usePagination, useResetPageHelper } from "@app/hooks"; import { useDeleteIdentityFromWorkspace, useGetWorkspaceIdentityMemberships } from "@app/hooks/api"; import { OrderByDirection } from "@app/hooks/api/generic/types"; -import { ProjectIdentityOrderBy } from "@app/hooks/api/workspace/types"; +import { ProjectIdentityOrderBy } from "@app/hooks/api/projects/types"; import { usePopUp } from "@app/hooks/usePopUp"; import { IdentityModal } from "./components/IdentityModal"; @@ -66,7 +66,7 @@ const MAX_ROLES_TO_BE_SHOWN_IN_TABLE = 2; export const IdentityTab = withProjectPermission( () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject, projectId } = useProject(); const navigate = useNavigate(); const { @@ -92,11 +92,9 @@ export const IdentityTab = withProjectPermission( setUserTablePreference("projectIdentityTable", PreferenceKey.PerPage, newPerPage); }; - const workspaceId = currentWorkspace?.id ?? ""; - const { data, isPending, isFetching } = useGetWorkspaceIdentityMemberships( { - workspaceId: currentWorkspace?.id || "", + projectId, offset, limit, orderDirection, @@ -126,7 +124,7 @@ export const IdentityTab = withProjectPermission( try { await deleteMutateAsync({ identityId, - workspaceId + projectId }); createNotification({ @@ -261,9 +259,9 @@ export const IdentityTab = withProjectPermission( onKeyDown={(evt) => { if (evt.key === "Enter") { navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/identities/$identityId` as const, + to: `${getProjectBaseURL(currentProject.type)}/identities/$identityId` as const, params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, identityId: id } }); @@ -271,9 +269,9 @@ export const IdentityTab = withProjectPermission( }} onClick={() => navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/identities/$identityId` as const, + to: `${getProjectBaseURL(currentProject.type)}/identities/$identityId` as const, params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, identityId: id } }) diff --git a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/components/IdentityModal.tsx b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/components/IdentityModal.tsx index 1baf80b9b..7261ba839 100644 --- a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/components/IdentityModal.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/components/IdentityModal.tsx @@ -14,7 +14,7 @@ import { ModalContent, Spinner } from "@app/components/v2"; -import { useOrganization, useWorkspace } from "@app/context"; +import { useOrganization, useProject } from "@app/context"; import { useAddIdentityToWorkspace, useGetIdentityMembershipOrgs, @@ -37,10 +37,9 @@ type Props = { const Content = ({ popUp, handlePopUpToggle }: Props) => { const { currentOrg } = useOrganization(); - const { currentWorkspace } = useWorkspace(); + const { projectId } = useProject(); const organizationId = currentOrg?.id || ""; - const workspaceId = currentWorkspace?.id || ""; const { data: identityMembershipOrgsData, isPending: isMembershipsLoading } = useGetIdentityMembershipOrgs({ @@ -49,12 +48,12 @@ const Content = ({ popUp, handlePopUpToggle }: Props) => { }); const identityMembershipOrgs = identityMembershipOrgsData?.identityMemberships; const { data: identityMembershipsData } = useGetWorkspaceIdentityMemberships({ - workspaceId, + projectId, limit: 20000 // TODO: this is temp to preserve functionality for larger projects, will optimize in PR referenced above }); const identityMemberships = identityMembershipsData?.identityMemberships; - const { data: roles, isPending: isRolesLoading } = useGetProjectRoles(workspaceId); + const { data: roles, isPending: isRolesLoading } = useGetProjectRoles(projectId); const { mutateAsync: addIdentityToWorkspaceMutateAsync } = useAddIdentityToWorkspace(); @@ -80,7 +79,7 @@ const Content = ({ popUp, handlePopUpToggle }: Props) => { const onFormSubmit = async ({ identity, role }: FormData) => { try { await addIdentityToWorkspaceMutateAsync({ - workspaceId, + projectId, identityId: identity.id, role: role.slug || undefined }); diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/AddMemberModal.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/AddMemberModal.tsx index d9c9a8718..7124b80a3 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/AddMemberModal.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/AddMemberModal.tsx @@ -22,7 +22,7 @@ import { OrgPermissionSubjects, useOrganization, useOrgPermission, - useWorkspace + useProject } from "@app/context"; import { useAddUsersToOrg, @@ -31,7 +31,7 @@ import { useGetWorkspaceUsers } from "@app/hooks/api"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; -import { ProjectVersion } from "@app/hooks/api/workspace/types"; +import { ProjectVersion } from "@app/hooks/api/projects/types"; import { UsePopUpState } from "@app/hooks/usePopUp"; const addMemberFormSchema = z.object({ @@ -57,7 +57,7 @@ type Props = { export const AddMemberModal = ({ popUp, handlePopUpToggle }: Props) => { const { t } = useTranslation(); const { currentOrg } = useOrganization(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const navigate = useNavigate({ from: "" }); const { permission } = useOrgPermission(); const requesterEmail = useSearch({ @@ -66,12 +66,12 @@ export const AddMemberModal = ({ popUp, handlePopUpToggle }: Props) => { }); const orgId = currentOrg?.id || ""; - const workspaceId = currentWorkspace?.id || ""; + const workspaceId = currentProject?.id || ""; const { data: members } = useGetWorkspaceUsers(workspaceId); const { data: orgUsers } = useGetOrgUsers(orgId); - const { data: roles } = useGetProjectRoles(currentWorkspace?.id || ""); + const { data: roles } = useGetProjectRoles(currentProject?.id || ""); const { control, @@ -94,7 +94,7 @@ export const AddMemberModal = ({ popUp, handlePopUpToggle }: Props) => { }, [requesterEmail]); const onAddMembers = async ({ orgMemberships, projectRoleSlugs }: TAddMemberForm) => { - if (!currentWorkspace) return; + if (!currentProject) return; if (!currentOrg?.id) return; const existingMembers = orgMemberships.filter((membership) => !membership.isNewInvitee); @@ -109,7 +109,7 @@ export const AddMemberModal = ({ popUp, handlePopUpToggle }: Props) => { if (!selectedMembers) return; try { - if (currentWorkspace.version === ProjectVersion.V1) { + if (currentProject.version === ProjectVersion.V1) { createNotification({ type: "error", text: "Please upgrade your project to invite new members to the project." @@ -146,8 +146,8 @@ export const AddMemberModal = ({ popUp, handlePopUpToggle }: Props) => { organizationRoleSlug: ProjectMembershipRole.Member, // only applies to new invites projects: [ { - slug: currentWorkspace.slug, - id: currentWorkspace.id, + slug: currentProject.slug, + id: currentProject.id, projectRoleSlug: projectRoleSlugs.map((role) => role.slug) } ] diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRbacSection.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRbacSection.tsx index d18f8715a..b2b73dbcf 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRbacSection.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRbacSection.tsx @@ -31,12 +31,12 @@ import { ProjectPermissionSub, useProjectPermission, useSubscription, - useWorkspace + useProject } from "@app/context"; import { useGetProjectRoles, useUpdateUserWorkspaceRole } from "@app/hooks/api"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { TWorkspaceUser } from "@app/hooks/api/types"; -import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/workspace/types"; +import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/projects/types"; const roleFormSchema = z.object({ roles: z @@ -64,9 +64,8 @@ type Props = { }; export const MemberRbacSection = ({ projectMember, onOpenUpgradeModal }: Props) => { const { subscription } = useSubscription(); - const { currentWorkspace } = useWorkspace(); - const workspaceId = currentWorkspace?.id || ""; - const { data: projectRoles, isPending: isRolesLoading } = useGetProjectRoles(workspaceId); + const { projectId } = useProject(); + const { data: projectRoles, isPending: isRolesLoading } = useGetProjectRoles(projectId); const { permission } = useProjectPermission(); const isMemberEditDisabled = permission.cannot( ProjectPermissionMemberActions.Edit, @@ -130,7 +129,7 @@ export const MemberRbacSection = ({ projectMember, onOpenUpgradeModal }: Props) try { await updateMembershipRole.mutateAsync({ - workspaceId, + projectId, membershipId: projectMember.id, roles: sanitizedRoles }); diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRoleForm.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRoleForm.tsx index 735257293..187e1813a 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRoleForm.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRoleForm.tsx @@ -1,7 +1,7 @@ import { Link } from "@tanstack/react-router"; import { Alert, AlertDescription } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; import { TWorkspaceUser } from "@app/hooks/api/types"; @@ -12,7 +12,7 @@ type Props = { onOpenUpgradeModal: (title: string) => void; }; export const MemberRoleForm = ({ projectMember, onOpenUpgradeModal }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); return (
    @@ -22,9 +22,9 @@ export const MemberRoleForm = ({ projectMember, onOpenUpgradeModal }: Props) => > diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/SpecificPrivilegeSection.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/SpecificPrivilegeSection.tsx index 5dd439744..43f1490ce 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/SpecificPrivilegeSection.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/SpecificPrivilegeSection.tsx @@ -44,7 +44,7 @@ import { ProjectPermissionMemberActions, ProjectPermissionSub, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { removeTrailingSlash } from "@app/helpers/string"; import { usePopUp } from "@app/hooks"; @@ -89,7 +89,7 @@ export const SpecificPrivilegeSecretForm = ({ secretPath?: string; onClose?: () => void; }) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { popUp, handlePopUpOpen, handlePopUpToggle, handlePopUpClose } = usePopUp([ "deletePrivilege", @@ -129,7 +129,7 @@ export const SpecificPrivilegeSecretForm = ({ temporaryAccess: privilege } : { - environmentSlug: currentWorkspace.environments?.[0]?.slug, + environmentSlug: currentProject.environments?.[0]?.slug, secretPath: initialSecretPath, read: selectedActions.includes(ProjectPermissionActions.Read), edit: selectedActions.includes(ProjectPermissionActions.Edit), @@ -202,7 +202,7 @@ export const SpecificPrivilegeSecretForm = ({ // This is used for requesting access additional privileges, not directly creating a privilege! const handleRequestAccess = async (data: TSecretPermissionForm) => { if (!policies) return; - if (!currentWorkspace) { + if (!currentProject) { createNotification({ type: "error", text: "No workspace found.", @@ -253,7 +253,7 @@ export const SpecificPrivilegeSecretForm = ({ ...(data.temporaryAccess.isTemporary && { temporaryRange: data.temporaryAccess.temporaryRange }), - projectSlug: currentWorkspace.slug, + projectSlug: currentProject.slug, isTemporary: data.temporaryAccess.isTemporary, permissions: actions .filter(({ allowed }) => allowed) @@ -307,7 +307,7 @@ export const SpecificPrivilegeSecretForm = ({ position="popper" dropdownContainerClassName="max-w-none" > - {currentWorkspace?.environments?.map(({ slug, id, name }) => ( + {currentProject?.environments?.map(({ slug, id, name }) => ( {name} diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersSection.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersSection.tsx index a8ecde73a..da5616453 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersSection.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersSection.tsx @@ -9,7 +9,7 @@ import { ProjectPermissionActions, ProjectPermissionSub, useOrganization, - useWorkspace + useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useDeleteUserFromWorkspace } from "@app/hooks/api"; @@ -19,7 +19,7 @@ import { MembersTable } from "./MembersTable"; export const MembersSection = () => { const { currentOrg } = useOrganization(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync: removeUserFromWorkspace } = useDeleteUserFromWorkspace(); @@ -32,11 +32,11 @@ export const MembersSection = () => { const handleRemoveUser = async () => { const username = (popUp?.removeMember?.data as { username: string })?.username; if (!currentOrg?.id) return; - if (!currentWorkspace?.id) return; + if (!currentProject?.id) return; try { await removeUserFromWorkspace({ - workspaceId: currentWorkspace.id, + projectId: currentProject.id, usernames: [username], orgId: currentOrg.id }); diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersTable.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersTable.tsx index 2cbe144ee..5103430ef 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersTable.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersTable.tsx @@ -44,12 +44,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { - ProjectPermissionActions, - ProjectPermissionSub, - useUser, - useWorkspace -} from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useUser, useProject } from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; import { formatProjectRoleName } from "@app/helpers/roles"; import { @@ -81,7 +76,7 @@ type Filter = { }; export const MembersTable = ({ handlePopUpOpen }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { user } = useUser(); const navigate = useNavigate(); const [filter, setFilter] = useState({ @@ -90,7 +85,7 @@ export const MembersTable = ({ handlePopUpOpen }: Props) => { const filterRoles = useMemo(() => filter.roles, [filter.roles]); const userId = user?.id || ""; - const workspaceId = currentWorkspace?.id || ""; + const workspaceId = currentProject?.id || ""; const { data: projectRoles } = useGetProjectRoles(workspaceId); const { @@ -312,7 +307,7 @@ export const MembersTable = ({ handlePopUpOpen }: Props) => { onKeyDown={(evt) => { if (evt.key === "Enter") { navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/members/$membershipId`, + to: `${getProjectBaseURL(currentProject.type)}/members/$membershipId`, params: { projectId: workspaceId, membershipId @@ -322,7 +317,7 @@ export const MembersTable = ({ handlePopUpOpen }: Props) => { }} onClick={() => navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/members/$membershipId`, + to: `${getProjectBaseURL(currentProject.type)}/members/$membershipId`, params: { projectId: workspaceId, membershipId diff --git a/frontend/src/pages/project/AccessControlPage/components/ProjectRoleListTab/components/ProjectRoleList/ProjectRoleList.tsx b/frontend/src/pages/project/AccessControlPage/components/ProjectRoleListTab/components/ProjectRoleList/ProjectRoleList.tsx index 211f1d0e8..e7b3b10b8 100644 --- a/frontend/src/pages/project/AccessControlPage/components/ProjectRoleListTab/components/ProjectRoleList/ProjectRoleList.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/ProjectRoleListTab/components/ProjectRoleList/ProjectRoleList.tsx @@ -39,7 +39,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; import { isCustomProjectRole } from "@app/helpers/roles"; import { @@ -67,8 +67,8 @@ export const ProjectRoleList = () => { "deleteRole", "duplicateRole" ] as const); - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data: roles, isPending: isRolesLoading } = useGetProjectRoles(projectId); @@ -250,9 +250,9 @@ export const ProjectRoleList = () => { className="h-10 cursor-pointer transition-colors duration-100 hover:bg-mineshaft-700" onClick={() => navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/roles/$roleSlug`, + to: `${getProjectBaseURL(currentProject.type)}/roles/$roleSlug`, params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, roleSlug: slug } }) @@ -292,9 +292,9 @@ export const ProjectRoleList = () => { onClick={(e) => { e.stopPropagation(); navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/roles/$roleSlug`, + to: `${getProjectBaseURL(currentProject.type)}/roles/$roleSlug`, params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, roleSlug: slug } }); diff --git a/frontend/src/pages/project/AccessControlPage/components/ServiceTokenTab/components/ServiceTokenSection/AddServiceTokenModal.tsx b/frontend/src/pages/project/AccessControlPage/components/ServiceTokenTab/components/ServiceTokenSection/AddServiceTokenModal.tsx index 8264d47bf..d63b6bb9c 100644 --- a/frontend/src/pages/project/AccessControlPage/components/ServiceTokenTab/components/ServiceTokenSection/AddServiceTokenModal.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/ServiceTokenTab/components/ServiceTokenSection/AddServiceTokenModal.tsx @@ -22,7 +22,7 @@ import { Select, SelectItem } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useToggle } from "@app/hooks"; import { useCreateServiceToken } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -70,7 +70,7 @@ type Props = { const ServiceTokenForm = () => { const { t } = useTranslation(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { control, handleSubmit, @@ -81,7 +81,7 @@ const ServiceTokenForm = () => { scopes: [ { secretPath: "/", - environment: currentWorkspace?.environments?.[0]?.slug + environment: currentProject?.environments?.[0]?.slug } ] } @@ -111,7 +111,7 @@ const ServiceTokenForm = () => { const onFormSubmit = async ({ name, scopes, expiresIn, permissions }: FormData) => { try { - if (!currentWorkspace?.id) return; + if (!currentProject?.id) return; const randomBytes = crypto.randomBytes(16).toString("hex"); @@ -122,7 +122,7 @@ const ServiceTokenForm = () => { scopes, expiresIn: Number(expiresIn), name, - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, randomBytes, permissions: Object.entries(permissions) .filter(([, permissionsValue]) => permissionsValue) @@ -172,7 +172,7 @@ const ServiceTokenForm = () => { ( { onValueChange={(e) => onChange(e)} className="w-full" > - {currentWorkspace?.environments.map(({ name, slug }) => ( + {currentProject?.environments.map(({ name, slug }) => ( {name} @@ -225,7 +225,7 @@ const ServiceTokenForm = () => { variant="outline_bg" onClick={() => append({ - environment: currentWorkspace?.environments?.[0]?.slug || "", + environment: currentProject?.environments?.[0]?.slug || "", secretPath: "" }) } @@ -334,7 +334,7 @@ const ServiceTokenForm = () => { export const AddServiceTokenModal = ({ popUp, handlePopUpToggle }: Props) => { const { t } = useTranslation(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); return ( { { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data, isPending } = useGetUserWsServiceTokens({ - workspaceID: currentWorkspace?.id || "" + workspaceID: currentProject?.id || "" }); const { diff --git a/frontend/src/pages/project/AuditLogsPage/AuditLogsPage.tsx b/frontend/src/pages/project/AuditLogsPage/AuditLogsPage.tsx index 0c83b0520..1e9b1ad54 100644 --- a/frontend/src/pages/project/AuditLogsPage/AuditLogsPage.tsx +++ b/frontend/src/pages/project/AuditLogsPage/AuditLogsPage.tsx @@ -1,11 +1,11 @@ import { Helmet } from "react-helmet"; import { PageHeader } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { LogsSection } from "@app/pages/organization/AuditLogsPage/components"; export const AuditLogsPage = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); return (
    @@ -19,7 +19,7 @@ export const AuditLogsPage = () => { title="Audit logs" description="Audit logs for security and compliance teams to monitor information access." /> - +
    diff --git a/frontend/src/pages/project/GroupDetailsByIDPage/GroupDetailsByIDPage.tsx b/frontend/src/pages/project/GroupDetailsByIDPage/GroupDetailsByIDPage.tsx index a3dfabcd0..d6bda7ea1 100644 --- a/frontend/src/pages/project/GroupDetailsByIDPage/GroupDetailsByIDPage.tsx +++ b/frontend/src/pages/project/GroupDetailsByIDPage/GroupDetailsByIDPage.tsx @@ -4,8 +4,8 @@ import { useParams } from "@tanstack/react-router"; import { ProjectPermissionCan } from "@app/components/permissions"; import { EmptyState, PageHeader, Spinner } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; -import { useGetWorkspaceGroupMembershipDetails } from "@app/hooks/api/workspace/queries"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; +import { useGetWorkspaceGroupMembershipDetails } from "@app/hooks/api/projects/queries"; import { GroupDetailsSection } from "./components/GroupDetailsSection"; import { GroupMembersSection } from "./components/GroupMembersSection"; @@ -16,10 +16,10 @@ const Page = () => { select: (el) => el.groupId as string }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: groupMembership, isPending } = useGetWorkspaceGroupMembershipDetails( - currentWorkspace.id, + currentProject.id, groupId ); diff --git a/frontend/src/pages/project/GroupDetailsByIDPage/components/GroupDetailsSection.tsx b/frontend/src/pages/project/GroupDetailsByIDPage/components/GroupDetailsSection.tsx index 90c327067..0689d674a 100644 --- a/frontend/src/pages/project/GroupDetailsByIDPage/components/GroupDetailsSection.tsx +++ b/frontend/src/pages/project/GroupDetailsByIDPage/components/GroupDetailsSection.tsx @@ -14,7 +14,7 @@ import { IconButton } from "@app/components/v2"; import { CopyButton } from "@app/components/v2/CopyButton"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; import { usePopUp } from "@app/hooks"; import { useDeleteGroupFromWorkspace } from "@app/hooks/api"; @@ -31,14 +31,14 @@ export const GroupDetailsSection = ({ groupMembership }: Props) => { ] as const); const { mutateAsync: deleteMutateAsync } = useDeleteGroupFromWorkspace(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const navigate = useNavigate(); const onRemoveGroupSubmit = async () => { try { await deleteMutateAsync({ groupId: groupMembership.group.id, - projectId: currentWorkspace.id + projectId: currentProject.id }); createNotification({ @@ -47,9 +47,9 @@ export const GroupDetailsSection = ({ groupMembership }: Props) => { }); navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/access-management`, + to: `${getProjectBaseURL(currentProject.type)}/access-management`, params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: "groups" diff --git a/frontend/src/pages/project/GroupDetailsByIDPage/components/GroupMembersSection/GroupMembersTable.tsx b/frontend/src/pages/project/GroupDetailsByIDPage/components/GroupMembersSection/GroupMembersTable.tsx index 7d155ba43..1df989602 100644 --- a/frontend/src/pages/project/GroupDetailsByIDPage/components/GroupMembersSection/GroupMembersTable.tsx +++ b/frontend/src/pages/project/GroupDetailsByIDPage/components/GroupMembersSection/GroupMembersTable.tsx @@ -23,7 +23,7 @@ import { THead, Tr } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { getProjectHomePage } from "@app/helpers/project"; import { getUserTablePreference, @@ -69,12 +69,12 @@ export const GroupMembersTable = ({ groupMembership }: Props) => { setUserTablePreference("projectGroupMembersTable", PreferenceKey.PerPage, newPerPage); }; - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: groupMemberships, isPending } = useListProjectGroupUsers({ id: groupMembership.group.id, groupSlug: groupMembership.group.slug, - projectId: currentWorkspace.id, + projectId: currentProject.id, offset, limit: perPage, search, @@ -127,7 +127,7 @@ export const GroupMembersTable = ({ groupMembership }: Props) => { { actorId: userId, actorType: ActorType.USER, - projectId: currentWorkspace.id + projectId: currentProject.id }, { onSuccess: () => { @@ -136,8 +136,8 @@ export const GroupMembersTable = ({ groupMembership }: Props) => { text: "User privilege assumption has started" }); - const url = getProjectHomePage(currentWorkspace.type, currentWorkspace.environments); - window.location.href = url.replace("$projectId", currentWorkspace.id); + const url = getProjectHomePage(currentProject.type, currentProject.environments); + window.location.href = url.replace("$projectId", currentProject.id); } } ); diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx index e1da4edab..44cc00e3b 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx @@ -18,7 +18,7 @@ import { ProjectPermissionActions, ProjectPermissionIdentityActions, ProjectPermissionSub, - useWorkspace + useProject } from "@app/context"; import { getProjectBaseURL, getProjectHomePage } from "@app/helpers/project"; import { usePopUp } from "@app/hooks"; @@ -38,12 +38,10 @@ const Page = () => { strict: false, select: (el) => el.identityId as string }); - const { currentWorkspace } = useWorkspace(); - - const workspaceId = currentWorkspace?.id || ""; + const { currentProject, projectId } = useProject(); const { data: identityMembershipDetails, isPending: isMembershipDetailsLoading } = - useGetWorkspaceIdentityMembershipDetails(workspaceId, identityId); + useGetWorkspaceIdentityMembershipDetails(projectId, identityId); const { mutateAsync: deleteMutateAsync, isPending: isDeletingIdentity } = useDeleteIdentityFromWorkspace(); @@ -59,7 +57,7 @@ const Page = () => { { actorId: identityId, actorType: ActorType.IDENTITY, - projectId: workspaceId + projectId: projectId }, { onSuccess: () => { @@ -67,8 +65,8 @@ const Page = () => { type: "success", text: "Identity privilege assumption has started" }); - const url = getProjectHomePage(currentWorkspace.type, currentWorkspace.environments); - window.location.href = url.replace("$projectId", currentWorkspace.id); + const url = getProjectHomePage(currentProject.type, currentProject.environments); + window.location.href = url.replace("$projectId", currentProject.id); } } ); @@ -78,7 +76,7 @@ const Page = () => { try { await deleteMutateAsync({ identityId, - workspaceId + projectId }); createNotification({ text: "Successfully removed identity from project", @@ -86,9 +84,9 @@ const Page = () => { }); handlePopUpClose("deleteIdentity"); navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/access-management` as const, + to: `${getProjectBaseURL(currentProject.type)}/access-management` as const, params: { - projectId: workspaceId + projectId: projectId }, search: { selectedTab: "identities" diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityProjectAdditionalPrivilegeSection/IdentityProjectAdditionalPrivilegeModifySection.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityProjectAdditionalPrivilegeSection/IdentityProjectAdditionalPrivilegeModifySection.tsx index fe574a32d..d68dd8fff 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityProjectAdditionalPrivilegeSection/IdentityProjectAdditionalPrivilegeModifySection.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityProjectAdditionalPrivilegeSection/IdentityProjectAdditionalPrivilegeModifySection.tsx @@ -25,7 +25,7 @@ import { ProjectPermissionIdentityActions, ProjectPermissionSub, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { useCreateIdentityProjectAdditionalPrivilege, @@ -78,8 +78,8 @@ export const IdentityProjectAdditionalPrivilegeModifySection = ({ isDisabled }: Props) => { const isCreate = !privilegeId; - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data: privilegeDetails, isPending } = useGetIdentityProjectPrivilegeDetails({ identityId, projectId, @@ -225,7 +225,7 @@ export const IdentityProjectAdditionalPrivilegeModifySection = ({ > Save - +
    diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityRoleDetailsSection/IdentityRoleDetailsSection.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityRoleDetailsSection/IdentityRoleDetailsSection.tsx index 1fa98628e..eb8653acb 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityRoleDetailsSection/IdentityRoleDetailsSection.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityRoleDetailsSection/IdentityRoleDetailsSection.tsx @@ -23,7 +23,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { formatProjectRoleName } from "@app/helpers/roles"; import { usePopUp } from "@app/hooks"; import { useUpdateIdentityWorkspaceRole } from "@app/hooks/api"; @@ -41,7 +41,7 @@ export const IdentityRoleDetailsSection = ({ identityMembershipDetails, isMembershipDetailsLoading }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { popUp, handlePopUpOpen, handlePopUpToggle, handlePopUpClose } = usePopUp([ "deleteRole", "modifyRole" @@ -53,7 +53,7 @@ export const IdentityRoleDetailsSection = ({ try { const updatedRoles = identityMembershipDetails?.roles?.filter((el) => el.id !== id); await updateIdentityWorkspaceRole({ - workspaceId: currentWorkspace?.id || "", + projectId: currentProject?.id || "", identityId: identityMembershipDetails.identity.id, roles: updatedRoles.map( ({ diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityRoleDetailsSection/IdentityRoleModify.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityRoleDetailsSection/IdentityRoleModify.tsx index c5860ec11..984ec8e33 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityRoleDetailsSection/IdentityRoleModify.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityRoleDetailsSection/IdentityRoleModify.tsx @@ -30,12 +30,12 @@ import { ProjectPermissionIdentityActions, ProjectPermissionSub, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { useGetProjectRoles, useUpdateIdentityWorkspaceRole } from "@app/hooks/api"; import { IdentityMembership } from "@app/hooks/api/identities/types"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; -import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/workspace/types"; +import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/projects/types"; const roleFormSchema = z.object({ roles: z @@ -62,9 +62,8 @@ type Props = { }; export const IdentityRoleModify = ({ identityProjectMembership }: Props) => { - const { currentWorkspace } = useWorkspace(); - const workspaceId = currentWorkspace?.id || ""; - const { data: projectRoles, isPending: isRolesLoading } = useGetProjectRoles(workspaceId); + const { projectId } = useProject(); + const { data: projectRoles, isPending: isRolesLoading } = useGetProjectRoles(projectId); const { permission } = useProjectPermission(); const isIdentityEditDisabled = permission.cannot( ProjectPermissionIdentityActions.Edit, @@ -117,7 +116,7 @@ export const IdentityRoleModify = ({ identityProjectMembership }: Props) => { try { await updateIdentityWorkspaceRole.mutateAsync({ - workspaceId, + projectId, identityId: identityProjectMembership.identity.id, roles: sanitizedRoles }); diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx index 7fadf2cb9..23b8299da 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx @@ -19,7 +19,7 @@ import { ProjectPermissionMemberActions, ProjectPermissionSub, useOrganization, - useWorkspace + useProject } from "@app/context"; import { getProjectBaseURL, getProjectHomePage } from "@app/helpers/project"; import { usePopUp } from "@app/hooks"; @@ -40,12 +40,10 @@ export const Page = () => { select: (el) => el.membershipId as string }); const { currentOrg } = useOrganization(); - const { currentWorkspace } = useWorkspace(); - - const workspaceId = currentWorkspace?.id || ""; + const { currentProject, projectId } = useProject(); const { data: membershipDetails, isPending: isMembershipDetailsLoading } = - useGetWorkspaceUserDetails(workspaceId, membershipId); + useGetWorkspaceUserDetails(projectId, membershipId); const { mutateAsync: removeUserFromWorkspace, isPending: isRemovingUserFromWorkspace } = useDeleteUserFromWorkspace(); @@ -63,7 +61,7 @@ export const Page = () => { { actorId: userId, actorType: ActorType.USER, - projectId: workspaceId + projectId }, { onSuccess: () => { @@ -72,19 +70,19 @@ export const Page = () => { text: "User privilege assumption has started" }); - const url = getProjectHomePage(currentWorkspace.type, currentWorkspace.environments); - window.location.href = url.replace("$projectId", currentWorkspace.id); + const url = getProjectHomePage(currentProject.type, currentProject.environments); + window.location.href = url.replace("$projectId", currentProject.id); } } ); }; const handleRemoveUser = async () => { - if (!currentOrg?.id || !currentWorkspace?.id || !membershipDetails?.user?.username) return; + if (!currentOrg?.id || !currentProject?.id || !membershipDetails?.user?.username) return; try { await removeUserFromWorkspace({ - workspaceId: currentWorkspace.id, + projectId, usernames: [membershipDetails?.user?.username], orgId: currentOrg.id }); @@ -93,9 +91,9 @@ export const Page = () => { type: "success" }); navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/access-management` as const, + to: `${getProjectBaseURL(currentProject.type)}/access-management` as const, params: { - projectId: currentWorkspace.id + projectId: currentProject.id } }); } catch (error) { diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberProjectAdditionalPrivilegeSection/MembershipProjectAdditionalPrivilegeModifySection.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberProjectAdditionalPrivilegeSection/MembershipProjectAdditionalPrivilegeModifySection.tsx index 9817aefdb..acc6b67af 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberProjectAdditionalPrivilegeSection/MembershipProjectAdditionalPrivilegeModifySection.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberProjectAdditionalPrivilegeSection/MembershipProjectAdditionalPrivilegeModifySection.tsx @@ -24,7 +24,7 @@ import { ProjectPermissionMemberActions, ProjectPermissionSub, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { useCreateProjectUserAdditionalPrivilege, @@ -77,8 +77,8 @@ export const MembershipProjectAdditionalPrivilegeModifySection = ({ isDisabled }: Props) => { const isCreate = !privilegeId; - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data: privilegeDetails, isPending } = useGetProjectUserPrivilegeDetails( privilegeId || "" ); @@ -221,7 +221,7 @@ export const MembershipProjectAdditionalPrivilegeModifySection = ({ > Save - +
    diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleDetailsSection.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleDetailsSection.tsx index 5ff78360d..668986e3b 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleDetailsSection.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleDetailsSection.tsx @@ -22,12 +22,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { - ProjectPermissionActions, - ProjectPermissionSub, - useUser, - useWorkspace -} from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useUser, useProject } from "@app/context"; import { formatProjectRoleName } from "@app/helpers/roles"; import { usePopUp } from "@app/hooks"; import { useUpdateUserWorkspaceRole } from "@app/hooks/api"; @@ -49,7 +44,7 @@ export const MemberRoleDetailsSection = ({ }: Props) => { const { user } = useUser(); const userId = user?.id; - const { currentWorkspace } = useWorkspace(); + const { projectId } = useProject(); const { popUp, handlePopUpOpen, handlePopUpToggle, handlePopUpClose } = usePopUp([ "deleteRole", "modifyRole" @@ -63,7 +58,7 @@ export const MemberRoleDetailsSection = ({ try { const updatedRoles = membershipDetails?.roles?.filter((el) => el.id !== id); await updateUserWorkspaceRole({ - workspaceId: currentWorkspace?.id || "", + projectId, roles: updatedRoles.map( ({ role, diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleModify.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleModify.tsx index 739b22b7d..13537058f 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleModify.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleModify.tsx @@ -31,12 +31,12 @@ import { ProjectPermissionSub, useProjectPermission, useSubscription, - useWorkspace + useProject } from "@app/context"; import { useGetProjectRoles, useUpdateUserWorkspaceRole } from "@app/hooks/api"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { TWorkspaceUser } from "@app/hooks/api/types"; -import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/workspace/types"; +import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/projects/types"; const roleFormSchema = z.object({ roles: z @@ -65,9 +65,8 @@ type Props = { export const MemberRoleModify = ({ projectMember, onOpenUpgradeModal }: Props) => { const { subscription } = useSubscription(); - const { currentWorkspace } = useWorkspace(); - const workspaceId = currentWorkspace?.id || ""; - const { data: projectRoles, isPending: isRolesLoading } = useGetProjectRoles(workspaceId); + const { projectId } = useProject(); + const { data: projectRoles, isPending: isRolesLoading } = useGetProjectRoles(projectId); const { permission } = useProjectPermission(); const isMemberEditDisabled = permission.cannot( ProjectPermissionMemberActions.Edit, @@ -131,7 +130,7 @@ export const MemberRoleModify = ({ projectMember, onOpenUpgradeModal }: Props) = try { await updateMembershipRole.mutateAsync({ - workspaceId, + projectId, membershipId: projectMember.id, roles: sanitizedRoles }); diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/RoleDetailsBySlugPage.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/RoleDetailsBySlugPage.tsx index e400767a1..775244b4d 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/RoleDetailsBySlugPage.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/RoleDetailsBySlugPage.tsx @@ -16,7 +16,7 @@ import { DropdownMenuTrigger, PageHeader } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; import { useDeleteProjectRole, useGetProjectRoleBySlug } from "@app/hooks/api"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; @@ -33,8 +33,8 @@ const Page = () => { strict: false, select: (el) => el.roleSlug as string }); - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data } = useGetProjectRoleBySlug(projectId, roleSlug as string); @@ -48,7 +48,7 @@ const Page = () => { const onDeleteRoleSubmit = async () => { try { - if (!currentWorkspace?.slug || !data?.id) return; + if (!currentProject?.slug || !data?.id) return; await deleteProjectRole({ projectId, @@ -61,7 +61,7 @@ const Page = () => { }); handlePopUpClose("deleteRole"); navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/access-management` as const, + to: `${getProjectBaseURL(currentProject.type)}/access-management` as const, params: { projectId }, diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/AddPoliciesButton.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/AddPoliciesButton.tsx index abdf5c5d5..37f6b3868 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/AddPoliciesButton.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/AddPoliciesButton.tsx @@ -9,7 +9,7 @@ import { IconButton } from "@app/components/v2"; import { usePopUp } from "@app/hooks"; -import { ProjectType } from "@app/hooks/api/workspace/types"; +import { ProjectType } from "@app/hooks/api/projects/types"; import { PolicySelectionModal } from "@app/pages/project/RoleDetailsBySlugPage/components/PolicySelectionModal"; import { PolicyTemplateModal } from "@app/pages/project/RoleDetailsBySlugPage/components/PolicyTemplateModal"; diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/DuplicateProjectRoleModal.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/DuplicateProjectRoleModal.tsx index 24974225e..d36562089 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/DuplicateProjectRoleModal.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/DuplicateProjectRoleModal.tsx @@ -5,7 +5,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Input, Modal, ModalContent, Spinner } from "@app/components/v2"; -import { ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionSub, useProject } from "@app/context"; import { ProjectPermissionSecretActions } from "@app/context/ProjectPermissionContext/types"; import { getProjectBaseURL } from "@app/helpers/project"; import { useCreateProjectRole, useGetProjectRoleBySlug } from "@app/hooks/api"; @@ -45,7 +45,7 @@ const Content = ({ role, onClose }: ContentProps) => { resolver: zodResolver(schema) }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const createRole = useCreateProjectRole(); const navigate = useNavigate(); @@ -70,7 +70,7 @@ const Content = ({ role, onClose }: ContentProps) => { }); const newRole = await createRole.mutateAsync({ - projectId: currentWorkspace.id, + projectId: currentProject.id, permissions: sanitizedPermission, ...form }); @@ -81,10 +81,10 @@ const Content = ({ role, onClose }: ContentProps) => { }); navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/roles/$roleSlug` as const, + to: `${getProjectBaseURL(currentProject.type)}/roles/$roleSlug` as const, params: { roleSlug: newRole.slug, - projectId: currentWorkspace.id + projectId: currentProject.id } }); @@ -142,9 +142,9 @@ const Content = ({ role, onClose }: ContentProps) => { }; export const DuplicateProjectRoleModal = ({ isOpen, onOpenChange, roleSlug }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); - const { data: role, isPending } = useGetProjectRoleBySlug(currentWorkspace.id, roleSlug ?? ""); + const { data: role, isPending } = useGetProjectRoleBySlug(currentProject.id, roleSlug ?? ""); if (!roleSlug) return null; diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/PolicySelectionModal.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/PolicySelectionModal.tsx index 845c5f54e..22e64d48e 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/PolicySelectionModal.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/PolicySelectionModal.tsx @@ -19,7 +19,7 @@ import { Tr } from "@app/components/v2"; import { ProjectPermissionSub } from "@app/context"; -import { ProjectType } from "@app/hooks/api/workspace/types"; +import { ProjectType } from "@app/hooks/api/projects/types"; import { EXCLUDED_PERMISSION_SUBS, diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/PolicyTemplateModal.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/PolicyTemplateModal.tsx index d9cae6244..3064311bc 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/PolicyTemplateModal.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/PolicyTemplateModal.tsx @@ -13,7 +13,7 @@ import { ModalContent } from "@app/components/v2"; import { ProjectPermissionSub } from "@app/context"; -import { ProjectType } from "@app/hooks/api/workspace/types"; +import { ProjectType } from "@app/hooks/api/projects/types"; import { PROJECT_PERMISSION_OBJECT, diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx index 856275374..123a3ee0c 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx @@ -33,7 +33,7 @@ import { TPermissionConditionOperators } from "@app/context/ProjectPermissionContext/types"; import { TProjectPermission } from "@app/hooks/api/roles/types"; -import { ProjectType } from "@app/hooks/api/workspace/types"; +import { ProjectType } from "@app/hooks/api/projects/types"; const GeneralPolicyActionSchema = z.object({ read: z.boolean().optional(), diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/RoleModal.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/RoleModal.tsx index eb7a2ba83..e34f86892 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/RoleModal.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/RoleModal.tsx @@ -6,7 +6,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Input, Modal, ModalContent } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; import { useCreateProjectRole, @@ -38,8 +38,8 @@ export const RoleModal = ({ popUp, handlePopUpToggle }: Props) => { roleSlug: string; }; - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data: role } = useGetProjectRoleBySlug(projectId, popupData?.roleSlug ?? ""); @@ -101,7 +101,7 @@ export const RoleModal = ({ popUp, handlePopUpToggle }: Props) => { }); navigate({ - to: `${getProjectBaseURL(currentWorkspace.type)}/roles/$roleSlug` as const, + to: `${getProjectBaseURL(currentProject.type)}/roles/$roleSlug` as const, params: { roleSlug: newRole.slug, projectId diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/RolePermissionsSection.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/RolePermissionsSection.tsx index f50446a8e..13de1d57b 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/RolePermissionsSection.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/RolePermissionsSection.tsx @@ -8,12 +8,12 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { createNotification } from "@app/components/notifications"; import { AccessTree } from "@app/components/permissions"; import { Button } from "@app/components/v2"; -import { ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionSub, useProject } from "@app/context"; import { ProjectPermissionSet } from "@app/context/ProjectPermissionContext"; import { evaluatePermissionsAbility } from "@app/helpers/permissions"; import { useGetProjectRoleBySlug, useUpdateProjectRole } from "@app/hooks/api"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; -import { ProjectType } from "@app/hooks/api/workspace/types"; +import { ProjectType } from "@app/hooks/api/projects/types"; import { AddPoliciesButton } from "./AddPoliciesButton"; import { DynamicSecretPermissionConditions } from "./DynamicSecretPermissionConditions"; @@ -84,10 +84,10 @@ export const renderConditionalComponents = ( }; export const RolePermissionsSection = ({ roleSlug, isDisabled }: Props) => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data: role, isPending } = useGetProjectRoleBySlug( - currentWorkspace?.id ?? "", + currentProject?.id ?? "", roleSlug as string ); @@ -126,7 +126,7 @@ export const RolePermissionsSection = ({ roleSlug, isDisabled }: Props) => { (role?.slug ?? "") as ProjectMembershipRole ); - const isSecretManagerProject = currentWorkspace.type === ProjectType.SecretManager; + const isSecretManagerProject = currentProject.type === ProjectType.SecretManager; const permissions = form.watch("permissions"); @@ -178,7 +178,7 @@ export const RolePermissionsSection = ({ roleSlug, isDisabled }: Props) => { Save
    - +
    )} diff --git a/frontend/src/pages/project/SettingsPage/components/AuditLogsRetentionSection/AuditLogsRetentionSection.tsx b/frontend/src/pages/project/SettingsPage/components/AuditLogsRetentionSection/AuditLogsRetentionSection.tsx index 7c65b1857..b5b442e9b 100644 --- a/frontend/src/pages/project/SettingsPage/components/AuditLogsRetentionSection/AuditLogsRetentionSection.tsx +++ b/frontend/src/pages/project/SettingsPage/components/AuditLogsRetentionSection/AuditLogsRetentionSection.tsx @@ -5,10 +5,10 @@ import { z } from "zod"; import { UpgradePlanModal } from "@app/components/license/UpgradePlanModal"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Input } from "@app/components/v2"; -import { useProjectPermission, useSubscription, useWorkspace } from "@app/context"; +import { useProjectPermission, useSubscription, useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; -import { useUpdateWorkspaceAuditLogsRetention } from "@app/hooks/api/workspace/queries"; +import { useUpdateWorkspaceAuditLogsRetention } from "@app/hooks/api/projects/queries"; const formSchema = z.object({ auditLogsRetentionDays: z.coerce.number().min(0) @@ -19,7 +19,7 @@ type TForm = z.infer; export const AuditLogsRetentionSection = () => { const { mutateAsync: updateAuditLogsRetention } = useUpdateWorkspaceAuditLogsRetention(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { membership } = useProjectPermission(); const { subscription } = useSubscription(); const { popUp, handlePopUpOpen, handlePopUpToggle } = usePopUp(["upgradePlan"] as const); @@ -32,11 +32,11 @@ export const AuditLogsRetentionSection = () => { resolver: zodResolver(formSchema), values: { auditLogsRetentionDays: - currentWorkspace?.auditLogsRetentionDays ?? subscription?.auditLogsRetentionDays ?? 0 + currentProject?.auditLogsRetentionDays ?? subscription?.auditLogsRetentionDays ?? 0 } }); - if (!currentWorkspace) return null; + if (!currentProject) return null; const handleAuditLogsRetentionSubmit = async ({ auditLogsRetentionDays }: TForm) => { try { @@ -59,7 +59,7 @@ export const AuditLogsRetentionSection = () => { await updateAuditLogsRetention({ auditLogsRetentionDays, - projectSlug: currentWorkspace.slug + projectSlug: currentProject.slug }); createNotification({ diff --git a/frontend/src/pages/project/SettingsPage/components/DeleteProjectProtection/DeleteProjectProtection.tsx b/frontend/src/pages/project/SettingsPage/components/DeleteProjectProtection/DeleteProjectProtection.tsx index 2ac123607..3e09a9f6b 100644 --- a/frontend/src/pages/project/SettingsPage/components/DeleteProjectProtection/DeleteProjectProtection.tsx +++ b/frontend/src/pages/project/SettingsPage/components/DeleteProjectProtection/DeleteProjectProtection.tsx @@ -1,20 +1,19 @@ import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; import { Checkbox } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; -import { useToggleDeleteProjectProtection } from "@app/hooks/api/workspace/queries"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; +import { useUpdateProject } from "@app/hooks/api"; export const DeleteProjectProtection = () => { - const { currentWorkspace } = useWorkspace(); - const { mutateAsync } = useToggleDeleteProjectProtection(); + const { projectId, currentProject } = useProject(); + + const { mutateAsync } = useUpdateProject(); const handleToggleDeleteProjectProtection = async (state: boolean) => { try { - if (!currentWorkspace?.id) return; - await mutateAsync({ - workspaceID: currentWorkspace.id, - state + projectId: projectId, + hasDeleteProtection: state }); const text = `Successfully ${state ? "enabled" : "disabled"} delete protection`; @@ -40,7 +39,7 @@ export const DeleteProjectProtection = () => { { handleToggleDeleteProjectProtection(state as boolean); }} diff --git a/frontend/src/pages/project/SettingsPage/components/DeleteProjectSection/DeleteProjectSection.tsx b/frontend/src/pages/project/SettingsPage/components/DeleteProjectSection/DeleteProjectSection.tsx index ac589ba59..662506052 100644 --- a/frontend/src/pages/project/SettingsPage/components/DeleteProjectSection/DeleteProjectSection.tsx +++ b/frontend/src/pages/project/SettingsPage/components/DeleteProjectSection/DeleteProjectSection.tsx @@ -10,7 +10,7 @@ import { ProjectPermissionSub, useOrganization, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { useToggle } from "@app/hooks"; import { useDeleteWorkspace, useGetWorkspaceUsers, useLeaveProject } from "@app/hooks/api"; @@ -26,13 +26,13 @@ export const DeleteProjectSection = () => { const { currentOrg } = useOrganization(); const { hasProjectRole, membership } = useProjectPermission(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [isDeleting, setIsDeleting] = useToggle(); const [isLeaving, setIsLeaving] = useToggle(); const deleteWorkspace = useDeleteWorkspace(); const leaveProject = useLeaveProject(); const { data: members, isPending: isMembersLoading } = useGetWorkspaceUsers( - currentWorkspace?.id || "" + currentProject?.id || "" ); // If isNoAccessMember is true, then the user can't read the workspace members. So we need to handle this case separately. @@ -51,10 +51,10 @@ export const DeleteProjectSection = () => { const handleDeleteWorkspaceSubmit = async () => { setIsDeleting.on(); try { - if (!currentWorkspace?.id) return; + if (!currentProject?.id) return; await deleteWorkspace.mutateAsync({ - workspaceID: currentWorkspace?.id + projectID: currentProject?.id }); createNotification({ @@ -81,7 +81,7 @@ export const DeleteProjectSection = () => { try { setIsLeaving.on(); - if (!currentWorkspace?.id || !currentOrg?.id) return; + if (!currentProject?.id || !currentOrg?.id) return; // If there's no members, and the user has access to read members, something went wrong. if (!members && !isNoAccessMember) return; @@ -110,7 +110,7 @@ export const DeleteProjectSection = () => { // If it's actually a no-access member, then we don't really care about the members. await leaveProject.mutateAsync({ - workspaceId: currentWorkspace.id + projectId: currentProject.id }); navigate({ @@ -141,7 +141,7 @@ export const DeleteProjectSection = () => { type="submit" onClick={() => handlePopUpOpen("deleteWorkspace")} > - {`Delete ${currentWorkspace?.name}`} + {`Delete ${currentProject?.name}`} )} @@ -154,7 +154,7 @@ export const DeleteProjectSection = () => { type="submit" onClick={() => handlePopUpOpen("leaveWorkspace")} > - {`Leave ${currentWorkspace?.name}`} + {`Leave ${currentProject?.name}`} )} @@ -162,7 +162,7 @@ export const DeleteProjectSection = () => { handlePopUpToggle("deleteWorkspace", isOpen)} deleteKey="confirm" buttonText="Delete Project" @@ -172,7 +172,7 @@ export const DeleteProjectSection = () => { handlePopUpToggle("leaveWorkspace", isOpen)} deleteKey="confirm" buttonText="Leave Project" diff --git a/frontend/src/pages/secret-manager/CommitDetailsPage/CommitDetailsPage.tsx b/frontend/src/pages/secret-manager/CommitDetailsPage/CommitDetailsPage.tsx index 06f79e9f0..d03a347a8 100644 --- a/frontend/src/pages/secret-manager/CommitDetailsPage/CommitDetailsPage.tsx +++ b/frontend/src/pages/secret-manager/CommitDetailsPage/CommitDetailsPage.tsx @@ -2,7 +2,7 @@ import { useNavigate, useParams, useSearch } from "@tanstack/react-router"; import { ProjectPermissionCan } from "@app/components/permissions"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { ProjectPermissionCommitsActions, ProjectPermissionSub @@ -23,7 +23,7 @@ export const CommitDetailsPage = () => { from: ROUTE_PATHS.SecretManager.CommitDetailsPage.id, select: (el) => el.folderId }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const navigate = useNavigate(); const routerQueryParams: { secretPath?: string } = useSearch({ @@ -36,7 +36,7 @@ export const CommitDetailsPage = () => { navigate({ to: "/projects/secret-management/$projectId/commits/$environment/$folderId", params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, folderId, environment: envSlug }, @@ -51,7 +51,7 @@ export const CommitDetailsPage = () => { navigate({ to: "/projects/secret-management/$projectId/commits/$environment/$folderId/$commitId/restore", params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, folderId, environment: envSlug, commitId: selectedCommitId @@ -73,7 +73,7 @@ export const CommitDetailsPage = () => { > { const [deepRollback, setDeepRollback] = useState(false); const [message, setMessage] = useState(""); const [selectedFolderId, setSelectedFolderId] = useState(null); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const envSlug = useParams({ from: ROUTE_PATHS.SecretManager.RollbackPreviewPage.id, select: (el) => el.environment @@ -104,7 +104,7 @@ export const RollbackPreviewTab = (): JSX.Element => { navigate({ to: "/projects/secret-management/$projectId/commits/$environment/$folderId", params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, folderId, environment: envSlug }, @@ -120,7 +120,7 @@ export const RollbackPreviewTab = (): JSX.Element => { ] as const); const { mutateAsync: rollback } = useCommitRollback({ - projectId: currentWorkspace.id, + projectId: currentProject.id, commitId: selectedCommitId, folderId, deepRollback, @@ -133,7 +133,7 @@ export const RollbackPreviewTab = (): JSX.Element => { folderId, selectedCommitId, envSlug, - currentWorkspace.id, + currentProject.id, deepRollback, secretPath ); diff --git a/frontend/src/pages/secret-manager/CommitsPage/CommitsPage.tsx b/frontend/src/pages/secret-manager/CommitsPage/CommitsPage.tsx index 1acb76446..2dba8ad55 100644 --- a/frontend/src/pages/secret-manager/CommitsPage/CommitsPage.tsx +++ b/frontend/src/pages/secret-manager/CommitsPage/CommitsPage.tsx @@ -4,7 +4,7 @@ import { ProjectPermissionCan } from "@app/components/permissions"; import { PageHeader } from "@app/components/v2"; import { NoticeBannerV2 } from "@app/components/v2/NoticeBannerV2/NoticeBannerV2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { ProjectPermissionCommitsActions, ProjectPermissionSub @@ -17,7 +17,7 @@ export const CommitsPage = () => { from: ROUTE_PATHS.SecretManager.CommitsPage.id, select: (el) => el.environment }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const navigate = useNavigate(); const folderId = useParams({ from: ROUTE_PATHS.SecretManager.CommitsPage.id, @@ -33,7 +33,7 @@ export const CommitsPage = () => { navigate({ to: "/projects/secret-management/$projectId/commits/$environment/$folderId/$commitId", params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, folderId, environment: envSlug, commitId @@ -67,7 +67,7 @@ export const CommitsPage = () => { > diff --git a/frontend/src/pages/secret-manager/CommitsPage/components/CommitHistoryTab/CommitHistoryTab.tsx b/frontend/src/pages/secret-manager/CommitsPage/components/CommitHistoryTab/CommitHistoryTab.tsx index 58191f389..d5f982529 100644 --- a/frontend/src/pages/secret-manager/CommitsPage/components/CommitHistoryTab/CommitHistoryTab.tsx +++ b/frontend/src/pages/secret-manager/CommitsPage/components/CommitHistoryTab/CommitHistoryTab.tsx @@ -136,7 +136,7 @@ export const CommitHistoryTab = ({ isFetchingNextPage, hasNextPage } = useGetFolderCommitHistory({ - workspaceId: projectId, + projectId, environment, directory: secretPath, limit, diff --git a/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistModal.tsx b/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistModal.tsx index 4d95b6388..36f585850 100644 --- a/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistModal.tsx +++ b/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistModal.tsx @@ -5,7 +5,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Input, Modal, ModalContent } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useAddTrustedIp, useGetMyIp, useUpdateTrustedIp } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -27,7 +27,7 @@ type Props = { export const IPAllowlistModal = ({ popUp, handlePopUpClose, handlePopUpToggle }: Props) => { const { data, isPending } = useGetMyIp(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const addTrustedIp = useAddTrustedIp(); const updateTrustedIp = useUpdateTrustedIp(); @@ -65,11 +65,11 @@ export const IPAllowlistModal = ({ popUp, handlePopUpClose, handlePopUpToggle }: const onIPAllowlistModalSubmit = async ({ ipAddress, comment }: FormData) => { try { - if (!currentWorkspace?.id) return; + if (!currentProject?.id) return; if (popUp?.trustedIp?.data) { await updateTrustedIp.mutateAsync({ - workspaceId: currentWorkspace.id, + projectId: currentProject.id, trustedIpId: (popUp?.trustedIp?.data as { trustedIpId: string })?.trustedIpId, ipAddress, comment, @@ -77,7 +77,7 @@ export const IPAllowlistModal = ({ popUp, handlePopUpClose, handlePopUpToggle }: }); } else { await addTrustedIp.mutateAsync({ - workspaceId: currentWorkspace.id, + projectId: currentProject.id, ipAddress, comment, isActive: true diff --git a/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistSection.tsx b/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistSection.tsx index 63b410ee2..843455343 100644 --- a/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistSection.tsx +++ b/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistSection.tsx @@ -9,7 +9,7 @@ import { ProjectPermissionActions, ProjectPermissionSub, useSubscription, - useWorkspace + useProject } from "@app/context"; import { useDeleteTrustedIp } from "@app/hooks/api"; import { usePopUp } from "@app/hooks/usePopUp"; @@ -20,7 +20,7 @@ import { IPAllowlistTable } from "./IPAllowlistTable"; export const IPAllowlistSection = () => { const { mutateAsync } = useDeleteTrustedIp(); const { subscription } = useSubscription(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { popUp, handlePopUpOpen, handlePopUpClose, handlePopUpToggle } = usePopUp([ "trustedIp", @@ -30,10 +30,10 @@ export const IPAllowlistSection = () => { const onDeleteTrustedIpSubmit = async (trustedIpId: string) => { try { - if (!currentWorkspace?.id) return; + if (!currentProject?.id) return; await mutateAsync({ - workspaceId: currentWorkspace.id, + projectId: currentProject.id, trustedIpId }); diff --git a/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistTable.tsx b/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistTable.tsx index 42ecc8d8a..001514a96 100644 --- a/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistTable.tsx +++ b/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistTable.tsx @@ -19,7 +19,7 @@ import { ProjectPermissionActions, ProjectPermissionSub, useSubscription, - useWorkspace + useProject } from "@app/context"; import { useGetTrustedIps } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -41,8 +41,8 @@ type Props = { export const IPAllowlistTable = ({ popUp, handlePopUpOpen, handlePopUpToggle }: Props) => { const { subscription } = useSubscription(); - const { currentWorkspace } = useWorkspace(); - const { data, isPending } = useGetTrustedIps(currentWorkspace?.id ?? ""); + const { currentProject } = useProject(); + const { data, isPending } = useGetTrustedIps(currentProject?.id ?? ""); const formatType = (type: string, prefix?: number) => { return `${type.slice(0, 2).toUpperCase() + type.slice(2)} ${ @@ -77,10 +77,10 @@ export const IPAllowlistTable = ({ popUp, handlePopUpOpen, handlePopUpToggle }: {comment} {/*
    - + />

    Active

    */} diff --git a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/IntegrationsDetailsByIDPage.tsx b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/IntegrationsDetailsByIDPage.tsx index c1ba83ae6..3788d955e 100644 --- a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/IntegrationsDetailsByIDPage.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/IntegrationsDetailsByIDPage.tsx @@ -20,11 +20,11 @@ import { Tooltip } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { OrgPermissionActions, OrgPermissionSubjects, useWorkspace } from "@app/context"; +import { OrgPermissionActions, OrgPermissionSubjects, useProject } from "@app/context"; import { usePopUp, useToggle } from "@app/hooks"; import { useGetIntegration } from "@app/hooks/api"; import { useDeleteIntegration, useSyncIntegration } from "@app/hooks/api/integrations/queries"; -import { ProjectType } from "@app/hooks/api/workspace/types"; +import { ProjectType } from "@app/hooks/api/projects/types"; import { IntegrationAuditLogsSection } from "./components/IntegrationAuditLogsSection"; import { IntegrationConnectionSection } from "./components/IntegrationConnectionSection"; @@ -45,8 +45,8 @@ export const IntegrationDetailsByIDPage = () => { const [shouldDeleteSecrets, setShouldDeleteSecrets] = useToggle(false); - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace.id; + const { currentProject } = useProject(); + const projectId = currentProject.id; const { mutateAsync: syncIntegration } = useSyncIntegration(); const { mutateAsync: deleteIntegration } = useDeleteIntegration(); @@ -56,7 +56,7 @@ export const IntegrationDetailsByIDPage = () => { try { await deleteIntegration({ id: integrationId, - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, shouldDeleteIntegrationSecrets }); diff --git a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/components/IntegrationAuditLogsSection.tsx b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/components/IntegrationAuditLogsSection.tsx index c27b1bb08..1b7a93eef 100644 --- a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/components/IntegrationAuditLogsSection.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/components/IntegrationAuditLogsSection.tsx @@ -1,7 +1,7 @@ import { Link } from "@tanstack/react-router"; import { EmptyState } from "@app/components/v2"; -import { useSubscription, useWorkspace } from "@app/context"; +import { useSubscription, useProject } from "@app/context"; import { EventType } from "@app/hooks/api/auditLogs/enums"; import { TIntegrationWithEnv } from "@app/hooks/api/integrations/types"; import { LogsSection } from "@app/pages/organization/AuditLogsPage/components/LogsSection"; @@ -15,7 +15,7 @@ type Props = { export const IntegrationAuditLogsSection = ({ integration }: Props) => { const { subscription } = useSubscription(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const auditLogsRetentionDays = subscription?.auditLogsRetentionDays ?? 30; @@ -31,7 +31,7 @@ export const IntegrationAuditLogsSection = ({ integration }: Props) => { { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { t } = useTranslation(); const { selectedTab } = useSearch({ @@ -30,7 +30,7 @@ export const IntegrationsListPage = () => { to: ROUTE_PATHS.SecretManager.IntegrationsListPage.path, search: (prev) => ({ ...prev, selectedTab: tab as IntegrationsListPageTabs }), params: { - projectId: currentWorkspace.id + projectId: currentProject.id } }); }; diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/components/CloudIntegrationSection/CloudIntegrationSection.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/components/CloudIntegrationSection/CloudIntegrationSection.tsx index 935ad1a8c..4f8e541e2 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/components/CloudIntegrationSection/CloudIntegrationSection.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/components/CloudIntegrationSection/CloudIntegrationSection.tsx @@ -25,7 +25,7 @@ import { ProjectPermissionActions, ProjectPermissionSub, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; import { SecretSync } from "@app/hooks/api/secretSyncs"; @@ -60,7 +60,7 @@ export const CloudIntegrationSection = ({ "deleteConfirmation" ] as const); const { permission } = useProjectPermission(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const navigate = useNavigate(); const isEmpty = !isLoading && !cloudIntegrations?.length; @@ -68,12 +68,12 @@ export const CloudIntegrationSection = ({ const sortedCloudIntegrations = useMemo(() => { const sortedIntegrations = cloudIntegrations.sort((a, b) => a.name.localeCompare(b.name)); - if (currentWorkspace?.environments.length === 0) { + if (currentProject?.environments.length === 0) { return sortedIntegrations.map((integration) => ({ ...integration, isAvailable: false })); } return sortedIntegrations; - }, [cloudIntegrations, currentWorkspace?.environments]); + }, [cloudIntegrations, currentProject?.environments]); const [search, setSearch] = useState(""); @@ -83,9 +83,9 @@ export const CloudIntegrationSection = ({ return (
    - {currentWorkspace?.environments.length === 0 && ( + {currentProject?.environments.length === 0 && (
    - +
    )}
    @@ -138,7 +138,7 @@ export const CloudIntegrationSection = ({ navigate({ to: ROUTE_PATHS.SecretManager.IntegrationsListPage.path, params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.SecretSyncs, diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/components/NativeIntegrationsTab/IntegrationRow.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/components/NativeIntegrationsTab/IntegrationRow.tsx index df862b8ba..c83e24254 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/components/NativeIntegrationsTab/IntegrationRow.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/components/NativeIntegrationsTab/IntegrationRow.tsx @@ -15,7 +15,7 @@ import { twMerge } from "tailwind-merge"; import { ProjectPermissionCan } from "@app/components/permissions"; import { Badge, IconButton, Td, Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { TCloudIntegration } from "@app/hooks/api/integrations/types"; import { TIntegration } from "@app/hooks/api/types"; @@ -37,7 +37,7 @@ export const IntegrationRow = ({ cloudIntegration }: IProps) => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { id, secretPath, syncMessage, isSynced } = integration; @@ -62,7 +62,7 @@ export const IntegrationRow = ({ to: "/projects/secret-management/$projectId/integrations/$integrationId", params: { integrationId: integration.id, - projectId: currentWorkspace.id + projectId: currentProject.id } }) } diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/components/NativeIntegrationsTab/NativeIntegrationsTab.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/components/NativeIntegrationsTab/NativeIntegrationsTab.tsx index f3706940c..b4f790075 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/components/NativeIntegrationsTab/NativeIntegrationsTab.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/components/NativeIntegrationsTab/NativeIntegrationsTab.tsx @@ -5,7 +5,7 @@ import { useNavigate } from "@tanstack/react-router"; import { createNotification } from "@app/components/notifications"; import { Button, Checkbox, DeleteActionModal, Spinner } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { usePopUp, useToggle } from "@app/hooks"; import { useDeleteIntegration, @@ -27,8 +27,8 @@ enum IntegrationView { } export const NativeIntegrationsTab = () => { - const { currentWorkspace } = useWorkspace(); - const { environments, id: workspaceId } = currentWorkspace; + const { currentProject } = useProject(); + const { environments, id: workspaceId } = currentProject; const navigate = useNavigate(); const { data: cloudIntegrations, isPending: isCloudIntegrationsLoading } = @@ -91,7 +91,7 @@ export const NativeIntegrationsTab = () => { if (!selectedCloudIntegration) return; try { - redirectForProviderAuth(currentWorkspace.id, navigate, selectedCloudIntegration); + redirectForProviderAuth(currentProject.id, navigate, selectedCloudIntegration); } catch (error) { console.error(error); } diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncTable/SecretSyncsTable.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncTable/SecretSyncsTable.tsx index fcd42a10f..ed96dcd45 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncTable/SecretSyncsTable.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncTable/SecretSyncsTable.tsx @@ -36,7 +36,7 @@ import { THead, Tr } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { SECRET_SYNC_MAP } from "@app/helpers/secretSyncs"; import { getUserTablePreference, @@ -109,7 +109,7 @@ export const SecretSyncsTable = ({ secretSyncs }: Props) => { environmentIds: [] }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { search, @@ -372,7 +372,7 @@ export const SecretSyncsTable = ({ secretSyncs }: Props) => { No Secret Syncs Configured )} Environment - {currentWorkspace.environments.map((env) => ( + {currentProject.environments.map((env) => ( { e.preventDefault(); diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncsTab.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncsTab.tsx index 20a3c74df..04a1cd770 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncsTab.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncsTab.tsx @@ -7,7 +7,7 @@ import { ProjectPermissionCan } from "@app/components/permissions"; import { CreateSecretSyncModal } from "@app/components/secret-syncs"; import { Button, Spinner } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionSub, useProject } from "@app/context"; import { ProjectPermissionSecretSyncActions } from "@app/context/ProjectPermissionContext/types"; import { usePopUp } from "@app/hooks"; import { useListSecretSyncs } from "@app/hooks/api/secretSyncs"; @@ -23,7 +23,7 @@ export const SecretSyncsTab = () => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); useEffect(() => { if (!addSync) return; @@ -32,14 +32,14 @@ export const SecretSyncsTab = () => { navigate({ to: ROUTE_PATHS.SecretManager.IntegrationsListPage.path, params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search }); }, [addSync]); const { data: secretSyncs = [], isPending: isSecretSyncsPending } = useListSecretSyncs( - currentWorkspace.id, + currentProject.id, { refetchInterval: 30000 } diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx index b7f8236da..53131cca1 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx @@ -2,7 +2,7 @@ import { createFileRoute, redirect } from "@tanstack/react-router"; import { zodValidator } from "@tanstack/zod-adapter"; import { z } from "zod"; -import { workspaceKeys } from "@app/hooks/api"; +import { projectKeys } from "@app/hooks/api"; import { TIntegration } from "@app/hooks/api/integrations/types"; import { fetchSecretSyncsByProjectId, @@ -10,7 +10,7 @@ import { secretSyncKeys, TSecretSync } from "@app/hooks/api/secretSyncs"; -import { fetchWorkspaceIntegrations } from "@app/hooks/api/workspace/queries"; +import { fetchWorkspaceIntegrations } from "@app/hooks/api/projects/queries"; import { IntegrationsListPageTabs } from "@app/types/integrations"; import { IntegrationsListPage } from "./IntegrationsListPage"; @@ -57,7 +57,7 @@ export const Route = createFileRoute( let integrations: TIntegration[]; try { integrations = await context.queryClient.ensureQueryData({ - queryKey: workspaceKeys.getWorkspaceIntegrations(projectId), + queryKey: projectKeys.getProjectIntegrations(projectId), queryFn: () => fetchWorkspaceIntegrations(projectId) }); } catch { diff --git a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx index 910e07eac..47b448d13 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx @@ -65,7 +65,7 @@ import { ProjectPermissionSub, useProjectPermission, useSubscription, - useWorkspace + useProject } from "@app/context"; import { ProjectPermissionSecretRotationActions } from "@app/context/ProjectPermissionContext/types"; import { @@ -95,13 +95,8 @@ import { OrderByDirection } from "@app/hooks/api/generic/types"; import { useUpdateFolderBatch } from "@app/hooks/api/secretFolders/queries"; import { TUpdateFolderBatchDTO } from "@app/hooks/api/secretFolders/types"; import { TSecretRotationV2 } from "@app/hooks/api/secretRotationsV2"; -import { - SecretType, - SecretV3RawSanitized, - TSecretFolder, - WorkspaceEnv -} from "@app/hooks/api/types"; -import { ProjectVersion } from "@app/hooks/api/workspace/types"; +import { SecretType, SecretV3RawSanitized, TSecretFolder, ProjectEnv } from "@app/hooks/api/types"; +import { ProjectVersion } from "@app/hooks/api/projects/types"; import { useDynamicSecretOverview, useFolderOverview, @@ -173,10 +168,9 @@ export const OverviewPage = () => { const [debouncedScrollOffset] = useDebounce(scrollOffset); const { permission } = useProjectPermission(); const tableRef = useRef(null); - const { currentWorkspace } = useWorkspace(); - const isProjectV3 = currentWorkspace?.version === ProjectVersion.V3; - const workspaceId = currentWorkspace?.id as string; - const projectSlug = currentWorkspace?.slug as string; + const { currentProject, projectId } = useProject(); + const isProjectV3 = currentProject?.version === ProjectVersion.V3; + const projectSlug = currentProject?.slug as string; const [searchFilter, setSearchFilter] = useState(""); const [debouncedSearchFilter, setDebouncedSearchFilter] = useDebounce(searchFilter); const secretPath = (routerSearch?.secretPath as string) || "/"; @@ -246,7 +240,7 @@ export const OverviewPage = () => { }; }, []); - const userAvailableEnvs = currentWorkspace?.environments || []; + const userAvailableEnvs = currentProject?.environments || []; const userAvailableDynamicSecretEnvs = userAvailableEnvs.filter((env) => permission.can( ProjectPermissionDynamicSecretActions.CreateRootCredential, @@ -267,7 +261,7 @@ export const OverviewPage = () => { ) ); - const [filteredEnvs, setFilteredEnvs] = useState([]); + const [filteredEnvs, setFilteredEnvs] = useState([]); const visibleEnvs = filteredEnvs.length ? filteredEnvs : userAvailableEnvs; const { @@ -276,7 +270,7 @@ export const OverviewPage = () => { getImportedSecretByKey, getEnvImportedSecretKeyCount } = useGetImportedSecretsAllEnvs({ - projectId: workspaceId, + projectId: projectId, path: secretPath, environments: (userAvailableEnvs || []).map(({ slug }) => slug) }); @@ -284,7 +278,7 @@ export const OverviewPage = () => { const isFilteredByResources = Object.values(filter).some(Boolean); const { isPending: isOverviewLoading, data: overview } = useGetProjectSecretsOverview( { - projectId: workspaceId, + projectId: projectId, environments: visibleEnvs.map((env) => env.slug), secretPath, orderDirection, @@ -368,7 +362,7 @@ export const OverviewPage = () => { ); const { data: tags } = useGetWsTags( - permission.can(ProjectPermissionActions.Read, ProjectPermissionSub.Tags) ? workspaceId : "" + permission.can(ProjectPermissionActions.Read, ProjectPermissionSub.Tags) ? projectId : "" ); const { mutateAsync: createSecretV3 } = useCreateSecretV3(); @@ -398,7 +392,7 @@ export const OverviewPage = () => { name: folderName, path: secretPath, environment, - projectId: workspaceId, + projectId: projectId, description }); }); @@ -458,7 +452,7 @@ export const OverviewPage = () => { await updateFolderBatch({ projectSlug, folders: updatedFolders, - projectId: workspaceId + projectId: projectId }); createNotification({ type: "success", @@ -491,7 +485,7 @@ export const OverviewPage = () => { ); if (folderName && parentPath && canCreateFolder) { await createFolder({ - projectId: workspaceId, + projectId: projectId, path: parentPath, environment: env, name: folderName @@ -500,7 +494,7 @@ export const OverviewPage = () => { } const result = await createSecretV3({ environment: env, - workspaceId, + projectId, secretPath, secretKey: key, secretValue: value, @@ -555,7 +549,7 @@ export const OverviewPage = () => { try { const result = await updateSecretV3({ environment: env, - workspaceId, + projectId, secretPath, secretKey: key, secretValue, @@ -586,7 +580,7 @@ export const OverviewPage = () => { try { const result = await deleteSecretV3({ environment: env, - workspaceId, + projectId, secretPath, secretKey: key, secretId, @@ -655,7 +649,7 @@ export const OverviewPage = () => { ); if (folderName && parentPath && canCreateFolder) { await createFolder({ - projectId: workspaceId, + projectId: projectId, environment: slug, path: parentPath, name: folderName @@ -669,7 +663,7 @@ export const OverviewPage = () => { navigate({ to: "/projects/secret-management/$projectId/secrets/$envSlug", params: { - projectId: workspaceId, + projectId: projectId, envSlug: slug }, search: query @@ -1099,7 +1093,7 @@ export const OverviewPage = () => { tags={tags} onChange={setSearchFilter} environments={userAvailableEnvs} - projectId={currentWorkspace?.id} + projectId={currentProject?.id} /> {userAvailableEnvs.length > 0 && (
    @@ -1419,7 +1413,7 @@ export const OverviewPage = () => { diff --git a/frontend/src/pages/secret-manager/OverviewPage/components/CreateSecretForm/CreateSecretForm.tsx b/frontend/src/pages/secret-manager/OverviewPage/components/CreateSecretForm/CreateSecretForm.tsx index 7087faf72..00e0d799c 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/components/CreateSecretForm/CreateSecretForm.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/components/CreateSecretForm/CreateSecretForm.tsx @@ -20,7 +20,7 @@ import { ProjectPermissionActions, ProjectPermissionSub, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { ProjectPermissionSecretActions } from "@app/context/ProjectPermissionContext/types"; import { getKeyValue } from "@app/helpers/parseEnvVar"; @@ -57,16 +57,15 @@ export const CreateSecretForm = ({ secretPath = "/", onClose }: Props) => { formState: { isSubmitting, errors } } = useForm({ resolver: zodResolver(typeSchema) }); - const { currentWorkspace } = useWorkspace(); + const { currentProject, projectId } = useProject(); const { permission } = useProjectPermission(); const canReadTags = permission.can(ProjectPermissionActions.Read, ProjectPermissionSub.Tags); - const workspaceId = currentWorkspace?.id || ""; - const environments = currentWorkspace?.environments || []; + const environments = currentProject?.environments || []; const { mutateAsync: createSecretV3 } = useCreateSecretV3(); const { mutateAsync: createFolder } = useCreateFolder(); const { data: projectTags, isPending: isTagsLoading } = useGetWsTags( - canReadTags ? workspaceId : "" + canReadTags ? projectId : "" ); const secretKeyInputRef = useRef(null); @@ -93,7 +92,7 @@ export const CreateSecretForm = ({ secretPath = "/", onClose }: Props) => { if (folderName && parentPath && canCreateFolder) { await createFolder({ - projectId: workspaceId, + projectId: projectId, path: parentPath, environment, name: folderName @@ -106,7 +105,7 @@ export const CreateSecretForm = ({ secretPath = "/", onClose }: Props) => { return { ...(await createSecretV3({ environment, - workspaceId, + projectId, secretPath, secretKey: key, secretValue: value || "", @@ -176,7 +175,7 @@ export const CreateSecretForm = ({ secretPath = "/", onClose }: Props) => { if (!secretKey || isWholeKeyHighlighted) { e.preventDefault(); - const keyStr = currentWorkspace.autoCapitalization ? key.toUpperCase() : key; + const keyStr = currentProject.autoCapitalization ? key.toUpperCase() : key; setValue("key", keyStr); if (value) { setValue("value", value); @@ -191,7 +190,7 @@ export const CreateSecretForm = ({ secretPath = "/", onClose }: Props) => { try { const parsedSlug = slugSchema.parse(slug); await createWsTag.mutateAsync({ - workspaceID: workspaceId, + projectId: projectId, tagSlug: parsedSlug, tagColor: "" }); @@ -220,7 +219,7 @@ export const CreateSecretForm = ({ secretPath = "/", onClose }: Props) => { }} placeholder="Type your secret name" onPaste={handlePaste} - autoCapitalization={currentWorkspace?.autoCapitalization} + autoCapitalization={currentProject?.autoCapitalization} /> { secret?: SecretV3RawSanitized; environmentInfo?: WorkspaceEnv } | undefined; + ) => { secret?: SecretV3RawSanitized; environmentInfo?: ProjectEnv } | undefined; scrollOffset: number; importedBy?: { environment: { name: string; slug: string }; diff --git a/frontend/src/pages/secret-manager/OverviewPage/components/SecretOverviewTableRow/SecretRenameRow.tsx b/frontend/src/pages/secret-manager/OverviewPage/components/SecretOverviewTableRow/SecretRenameRow.tsx index d15e96a91..4bb0ce453 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/components/SecretOverviewTableRow/SecretRenameRow.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/components/SecretOverviewTableRow/SecretRenameRow.tsx @@ -10,7 +10,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { IconButton, Input, Spinner, Tooltip } from "@app/components/v2"; -import { ProjectPermissionSub, useProjectPermission, useWorkspace } from "@app/context"; +import { ProjectPermissionSub, useProjectPermission, useProject } from "@app/context"; import { ProjectPermissionSecretActions } from "@app/context/ProjectPermissionContext/types"; import { useToggle } from "@app/hooks"; import { useUpdateSecretV3 } from "@app/hooks/api"; @@ -37,7 +37,7 @@ export const formSchema = z.object({ type TFormSchema = z.infer; function SecretRenameRow({ environments, getSecretByKey, secretKey, secretPath }: Props) { - const { currentWorkspace } = useWorkspace(); + const { currentProject, projectId } = useProject(); const { permission } = useProjectPermission(); const secrets = environments.map((env) => getSecretByKey(env.slug, secretKey)); @@ -68,7 +68,6 @@ function SecretRenameRow({ environments, getSecretByKey, secretKey, secretPath } secret?.overrideAction === SecretActionType.Created || secret?.overrideAction === SecretActionType.Modified ); - const workspaceId = currentWorkspace?.id || ""; const [isSecNameCopied, setIsSecNameCopied] = useToggle(false); @@ -111,7 +110,7 @@ function SecretRenameRow({ environments, getSecretByKey, secretKey, secretPath } return updateSecretV3({ environment: secret?.env, - workspaceId, + projectId, secretPath, secretKey: secret.key, secretValue: secret.value || "", @@ -163,7 +162,7 @@ function SecretRenameRow({ environments, getSecretByKey, secretKey, secretPath } void; isSingleEnv?: boolean; diff --git a/frontend/src/pages/secret-manager/OverviewPage/components/SecretV2MigrationSection/SecretV2MigrationSection.tsx b/frontend/src/pages/secret-manager/OverviewPage/components/SecretV2MigrationSection/SecretV2MigrationSection.tsx index 14faa7e9e..9afa742f4 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/components/SecretV2MigrationSection/SecretV2MigrationSection.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/components/SecretV2MigrationSection/SecretV2MigrationSection.tsx @@ -8,11 +8,11 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, Checkbox, Modal, ModalContent, Spinner } from "@app/components/v2"; -import { useProjectPermission, useWorkspace } from "@app/context"; +import { useProjectPermission, useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; -import { useGetWorkspaceById, useMigrateProjectToV3, workspaceKeys } from "@app/hooks/api"; +import { useGetWorkspaceById, useMigrateProjectToV3, projectKeys } from "@app/hooks/api"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; -import { ProjectVersion } from "@app/hooks/api/workspace/types"; +import { ProjectVersion } from "@app/hooks/api/projects/types"; enum ProjectUpgradeStatus { InProgress = "IN_PROGRESS", @@ -28,14 +28,14 @@ const formSchema = z.object({ export const SecretV2MigrationSection = () => { const { popUp, handlePopUpOpen, handlePopUpToggle } = usePopUp(["migrationInfo"] as const); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const queryClient = useQueryClient(); const { data: workspaceDetails, refetch } = useGetWorkspaceById( // if v3 no need to fetch - currentWorkspace?.version === ProjectVersion.V3 ? "" : currentWorkspace?.id || "", + currentProject?.version === ProjectVersion.V3 ? "" : currentProject?.id || "", { refetchInterval: - currentWorkspace?.upgradeStatus === ProjectUpgradeStatus.InProgress ? 2000 : false + currentProject?.upgradeStatus === ProjectUpgradeStatus.InProgress ? 2000 : false } ); const { membership } = useProjectPermission(); @@ -54,12 +54,12 @@ export const SecretV2MigrationSection = () => { createNotification({ type: "success", text: "Project upgrade completed successfully" }); migrateProjectToV3.reset(); queryClient.invalidateQueries({ - queryKey: workspaceKeys.getAllUserWorkspace() + queryKey: projectKeys.getAllUserProjects() }); } }, [isProjectUpgraded, Boolean(migrateProjectToV3.data)]); - if (isProjectUpgraded || currentWorkspace?.version === ProjectVersion.V3) return null; + if (isProjectUpgraded || currentProject?.version === ProjectVersion.V3) return null; const isUpgrading = workspaceDetails?.upgradeStatus === ProjectUpgradeStatus.InProgress; const didProjectUpgradeFailed = workspaceDetails?.upgradeStatus === ProjectUpgradeStatus.Failed; @@ -67,7 +67,7 @@ export const SecretV2MigrationSection = () => { const handleMigrationSecretV2 = async () => { try { handlePopUpToggle("migrationInfo"); - await migrateProjectToV3.mutateAsync({ workspaceId: currentWorkspace?.id || "" }); + await migrateProjectToV3.mutateAsync({ projectId: currentProject?.id || "" }); refetch(); createNotification({ text: "Project upgrade started", diff --git a/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/SelectionPanel.tsx b/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/SelectionPanel.tsx index 11ee3def8..41794dbc7 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/SelectionPanel.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/SelectionPanel.tsx @@ -11,7 +11,7 @@ import { ProjectPermissionSub, useProjectPermission, useSubscription, - useWorkspace + useProject } from "@app/context"; import { ProjectPermissionSecretActions } from "@app/context/ProjectPermissionContext/types"; import { usePopUp } from "@app/hooks"; @@ -66,9 +66,8 @@ export const SelectionPanel = ({ ); const selectedCount = selectedFolderCount + selectedKeysCount; - const { currentWorkspace } = useWorkspace(); - const workspaceId = currentWorkspace?.id || ""; - const userAvailableEnvs = currentWorkspace?.environments || []; + const { currentProject, projectId } = useProject(); + const userAvailableEnvs = currentProject?.environments || []; const { mutateAsync: deleteBatchSecretV3 } = useDeleteSecretBatch(); const { mutateAsync: deleteFolder } = useDeleteFolder(); @@ -134,7 +133,7 @@ export const SelectionPanel = ({ folderId: folder?.id, path: secretPath, environment: env.slug, - projectId: workspaceId + projectId: projectId }); } }) @@ -173,7 +172,7 @@ export const SelectionPanel = ({ processedEntries += secretsToDelete.length; await deleteBatchSecretV3({ secretPath, - workspaceId, + projectId, environment: env.slug, secrets: secretsToDelete }); @@ -281,8 +280,8 @@ export const SelectionPanel = ({ isOpen={popUp.bulkMoveSecrets.isOpen} onOpenChange={(isOpen) => handlePopUpToggle("bulkMoveSecrets", isOpen)} environments={userAvailableEnvs} - projectId={workspaceId} - projectSlug={currentWorkspace.slug} + projectId={projectId} + projectSlug={currentProject.slug} sourceSecretPath={secretPath} secrets={selectedEntries[EntryType.SECRET]} onComplete={resetSelectedEntries} diff --git a/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/components/MoveSecretsDialog/MoveSecretsDialog.tsx b/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/components/MoveSecretsDialog/MoveSecretsDialog.tsx index bb7862f09..9dd2863d6 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/components/MoveSecretsDialog/MoveSecretsDialog.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/components/MoveSecretsDialog/MoveSecretsDialog.tsx @@ -31,12 +31,12 @@ import { useDebounce } from "@app/hooks"; import { useMoveSecrets } from "@app/hooks/api"; import { useGetProjectSecretsQuickSearch } from "@app/hooks/api/dashboard"; import { SecretV3RawSanitized } from "@app/hooks/api/secrets/types"; -import { WorkspaceEnv } from "@app/hooks/api/workspace/types"; +import { ProjectEnv } from "@app/hooks/api/projects/types"; type Props = { isOpen: boolean; onOpenChange: (isOpen: boolean) => void; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; projectId: string; projectSlug: string; sourceSecretPath: string; @@ -64,7 +64,6 @@ type MoveResults = { const Content = ({ onComplete, secrets, - projectSlug, environments, projectId, sourceSecretPath @@ -189,7 +188,6 @@ const Content = ({ try { const { isDestinationUpdated, isSourceUpdated } = await moveSecrets.mutateAsync({ - projectSlug, shouldOverwrite, sourceEnvironment: environment.slug, sourceSecretPath, diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/SecretApprovalsPage.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/SecretApprovalsPage.tsx index bc82e9b90..09fe3aa66 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/SecretApprovalsPage.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/SecretApprovalsPage.tsx @@ -3,7 +3,7 @@ import { useTranslation } from "react-i18next"; import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { Badge } from "@app/components/v2/Badge"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useGetAccessRequestsCount, useGetSecretApprovalRequestCount } from "@app/hooks/api"; import { AccessApprovalRequest } from "./components/AccessApprovalRequest"; @@ -20,11 +20,10 @@ enum TabSection { export const SecretApprovalsPage = () => { const { t } = useTranslation(); - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; - const projectSlug = currentWorkspace?.slug || ""; + const { currentProject, projectId } = useProject(); + const projectSlug = currentProject?.slug || ""; const { data: secretApprovalReqCount } = useGetSecretApprovalRequestCount({ - workspaceId: projectId + projectId }); const { data: accessApprovalRequestCount } = useGetAccessRequestsCount({ projectSlug }); const defaultTab = diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/AccessApprovalRequest.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/AccessApprovalRequest.tsx index ad905c1f6..3ab1c624e 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/AccessApprovalRequest.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/AccessApprovalRequest.tsx @@ -42,7 +42,7 @@ import { useProjectPermission, useSubscription, useUser, - useWorkspace + useProject } from "@app/context"; import { getUserTablePreference, @@ -110,7 +110,7 @@ export const AccessApprovalRequest = ({ const { permission } = useProjectPermission(); const { user } = useUser(); const { subscription } = useSubscription(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: members } = useGetWorkspaceUsers(projectId, true); const membersGroupById = members?.reduce>( @@ -410,7 +410,7 @@ export const AccessApprovalRequest = ({ Select an Environment - {currentWorkspace?.environments.map(({ slug, name }) => ( + {currentProject?.environments.map(({ slug, name }) => ( setEnvFilter((state) => (state === slug ? undefined : slug))} key={`request-filter-${slug}`} diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/components/ReviewAccessModal.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/components/ReviewAccessModal.tsx index e7269298a..b4336637d 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/components/ReviewAccessModal.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/components/ReviewAccessModal.tsx @@ -25,7 +25,7 @@ import { Tooltip } from "@app/components/v2"; import { Badge } from "@app/components/v2/Badge"; -import { ProjectPermissionActions, useUser, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, useUser, useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useListWorkspaceGroups, useReviewAccessRequest } from "@app/hooks/api"; import { @@ -102,8 +102,8 @@ export const ReviewAccessRequestModal = ({ const [bypassApproval, setBypassApproval] = useState(false); const [bypassReason, setBypassReason] = useState(""); - const { currentWorkspace } = useWorkspace(); - const { data: groupMemberships = [] } = useListWorkspaceGroups(currentWorkspace?.id || ""); + const { currentProject } = useProject(); + const { data: groupMemberships = [] } = useListWorkspaceGroups(currentProject?.id || ""); const { user } = useUser(); const { popUp, handlePopUpToggle, handlePopUpOpen } = usePopUp(["editRequest"] as const); diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/ApprovalPolicyList.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/ApprovalPolicyList.tsx index 3d292f9a2..58516dced 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/ApprovalPolicyList.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/ApprovalPolicyList.tsx @@ -42,7 +42,7 @@ import { TProjectPermission, useProjectPermission, useSubscription, - useWorkspace + useProject } from "@app/context"; import { ProjectPermissionActions } from "@app/context/ProjectPermissionContext/types"; import { @@ -59,7 +59,7 @@ import { import { useGetAccessApprovalPolicies } from "@app/hooks/api/accessApproval/queries"; import { OrderByDirection } from "@app/hooks/api/generic/types"; import { PolicyType } from "@app/hooks/api/policies/enums"; -import { TAccessApprovalPolicy, Workspace } from "@app/hooks/api/types"; +import { TAccessApprovalPolicy, Project } from "@app/hooks/api/types"; import { AccessPolicyForm } from "./components/AccessPolicyModal"; import { ApprovalPolicyRow } from "./components/ApprovalPolicyRow"; @@ -81,24 +81,24 @@ type PolicyFilters = { environmentIds: string[]; }; -const useApprovalPolicies = (permission: TProjectPermission, currentWorkspace?: Workspace) => { +const useApprovalPolicies = (permission: TProjectPermission, currentProject?: Project) => { const { data: accessPolicies, isPending: isAccessPoliciesLoading } = useGetAccessApprovalPolicies( { - projectSlug: currentWorkspace?.slug as string, + projectSlug: currentProject?.slug as string, options: { enabled: permission.can(ProjectPermissionActions.Read, ProjectPermissionSub.SecretApproval) && - !!currentWorkspace?.slug + !!currentProject?.slug } } ); const { data: secretPolicies, isPending: isSecretPoliciesLoading } = useGetSecretApprovalPolicies( { - workspaceId: currentWorkspace?.id as string, + projectId: currentProject?.id as string, options: { enabled: permission.can(ProjectPermissionActions.Read, ProjectPermissionSub.SecretApproval) && - !!currentWorkspace?.id + !!currentProject?.id } } ); @@ -126,14 +126,14 @@ export const ApprovalPolicyList = ({ workspaceId }: IProps) => { ] as const); const { permission } = useProjectPermission(); const { subscription } = useSubscription(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: members } = useGetWorkspaceUsers(workspaceId, true); - const { data: groups } = useListWorkspaceGroups(currentWorkspace?.id || ""); + const { data: groups } = useListWorkspaceGroups(currentProject?.id || ""); const { policies, isLoading: isPoliciesLoading } = useApprovalPolicies( permission, - currentWorkspace + currentProject ); const [filters, setFilters] = useState({ @@ -367,7 +367,7 @@ export const ApprovalPolicyList = ({ workspaceId }: IProps) => { Change Policy Environment - {currentWorkspace.environments.map((env) => ( + {currentProject.environments.map((env) => ( { e.preventDefault(); @@ -466,7 +466,7 @@ export const ApprovalPolicyList = ({ workspaceId }: IProps) => { )} - {!!currentWorkspace && + {!!currentProject && filteredPolicies ?.slice(offset, perPage * page) .map((policy) => ( @@ -497,8 +497,8 @@ export const ApprovalPolicyList = ({ workspaceId }: IProps) => {
    handlePopUpToggle("policyForm", isOpen)} members={members} diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/AccessPolicyModal.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/AccessPolicyModal.tsx index 856c16ee1..b78b8aa0c 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/AccessPolicyModal.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/AccessPolicyModal.tsx @@ -22,7 +22,7 @@ import { Tooltip } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { getMemberLabel } from "@app/helpers/members"; import { policyDetails } from "@app/helpers/policies"; import { @@ -207,10 +207,10 @@ const Form = ({ name: "sequenceApprovers" }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: groups } = useListWorkspaceGroups(projectId); - const availableEnvironments = currentWorkspace?.environments || []; + const availableEnvironments = currentProject?.environments || []; const isAccessPolicyType = watch("policyType") === PolicyType.AccessPolicy; const { mutateAsync: createAccessApprovalPolicy } = useCreateAccessApprovalPolicy(); @@ -246,7 +246,7 @@ const Form = ({ approvers: [...userApprovers, ...groupApprovers], bypassers: bypassers.length > 0 ? bypassers : undefined, environments: environments.map((env) => env.slug), - workspaceId: currentWorkspace?.id || "" + projectId: currentProject?.id || "" }); } else { await createAccessApprovalPolicy({ @@ -302,7 +302,7 @@ const Form = ({ ...data, approvers: [...userApprovers, ...groupApprovers], bypassers: bypassers.length > 0 ? bypassers : undefined, - workspaceId: currentWorkspace?.id || "", + projectId: currentProject?.id || "", environments: environments.map((env) => env.slug) }); } else { diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/ApprovalPolicyRow.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/ApprovalPolicyRow.tsx index 89a97003e..13147b37b 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/ApprovalPolicyRow.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/ApprovalPolicyRow.tsx @@ -33,13 +33,13 @@ import { Approver } from "@app/hooks/api/accessApproval/types"; import { TGroupMembership } from "@app/hooks/api/groups/types"; import { EnforcementLevel, PolicyType } from "@app/hooks/api/policies/enums"; import { ApproverType } from "@app/hooks/api/secretApproval/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { TWorkspaceUser } from "@app/hooks/api/users/types"; interface IPolicy { id: string; name: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; projectId?: string; secretPath?: string; approvals: number; diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/RemoveApprovalPolicyModal.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/RemoveApprovalPolicyModal.tsx index d267ffc78..c9f92f6ed 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/RemoveApprovalPolicyModal.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/RemoveApprovalPolicyModal.tsx @@ -4,7 +4,7 @@ import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; import { DeleteActionModal, Spinner } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useDeleteAccessApprovalPolicy, useDeleteSecretApprovalPolicy, @@ -29,18 +29,18 @@ export const RemoveApprovalPolicyModal = ({ const { mutateAsync: deleteSecretApprovalPolicy } = useDeleteSecretApprovalPolicy(); const { mutateAsync: deleteAccessApprovalPolicy } = useDeleteAccessApprovalPolicy(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const handleDeletePolicy = async () => { try { if (policyType === PolicyType.ChangePolicy) { await deleteSecretApprovalPolicy({ - workspaceId: currentWorkspace.id, + projectId: currentProject.id, id: policyId }); } else { await deleteAccessApprovalPolicy({ - projectSlug: currentWorkspace.slug, + projectSlug: currentProject.slug, id: policyId }); } @@ -59,14 +59,14 @@ export const RemoveApprovalPolicyModal = ({ const deleteSecretApprovalData = useGetSecretApprovalRequestCount({ policyId, - workspaceId: currentWorkspace.id, + projectId: currentProject.id, options: { enabled: Boolean(policyId) && policyType === PolicyType.ChangePolicy } }); const deleteAccessApprovalData = useGetAccessRequestsCount({ - projectSlug: currentWorkspace.slug, + projectSlug: currentProject.slug, policyId, options: { enabled: Boolean(policyId) && policyType === PolicyType.AccessPolicy diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/SecretApprovalRequest.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/SecretApprovalRequest.tsx index 46b611328..8543bac19 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/SecretApprovalRequest.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/SecretApprovalRequest.tsx @@ -37,7 +37,7 @@ import { ProjectPermissionSub, useProjectPermission, useUser, - useWorkspace + useProject } from "@app/context"; import { getUserTablePreference, @@ -58,8 +58,7 @@ import { } from "./components/SecretApprovalRequestChanges"; export const SecretApprovalRequest = () => { - const { currentWorkspace } = useWorkspace(); - const workspaceId = currentWorkspace?.id || ""; + const { currentProject, projectId } = useProject(); const [selectedApprovalId, setSelectedApprovalId] = useState(null); // filters @@ -92,7 +91,7 @@ export const SecretApprovalRequest = () => { isPending: isApprovalRequestLoading, refetch } = useGetSecretApprovalRequests({ - workspaceId, + projectId, status: statusFilter, environment: envFilter, committer: committerFilter, @@ -105,14 +104,14 @@ export const SecretApprovalRequest = () => { const secretApprovalRequests = data?.approvals ?? []; const { data: secretApprovalRequestCount, isSuccess: isSecretApprovalReqCountSuccess } = - useGetSecretApprovalRequestCount({ workspaceId }); + useGetSecretApprovalRequestCount({ projectId }); const { user: userSession } = useUser(); const search = useSearch({ from: ROUTE_PATHS.SecretManager.ApprovalPage.id }); const { permission } = useProjectPermission(); - const { data: members } = useGetWorkspaceUsers(workspaceId); + const { data: members } = useGetWorkspaceUsers(projectId); const isSecretApprovalScreen = Boolean(selectedApprovalId); const { requestId } = search; @@ -143,7 +142,6 @@ export const SecretApprovalRequest = () => { exit={{ opacity: 0, translateX: 30 }} > @@ -241,7 +239,7 @@ export const SecretApprovalRequest = () => { Select an Environment - {currentWorkspace?.environments.map(({ slug, name }) => ( + {currentProject?.environments.map(({ slug, name }) => ( setEnvFilter((state) => (state === slug ? undefined : slug))} key={`request-filter-${slug}`} diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestAction.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestAction.tsx index ee45a442b..c7bc713a8 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestAction.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestAction.tsx @@ -18,6 +18,7 @@ import { useUpdateSecretApprovalRequestStatus } from "@app/hooks/api"; import { EnforcementLevel } from "@app/hooks/api/policies/enums"; +import { useProject } from "@app/context"; type Props = { approvalRequestId: string; @@ -28,7 +29,6 @@ type Props = { canApprove?: boolean; isBypasser: boolean; statusChangeByEmail?: string; - workspaceId: string; enforcementLevel: EnforcementLevel; }; @@ -39,11 +39,11 @@ export const SecretApprovalRequestAction = ({ isMergable, approvals, statusChangeByEmail, - workspaceId, enforcementLevel, canApprove, isBypasser }: Props) => { + const { projectId } = useProject(); const { mutateAsync: performSecretApprovalMerge, isPending: isMerging } = usePerformSecretApprovalRequestMerge(); @@ -62,7 +62,7 @@ export const SecretApprovalRequestAction = ({ try { await performSecretApprovalMerge({ id: approvalRequestId, - workspaceId, + projectId, bypassReason: byPassApproval ? bypassReason : undefined }); createNotification({ @@ -83,7 +83,7 @@ export const SecretApprovalRequestAction = ({ await updateSecretStatusChange({ id: approvalRequestId, status: reqState, - workspaceId + projectId }); createNotification({ type: "success", diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestChanges.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestChanges.tsx index 636952c33..583c142be 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestChanges.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestChanges.tsx @@ -33,7 +33,7 @@ import { TextArea, Tooltip } from "@app/components/v2"; -import { useUser, useWorkspace } from "@app/context"; +import { useUser, useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useGetSecretApprovalRequestDetails, @@ -92,7 +92,6 @@ const getReviewedStatusSymbol = (status?: ApprovalStatus) => { }; type Props = { - workspaceId: string; approvalRequestId: string; onGoBack: () => void; }; @@ -104,13 +103,9 @@ const reviewFormSchema = z.object({ type TReviewFormSchema = z.infer; -export const SecretApprovalRequestChanges = ({ - approvalRequestId, - onGoBack, - workspaceId -}: Props) => { +export const SecretApprovalRequestChanges = ({ approvalRequestId, onGoBack }: Props) => { const { user: userSession } = useUser(); - const { currentWorkspace } = useWorkspace(); + const { projectId } = useProject(); const { data: secretApprovalRequestDetails, isSuccess: isSecretApprovalRequestSuccess, @@ -123,7 +118,7 @@ export const SecretApprovalRequestChanges = ({ ); const { data: secretImports } = useGetSecretImports({ environment: secretApprovalRequestDetails?.environment || "", - projectId: currentWorkspace.id, + projectId, path: approvalSecretPath }); @@ -526,7 +521,6 @@ export const SecretApprovalRequestChanges = ({ isMergable={isMergable} statusChangeByEmail={secretApprovalRequestDetails.statusChangedByUser?.email} enforcementLevel={secretApprovalRequestDetails.policy.enforcementLevel} - workspaceId={workspaceId} />
    diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/SecretDashboardPage.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/SecretDashboardPage.tsx index a6ae7be62..c7de2b4f2 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/SecretDashboardPage.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/SecretDashboardPage.tsx @@ -26,7 +26,7 @@ import { ProjectPermissionDynamicSecretActions, ProjectPermissionSub, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { ProjectPermissionCommitsActions, @@ -53,7 +53,7 @@ import { OrderByDirection } from "@app/hooks/api/generic/types"; import { PendingAction } from "@app/hooks/api/secretFolders/types"; import { useCreateCommit } from "@app/hooks/api/secrets/mutations"; import { SecretV3RawSanitized } from "@app/hooks/api/types"; -import { ProjectVersion } from "@app/hooks/api/workspace/types"; +import { ProjectVersion } from "@app/hooks/api/projects/types"; import { usePathAccessPolicies } from "@app/hooks/usePathAccessPolicies"; import { useResizableColWidth } from "@app/hooks/useResizableColWidth"; import { hasSecretReadValueOrDescribePermission } from "@app/lib/fn/permission"; @@ -94,7 +94,7 @@ const LOADER_TEXT = [ ]; const Page = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const navigate = useNavigate({ from: ROUTE_PATHS.SecretManager.SecretDashboardPage.path }); @@ -142,15 +142,15 @@ const Page = () => { ] as const); // env slug - const workspaceId = currentWorkspace?.id || ""; - const projectSlug = currentWorkspace?.slug || ""; + const projectId = currentProject?.id || ""; + const projectSlug = currentProject?.slug || ""; const secretPath = (routerQueryParams.secretPath as string) || "/"; useEffect(() => { - if (isBatchMode && workspaceId && environment && secretPath) { - loadPendingChanges({ workspaceId, environment, secretPath }); + if (isBatchMode && projectId && environment && secretPath) { + loadPendingChanges({ projectId: projectId, environment, secretPath }); } - }, [isBatchMode, workspaceId, environment, secretPath, loadPendingChanges]); + }, [isBatchMode, projectId, environment, secretPath, loadPendingChanges]); const canReadSecret = hasSecretReadValueOrDescribePermission( permission, @@ -240,7 +240,7 @@ const Page = () => { const { togglePopUp } = usePopUpAction(); useEffect(() => { - if (!currentWorkspace?.environments.find((env) => env.slug === environment)) { + if (!currentProject?.environments.find((env) => env.slug === environment)) { createNotification({ text: "No environment found with given slug", type: "error" @@ -248,11 +248,11 @@ const Page = () => { navigate({ to: "/projects/secret-management/$projectId/overview", params: { - projectId: workspaceId + projectId: projectId } }); } - }, [currentWorkspace, environment]); + }, [currentProject, environment]); const isResourceTypeFiltered = Object.values(filter.include).some(Boolean); const { @@ -262,7 +262,7 @@ const Page = () => { isFetched } = useGetProjectSecretsDetails({ environment, - projectId: workspaceId, + projectId: projectId, secretPath, offset, limit, @@ -316,7 +316,7 @@ const Page = () => { // fetch imported secrets to show user the overriden ones const { data: importedSecrets } = useGetImportedSecretsSingleEnv({ - projectId: workspaceId, + projectId: projectId, environment, path: secretPath, options: { @@ -326,13 +326,13 @@ const Page = () => { // fetch tags const { data: tags } = useGetWsTags( - permission.can(ProjectPermissionActions.Read, ProjectPermissionSub.Tags) ? workspaceId : "" + permission.can(ProjectPermissionActions.Read, ProjectPermissionSub.Tags) ? projectId : "" ); const { pathPolicies, hasPathPolicies } = usePathAccessPolicies({ secretPath, environment }); const { data: boardPolicy } = useGetSecretApprovalPolicyOfABoard({ - workspaceId, + projectId, environment, secretPath }); @@ -341,7 +341,7 @@ const Page = () => { const handleCreateCommit = async (changes: PendingChanges, message: string) => { try { await createCommit({ - workspaceId, + projectId, environment, secretPath, pendingChanges: changes, @@ -368,7 +368,7 @@ const Page = () => { fetchNextPage: fetchNextSnapshotList, hasNextPage: hasNextSnapshotListPage } = useGetWorkspaceSnapshotList({ - workspaceId, + projectId, directory: secretPath, environment, isPaused: !popUp.snapshots.isOpen || !canDoReadRollback, @@ -381,7 +381,7 @@ const Page = () => { isFetching: isFolderCommitsCountFetching } = useGetFolderCommitsCount({ directory: secretPath, - workspaceId, + projectId, environment, isPaused: !canReadCommits }); @@ -391,13 +391,13 @@ const Page = () => { isPending: isSnapshotCountLoading, isFetching: isSnapshotCountFetching } = useGetWsSnapshotCount({ - workspaceId, + projectId, environment, directory: secretPath, isPaused: !canDoReadRollback }); - const isPITEnabled = !currentWorkspace?.showSnapshotsLegacy; + const isPITEnabled = !currentProject?.showSnapshotsLegacy; const changesCount = useMemo(() => { return isPITEnabled ? folderCommitsCount : snapshotCount; @@ -416,7 +416,7 @@ const Page = () => { navigate({ to: "/projects/secret-management/$projectId/commits/$environment/$folderId", params: { - projectId: workspaceId, + projectId: projectId, folderId, environment }, @@ -647,7 +647,7 @@ const Page = () => { ? change.tags?.map((tag) => ({ id: tag.id, slug: tag.slug, - projectId: workspaceId, + projectId: projectId, createdAt: new Date().toISOString(), updatedAt: new Date().toISOString(), __v: 0 @@ -734,7 +734,7 @@ const Page = () => { const mergedSecrets = getMergedSecretsWithPending(); const mergedFolders = getMergedFoldersWithPending(); - if (!(currentWorkspace?.version === ProjectVersion.V3)) + if (!(currentProject?.version === ProjectVersion.V3)) return (
    @@ -794,8 +794,6 @@ const Page = () => { <> { secretImports={imports} isFetching={isDetailsFetching} environment={environment} - workspaceId={workspaceId} + workspaceId={projectId} secretPath={secretPath} importedSecrets={importedSecrets} /> @@ -966,7 +964,7 @@ const Page = () => { { tags={tags} isVisible={isVisible} environment={environment} - workspaceId={workspaceId} + projectId={projectId} secretPath={secretPath} isProtectedBranch={isProtectedBranch} importedBy={importedBy} @@ -1001,7 +999,7 @@ const Page = () => { @@ -1052,9 +1050,9 @@ const Page = () => { > @@ -1073,10 +1071,10 @@ const Page = () => { )} { { - return `${workspaceId}_${environment}_${secretPath}`; +const generateContextKey = (projectId: string, environment: string, secretPath: string) => { + return `${projectId}_${environment}_${secretPath}`; }; const createBatchModeStore: StateCreator = (set, get) => ({ @@ -272,7 +272,7 @@ const createBatchModeStore: StateCreator addPendingChange: (change: PendingChange, context: BatchContext) => set((state) => { const contextKey = generateContextKey( - context.workspaceId, + context.projectId, context.environment, context.secretPath ); @@ -551,7 +551,7 @@ const createBatchModeStore: StateCreator const currentChanges = contextKey === generateContextKey( - state.currentContext?.workspaceId || context.workspaceId, + state.currentContext?.projectId || context.projectId, state.currentContext?.environment || context.environment, state.currentContext?.secretPath || context.secretPath ) @@ -568,7 +568,7 @@ const createBatchModeStore: StateCreator removePendingChange: (changeId: string, resourceType: string, context: BatchContext) => set((state) => { const contextKey = generateContextKey( - context.workspaceId, + context.projectId, context.environment, context.secretPath ); @@ -593,7 +593,7 @@ const createBatchModeStore: StateCreator state.currentContext && contextKey === generateContextKey( - state.currentContext.workspaceId, + state.currentContext.projectId, state.currentContext.environment, state.currentContext.secretPath ); @@ -606,7 +606,7 @@ const createBatchModeStore: StateCreator loadPendingChanges: (context) => { const contextKey = generateContextKey( - context.workspaceId, + context.projectId, context.environment, context.secretPath ); @@ -626,7 +626,7 @@ const createBatchModeStore: StateCreator clearAllPendingChanges: (context) => { const contextKey = generateContextKey( - context.workspaceId, + context.projectId, context.environment, context.secretPath ); @@ -641,7 +641,7 @@ const createBatchModeStore: StateCreator state.currentContext && contextKey === generateContextKey( - state.currentContext.workspaceId, + state.currentContext.projectId, state.currentContext.environment, state.currentContext.secretPath ); diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx index 9252d71a1..9969d0632 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx @@ -57,7 +57,7 @@ import { ProjectPermissionSub, useProjectPermission, useSubscription, - useWorkspace + useProject } from "@app/context"; import { ProjectPermissionCommitsActions, @@ -109,9 +109,6 @@ type TSecOverwriteOpt = { update: TParsedEnv; create: TParsedEnv }; type Props = { // switch the secrets type as it gets decrypted after api call environment: string; - // @depreciated will be moving all these details to zustand - workspaceId: string; - projectSlug: string; secretPath?: string; filter: Filter; tags?: WsTag[]; @@ -142,8 +139,6 @@ type Props = { export const ActionBar = ({ environment, - workspaceId, - projectSlug, secretPath = "/", filter, tags = [], @@ -164,6 +159,7 @@ export const ActionBar = ({ hasPathPolicies, onClearFilters }: Props) => { + const { projectId, currentProject } = useProject(); const { handlePopUpOpen, handlePopUpToggle, handlePopUpClose, popUp } = usePopUp([ "addFolder", "addDynamicSecret", @@ -196,7 +192,6 @@ export const ActionBar = ({ const { reset: resetSelectedSecret } = useSelectedSecretActions(); const isMultiSelectActive = Boolean(Object.keys(selectedSecrets).length); - const { currentWorkspace } = useWorkspace(); const { permission } = useProjectPermission(); const handleFolderCreate = async (folderName: string, description: string | null) => { @@ -214,7 +209,7 @@ export const ActionBar = ({ }; addPendingChange(pendingFolderCreate, { - workspaceId, + projectId, environment, secretPath }); @@ -227,7 +222,7 @@ export const ActionBar = ({ name: folderName, path: secretPath, environment, - projectId: workspaceId, + projectId, description }); handlePopUpClose("addFolder"); @@ -247,7 +242,7 @@ export const ActionBar = ({ const handleSecretDownload = async () => { try { const { secrets: localSecrets, imports: localImportedSecrets } = await fetchProjectSecrets({ - workspaceId, + projectId, expandSecretReferences: true, includeImports: true, environment, @@ -317,7 +312,7 @@ export const ActionBar = ({ try { await deleteBatchSecretV3({ secretPath, - workspaceId, + projectId, environment, secrets: bulkDeletedSecrets.map(({ key }) => ({ secretKey: key, type: SecretType.Shared })) }); @@ -348,13 +343,12 @@ export const ActionBar = ({ try { const secretsToMove = Object.values(selectedSecrets); const { isDestinationUpdated, isSourceUpdated } = await moveSecrets({ - projectSlug, shouldOverwrite, sourceEnvironment: environment, sourceSecretPath: secretPath, destinationEnvironment, destinationSecretPath, - projectId: workspaceId, + projectId, secretIds: secretsToMove.map((sec) => sec.id) }); @@ -448,7 +442,7 @@ export const ActionBar = ({ const { secrets: batchSecrets } = await fetchDashboardProjectSecretsByKeys({ secretPath: normalizedPath, environment, - projectId: workspaceId, + projectId, keys: batch }); @@ -566,7 +560,7 @@ export const ActionBar = ({ name: folderName, path: parentPath, environment, - projectId: workspaceId + projectId }); createdFolders.add(fullPath); @@ -598,7 +592,7 @@ export const ActionBar = ({ Object.entries(groupedCreateSecrets).map(([path, secrets]) => createSecretBatch({ secretPath: path, - workspaceId, + projectId, environment, secrets }) @@ -628,7 +622,7 @@ export const ActionBar = ({ Object.entries(groupedUpdateSecrets).map(([path, secrets]) => updateSecretBatch({ secretPath: path, - workspaceId, + projectId, environment, secrets }) @@ -638,13 +632,12 @@ export const ActionBar = ({ // Invalidate appropriate queries to refresh UI queryClient.invalidateQueries({ - queryKey: secretKeys.getProjectSecret({ workspaceId, environment, secretPath }) + queryKey: secretKeys.getProjectSecret({ projectId, environment, secretPath }) }); + queryClient.invalidateQueries({}); + queryKey: dashboardKeys.getDashboardSecrets({ projectId, secretPath }); queryClient.invalidateQueries({ - queryKey: dashboardKeys.getDashboardSecrets({ projectId: workspaceId, secretPath }) - }); - queryClient.invalidateQueries({ - queryKey: secretApprovalRequestKeys.count({ workspaceId }) + queryKey: secretApprovalRequestKeys.count({ projectId }) }); // Close the modal and show notification @@ -677,8 +670,8 @@ export const ActionBar = ({ className="w-2/5" value={filter.searchFilter} onChange={onSearchChange} - environments={[currentWorkspace.environments.find((env) => env.slug === environment)!]} - projectId={workspaceId} + environments={[currentProject.environments.find((env) => env.slug === environment)!]} + projectId={projectId} tags={tags} />
    @@ -1134,8 +1127,8 @@ export const ActionBar = ({ {/* all the side triggers from actions like modals etc */} handlePopUpOpen("upgradePlan")} isOpen={popUp.addSecretImport.isOpen} onClose={() => handlePopUpClose("addSecretImport")} @@ -1144,7 +1137,7 @@ export const ActionBar = ({ handlePopUpToggle("addDynamicSecret", isOpen)} - projectSlug={projectSlug} + projectSlug={currentProject.slug} environments={[{ slug: environment, name: environment, id: "not-used" }]} secretPath={secretPath} isSingleEnvironmentMode @@ -1190,8 +1183,8 @@ export const ActionBar = ({ onToggle={(isOpen) => handlePopUpToggle("replicateFolder", isOpen)} onParsedEnv={handleParsedEnvMultiFolder} environment={environment} - environments={currentWorkspace.environments} - workspaceId={workspaceId} + environments={currentProject.environments} + projectId={projectId} secretPath={secretPath} /> {subscription && ( diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/AwsElastiCacheInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/AwsElastiCacheInputForm.tsx index 84cf7f7b5..e458f347c 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/AwsElastiCacheInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/AwsElastiCacheInputForm.tsx @@ -19,7 +19,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; const formSchema = z.object({ provider: z.object({ @@ -63,7 +63,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/AwsIamInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/AwsIamInputForm.tsx index f9ed9967c..a50352f58 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/AwsIamInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/AwsIamInputForm.tsx @@ -20,7 +20,7 @@ import { DynamicSecretAwsIamAuth, DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { MetadataForm } from "../../DynamicSecretListView/MetadataForm"; @@ -112,7 +112,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/AzureEntraIdInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/AzureEntraIdInputForm.tsx index 771523828..6c4ccd65b 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/AzureEntraIdInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/AzureEntraIdInputForm.tsx @@ -18,7 +18,7 @@ import { Tooltip } from "@app/components/v2/Tooltip"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { useGetDynamicSecretProviderData } from "@app/hooks/api/dynamicSecret/queries"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; const formSchema = z.object({ selectedUsers: z.array( @@ -66,7 +66,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/CassandraInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/CassandraInputForm.tsx index 8f99d368c..0ef4d092d 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/CassandraInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/CassandraInputForm.tsx @@ -19,7 +19,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; const formSchema = z.object({ @@ -66,7 +66,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/CouchbaseInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/CouchbaseInputForm.tsx index fd2eecaa6..1b42dc7e0 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/CouchbaseInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/CouchbaseInputForm.tsx @@ -24,7 +24,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; // Component for managing scopes and collections within a bucket @@ -265,7 +265,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/CreateDynamicSecretForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/CreateDynamicSecretForm.tsx index abe14d82d..dd169727d 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/CreateDynamicSecretForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/CreateDynamicSecretForm.tsx @@ -24,7 +24,7 @@ import { AnimatePresence, motion } from "framer-motion"; import { Modal, ModalContent } from "@app/components/v2"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { AwsElastiCacheInputForm } from "./AwsElastiCacheInputForm"; import { AwsIamInputForm } from "./AwsIamInputForm"; @@ -51,7 +51,7 @@ type Props = { isOpen?: boolean; onToggle: (isOpen: boolean) => void; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; secretPath: string; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/ElasticSearchInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/ElasticSearchInputForm.tsx index 51dcea68b..390909e81 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/ElasticSearchInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/ElasticSearchInputForm.tsx @@ -20,7 +20,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; const authMethods = [ @@ -87,7 +87,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/GcpIamInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/GcpIamInputForm.tsx index f47273aa1..e7518830d 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/GcpIamInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/GcpIamInputForm.tsx @@ -8,7 +8,7 @@ import { createNotification } from "@app/components/notifications"; import { Button, FilterableSelect, FormControl, Input } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; const validateTTL = (val: string, ctx: z.RefinementCtx) => { if (!val) return; @@ -49,7 +49,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/GithubInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/GithubInputForm.tsx index 800bc677a..acac4e0aa 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/GithubInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/GithubInputForm.tsx @@ -16,7 +16,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; const formSchema = z.object({ provider: z.object({ @@ -44,7 +44,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/KubernetesInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/KubernetesInputForm.tsx index 2b0838246..945e46777 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/KubernetesInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/KubernetesInputForm.tsx @@ -28,7 +28,7 @@ import { DynamicSecretProviders, KubernetesDynamicSecretCredentialType } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; enum RoleType { @@ -150,7 +150,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/LdapInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/LdapInputForm.tsx index f2f5c9233..62f8cdd96 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/LdapInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/LdapInputForm.tsx @@ -16,7 +16,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; enum CredentialType { @@ -89,7 +89,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/MongoAtlasInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/MongoAtlasInputForm.tsx index 821730b08..05109e5a3 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/MongoAtlasInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/MongoAtlasInputForm.tsx @@ -23,7 +23,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; const formSchema = z.object({ @@ -77,7 +77,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/MongoDBInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/MongoDBInputForm.tsx index 5a89f4649..646755a8f 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/MongoDBInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/MongoDBInputForm.tsx @@ -18,7 +18,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; const formSchema = z.object({ @@ -67,7 +67,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/RabbitMqInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/RabbitMqInputForm.tsx index f80c374d8..1c2db7d2a 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/RabbitMqInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/RabbitMqInputForm.tsx @@ -18,7 +18,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; const formSchema = z.object({ @@ -71,7 +71,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/RedisInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/RedisInputForm.tsx index 4d0c51194..06bf4e41a 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/RedisInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/RedisInputForm.tsx @@ -19,7 +19,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; const formSchema = z.object({ @@ -64,7 +64,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SapAseInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SapAseInputForm.tsx index 413bbe0b6..507e67820 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SapAseInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SapAseInputForm.tsx @@ -18,7 +18,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; const formSchema = z.object({ @@ -62,7 +62,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SapHanaInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SapHanaInputForm.tsx index deea1ada1..38ddbc7f0 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SapHanaInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SapHanaInputForm.tsx @@ -19,7 +19,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; const formSchema = z.object({ @@ -64,7 +64,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SnowflakeInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SnowflakeInputForm.tsx index 3120d7cef..30f01c13f 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SnowflakeInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SnowflakeInputForm.tsx @@ -18,7 +18,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; const formSchema = z.object({ @@ -62,7 +62,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SqlDatabaseInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SqlDatabaseInputForm.tsx index 050a51754..b0c18fbd3 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SqlDatabaseInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/SqlDatabaseInputForm.tsx @@ -29,7 +29,7 @@ import { } from "@app/context/OrgPermissionContext/types"; import { gatewaysQueryKeys, useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders, SqlProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; import { MetadataForm } from "../../DynamicSecretListView/MetadataForm"; @@ -110,7 +110,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/TotpInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/TotpInputForm.tsx index 1ec9f8a0c..63680f524 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/TotpInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/TotpInputForm.tsx @@ -13,7 +13,7 @@ import { } from "@app/components/v2"; import { useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; import { slugSchema } from "@app/lib/schemas"; enum ConfigType { @@ -66,7 +66,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/VerticaInputForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/VerticaInputForm.tsx index d5443b1ed..ca417adb6 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/VerticaInputForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateDynamicSecretForm/VerticaInputForm.tsx @@ -27,7 +27,7 @@ import { } from "@app/context/OrgPermissionContext/types"; import { gatewaysQueryKeys, useCreateDynamicSecret } from "@app/hooks/api"; import { DynamicSecretProviders } from "@app/hooks/api/dynamicSecret/types"; -import { WorkspaceEnv } from "@app/hooks/api/types"; +import { ProjectEnv } from "@app/hooks/api/types"; const passwordRequirementsSchema = z .object({ @@ -91,7 +91,7 @@ type Props = { onCancel: () => void; secretPath: string; projectSlug: string; - environments: WorkspaceEnv[]; + environments: ProjectEnv[]; isSingleEnvironmentMode?: boolean; }; diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateSecretImportForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateSecretImportForm.tsx index 9bdace648..e7911aa90 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateSecretImportForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateSecretImportForm.tsx @@ -14,7 +14,7 @@ import { SelectItem } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; -import { useSubscription, useWorkspace } from "@app/context"; +import { useSubscription, useProject } from "@app/context"; import { useCreateSecretImport } from "@app/hooks/api"; const typeSchema = z.object({ @@ -32,7 +32,7 @@ type TFormSchema = z.infer; type Props = { environment: string; - workspaceId: string; + projectId: string; secretPath?: string; // modal props isOpen?: boolean; @@ -43,7 +43,7 @@ type Props = { export const CreateSecretImportForm = ({ environment, - workspaceId, + projectId: workspaceId, secretPath = "/", isOpen, onClose, @@ -57,8 +57,8 @@ export const CreateSecretImportForm = ({ watch, formState: { isSubmitting } } = useForm({ resolver: zodResolver(typeSchema) }); - const { currentWorkspace } = useWorkspace(); - const environments = currentWorkspace?.environments || []; + const { currentProject } = useProject(); + const environments = currentProject?.environments || []; const selectedEnvironment = watch("environment"); const { subscription } = useSubscription(); diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/MoveSecretsModal.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/MoveSecretsModal.tsx index 606f23fac..05f00315d 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/MoveSecretsModal.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/MoveSecretsModal.tsx @@ -12,7 +12,7 @@ import { SelectItem } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { UsePopUpState } from "@app/hooks/usePopUp"; type Props = { @@ -47,8 +47,8 @@ export const MoveSecretsModal = ({ popUp, handlePopUpToggle, onMoveApproved }: P formState: { isSubmitting } } = useForm({ resolver: zodResolver(formSchema) }); - const { currentWorkspace } = useWorkspace(); - const environments = currentWorkspace?.environments || []; + const { currentProject } = useProject(); + const environments = currentProject?.environments || []; const selectedEnvironment = watch("environment"); const handleFormSubmit = (data: TFormSchema) => { diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ReplicateFolderFromBoard/ReplicateFolderFromBoard.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ReplicateFolderFromBoard/ReplicateFolderFromBoard.tsx index 339612a89..814373eb5 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ReplicateFolderFromBoard/ReplicateFolderFromBoard.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ReplicateFolderFromBoard/ReplicateFolderFromBoard.tsx @@ -48,7 +48,7 @@ type Props = { env: Record> ) => void; environments?: { name: string; slug: string }[]; - workspaceId: string; + projectId: string; environment: string; secretPath: string; }; @@ -64,7 +64,7 @@ type SecretStructure = { export const ReplicateFolderFromBoard = ({ environments = [], - workspaceId, + projectId: workspaceId, isOpen, onToggle, onParsedEnv diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/CommitForm/CommitForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/CommitForm/CommitForm.tsx index c3f5e74ee..1670a4b7f 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/CommitForm/CommitForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/CommitForm/CommitForm.tsx @@ -245,7 +245,7 @@ const ResourceChange: React.FC = ({ const handleDeletePending = useCallback( (changeType: string, id: string) => { removePendingChange(id, changeType, { - workspaceId, + projectId: workspaceId, environment, secretPath }); @@ -291,7 +291,7 @@ export const CommitForm: React.FC = ({ } await onCommit(pendingChanges, commitMessage); clearAllPendingChanges({ - workspaceId, + projectId: workspaceId, environment, secretPath }); @@ -336,7 +336,7 @@ export const CommitForm: React.FC = ({
    ); diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/AddEnvironmentModal.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/AddEnvironmentModal.tsx index 0832dfe9d..611504a14 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/AddEnvironmentModal.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/AddEnvironmentModal.tsx @@ -4,15 +4,15 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Input, Modal, ModalClose, ModalContent } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateWsEnvironment } from "@app/hooks/api"; -import { WorkspaceEnv } from "@app/hooks/api/workspace/types"; +import { ProjectEnv } from "@app/hooks/api/projects/types"; import { slugSchema } from "@app/lib/schemas"; type Props = { isOpen: boolean; onOpenChange: (isOpen: boolean) => void; - onComplete?: (environment: WorkspaceEnv) => void; + onComplete?: (environment: ProjectEnv) => void; }; const schema = z.object({ @@ -25,11 +25,11 @@ const schema = z.object({ export type FormData = z.infer; type ContentProps = { - onComplete: (environment: WorkspaceEnv) => void; + onComplete: (environment: ProjectEnv) => void; }; const Content = ({ onComplete }: ContentProps) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync, isPending } = useCreateWsEnvironment(); const { control, handleSubmit } = useForm({ resolver: zodResolver(schema) @@ -37,10 +37,10 @@ const Content = ({ onComplete }: ContentProps) => { const onFormSubmit = async ({ environmentName, environmentSlug }: FormData) => { try { - if (!currentWorkspace?.id) return; + if (!currentProject?.id) return; const env = await mutateAsync({ - workspaceId: currentWorkspace.id, + projectId: currentProject.id, name: environmentName, slug: environmentSlug }); diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/EnvironmentSection.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/EnvironmentSection.tsx index 34acf0c7b..2ee03beef 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/EnvironmentSection.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/EnvironmentSection.tsx @@ -10,7 +10,7 @@ import { ProjectPermissionSub, useProjectPermission, useSubscription, - useWorkspace + useProject } from "@app/context"; import { useDeleteWsEnvironment } from "@app/hooks/api"; import { usePopUp } from "@app/hooks/usePopUp"; @@ -21,14 +21,14 @@ import { UpdateEnvironmentModal } from "./UpdateEnvironmentModal"; export const EnvironmentSection = () => { const { subscription } = useSubscription(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { permission } = useProjectPermission(); const deleteWsEnvironment = useDeleteWsEnvironment(); const isMoreEnvironmentsAllowed = - subscription?.environmentLimit && currentWorkspace?.environments - ? currentWorkspace.environments.length < subscription.environmentLimit + subscription?.environmentLimit && currentProject?.environments + ? currentProject.environments.length < subscription.environmentLimit : true; const { popUp, handlePopUpOpen, handlePopUpClose, handlePopUpToggle } = usePopUp([ @@ -40,10 +40,10 @@ export const EnvironmentSection = () => { const onEnvDeleteSubmit = async (id: string) => { try { - if (!currentWorkspace?.id) return; + if (!currentProject?.id) return; await deleteWsEnvironment.mutateAsync({ - workspaceId: currentWorkspace.id, + projectId: currentProject.id, id }); diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/EnvironmentTable.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/EnvironmentTable.tsx index 0626db281..c0314dee9 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/EnvironmentTable.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/EnvironmentTable.tsx @@ -19,7 +19,7 @@ import { ProjectPermissionActions, ProjectPermissionSub, useSubscription, - useWorkspace + useProject } from "@app/context"; import { useUpdateWsEnvironment } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -40,17 +40,17 @@ type Props = { }; export const EnvironmentTable = ({ handlePopUpOpen }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { subscription } = useSubscription(); const updateEnvironment = useUpdateWsEnvironment(); const handleReorderEnv = async (id: string, position: number) => { try { - if (!currentWorkspace?.id) return; + if (!currentProject?.id) return; await updateEnvironment.mutateAsync({ - workspaceId: currentWorkspace.id, + projectId: currentProject.id, id, position }); @@ -69,13 +69,13 @@ export const EnvironmentTable = ({ handlePopUpOpen }: Props) => { }; const isMoreEnvironmentsAllowed = - subscription?.environmentLimit && currentWorkspace?.environments - ? currentWorkspace.environments.length <= subscription.environmentLimit + subscription?.environmentLimit && currentProject?.environments + ? currentProject.environments.length <= subscription.environmentLimit : true; const environmentsOverPlanLimit = - subscription?.environmentLimit && currentWorkspace?.environments - ? Math.max(0, currentWorkspace.environments.length - subscription.environmentLimit) + subscription?.environmentLimit && currentProject?.environments + ? Math.max(0, currentProject.environments.length - subscription.environmentLimit) : 0; return ( @@ -89,7 +89,7 @@ export const EnvironmentTable = ({ handlePopUpOpen }: Props) => { - {currentWorkspace.environments.map(({ name, slug, id }, pos) => ( + {currentProject.environments.map(({ name, slug, id }, pos) => ( {name} {slug} @@ -102,15 +102,12 @@ export const EnvironmentTable = ({ handlePopUpOpen }: Props) => { - handleReorderEnv( - id, - Math.min(currentWorkspace.environments.length, pos + 2) - ) + handleReorderEnv(id, Math.min(currentProject.environments.length, pos + 2)) } colorSchema="primary" variant="plain" ariaLabel="update" - isDisabled={pos === currentWorkspace.environments.length - 1 || !isAllowed} + isDisabled={pos === currentProject.environments.length - 1 || !isAllowed} > @@ -183,7 +180,7 @@ export const EnvironmentTable = ({ handlePopUpOpen }: Props) => { ))} - {currentWorkspace.environments?.length === 0 && ( + {currentProject.environments?.length === 0 && ( diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/UpdateEnvironmentModal.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/UpdateEnvironmentModal.tsx index f40091303..e2d64ee72 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/UpdateEnvironmentModal.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/UpdateEnvironmentModal.tsx @@ -4,7 +4,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Input, Modal, ModalContent } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useUpdateWsEnvironment } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; import { slugSchema } from "@app/lib/schemas"; @@ -23,7 +23,7 @@ const schema = z.object({ export type FormData = z.infer; export const UpdateEnvironmentModal = ({ popUp, handlePopUpClose, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync, isPending } = useUpdateWsEnvironment(); const { control, handleSubmit, reset } = useForm({ resolver: zodResolver(schema), @@ -34,10 +34,10 @@ export const UpdateEnvironmentModal = ({ popUp, handlePopUpClose, handlePopUpTog const onFormSubmit = async ({ name, slug }: FormData) => { try { - if (!currentWorkspace?.id) return; + if (!currentProject?.id) return; await mutateAsync({ - workspaceId: currentWorkspace.id, + projectId: currentProject.id, name, slug, id: oldEnvId diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/PointInTimeVersionLimitSection/PointInTimeVersionLimitSection.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/PointInTimeVersionLimitSection/PointInTimeVersionLimitSection.tsx index 288500d26..bc56ebde9 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/PointInTimeVersionLimitSection/PointInTimeVersionLimitSection.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/PointInTimeVersionLimitSection/PointInTimeVersionLimitSection.tsx @@ -4,9 +4,9 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Input } from "@app/components/v2"; -import { useProjectPermission, useWorkspace } from "@app/context"; +import { useProjectPermission, useProject } from "@app/context"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; -import { useUpdateWorkspaceVersionLimit } from "@app/hooks/api/workspace/queries"; +import { useUpdateProject } from "@app/hooks/api"; const formSchema = z.object({ pitVersionLimit: z.coerce.number().min(1).max(100) @@ -15,9 +15,9 @@ const formSchema = z.object({ type TForm = z.infer; export const PointInTimeVersionLimitSection = () => { - const { mutateAsync: updatePitVersion } = useUpdateWorkspaceVersionLimit(); + const { mutateAsync: updateProject } = useUpdateProject(); - const { currentWorkspace } = useWorkspace(); + const { currentProject, projectId } = useProject(); const { membership } = useProjectPermission(); const { @@ -27,17 +27,17 @@ export const PointInTimeVersionLimitSection = () => { } = useForm({ resolver: zodResolver(formSchema), values: { - pitVersionLimit: currentWorkspace?.pitVersionLimit || 10 + pitVersionLimit: currentProject?.pitVersionLimit || 10 } }); - if (!currentWorkspace) return null; + if (!currentProject) return null; const handleVersionLimitSubmit = async ({ pitVersionLimit }: TForm) => { try { - await updatePitVersion({ + await updateProject({ pitVersionLimit, - projectSlug: currentWorkspace.slug + projectId }); createNotification({ diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/SecretDetectionIgnoreValuesSection/SecretDetectionIgnoreValuesSection.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/SecretDetectionIgnoreValuesSection/SecretDetectionIgnoreValuesSection.tsx index 5869aa127..f7856f8f8 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/SecretDetectionIgnoreValuesSection/SecretDetectionIgnoreValuesSection.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/SecretDetectionIgnoreValuesSection/SecretDetectionIgnoreValuesSection.tsx @@ -7,7 +7,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, IconButton, Input } from "@app/components/v2"; -import { useProjectPermission, useWorkspace } from "@app/context"; +import { useProjectPermission, useProject } from "@app/context"; import { useUpdateProject } from "@app/hooks/api"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; @@ -23,7 +23,7 @@ const formSchema = z.object({ type TForm = z.infer; export const SecretDetectionIgnoreValuesSection = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { membership } = useProjectPermission(); const { mutateAsync: updateProject } = useUpdateProject(); @@ -45,19 +45,19 @@ export const SecretDetectionIgnoreValuesSection = () => { }); useEffect(() => { - const existingIgnoreValues = currentWorkspace?.secretDetectionIgnoreValues || []; + const existingIgnoreValues = currentProject?.secretDetectionIgnoreValues || []; reset({ ignoreValues: existingIgnoreValues.length > 0 ? existingIgnoreValues.map((value) => ({ value })) : [{ value: "" }] // Show one empty field by default }); - }, [currentWorkspace?.secretDetectionIgnoreValues, reset]); + }, [currentProject?.secretDetectionIgnoreValues, reset]); const handleIgnoreValuesSubmit = async ({ ignoreValues }: TForm) => { try { await updateProject({ - projectID: currentWorkspace.id, + projectId: currentProject.id, secretDetectionIgnoreValues: ignoreValues.map((item) => item.value) }); @@ -75,7 +75,7 @@ export const SecretDetectionIgnoreValuesSection = () => { const isAdmin = membership.roles.includes(ProjectMembershipRole.Admin); - if (!currentWorkspace) return null; + if (!currentProject) return null; return (
    diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/SecretSharingSection/SecretSharingSection.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/SecretSharingSection/SecretSharingSection.tsx index 0dd145e41..83639d204 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/SecretSharingSection/SecretSharingSection.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/SecretSharingSection/SecretSharingSection.tsx @@ -3,11 +3,11 @@ import { useState } from "react"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; import { Checkbox } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; -import { useUpdateProject } from "@app/hooks/api/workspace/queries"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; +import { useUpdateProject } from "@app/hooks/api/projects/queries"; export const SecretSharingSection = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync: updateProject } = useUpdateProject(); const [isLoading, setIsLoading] = useState(false); @@ -16,13 +16,13 @@ export const SecretSharingSection = () => { setIsLoading(true); try { - if (!currentWorkspace?.id) { + if (!currentProject?.id) { setIsLoading(false); return; } await updateProject({ - projectID: currentWorkspace.id, + projectId: currentProject.id, secretSharing: state }); @@ -50,7 +50,7 @@ export const SecretSharingSection = () => { handleToggle(state as boolean)} > This feature enables your project members to securely share secrets. diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/SecretSnapshotsLegacySection/SecretSnapshotsLegacySection.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/SecretSnapshotsLegacySection/SecretSnapshotsLegacySection.tsx index 69c2bcbfd..90b866e96 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/SecretSnapshotsLegacySection/SecretSnapshotsLegacySection.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/SecretSnapshotsLegacySection/SecretSnapshotsLegacySection.tsx @@ -3,11 +3,11 @@ import { useState } from "react"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; import { Checkbox } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; -import { useUpdateProject } from "@app/hooks/api/workspace/queries"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; +import { useUpdateProject } from "@app/hooks/api/projects/queries"; export const SecretSnapshotsLegacySection = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync: updateProject } = useUpdateProject(); const [isLoading, setIsLoading] = useState(false); @@ -16,13 +16,13 @@ export const SecretSnapshotsLegacySection = () => { setIsLoading(true); try { - if (!currentWorkspace?.id) { + if (!currentProject?.id) { setIsLoading(false); return; } await updateProject({ - projectID: currentWorkspace.id, + projectId: currentProject.id, showSnapshotsLegacy: state }); @@ -50,7 +50,7 @@ export const SecretSnapshotsLegacySection = () => { handleToggle(state as boolean)} > This feature enables your project members to view secret snapshots in the legacy diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/SecretTagsSection/AddSecretTagModal.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/SecretTagsSection/AddSecretTagModal.tsx index 96c667050..1d4c8e492 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/SecretTagsSection/AddSecretTagModal.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/SecretTagsSection/AddSecretTagModal.tsx @@ -4,7 +4,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Input, Modal, ModalClose, ModalContent } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateWsTag } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; import { slugSchema } from "@app/lib/schemas"; @@ -27,7 +27,7 @@ type Props = { }; export const AddSecretTagModal = ({ popUp, handlePopUpClose, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const createWsTag = useCreateWsTag(); const { control, @@ -40,10 +40,10 @@ export const AddSecretTagModal = ({ popUp, handlePopUpClose, handlePopUpToggle } const onFormSubmit = async ({ slug }: FormData) => { try { - if (!currentWorkspace?.id) return; + if (!currentProject?.id) return; await createWsTag.mutateAsync({ - workspaceID: currentWorkspace?.id, + projectId: currentProject?.id, tagSlug: slug, tagColor: "" }); @@ -73,7 +73,7 @@ export const AddSecretTagModal = ({ popUp, handlePopUpClose, handlePopUpToggle } }} >
    diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/SecretTagsSection/SecretTagsSection.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/SecretTagsSection/SecretTagsSection.tsx index 26be8eb17..01b34c30f 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/SecretTagsSection/SecretTagsSection.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/SecretTagsSection/SecretTagsSection.tsx @@ -8,7 +8,7 @@ import { ProjectPermissionActions, ProjectPermissionSub, useProjectPermission, - useWorkspace + useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useDeleteWsTag } from "@app/hooks/api"; @@ -23,7 +23,7 @@ export const SecretTagsSection = (): JSX.Element => { "CreateSecretTag", "deleteTagConfirmation" ] as const); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { permission } = useProjectPermission(); const deleteWsTag = useDeleteWsTag(); @@ -31,7 +31,7 @@ export const SecretTagsSection = (): JSX.Element => { const onDeleteApproved = async () => { try { await deleteWsTag.mutateAsync({ - projectId: currentWorkspace?.id || "", + projectId: currentProject?.id || "", tagID: (popUp?.deleteTagConfirmation?.data as DeleteModalData)?.id }); diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/SecretTagsSection/SecretTagsTable.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/SecretTagsSection/SecretTagsTable.tsx index d0633eb12..15d8ef7cb 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/SecretTagsSection/SecretTagsTable.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/SecretTagsSection/SecretTagsTable.tsx @@ -24,7 +24,7 @@ import { THead, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { getUserTablePreference, PreferenceKey, @@ -53,8 +53,8 @@ enum TagsOrderBy { } export const SecretTagsTable = ({ handlePopUpOpen }: Props) => { - const { currentWorkspace } = useWorkspace(); - const { data: tags = [], isPending } = useGetWsTags(currentWorkspace?.id ?? ""); + const { currentProject } = useProject(); + const { data: tags = [], isPending } = useGetWsTags(currentProject?.id ?? ""); const { search, diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/WebhooksTab/WebhooksTab.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/WebhooksTab/WebhooksTab.tsx index ea2f39dc4..700ddd662 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/WebhooksTab/WebhooksTab.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/WebhooksTab/WebhooksTab.tsx @@ -18,7 +18,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { withProjectPermission } from "@app/hoc"; import { usePopUp } from "@app/hooks"; import { @@ -35,8 +35,8 @@ export const WebhooksTab = withProjectPermission( () => { const { t } = useTranslation(); - const { currentWorkspace } = useWorkspace(); - const workspaceId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const workspaceId = currentProject?.id || ""; const { popUp, handlePopUpOpen, handlePopUpToggle, handlePopUpClose } = usePopUp([ "addWebhook", "deleteWebhook" @@ -302,7 +302,7 @@ export const WebhooksTab = withProjectPermission(
    handlePopUpToggle("addWebhook", isOpen)} onCreateWebhook={handleWebhookCreate} diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/WorkflowIntegrationTab.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/WorkflowIntegrationTab.tsx index 5b5f92bbb..ce8a3a70c 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/WorkflowIntegrationTab.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/WorkflowIntegrationTab.tsx @@ -15,7 +15,7 @@ import { THead, Tr } from "@app/components/v2"; -import { OrgPermissionActions, OrgPermissionSubjects, useWorkspace } from "@app/context"; +import { OrgPermissionActions, OrgPermissionSubjects, useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useDeleteProjectWorkflowIntegration, @@ -47,16 +47,16 @@ export const WorkflowIntegrationTab = () => { "editIntegration" ] as const); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: slackConfig, isPending: isSlackConfigLoading } = useGetWorkspaceWorkflowIntegrationConfig({ - workspaceId: currentWorkspace?.id ?? "", + projectId: currentProject?.id ?? "", integration: WorkflowIntegrationPlatform.SLACK }); const { data: microsoftTeamsConfig, isPending: isMicrosoftTeamsConfigLoading } = useGetWorkspaceWorkflowIntegrationConfig({ - workspaceId: currentWorkspace?.id ?? "", + projectId: currentProject?.id ?? "", integration: WorkflowIntegrationPlatform.MICROSOFT_TEAMS }); @@ -66,12 +66,12 @@ export const WorkflowIntegrationTab = () => { integrationType: WorkflowIntegrationPlatform, integrationId: string ) => { - if (!currentWorkspace.id) { + if (!currentProject.id) { return; } await deleteIntegration({ - projectId: currentWorkspace?.id ?? "", + projectId: currentProject?.id ?? "", integration: integrationType, integrationId }); diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/AddWorkflowIntegrationModal.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/AddWorkflowIntegrationModal.tsx index 8601c1c02..28a3c83d3 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/AddWorkflowIntegrationModal.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/AddWorkflowIntegrationModal.tsx @@ -6,7 +6,7 @@ import { AnimatePresence, motion } from "framer-motion"; import { twMerge } from "tailwind-merge"; import { Modal, ModalContent } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useGetWorkspaceWorkflowIntegrationConfig } from "@app/hooks/api"; import { WorkflowIntegrationPlatform } from "@app/hooks/api/workflowIntegrations/types"; @@ -40,14 +40,14 @@ export const AddWorkflowIntegrationModal = ({ isOpen, onToggle }: Props) => { const [wizardStep, setWizardStep] = useState(WizardSteps.SelectPlatform); const [selectedPlatform, setSelectedPlatform] = useState(null); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: microsoftTeamsConfig } = useGetWorkspaceWorkflowIntegrationConfig({ - workspaceId: currentWorkspace?.id ?? "", + projectId: currentProject?.id ?? "", integration: WorkflowIntegrationPlatform.MICROSOFT_TEAMS }); const { data: slackConfig } = useGetWorkspaceWorkflowIntegrationConfig({ - workspaceId: currentWorkspace?.id ?? "", + projectId: currentProject?.id ?? "", integration: WorkflowIntegrationPlatform.SLACK }); diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/MicrosoftTeamsIntegrationForm.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/MicrosoftTeamsIntegrationForm.tsx index 2bf4bb7db..2bfe8cece 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/MicrosoftTeamsIntegrationForm.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/MicrosoftTeamsIntegrationForm.tsx @@ -19,7 +19,7 @@ import { SelectItem, Switch } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { ProjectPermissionActions, ProjectPermissionSub @@ -95,13 +95,13 @@ type Props = { }; export const MicrosoftTeamsIntegrationForm = ({ onClose }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: microsoftTeamsConfig } = useGetWorkspaceWorkflowIntegrationConfig({ - workspaceId: currentWorkspace?.id ?? "", + projectId: currentProject?.id ?? "", integration: WorkflowIntegrationPlatform.MICROSOFT_TEAMS }); const { data: microsoftTeamsIntegrations } = useGetMicrosoftTeamsIntegrations( - currentWorkspace?.orgId + currentProject?.orgId ); const { mutateAsync: updateProjectMicrosoftTeamsConfig } = @@ -131,12 +131,12 @@ export const MicrosoftTeamsIntegrationForm = ({ onClose }: Props) => { const handleIntegrationSave = async (data: TMicrosoftTeamsConfigForm) => { try { - if (!currentWorkspace) { + if (!currentProject) { return; } await updateProjectMicrosoftTeamsConfig({ - projectId: currentWorkspace.id, + projectId: currentProject.id, isAccessRequestNotificationEnabled: data.isAccessRequestNotificationEnabled, isSecretRequestNotificationEnabled: data.isSecretRequestNotificationEnabled, ...(data.isAccessRequestNotificationEnabled && { diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/SlackIntegrationForm.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/SlackIntegrationForm.tsx index 74c9ce55e..26cae7f61 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/SlackIntegrationForm.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/WorkflowIntegrationSection/components/SlackIntegrationForm.tsx @@ -19,7 +19,7 @@ import { SelectItem, Switch } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { ProjectPermissionActions, ProjectPermissionSub @@ -47,12 +47,12 @@ type Props = { }; export const SlackIntegrationForm = ({ onClose }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: slackConfig } = useGetWorkspaceWorkflowIntegrationConfig({ - workspaceId: currentWorkspace?.id ?? "", + projectId: currentProject?.id ?? "", integration: WorkflowIntegrationPlatform.SLACK }); - const { data: workflowIntegrations } = useGetWorkflowIntegrations(currentWorkspace?.orgId); + const { data: workflowIntegrations } = useGetWorkflowIntegrations(currentProject?.orgId); const { mutateAsync: updateProjectSlackConfig } = useUpdateProjectWorkflowIntegrationConfig(); const slackIntegrations = workflowIntegrations?.filter( @@ -77,13 +77,13 @@ export const SlackIntegrationForm = ({ onClose }: Props) => { const handleIntegrationSave = async (data: TSlackConfigForm) => { try { - if (!currentWorkspace) { + if (!currentProject) { return; } await updateProjectSlackConfig({ ...data, - projectId: currentWorkspace.id, + projectId: currentProject.id, integration: WorkflowIntegrationPlatform.SLACK, integrationId: data.slackIntegrationId, accessRequestChannels: data.accessRequestChannels.filter(Boolean).join(", "), diff --git a/frontend/src/pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/AwsParameterStoreAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/AwsParameterStoreAuthorizePage.tsx index e67e1e328..16493ad0f 100644 --- a/frontend/src/pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/AwsParameterStoreAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/AwsParameterStoreAuthorizePage/AwsParameterStoreAuthorizePage.tsx @@ -16,7 +16,7 @@ import { Select, SelectItem } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; enum AwsAuthType { @@ -40,7 +40,7 @@ type TForm = z.infer; export const AWSParameterStoreAuthorizeIntegrationPage = () => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync } = useSaveIntegrationAccessToken(); const { control, handleSubmit, formState, watch } = useForm({ @@ -55,7 +55,7 @@ export const AWSParameterStoreAuthorizeIntegrationPage = () => { const handleFormSubmit = async (data: TForm) => { try { const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "aws-parameter-store", ...(data.type === AwsAuthType.AssumeRole ? { @@ -70,7 +70,7 @@ export const AWSParameterStoreAuthorizeIntegrationPage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/aws-parameter-store/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/AwsParameterStoreConfigurePage/AwsParamterStoreConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/AwsParameterStoreConfigurePage/AwsParamterStoreConfigurePage.tsx index bbdd2d71b..5b5d97f6a 100644 --- a/frontend/src/pages/secret-manager/integrations/AwsParameterStoreConfigurePage/AwsParamterStoreConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/AwsParameterStoreConfigurePage/AwsParamterStoreConfigurePage.tsx @@ -26,7 +26,7 @@ import { Tabs } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthById } from "@app/hooks/api/integrationAuth"; import { useGetIntegrationAuthAwsKmsKeys } from "@app/hooks/api/integrationAuth/queries"; @@ -77,7 +77,7 @@ export const AWSParameterStoreConfigurePage = () => { from: ROUTE_PATHS.SecretManager.Integratons.AwsParameterStoreConfigurePage.id, select: (el) => el.integrationAuthId }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: integrationAuth, isPending: isintegrationAuthLoading } = useGetIntegrationAuthById( (integrationAuthId as string) ?? "" @@ -97,11 +97,11 @@ export const AWSParameterStoreConfigurePage = () => { const [kmsKeyId, setKmsKeyId] = useState(""); useEffect(() => { - if (currentWorkspace) { - setSelectedSourceEnvironment(currentWorkspace.environments[0].slug); + if (currentProject) { + setSelectedSourceEnvironment(currentProject.environments[0].slug); setSelectedAWSRegion(awsRegions[0].slug); } - }, [currentWorkspace]); + }, [currentProject]); const { data: integrationAuthAwsKmsKeys, isPending: isIntegrationAuthAwsKmsKeysLoading } = useGetIntegrationAuthAwsKmsKeys({ @@ -158,7 +158,7 @@ export const AWSParameterStoreConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -226,7 +226,7 @@ export const AWSParameterStoreConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { ; export const AWSSecretManagerAuthorizePage = () => { const navigate = useNavigate(); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { control, handleSubmit, formState, watch } = useForm({ resolver: zodResolver(formSchema), @@ -54,7 +54,7 @@ export const AWSSecretManagerAuthorizePage = () => { const handleFormSubmit = async (data: TForm) => { try { const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "aws-secret-manager", ...(data.type === AwsAuthType.AssumeRole ? { @@ -68,7 +68,7 @@ export const AWSSecretManagerAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/aws-secret-manager/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/AwsSecretManagerConfigurePage/AwsSecretManagerConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/AwsSecretManagerConfigurePage/AwsSecretManagerConfigurePage.tsx index bd73fc596..6c82b7edd 100644 --- a/frontend/src/pages/secret-manager/integrations/AwsSecretManagerConfigurePage/AwsSecretManagerConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/AwsSecretManagerConfigurePage/AwsSecretManagerConfigurePage.tsx @@ -30,7 +30,7 @@ import { } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthById } from "@app/hooks/api/integrationAuth"; import { useGetIntegrationAuthAwsKmsKeys } from "@app/hooks/api/integrationAuth/queries"; @@ -150,7 +150,7 @@ export const AwsSecretManagerConfigurePage = () => { select: (el) => el.integrationAuthId }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: integrationAuth, isPending: isintegrationAuthLoading } = useGetIntegrationAuthById( (integrationAuthId as string) ?? "" ); @@ -162,11 +162,11 @@ export const AwsSecretManagerConfigurePage = () => { }); useEffect(() => { - if (currentWorkspace) { - setValue("sourceEnvironment", currentWorkspace.environments[0].slug); + if (currentProject) { + setValue("sourceEnvironment", currentProject.environments[0].slug); setValue("awsRegion", awsRegions[0].slug); } - }, [currentWorkspace]); + }, [currentProject]); const handleButtonClick = async ({ secretName, @@ -206,7 +206,7 @@ export const AwsSecretManagerConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -286,7 +286,7 @@ export const AwsSecretManagerConfigurePage = () => { field.onChange(val); }} > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { isError={Boolean(error)} > { from: ROUTE_PATHS.SecretManager.Integratons.AzureAppConfigurationsConfigurePage.id, select: (el) => el.integrationAuthId }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); - const { data: workspace } = useGetWorkspaceById(currentWorkspace.id); + const { data: workspace } = useGetWorkspaceById(currentProject.id); const { data: integrationAuth } = useGetIntegrationAuthById((integrationAuthId as string) ?? ""); useEffect(() => { @@ -133,7 +133,7 @@ export const AzureAppConfigurationConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations diff --git a/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/AzureAppConfigurationOauthCallbackPage.tsx b/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/AzureAppConfigurationOauthCallbackPage.tsx index d15fea903..046fac913 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/AzureAppConfigurationOauthCallbackPage.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureAppConfigurationOauthCallbackPage/AzureAppConfigurationOauthCallbackPage.tsx @@ -2,7 +2,7 @@ import { useEffect } from "react"; import { useNavigate, useSearch } from "@tanstack/react-router"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useAuthorizeIntegration } from "@app/hooks/api"; export const AzureAppConfigurationOauthCallbackPage = () => { @@ -12,7 +12,7 @@ export const AzureAppConfigurationOauthCallbackPage = () => { const { code, state } = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.AzureAppConfigurationsOauthCallbackPage.id }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); useEffect(() => { (async () => { @@ -22,7 +22,7 @@ export const AzureAppConfigurationOauthCallbackPage = () => { localStorage.removeItem("latestCSRFToken"); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, code: code as string, integration: "azure-app-configuration" }); @@ -30,7 +30,7 @@ export const AzureAppConfigurationOauthCallbackPage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/azure-app-configuration/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/AzureDevopsAuthorizePage/AzureDevopsAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/AzureDevopsAuthorizePage/AzureDevopsAuthorizePage.tsx index 25cc9c617..4a03c9c3e 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureDevopsAuthorizePage/AzureDevopsAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureDevopsAuthorizePage/AzureDevopsAuthorizePage.tsx @@ -5,7 +5,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; import { Button, Card, CardTitle, FormControl, Input } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; export const AzureDevopsAuthorizePage = () => { @@ -16,7 +16,7 @@ export const AzureDevopsAuthorizePage = () => { const [devopsOrgName, setDevopsOrgName] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); const [isLoading, setIsLoading] = useState(false); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const handleButtonClick = async () => { try { @@ -31,7 +31,7 @@ export const AzureDevopsAuthorizePage = () => { localStorage.setItem("azure-devops-org-name", devopsOrgName); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "azure-devops", accessToken: btoa(`:${apiKey}`) // This is a base64 encoding of the API key without any username }); @@ -41,7 +41,7 @@ export const AzureDevopsAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/azure-devops/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/AzureDevopsConfigurePage/AzureDevopsConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/AzureDevopsConfigurePage/AzureDevopsConfigurePage.tsx index b06859e1f..3d092fa26 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureDevopsConfigurePage/AzureDevopsConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureDevopsConfigurePage/AzureDevopsConfigurePage.tsx @@ -14,13 +14,13 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, useGetIntegrationAuthById } from "@app/hooks/api/integrationAuth"; -import { useGetWorkspaceById } from "@app/hooks/api/workspace"; +import { useGetWorkspaceById } from "@app/hooks/api/projects"; import { IntegrationsListPageTabs } from "@app/types/integrations"; export const AzureDevopsConfigurePage = () => { @@ -31,9 +31,9 @@ export const AzureDevopsConfigurePage = () => { from: ROUTE_PATHS.SecretManager.Integratons.AzureDevopsConfigurePage.id, select: (el) => el.integrationAuthId }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); - const { data: workspace } = useGetWorkspaceById(currentWorkspace.id); + const { data: workspace } = useGetWorkspaceById(currentProject.id); const { data: integrationAuth } = useGetIntegrationAuthById((integrationAuthId as string) ?? ""); const { data: integrationAuthApps } = useGetIntegrationAuthApps({ integrationAuthId: (integrationAuthId as string) ?? "", @@ -82,7 +82,7 @@ export const AzureDevopsConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations diff --git a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultConfigurePage/AzureKeyVaultConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultConfigurePage/AzureKeyVaultConfigurePage.tsx index e5ccd3dfa..91f0d5440 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultConfigurePage/AzureKeyVaultConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultConfigurePage/AzureKeyVaultConfigurePage.tsx @@ -11,11 +11,11 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthById } from "@app/hooks/api/integrationAuth"; import { IntegrationSyncBehavior } from "@app/hooks/api/integrations/types"; -import { useGetWorkspaceById } from "@app/hooks/api/workspace"; +import { useGetWorkspaceById } from "@app/hooks/api/projects"; import { IntegrationsListPageTabs } from "@app/types/integrations"; const initialSyncBehaviors = [ @@ -38,9 +38,9 @@ export const AzureKeyVaultConfigurePage = () => { from: ROUTE_PATHS.SecretManager.Integratons.AzureKeyVaultConfigurePage.id, select: (el) => el.integrationAuthId }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); - const { data: workspace } = useGetWorkspaceById(currentWorkspace.id); + const { data: workspace } = useGetWorkspaceById(currentProject.id); const { data: integrationAuth } = useGetIntegrationAuthById((integrationAuthId as string) ?? ""); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState(""); @@ -90,7 +90,7 @@ export const AzureKeyVaultConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations diff --git a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultOauthCallbackPage/AzureKeyVaultOauthCallback.tsx b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultOauthCallbackPage/AzureKeyVaultOauthCallback.tsx index ef98d1cba..90a93edce 100644 --- a/frontend/src/pages/secret-manager/integrations/AzureKeyVaultOauthCallbackPage/AzureKeyVaultOauthCallback.tsx +++ b/frontend/src/pages/secret-manager/integrations/AzureKeyVaultOauthCallbackPage/AzureKeyVaultOauthCallback.tsx @@ -2,7 +2,7 @@ import { useEffect } from "react"; import { useNavigate, useSearch } from "@tanstack/react-router"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useAuthorizeIntegration } from "@app/hooks/api"; export const AzureKeyVaultOauthCallbackPage = () => { @@ -12,7 +12,7 @@ export const AzureKeyVaultOauthCallbackPage = () => { const { code, state } = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.AzureKeyVaultOauthCallbackPage.id }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); useEffect(() => { (async () => { @@ -22,7 +22,7 @@ export const AzureKeyVaultOauthCallbackPage = () => { localStorage.removeItem("latestCSRFToken"); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, code: code as string, integration: "azure-key-vault" }); @@ -30,7 +30,7 @@ export const AzureKeyVaultOauthCallbackPage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/azure-key-vault/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/BitbucketConfigurePage/BitbucketConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/BitbucketConfigurePage/BitbucketConfigurePage.tsx index 10dafdb76..022a8e8d7 100644 --- a/frontend/src/pages/secret-manager/integrations/BitbucketConfigurePage/BitbucketConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/BitbucketConfigurePage/BitbucketConfigurePage.tsx @@ -16,7 +16,7 @@ import { Spinner } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration, useGetIntegrationAuthApps, @@ -96,7 +96,7 @@ export const BitbucketConfigurePage = () => { from: ROUTE_PATHS.SecretManager.Integratons.BitbucketConfigurePage.id, select: (el) => el.integrationAuthId }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: bitbucketWorkspaces, isPending: isBitbucketWorkspacesLoading } = useGetIntegrationAuthBitbucketWorkspaces((integrationAuthId as string) ?? ""); @@ -150,7 +150,7 @@ export const BitbucketConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -171,18 +171,18 @@ export const BitbucketConfigurePage = () => { bitbucketRepo || !bitbucketRepos || !bitbucketWorkspaces || - !currentWorkspace + !currentProject ) return; reset({ targetRepo: bitbucketRepos[0], targetWorkspace: bitbucketWorkspaces[0], - sourceEnvironment: currentWorkspace.environments[0], + sourceEnvironment: currentProject.environments[0], secretPath: "/", scope: ScopeOptions[0] }); - }, [bitbucketWorkspaces, bitbucketRepos, currentWorkspace]); + }, [bitbucketWorkspaces, bitbucketRepos, currentProject]); if (isBitbucketWorkspacesLoading || isBitbucketReposLoading) return ( @@ -217,9 +217,9 @@ export const BitbucketConfigurePage = () => { value={value} getOptionLabel={(option) => option.name} onChange={onChange} - options={currentWorkspace?.environments} + options={currentProject?.environments} placeholder="Select a project environment" - isDisabled={!currentWorkspace?.environments.length} + isDisabled={!currentProject?.environments.length} /> )} diff --git a/frontend/src/pages/secret-manager/integrations/BitbucketOauthCallbackPage/BitbucketOauthCallbackPage.tsx b/frontend/src/pages/secret-manager/integrations/BitbucketOauthCallbackPage/BitbucketOauthCallbackPage.tsx index 1e3d302f2..8b23f46ab 100644 --- a/frontend/src/pages/secret-manager/integrations/BitbucketOauthCallbackPage/BitbucketOauthCallbackPage.tsx +++ b/frontend/src/pages/secret-manager/integrations/BitbucketOauthCallbackPage/BitbucketOauthCallbackPage.tsx @@ -2,7 +2,7 @@ import { useEffect } from "react"; import { useNavigate, useSearch } from "@tanstack/react-router"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useAuthorizeIntegration } from "@app/hooks/api"; export const BitbucketOauthCallbackPage = () => { @@ -11,7 +11,7 @@ export const BitbucketOauthCallbackPage = () => { const { code, state } = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.BitbucketOauthCallbackPage.id }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); useEffect(() => { (async () => { @@ -21,7 +21,7 @@ export const BitbucketOauthCallbackPage = () => { localStorage.removeItem("latestCSRFToken"); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, code: code as string, integration: "bitbucket" }); @@ -29,7 +29,7 @@ export const BitbucketOauthCallbackPage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/bitbucket/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/ChecklyAuthorizePage/ChecklyAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/ChecklyAuthorizePage/ChecklyAuthorizePage.tsx index 5dd711fc0..43521fd2e 100644 --- a/frontend/src/pages/secret-manager/integrations/ChecklyAuthorizePage/ChecklyAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/ChecklyAuthorizePage/ChecklyAuthorizePage.tsx @@ -5,13 +5,13 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; import { Button, Card, CardTitle, FormControl, Input } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; export const ChecklyAuthorizePage = () => { const navigate = useNavigate(); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [accessToken, setAccessToken] = useState(""); const [accessTokenErrorText, setAccessTokenErrorText] = useState(""); @@ -28,7 +28,7 @@ export const ChecklyAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "checkly", accessToken }); @@ -38,7 +38,7 @@ export const ChecklyAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/checkly/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/ChecklyConfigurePage/ChecklyConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/ChecklyConfigurePage/ChecklyConfigurePage.tsx index 2e02f7cf2..e09a1361a 100644 --- a/frontend/src/pages/secret-manager/integrations/ChecklyConfigurePage/ChecklyConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/ChecklyConfigurePage/ChecklyConfigurePage.tsx @@ -19,14 +19,14 @@ import { Tabs } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, useGetIntegrationAuthById, useGetIntegrationAuthChecklyGroups } from "@app/hooks/api/integrationAuth"; -import { useGetWorkspaceById } from "@app/hooks/api/workspace"; +import { useGetWorkspaceById } from "@app/hooks/api/projects"; import { IntegrationsListPageTabs } from "@app/types/integrations"; enum TabSections { @@ -42,7 +42,7 @@ export const ChecklyConfigurePage = () => { from: ROUTE_PATHS.SecretManager.Integratons.ChecklyConfigurePage.id, select: (el) => el.integrationAuthId }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState(""); const [secretPath, setSecretPath] = useState("/"); @@ -53,7 +53,7 @@ export const ChecklyConfigurePage = () => { const [isLoading, setIsLoading] = useState(false); - const { data: workspace } = useGetWorkspaceById(currentWorkspace.id); + const { data: workspace } = useGetWorkspaceById(currentProject.id); const { data: integrationAuth } = useGetIntegrationAuthById((integrationAuthId as string) ?? ""); const { data: integrationAuthApps, isPending: isIntegrationAuthAppsLoading } = useGetIntegrationAuthApps({ @@ -115,7 +115,7 @@ export const ChecklyConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations diff --git a/frontend/src/pages/secret-manager/integrations/CircleCIAuthorizePage/CircleCIAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/CircleCIAuthorizePage/CircleCIAuthorizePage.tsx index e64227fc3..088c22e1d 100644 --- a/frontend/src/pages/secret-manager/integrations/CircleCIAuthorizePage/CircleCIAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/CircleCIAuthorizePage/CircleCIAuthorizePage.tsx @@ -5,7 +5,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; import { Button, Card, CardTitle, FormControl, Input } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; export const CircleCIAuthorizePage = () => { @@ -15,7 +15,7 @@ export const CircleCIAuthorizePage = () => { const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); const [isLoading, setIsLoading] = useState(false); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const handleButtonClick = async () => { try { @@ -28,7 +28,7 @@ export const CircleCIAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "circleci", accessToken: apiKey }); @@ -38,7 +38,7 @@ export const CircleCIAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/circleci/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/CircleCIConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/CircleCIConfigurePage.tsx index f03f35af8..36777af29 100644 --- a/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/CircleCIConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/CircleCIConfigurePage/CircleCIConfigurePage.tsx @@ -18,7 +18,7 @@ import { } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration, useGetIntegrationAuthCircleCIOrganizations } from "@app/hooks/api"; import { CircleCiScope } from "@app/hooks/api/integrationAuth/types"; import { IntegrationsListPageTabs } from "@app/types/integrations"; @@ -45,7 +45,7 @@ type TFormData = z.infer; export const CircleCIConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync, isPending: isCreatingIntegration } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.CircleConfigurePage.id, @@ -56,7 +56,7 @@ export const CircleCIConfigurePage = () => { resolver: zodResolver(formSchema), defaultValues: { secretPath: "/", - sourceEnvironment: currentWorkspace?.environments[0], + sourceEnvironment: currentProject?.environments[0], scope: CircleCiScope.Project } }); @@ -105,7 +105,7 @@ export const CircleCIConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -179,9 +179,9 @@ export const CircleCIConfigurePage = () => { value={value} getOptionLabel={(option) => option.name} onChange={onChange} - options={currentWorkspace?.environments} + options={currentProject?.environments} placeholder="Select a project environment" - isDisabled={!currentWorkspace?.environments.length} + isDisabled={!currentProject?.environments.length} /> )} diff --git a/frontend/src/pages/secret-manager/integrations/Cloud66AuthorizePage/Cloud66AuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/Cloud66AuthorizePage/Cloud66AuthorizePage.tsx index 8fc9dd5ca..1a464cadc 100644 --- a/frontend/src/pages/secret-manager/integrations/Cloud66AuthorizePage/Cloud66AuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/Cloud66AuthorizePage/Cloud66AuthorizePage.tsx @@ -2,14 +2,14 @@ import { useState } from "react"; import { useNavigate } from "@tanstack/react-router"; import { Button, Card, CardTitle, FormControl, Input } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; export const Cloud66AuthorizePage = () => { const navigate = useNavigate(); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); @@ -26,7 +26,7 @@ export const Cloud66AuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "cloud-66", accessToken: apiKey }); @@ -36,7 +36,7 @@ export const Cloud66AuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/cloud-66/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/Cloud66ConfigurePage/Cloud66ConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/Cloud66ConfigurePage/Cloud66ConfigurePage.tsx index 6de5e3bc3..68535d70e 100644 --- a/frontend/src/pages/secret-manager/integrations/Cloud66ConfigurePage/Cloud66ConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/Cloud66ConfigurePage/Cloud66ConfigurePage.tsx @@ -11,7 +11,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -28,7 +28,7 @@ export const Cloud66ConfigurePage = () => { select: (el) => el.integrationAuthId }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: integrationAuth } = useGetIntegrationAuthById((integrationAuthId as string) ?? ""); const { data: integrationAuthApps } = useGetIntegrationAuthApps({ integrationAuthId: (integrationAuthId as string) ?? "" @@ -40,10 +40,10 @@ export const Cloud66ConfigurePage = () => { const [isLoading, setIsLoading] = useState(false); useEffect(() => { - if (currentWorkspace) { - setSelectedSourceEnvironment(currentWorkspace.environments[0].slug); + if (currentProject) { + setSelectedSourceEnvironment(currentProject.environments[0].slug); } - }, [currentWorkspace]); + }, [currentProject]); useEffect(() => { if (integrationAuthApps) { @@ -77,7 +77,7 @@ export const Cloud66ConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -98,7 +98,7 @@ export const Cloud66ConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { @@ -14,7 +14,7 @@ export const CloudflarePagesAuthorizePage = () => { const [accountIdErrorText, setAccountIdErrorText] = useState(""); const [isLoading, setIsLoading] = useState(false); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const navigate = useNavigate(); const handleButtonClick = async () => { @@ -30,7 +30,7 @@ export const CloudflarePagesAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "cloudflare-pages", accessId: accountId, accessToken: accessKey @@ -43,7 +43,7 @@ export const CloudflarePagesAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/cloudflare-pages/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/CloudflarePagesConfigurePage/CloudflarePagesConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/CloudflarePagesConfigurePage/CloudflarePagesConfigurePage.tsx index 1ff6e75d5..69225d9ae 100644 --- a/frontend/src/pages/secret-manager/integrations/CloudflarePagesConfigurePage/CloudflarePagesConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/CloudflarePagesConfigurePage/CloudflarePagesConfigurePage.tsx @@ -14,7 +14,7 @@ import { } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration, useGetWorkspaceById } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -31,7 +31,7 @@ export const CloudflarePagesConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.CloudflarePagesConfigurePage.id, @@ -39,7 +39,7 @@ export const CloudflarePagesConfigurePage = () => { }); const [secretPath, setSecretPath] = useState("/"); - const { data: workspace } = useGetWorkspaceById(currentWorkspace.id); + const { data: workspace } = useGetWorkspaceById(currentProject.id); const { data: integrationAuth } = useGetIntegrationAuthById((integrationAuthId as string) ?? ""); const { data: integrationAuthApps } = useGetIntegrationAuthApps({ integrationAuthId: (integrationAuthId as string) ?? "" @@ -96,7 +96,7 @@ export const CloudflarePagesConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations diff --git a/frontend/src/pages/secret-manager/integrations/CloudflareWorkersAuthorizePage/CloudflareWorkersAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/CloudflareWorkersAuthorizePage/CloudflareWorkersAuthorizePage.tsx index e2829c76a..dd0b16a6b 100644 --- a/frontend/src/pages/secret-manager/integrations/CloudflareWorkersAuthorizePage/CloudflareWorkersAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/CloudflareWorkersAuthorizePage/CloudflareWorkersAuthorizePage.tsx @@ -2,13 +2,13 @@ import { useState } from "react"; import { useNavigate } from "@tanstack/react-router"; import { Button, Card, CardTitle, FormControl, Input } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; export const CloudflareWorkersAuthorizePage = () => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync } = useSaveIntegrationAccessToken(); const [accessKey, setAccessKey] = useState(""); @@ -30,7 +30,7 @@ export const CloudflareWorkersAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "cloudflare-workers", accessId: accountId, accessToken: accessKey @@ -43,7 +43,7 @@ export const CloudflareWorkersAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/cloudflare-workers/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/CloudflareWorkersConfigurePage/CloudflareWorkersConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/CloudflareWorkersConfigurePage/CloudflareWorkersConfigurePage.tsx index bfc4b766a..a5d28bb95 100644 --- a/frontend/src/pages/secret-manager/integrations/CloudflareWorkersConfigurePage/CloudflareWorkersConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/CloudflareWorkersConfigurePage/CloudflareWorkersConfigurePage.tsx @@ -6,7 +6,7 @@ import { createNotification } from "@app/components/notifications"; import { Button, Card, CardTitle, FormControl, Select, SelectItem } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -17,7 +17,7 @@ import { IntegrationsListPageTabs } from "@app/types/integrations"; export const CloudflareWorkersConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.CloudflareWorkersConfigurePage.id, @@ -29,7 +29,7 @@ export const CloudflareWorkersConfigurePage = () => { }); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [secretPath, setSecretPath] = useState("/"); @@ -69,7 +69,7 @@ export const CloudflareWorkersConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -107,7 +107,7 @@ export const CloudflareWorkersConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { @@ -12,7 +12,7 @@ export const CodefreshAuthorizePage = () => { const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); const [isLoading, setIsLoading] = useState(false); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const handleButtonClick = async () => { try { @@ -25,7 +25,7 @@ export const CodefreshAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "codefresh", accessToken: apiKey }); @@ -35,7 +35,7 @@ export const CodefreshAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/codefresh/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/CodefreshConfigurePage/CodefreshConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/CodefreshConfigurePage/CodefreshConfigurePage.tsx index e99ad4ea8..80a54b621 100644 --- a/frontend/src/pages/secret-manager/integrations/CodefreshConfigurePage/CodefreshConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/CodefreshConfigurePage/CodefreshConfigurePage.tsx @@ -11,7 +11,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -23,7 +23,7 @@ export const CodefreshConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.CodefreshConfigurePage.id, select: (el) => el.integrationAuthId @@ -35,7 +35,7 @@ export const CodefreshConfigurePage = () => { }); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [targetApp, setTargetApp] = useState(""); const [secretPath, setSecretPath] = useState("/"); @@ -73,7 +73,7 @@ export const CodefreshConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -94,7 +94,7 @@ export const CodefreshConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { @@ -17,7 +17,7 @@ export const DatabricksAuthorizePage = () => { const [apiKeyErrorText, setApiKeyErrorText] = useState(""); const [instanceURLErrorText, setInstanceURLErrorText] = useState(""); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const handleButtonClick = async () => { try { @@ -33,7 +33,7 @@ export const DatabricksAuthorizePage = () => { } const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "databricks", url: instanceURL.replace(/\/$/, ""), accessToken: apiKey @@ -42,7 +42,7 @@ export const DatabricksAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/databricks/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/DatabricksConfigurePage/DatabricksConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/DatabricksConfigurePage/DatabricksConfigurePage.tsx index 0f3d09728..a140a0339 100644 --- a/frontend/src/pages/secret-manager/integrations/DatabricksConfigurePage/DatabricksConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/DatabricksConfigurePage/DatabricksConfigurePage.tsx @@ -20,7 +20,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -32,7 +32,7 @@ export const DatabricksConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync, isPending } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.DatabricksConfigurePage.id, @@ -49,7 +49,7 @@ export const DatabricksConfigurePage = () => { }); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [targetScope, setTargetScope] = useState(""); const [secretPath, setSecretPath] = useState("/"); @@ -89,7 +89,7 @@ export const DatabricksConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -143,7 +143,7 @@ export const DatabricksConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { @@ -12,7 +12,7 @@ export const DigitalOceanAppPlatformAuthorizePage = () => { const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); const [isLoading, setIsLoading] = useState(false); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const handleButtonClick = async () => { try { @@ -25,7 +25,7 @@ export const DigitalOceanAppPlatformAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "digital-ocean-app-platform", accessToken: apiKey }); @@ -35,7 +35,7 @@ export const DigitalOceanAppPlatformAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/digital-ocean-app-platform/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/DigitalOceanAppPlatformConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/DigitalOceanAppPlatformConfigurePage.tsx index e88d98976..2c6f08348 100644 --- a/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/DigitalOceanAppPlatformConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/DigitalOceanAppPlatformConfigurePage/DigitalOceanAppPlatformConfigurePage.tsx @@ -11,7 +11,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -23,7 +23,7 @@ export const DigitalOceanAppPlatformConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.DigitalOceanAppPlatformConfigurePage.id, @@ -36,7 +36,7 @@ export const DigitalOceanAppPlatformConfigurePage = () => { }); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [targetApp, setTargetApp] = useState(""); const [secretPath, setSecretPath] = useState("/"); @@ -74,7 +74,7 @@ export const DigitalOceanAppPlatformConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -95,7 +95,7 @@ export const DigitalOceanAppPlatformConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( ; export const FlyioAuthorizePage = () => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { control, handleSubmit } = useForm({ resolver: zodResolver(schema), @@ -37,7 +37,7 @@ export const FlyioAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "flyio", accessToken }); @@ -46,7 +46,7 @@ export const FlyioAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/flyio/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/FlyioConfigurePage/FlyioConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/FlyioConfigurePage/FlyioConfigurePage.tsx index 0beb61bdf..c034ce3f1 100644 --- a/frontend/src/pages/secret-manager/integrations/FlyioConfigurePage/FlyioConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/FlyioConfigurePage/FlyioConfigurePage.tsx @@ -21,7 +21,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -34,7 +34,7 @@ export const FlyioConfigurePage = () => { const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.FlyioConfigurePage.id, @@ -50,7 +50,7 @@ export const FlyioConfigurePage = () => { }); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [secretPath, setSecretPath] = useState("/"); @@ -88,7 +88,7 @@ export const FlyioConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -144,7 +144,7 @@ export const FlyioConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { }); const { data: cloudIntegrations } = useGetCloudIntegrations(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync } = useSaveIntegrationAccessToken(); @@ -47,7 +47,7 @@ export const GcpSecretManagerAuthorizePage = () => { const state = crypto.randomBytes(16).toString("hex"); localStorage.setItem("latestCSRFToken", state); - localStorageService.setIntegrationProjectId(currentWorkspace.id); + localStorageService.setIntegrationProjectId(currentProject.id); if (!integrationOption.clientId) { createIntegrationMissingEnvVarsNotification(integrationOption.slug); @@ -63,7 +63,7 @@ export const GcpSecretManagerAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "gcp-secret-manager", refreshToken: accessToken }); @@ -72,7 +72,7 @@ export const GcpSecretManagerAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/gcp-secret-manager/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerConfigurePage/GcpSecretManagerConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerConfigurePage/GcpSecretManagerConfigurePage.tsx index c4f8403bd..85af1961f 100644 --- a/frontend/src/pages/secret-manager/integrations/GcpSecretManagerConfigurePage/GcpSecretManagerConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/GcpSecretManagerConfigurePage/GcpSecretManagerConfigurePage.tsx @@ -26,7 +26,7 @@ import { } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useCreateIntegration } from "@app/hooks/api"; import { @@ -59,7 +59,7 @@ export const GcpSecretManagerConfigurePage = () => { "confirmIntegration" ] as const); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { control, handleSubmit, setValue, watch } = useForm({ resolver: zodResolver(schema), defaultValues: { @@ -69,7 +69,7 @@ export const GcpSecretManagerConfigurePage = () => { shouldLabel: false, labelName: "managed-by", labelValue: "infisical", - selectedSourceEnvironment: currentWorkspace.environments[0].slug + selectedSourceEnvironment: currentProject.environments[0].slug } }); @@ -153,7 +153,7 @@ export const GcpSecretManagerConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -241,7 +241,7 @@ export const GcpSecretManagerConfigurePage = () => { onValueChange={(e) => onChange(e)} className="w-full" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { @@ -12,7 +12,7 @@ export const GcpSecretManagerOauthCallbackPage = () => { const { code, state } = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.GcpSecretManagerOauthCallbackPage.id }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); useEffect(() => { (async () => { @@ -22,7 +22,7 @@ export const GcpSecretManagerOauthCallbackPage = () => { if (state !== localStorage.getItem("latestCSRFToken")) return; localStorage.removeItem("latestCSRFToken"); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, code: code as string, integration: "gcp-secret-manager" }); @@ -30,7 +30,7 @@ export const GcpSecretManagerOauthCallbackPage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/gcp-secret-manager/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/GithubAuthorizePage/GithubAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/GithubAuthorizePage/GithubAuthorizePage.tsx index 623c5762c..e4fe73feb 100644 --- a/frontend/src/pages/secret-manager/integrations/GithubAuthorizePage/GithubAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/GithubAuthorizePage/GithubAuthorizePage.tsx @@ -15,7 +15,7 @@ import { Select, SelectItem } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { localStorageService } from "@app/helpers/localStorage"; import { useGetCloudIntegrations } from "@app/hooks/api"; @@ -31,7 +31,7 @@ export const GithubAuthorizePage = () => { const { data: cloudIntegrations } = useGetCloudIntegrations(); const githubIntegration = cloudIntegrations?.find((integration) => integration.slug === "github"); const [selectedAuthMethod, setSelectedAuthMethod] = useState(AuthMethod.APP); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); return (
    @@ -84,7 +84,7 @@ export const GithubAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/select-integration-auth", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationSlug: "github" @@ -102,7 +102,7 @@ export const GithubAuthorizePage = () => { const state = crypto.randomBytes(16).toString("hex"); localStorage.setItem("latestCSRFToken", state); - localStorageService.setIntegrationProjectId(currentWorkspace.id); + localStorageService.setIntegrationProjectId(currentProject.id); window.location.assign( `https://github.com/login/oauth/authorize?client_id=${githubIntegration?.clientId}&response_type=code&scope=repo,admin:org&redirect_uri=${window.location.origin}/integrations/github/oauth2/callback&state=${state}` ); diff --git a/frontend/src/pages/secret-manager/integrations/GithubConfigurePage/GithubConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/GithubConfigurePage/GithubConfigurePage.tsx index aa71c793e..7dad0d29a 100644 --- a/frontend/src/pages/secret-manager/integrations/GithubConfigurePage/GithubConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/GithubConfigurePage/GithubConfigurePage.tsx @@ -37,7 +37,7 @@ import { Tabs } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration, useGetIntegrationAuthApps, @@ -142,7 +142,7 @@ export const GithubConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.GithubConfigurePage.id, select: (el) => el.integrationAuthId @@ -166,7 +166,7 @@ export const GithubConfigurePage = () => { repoIds: [], visibility: "all", shouldEnableDelete: false, - selectedSourceEnvironment: currentWorkspace.environments[0].slug + selectedSourceEnvironment: currentProject.environments[0].slug } }); @@ -269,7 +269,7 @@ export const GithubConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -367,7 +367,7 @@ export const GithubConfigurePage = () => { onValueChange={onChange} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { @@ -16,7 +16,7 @@ export const GithubOauthCallbackPage = () => { } = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.GithubOauthCallbackPage.id }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); useEffect(() => { (async () => { @@ -29,7 +29,7 @@ export const GithubOauthCallbackPage = () => { localStorage.removeItem("latestCSRFToken"); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, code: code as string, installationId, integration: "github" @@ -38,7 +38,7 @@ export const GithubOauthCallbackPage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/github/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/GitlabAuthorizePage/GitlabAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/GitlabAuthorizePage/GitlabAuthorizePage.tsx index 2ce82d97c..cf77aa312 100644 --- a/frontend/src/pages/secret-manager/integrations/GitlabAuthorizePage/GitlabAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/GitlabAuthorizePage/GitlabAuthorizePage.tsx @@ -8,7 +8,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; import { Button, Card, CardTitle, FormControl, Input } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { localStorageService } from "@app/helpers/localStorage"; import { useGetCloudIntegrations } from "@app/hooks/api"; @@ -29,7 +29,7 @@ export const GitlabAuthorizePage = () => { }); const { data: cloudIntegrations } = useGetCloudIntegrations(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const onFormSubmit = ({ gitLabURL }: FormData) => { if (!cloudIntegrations) return; @@ -49,12 +49,12 @@ export const GitlabAuthorizePage = () => { const csrfToken = crypto.randomBytes(16).toString("hex"); localStorage.setItem("latestCSRFToken", csrfToken); - localStorageService.setIntegrationProjectId(currentWorkspace.id); + localStorageService.setIntegrationProjectId(currentProject.id); const state = `${csrfToken}|${ (gitLabURL as string).trim() === "" ? "" : (gitLabURL as string).trim() }`; - localStorageService.setIntegrationProjectId(currentWorkspace.id); + localStorageService.setIntegrationProjectId(currentProject.id); const link = `${baseURL}/oauth/authorize?client_id=${integrationOption.clientId}&redirect_uri=${window.location.origin}/integrations/gitlab/oauth2/callback&response_type=code&state=${state}`; window.location.assign(link); diff --git a/frontend/src/pages/secret-manager/integrations/GitlabConfigurePage/GitlabConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/GitlabConfigurePage/GitlabConfigurePage.tsx index 6fb388b71..13d2081ad 100644 --- a/frontend/src/pages/secret-manager/integrations/GitlabConfigurePage/GitlabConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/GitlabConfigurePage/GitlabConfigurePage.tsx @@ -26,7 +26,7 @@ import { } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useCreateIntegration } from "@app/hooks/api"; import { @@ -76,7 +76,7 @@ export const GitlabConfigurePage = () => { const { popUp, handlePopUpOpen, handlePopUpToggle, handlePopUpClose } = usePopUp([ "confirmIntegration" ] as const); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { control, handleSubmit, setValue, watch } = useForm({ resolver: zodResolver(schema), @@ -85,7 +85,7 @@ export const GitlabConfigurePage = () => { secretPath: "/", secretPrefix: "", secretSuffix: "", - selectedSourceEnvironment: currentWorkspace.environments[0].slug, + selectedSourceEnvironment: currentProject.environments[0].slug, initialSyncBehavior: IntegrationSyncBehavior.PREFER_SOURCE } }); @@ -177,7 +177,7 @@ export const GitlabConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -267,7 +267,7 @@ export const GitlabConfigurePage = () => { onValueChange={(e) => onChange(e)} className="w-full" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { const { code, state } = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.GitlabOauthCallbackPage.id }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); useEffect(() => { (async () => { @@ -65,7 +65,7 @@ export const GitLabOAuthCallbackPage = () => { }); } else { appConnection = await createAppConnection({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, ...connectionData }); } @@ -87,7 +87,7 @@ export const GitLabOAuthCallbackPage = () => { }); } })(); - }, [code, state, navigate, createAppConnection, updateAppConnection, currentWorkspace.id]); + }, [code, state, navigate, createAppConnection, updateAppConnection, currentProject.id]); return (
    diff --git a/frontend/src/pages/secret-manager/integrations/HashicorpVaultAuthorizePage/HashicorpVaultAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/HashicorpVaultAuthorizePage/HashicorpVaultAuthorizePage.tsx index ae200968a..8a8cbbc4c 100644 --- a/frontend/src/pages/secret-manager/integrations/HashicorpVaultAuthorizePage/HashicorpVaultAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/HashicorpVaultAuthorizePage/HashicorpVaultAuthorizePage.tsx @@ -9,7 +9,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, Card, CardBody, CardTitle, FormControl, Input } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; const formSchema = z.object({ @@ -25,7 +25,7 @@ export const HashicorpVaultAuthorizePage = () => { const navigate = useNavigate(); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { control, handleSubmit, @@ -43,7 +43,7 @@ export const HashicorpVaultAuthorizePage = () => { const handleFormSubmit = async (formData: TForm) => { try { const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "hashicorp-vault", accessId: formData.vaultRoleID, accessToken: formData.vaultSecretID, @@ -53,7 +53,7 @@ export const HashicorpVaultAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/hashicorp-vault/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/HashicorpVaultConfigurePage/HashicorpVaultConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/HashicorpVaultConfigurePage/HashicorpVaultConfigurePage.tsx index af9af585e..48b31dd80 100644 --- a/frontend/src/pages/secret-manager/integrations/HashicorpVaultConfigurePage/HashicorpVaultConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/HashicorpVaultConfigurePage/HashicorpVaultConfigurePage.tsx @@ -25,7 +25,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { isValidPath } from "@app/helpers/string"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthById } from "@app/hooks/api/integrationAuth"; @@ -61,7 +61,7 @@ export const HashicorpVaultConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.HashicorpVaultConfigurePage.id, select: (el) => el.integrationAuthId @@ -72,8 +72,8 @@ export const HashicorpVaultConfigurePage = () => { ); const formSchema = useMemo(() => { - return generateFormSchema(currentWorkspace?.environments.map((env) => env.slug) ?? []); - }, [currentWorkspace?.environments]); + return generateFormSchema(currentProject?.environments.map((env) => env.slug) ?? []); + }, [currentProject?.environments]); const { control, @@ -103,7 +103,7 @@ export const HashicorpVaultConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -177,7 +177,7 @@ export const HashicorpVaultConfigurePage = () => { onValueChange={field.onChange} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { const [isLoading, setIsLoading] = useState(false); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { control, handleSubmit } = useForm({ resolver: zodResolver(schema), defaultValues: { @@ -36,7 +36,7 @@ export const HasuraCloudAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "hasura-cloud", accessToken }); @@ -45,7 +45,7 @@ export const HasuraCloudAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/hasura-cloud/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/HasuraCloudConfigurePage/HasuraCloudConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/HasuraCloudConfigurePage/HasuraCloudConfigurePage.tsx index a42451e8e..cfcba8058 100644 --- a/frontend/src/pages/secret-manager/integrations/HasuraCloudConfigurePage/HasuraCloudConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/HasuraCloudConfigurePage/HasuraCloudConfigurePage.tsx @@ -9,7 +9,7 @@ import { z } from "zod"; import { Button, Card, CardTitle, FormControl, Select, SelectItem } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -38,7 +38,7 @@ export const HasuraCloudConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.HasuraCloudConfigurePage.id, select: (el) => el.integrationAuthId @@ -72,7 +72,7 @@ export const HasuraCloudConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -137,7 +137,7 @@ export const HasuraCloudConfigurePage = () => { field.onChange(val); }} > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( ; export const HerokuConfigurePage = () => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { control, handleSubmit, setValue, watch } = useForm({ resolver: zodResolver(schema), defaultValues: { secretPath: "/", initialSyncBehavior: IntegrationSyncBehavior.PREFER_SOURCE, - selectedSourceEnvironment: currentWorkspace.environments[0].slug + selectedSourceEnvironment: currentProject.environments[0].slug } }); @@ -100,7 +100,7 @@ export const HerokuConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -158,7 +158,7 @@ export const HerokuConfigurePage = () => { onValueChange={(e) => onChange(e)} className="w-full" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { from: ROUTE_PATHS.SecretManager.Integratons.HerokuOauthCallbackPage.id }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); useEffect(() => { (async () => { @@ -67,7 +67,7 @@ export const HerokuOAuthCallbackPage = () => { }); } else { appConnection = await createAppConnection({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, ...connectionData }); } @@ -88,7 +88,7 @@ export const HerokuOAuthCallbackPage = () => { }); } })(); - }, [code, state, navigate, createAppConnection, updateAppConnection, currentWorkspace.id]); + }, [code, state, navigate, createAppConnection, updateAppConnection, currentProject.id]); return (
    diff --git a/frontend/src/pages/secret-manager/integrations/LaravelForgeAuthorizePage/LaravelForgeAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/LaravelForgeAuthorizePage/LaravelForgeAuthorizePage.tsx index d67a6ce1d..c607472c7 100644 --- a/frontend/src/pages/secret-manager/integrations/LaravelForgeAuthorizePage/LaravelForgeAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/LaravelForgeAuthorizePage/LaravelForgeAuthorizePage.tsx @@ -2,13 +2,13 @@ import { useState } from "react"; import { useNavigate } from "@tanstack/react-router"; import { Button, Card, CardTitle, FormControl, Input } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; export const LaravelForgeAuthorizePage = () => { const navigate = useNavigate(); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); const [serverId, setServerId] = useState(""); @@ -33,7 +33,7 @@ export const LaravelForgeAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "laravel-forge", accessId: serverId, accessToken: apiKey @@ -44,7 +44,7 @@ export const LaravelForgeAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/laravel-forge/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/LaravelForgeConfigurePage/LaravelForgeConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/LaravelForgeConfigurePage/LaravelForgeConfigurePage.tsx index 91963e749..55a5ac360 100644 --- a/frontend/src/pages/secret-manager/integrations/LaravelForgeConfigurePage/LaravelForgeConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/LaravelForgeConfigurePage/LaravelForgeConfigurePage.tsx @@ -11,7 +11,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -23,7 +23,7 @@ export const LaravelForgeConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.LaravelForgeConfigurePage.id, select: (el) => el.integrationAuthId @@ -35,7 +35,7 @@ export const LaravelForgeConfigurePage = () => { }); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [targetApp, setTargetApp] = useState(""); const [secretPath, setSecretPath] = useState("/"); @@ -74,7 +74,7 @@ export const LaravelForgeConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -95,7 +95,7 @@ export const LaravelForgeConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.NetlifyConfigurePage.id, select: (el) => el.integrationAuthId @@ -42,7 +42,7 @@ export const NetlifyConfigurePage = () => { }); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [targetApp, setTargetApp] = useState(""); const [targetEnvironment, setTargetEnvironment] = useState(netlifyEnvironments[0].slug); @@ -81,7 +81,7 @@ export const NetlifyConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -106,7 +106,7 @@ export const NetlifyConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { @@ -12,7 +12,7 @@ export const NetlifyOauthCallbackPage = () => { const { code, state } = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.NetlifyOuathCallbackPage.id }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); useEffect(() => { (async () => { @@ -22,7 +22,7 @@ export const NetlifyOauthCallbackPage = () => { localStorage.removeItem("latestCSRFToken"); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, code: code as string, integration: "netlify" }); @@ -30,7 +30,7 @@ export const NetlifyOauthCallbackPage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/netlify/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/NorthflankAuthorizePage/NorthflankAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/NorthflankAuthorizePage/NorthflankAuthorizePage.tsx index b203a02dc..005a4914e 100644 --- a/frontend/src/pages/secret-manager/integrations/NorthflankAuthorizePage/NorthflankAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/NorthflankAuthorizePage/NorthflankAuthorizePage.tsx @@ -2,13 +2,13 @@ import { useState } from "react"; import { useNavigate } from "@tanstack/react-router"; import { Button, Card, CardTitle, FormControl, Input } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; export const NorthflankAuthorizePage = () => { const navigate = useNavigate(); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); @@ -25,7 +25,7 @@ export const NorthflankAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "northflank", accessToken: apiKey }); @@ -35,7 +35,7 @@ export const NorthflankAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/northflank/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/NorthflankConfigurePage/NorthflankConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/NorthflankConfigurePage/NorthflankConfigurePage.tsx index 7f01c32ee..9ff1e18c8 100644 --- a/frontend/src/pages/secret-manager/integrations/NorthflankConfigurePage/NorthflankConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/NorthflankConfigurePage/NorthflankConfigurePage.tsx @@ -11,7 +11,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -24,9 +24,9 @@ export const NorthflankConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [secretPath, setSecretPath] = useState("/"); const [targetAppId, setTargetAppId] = useState(""); @@ -95,7 +95,7 @@ export const NorthflankConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -116,7 +116,7 @@ export const NorthflankConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( ; export const OctopusDeployAuthorizePage = () => { const navigate = useNavigate(); const { mutateAsync, isPending } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { control, handleSubmit } = useForm({ resolver: zodResolver(formSchema) @@ -31,7 +31,7 @@ export const OctopusDeployAuthorizePage = () => { const onSubmit = async ({ instanceUrl, apiKey }: TForm) => { try { const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "octopus-deploy", url: removeTrailingSlash(instanceUrl), accessToken: apiKey @@ -40,7 +40,7 @@ export const OctopusDeployAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/octopus-deploy/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/OctopusDeployConfigurePage/OctopusDeployConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/OctopusDeployConfigurePage/OctopusDeployConfigurePage.tsx index 458c4a997..bddd884f4 100644 --- a/frontend/src/pages/secret-manager/integrations/OctopusDeployConfigurePage/OctopusDeployConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/OctopusDeployConfigurePage/OctopusDeployConfigurePage.tsx @@ -16,7 +16,7 @@ import { } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration, useGetIntegrationAuthApps } from "@app/hooks/api"; import { useGetIntegrationAuthOctopusDeployScopeValues, @@ -56,7 +56,7 @@ export const OctopusDeployConfigurePage = () => { } }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.OctopusDeployCloudConfigurePage.id, select: (el) => el.integrationAuthId @@ -137,7 +137,7 @@ export const OctopusDeployConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -153,16 +153,16 @@ export const OctopusDeployConfigurePage = () => { }; useEffect(() => { - if (!octopusDeployResources || !octopusDeploySpaces || !currentWorkspace) return; + if (!octopusDeployResources || !octopusDeploySpaces || !currentProject) return; reset({ targetResource: octopusDeployResources[0], targetSpace: octopusDeploySpaces.find((space) => space.IsDefault), - sourceEnvironment: currentWorkspace.environments[0], + sourceEnvironment: currentProject.environments[0], secretPath: "/", scope: OctopusDeployScope.Project }); - }, [octopusDeploySpaces, octopusDeployResources, currentWorkspace]); + }, [octopusDeploySpaces, octopusDeployResources, currentProject]); if (isLoadingOctopusDeploySpaces || isOctopusDeployResourcesLoading) return ( @@ -196,9 +196,9 @@ export const OctopusDeployConfigurePage = () => { value={value} getOptionLabel={(option) => option.name} onChange={onChange} - options={currentWorkspace?.environments} + options={currentProject?.environments} placeholder="Select a project environment" - isDisabled={!currentWorkspace?.environments.length} + isDisabled={!currentProject?.environments.length} /> )} diff --git a/frontend/src/pages/secret-manager/integrations/QoveryAuthorizePage/QoveryAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/QoveryAuthorizePage/QoveryAuthorizePage.tsx index 607b1962b..369046df9 100644 --- a/frontend/src/pages/secret-manager/integrations/QoveryAuthorizePage/QoveryAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/QoveryAuthorizePage/QoveryAuthorizePage.tsx @@ -5,12 +5,12 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; import { Button, Card, CardTitle, FormControl, Input } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; export const QoveryAuthorizePage = () => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync } = useSaveIntegrationAccessToken(); const [accessToken, setAccessToken] = useState(""); @@ -28,7 +28,7 @@ export const QoveryAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "qovery", accessToken }); @@ -38,7 +38,7 @@ export const QoveryAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/qovery/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/QoveryConfigurePage/QoveryConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/QoveryConfigurePage/QoveryConfigurePage.tsx index bc0f24c90..977f4fdd1 100644 --- a/frontend/src/pages/secret-manager/integrations/QoveryConfigurePage/QoveryConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/QoveryConfigurePage/QoveryConfigurePage.tsx @@ -19,7 +19,7 @@ import { Tabs } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthById } from "@app/hooks/api/integrationAuth"; import { @@ -55,7 +55,7 @@ enum TabSections { export const QoveryConfigurePage = () => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync } = useCreateIntegration(); const integrationAuthId = useSearch({ @@ -67,7 +67,7 @@ export const QoveryConfigurePage = () => { const [scope, setScope] = useState("application"); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [secretPath, setSecretPath] = useState("/"); @@ -178,7 +178,7 @@ export const QoveryConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -241,7 +241,7 @@ export const QoveryConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { const navigate = useNavigate(); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); @@ -25,7 +25,7 @@ export const RailwayAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "railway", accessToken: apiKey }); @@ -35,7 +35,7 @@ export const RailwayAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/railway/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/RailwayConfigurePage/RailwayConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/RailwayConfigurePage/RailwayConfigurePage.tsx index 835e59277..1d24f7ce7 100644 --- a/frontend/src/pages/secret-manager/integrations/RailwayConfigurePage/RailwayConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/RailwayConfigurePage/RailwayConfigurePage.tsx @@ -11,7 +11,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -25,13 +25,13 @@ export const RailwayConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [targetAppId, setTargetAppId] = useState(""); const [targetEnvironmentId, setTargetEnvironmentId] = useState(""); const [targetServiceId, setTargetServiceId] = useState(""); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [secretPath, setSecretPath] = useState("/"); const [isLoading, setIsLoading] = useState(false); @@ -110,7 +110,7 @@ export const RailwayConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -139,7 +139,7 @@ export const RailwayConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { const navigate = useNavigate(); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); @@ -28,7 +28,7 @@ export const RenderAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "render", accessToken: apiKey }); @@ -38,7 +38,7 @@ export const RenderAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/render/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/RenderConfigurePage/RenderConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/RenderConfigurePage/RenderConfigurePage.tsx index 3d156cdac..4a2ef30d1 100644 --- a/frontend/src/pages/secret-manager/integrations/RenderConfigurePage/RenderConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/RenderConfigurePage/RenderConfigurePage.tsx @@ -23,7 +23,7 @@ import { } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -44,13 +44,13 @@ export const RenderConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { control, handleSubmit, setValue, watch } = useForm({ resolver: zodResolver(schema), defaultValues: { secretPath: "/", shouldAutoRedeploy: false, - selectedSourceEnvironment: currentWorkspace.environments[0].slug + selectedSourceEnvironment: currentProject.environments[0].slug } }); @@ -106,7 +106,7 @@ export const RenderConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -167,7 +167,7 @@ export const RenderConfigurePage = () => { onValueChange={(e) => onChange(e)} className="w-full" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { const [isLoading, setIsLoading] = useState(false); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { control, handleSubmit } = useForm({ resolver: zodResolver(schema), @@ -40,7 +40,7 @@ export const RundeckAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "rundeck", accessToken: authToken, url: rundeckURL.trim() @@ -50,7 +50,7 @@ export const RundeckAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/rundeck/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/RundeckConfigurePage/RundeckConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/RundeckConfigurePage/RundeckConfigurePage.tsx index 7c8dada9f..555a5cc5c 100644 --- a/frontend/src/pages/secret-manager/integrations/RundeckConfigurePage/RundeckConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/RundeckConfigurePage/RundeckConfigurePage.tsx @@ -17,7 +17,7 @@ import { } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthById } from "@app/hooks/api/integrationAuth"; import { IntegrationsListPageTabs } from "@app/types/integrations"; @@ -44,7 +44,7 @@ export const RundeckConfigurePage = () => { }); const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.RundeckConfigurePage.id, @@ -73,7 +73,7 @@ export const RundeckConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -138,7 +138,7 @@ export const RundeckConfigurePage = () => { field.onChange(val); }} > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { isError={Boolean(error)} > { const navigate = useNavigate(); const { data: cloudIntegrations } = useGetCloudIntegrations(); const { currentOrg } = useOrganization(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const orgId = currentOrg?.id || ""; const integrationSlug = useSearch({ @@ -50,10 +50,10 @@ export const SelectIntegrationAuthPage = () => { if (integrationSlug === "github") { const sameProjectIntegrationAuths = filteredIntegrationAuths.filter( - (auth) => auth.projectId === currentWorkspace?.id + (auth) => auth.projectId === currentProject?.id ); const differentProjectIntegrationAuths = filteredIntegrationAuths.filter( - (auth) => auth.projectId !== currentWorkspace?.id + (auth) => auth.projectId !== currentProject?.id ); const installationIds = new Set(); @@ -117,11 +117,11 @@ export const SelectIntegrationAuthPage = () => { const handleConnectionSelect = async (integrationAuth: IntegrationAuth) => { if (integrationSlug === "github") { - if (integrationAuth.projectId === currentWorkspace?.id) { + if (integrationAuth.projectId === currentProject?.id) { navigate({ to: "/projects/secret-management/$projectId/integrations/github/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id @@ -130,14 +130,14 @@ export const SelectIntegrationAuthPage = () => { } else { // we create a copy of the existing integration auth from another project to the current project const newIntegrationAuth = await duplicateIntegrationAuth({ - projectId: currentWorkspace?.id || "", + projectId: currentProject?.id || "", integrationAuthId: integrationAuth.id }); navigate({ to: "/projects/secret-management/$projectId/integrations/github/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: newIntegrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/SupabaseAuthorizePage/SupabaseAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/SupabaseAuthorizePage/SupabaseAuthorizePage.tsx index 5ec969e11..210efea1c 100644 --- a/frontend/src/pages/secret-manager/integrations/SupabaseAuthorizePage/SupabaseAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/SupabaseAuthorizePage/SupabaseAuthorizePage.tsx @@ -2,13 +2,13 @@ import { useState } from "react"; import { useNavigate } from "@tanstack/react-router"; import { Button, Card, CardTitle, FormControl, Input } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; export const SupabaseAuthorizePage = () => { const navigate = useNavigate(); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); @@ -25,7 +25,7 @@ export const SupabaseAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "supabase", accessToken: apiKey }); @@ -35,7 +35,7 @@ export const SupabaseAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/supabase/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/SupabaseConfigurePage/SupabaseConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/SupabaseConfigurePage/SupabaseConfigurePage.tsx index 333c61a8e..38183a5ad 100644 --- a/frontend/src/pages/secret-manager/integrations/SupabaseConfigurePage/SupabaseConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/SupabaseConfigurePage/SupabaseConfigurePage.tsx @@ -11,7 +11,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -22,7 +22,7 @@ import { IntegrationsListPageTabs } from "@app/types/integrations"; export const SupabaseConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.SupabaseConfigurePage.id, select: (el) => el.integrationAuthId @@ -34,7 +34,7 @@ export const SupabaseConfigurePage = () => { }); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [secretPath, setSecretPath] = useState("/"); const [targetApp, setTargetApp] = useState(""); @@ -73,7 +73,7 @@ export const SupabaseConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -94,7 +94,7 @@ export const SupabaseConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { const navigate = useNavigate(); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); const [serverUrl, setServerUrl] = useState(""); @@ -37,7 +37,7 @@ export const TeamcityAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "teamcity", accessToken: apiKey, url: serverUrl @@ -48,7 +48,7 @@ export const TeamcityAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/teamcity/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/TeamcityConfigurePage/TeamcityConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/TeamcityConfigurePage/TeamcityConfigurePage.tsx index 9291d0d5f..8e7d0fe97 100644 --- a/frontend/src/pages/secret-manager/integrations/TeamcityConfigurePage/TeamcityConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/TeamcityConfigurePage/TeamcityConfigurePage.tsx @@ -14,7 +14,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -26,7 +26,7 @@ import { IntegrationsListPageTabs } from "@app/types/integrations"; export const TeamcityConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.TeamcityConfigurePage.id, @@ -34,7 +34,7 @@ export const TeamcityConfigurePage = () => { }); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [targetAppId, setTargetAppId] = useState(""); const [targetBuildConfigId, setTargetBuildConfigId] = useState(""); @@ -92,7 +92,7 @@ export const TeamcityConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -149,7 +149,7 @@ export const TeamcityConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { const navigate = useNavigate(); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); @@ -37,7 +37,7 @@ export const TerraformCloudAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "terraform-cloud", accessId: workspacesId, accessToken: apiKey @@ -48,7 +48,7 @@ export const TerraformCloudAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/terraform-cloud/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/TerraformCloudConfigurePage/TerraformCloudConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/TerraformCloudConfigurePage/TerraformCloudConfigurePage.tsx index a2d73feca..ba44dfaa4 100644 --- a/frontend/src/pages/secret-manager/integrations/TerraformCloudConfigurePage/TerraformCloudConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/TerraformCloudConfigurePage/TerraformCloudConfigurePage.tsx @@ -14,7 +14,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -44,7 +44,7 @@ export const TerraformCloudConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.TerraformCloudConfigurePage.id, @@ -56,7 +56,7 @@ export const TerraformCloudConfigurePage = () => { }); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [targetApp, setTargetApp] = useState(""); const [secretPath, setSecretPath] = useState("/"); @@ -107,7 +107,7 @@ export const TerraformCloudConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -160,7 +160,7 @@ export const TerraformCloudConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { mutateAsync } = useSaveIntegrationAccessToken(); const [apiKey, setApiKey] = useState(""); @@ -25,7 +25,7 @@ export const TravisCIAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "travisci", accessToken: apiKey }); @@ -35,7 +35,7 @@ export const TravisCIAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/travisci/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/TravisCIConfigurePage/TravisCIConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/TravisCIConfigurePage/TravisCIConfigurePage.tsx index 66c3a8022..e71a6ab31 100644 --- a/frontend/src/pages/secret-manager/integrations/TravisCIConfigurePage/TravisCIConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/TravisCIConfigurePage/TravisCIConfigurePage.tsx @@ -11,7 +11,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -23,7 +23,7 @@ export const TravisCIConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.TravisCIConfigurePage.id, @@ -36,7 +36,7 @@ export const TravisCIConfigurePage = () => { }); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [targetApp, setTargetApp] = useState(""); const [secretPath, setSecretPath] = useState("/"); @@ -74,7 +74,7 @@ export const TravisCIConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -95,7 +95,7 @@ export const TravisCIConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [secretPath, setSecretPath] = useState("/"); const [initialSyncBehavior, setInitialSyncBehavior] = useState( @@ -134,7 +134,7 @@ export const VercelConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -206,7 +206,7 @@ export const VercelConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { @@ -12,7 +12,7 @@ export const VercelOauthCallbackPage = () => { const { code, state } = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.VercelOauthCallbackPage.id }); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); useEffect(() => { (async () => { @@ -22,7 +22,7 @@ export const VercelOauthCallbackPage = () => { localStorage.removeItem("latestCSRFToken"); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, code: code as string, integration: "vercel" }); @@ -30,7 +30,7 @@ export const VercelOauthCallbackPage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/vercel/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/WindmillAuthorizePage/WindmillAuthorizePage.tsx b/frontend/src/pages/secret-manager/integrations/WindmillAuthorizePage/WindmillAuthorizePage.tsx index 36e791e56..3cd3ff335 100644 --- a/frontend/src/pages/secret-manager/integrations/WindmillAuthorizePage/WindmillAuthorizePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/WindmillAuthorizePage/WindmillAuthorizePage.tsx @@ -2,14 +2,14 @@ import { useState } from "react"; import { useNavigate } from "@tanstack/react-router"; import { Button, Card, CardTitle, FormControl, Input } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { isInfisicalCloud } from "@app/helpers/platform"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; export const WindmillAuthorizePage = () => { const navigate = useNavigate(); const { mutateAsync } = useSaveIntegrationAccessToken(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); const [apiUrl, setApiUrl] = useState(null); @@ -68,7 +68,7 @@ export const WindmillAuthorizePage = () => { setIsLoading(true); const integrationAuth = await mutateAsync({ - workspaceId: currentWorkspace.id, + workspaceId: currentProject.id, integration: "windmill", accessToken: apiKey, url: apiUrl ?? undefined @@ -79,7 +79,7 @@ export const WindmillAuthorizePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations/windmill/create", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { integrationAuthId: integrationAuth.id diff --git a/frontend/src/pages/secret-manager/integrations/WindmillConfigurePage/WindmillConfigurePage.tsx b/frontend/src/pages/secret-manager/integrations/WindmillConfigurePage/WindmillConfigurePage.tsx index 17929b2a3..7f781c89e 100644 --- a/frontend/src/pages/secret-manager/integrations/WindmillConfigurePage/WindmillConfigurePage.tsx +++ b/frontend/src/pages/secret-manager/integrations/WindmillConfigurePage/WindmillConfigurePage.tsx @@ -11,7 +11,7 @@ import { SelectItem } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateIntegration } from "@app/hooks/api"; import { useGetIntegrationAuthApps, @@ -23,7 +23,7 @@ export const WindmillConfigurePage = () => { const navigate = useNavigate(); const { mutateAsync } = useCreateIntegration(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const integrationAuthId = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.WindmillConfigurePage.id, @@ -36,7 +36,7 @@ export const WindmillConfigurePage = () => { }); const [selectedSourceEnvironment, setSelectedSourceEnvironment] = useState( - currentWorkspace.environments[0].slug + currentProject.environments[0].slug ); const [secretPath, setSecretPath] = useState("/"); const [targetApp, setTargetApp] = useState(""); @@ -76,7 +76,7 @@ export const WindmillConfigurePage = () => { navigate({ to: "/projects/secret-management/$projectId/integrations", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { selectedTab: IntegrationsListPageTabs.NativeIntegrations @@ -97,7 +97,7 @@ export const WindmillConfigurePage = () => { onValueChange={(val) => setSelectedSourceEnvironment(val)} className="w-full border border-mineshaft-500" > - {currentWorkspace?.environments.map((sourceEnvironment) => ( + {currentProject?.environments.map((sourceEnvironment) => ( { const project = await context.queryClient.ensureQueryData({ - queryKey: workspaceKeys.getWorkspaceById(params.projectId), - queryFn: () => fetchWorkspaceById(params.projectId) + queryKey: projectKeys.getProjectById(params.projectId), + queryFn: () => fetchProjectById(params.projectId) }); await context.queryClient.ensureQueryData({ queryKey: roleQueryKeys.getUserProjectPermissions({ - workspaceId: params.projectId + projectId: params.projectId }), - queryFn: () => fetchUserProjectPermissions({ workspaceId: params.projectId }) + queryFn: () => fetchUserProjectPermissions({ projectId: params.projectId }) }); return { diff --git a/frontend/src/pages/secret-scanning/SecretScanningDataSourceByIdPage/components/SecretScanningScanRow.tsx b/frontend/src/pages/secret-scanning/SecretScanningDataSourceByIdPage/components/SecretScanningScanRow.tsx index 6dc7ceb35..804c4d790 100644 --- a/frontend/src/pages/secret-scanning/SecretScanningDataSourceByIdPage/components/SecretScanningScanRow.tsx +++ b/frontend/src/pages/secret-scanning/SecretScanningDataSourceByIdPage/components/SecretScanningScanRow.tsx @@ -18,7 +18,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useToggle } from "@app/hooks"; import { SecretScanningScanStatus, @@ -41,7 +41,7 @@ export const SecretScanningScanRow = ({ scan }: Props) => { resolvedFindings, type } = scan; - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const totalFindings = resolvedFindings + unresolvedFindings; const navigate = useNavigate(); @@ -97,7 +97,7 @@ export const SecretScanningScanRow = ({ scan }: Props) => { navigate({ to: "/projects/secret-scanning/$projectId/findings", params: { - projectId: currentWorkspace.id + projectId: currentProject.id }, search: { search: `scanId:${id}` diff --git a/frontend/src/pages/secret-scanning/SecretScanningDataSourcesPage/components/SecretScanningDataSourcesSection.tsx b/frontend/src/pages/secret-scanning/SecretScanningDataSourcesPage/components/SecretScanningDataSourcesSection.tsx index 019ca3467..9ce2d728b 100644 --- a/frontend/src/pages/secret-scanning/SecretScanningDataSourcesPage/components/SecretScanningDataSourcesSection.tsx +++ b/frontend/src/pages/secret-scanning/SecretScanningDataSourcesPage/components/SecretScanningDataSourcesSection.tsx @@ -5,7 +5,7 @@ import { UpgradePlanModal } from "@app/components/license/UpgradePlanModal"; import { ProjectPermissionCan } from "@app/components/permissions"; import { CreateSecretScanningDataSourceModal } from "@app/components/secret-scanning"; import { Button, Spinner } from "@app/components/v2"; -import { ProjectPermissionSub, useSubscription, useWorkspace } from "@app/context"; +import { ProjectPermissionSub, useSubscription, useProject } from "@app/context"; import { ProjectPermissionSecretScanningDataSourceActions } from "@app/context/ProjectPermissionContext/types"; import { usePopUp } from "@app/hooks"; import { useListSecretScanningDataSources } from "@app/hooks/api/secretScanningV2"; @@ -20,10 +20,10 @@ export const SecretScanningDataSourcesSection = () => { const { subscription } = useSubscription(); - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: dataSources = [], isPending: isDataSourcesPending } = - useListSecretScanningDataSources(currentWorkspace.id, { + useListSecretScanningDataSources(currentProject.id, { refetchInterval: 30000, enabled: subscription.secretScanning }); diff --git a/frontend/src/pages/secret-scanning/SecretScanningFindingsPage/components/SecretScanningFindingsSection.tsx b/frontend/src/pages/secret-scanning/SecretScanningFindingsPage/components/SecretScanningFindingsSection.tsx index 82ea049f9..4a9cf1ad0 100644 --- a/frontend/src/pages/secret-scanning/SecretScanningFindingsPage/components/SecretScanningFindingsSection.tsx +++ b/frontend/src/pages/secret-scanning/SecretScanningFindingsPage/components/SecretScanningFindingsSection.tsx @@ -2,16 +2,16 @@ import { faArrowUpRightFromSquare, faBookOpen } from "@fortawesome/free-solid-sv import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { ContentLoader } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useListSecretScanningFindings } from "@app/hooks/api/secretScanningV2"; import { SecretScanningFindingsTable } from "./SecretScanningFindingsTable"; export const SecretScanningFindingsSection = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: findings = [], isPending: isFindingsPending } = useListSecretScanningFindings( - currentWorkspace.id, + currentProject.id, { refetchInterval: 30000 } diff --git a/frontend/src/pages/secret-scanning/SettingsPage/components/ProjectScanningConfigTab/ProjectScanningConfigTab.tsx b/frontend/src/pages/secret-scanning/SettingsPage/components/ProjectScanningConfigTab/ProjectScanningConfigTab.tsx index e8d3206d8..d071ea59e 100644 --- a/frontend/src/pages/secret-scanning/SettingsPage/components/ProjectScanningConfigTab/ProjectScanningConfigTab.tsx +++ b/frontend/src/pages/secret-scanning/SettingsPage/components/ProjectScanningConfigTab/ProjectScanningConfigTab.tsx @@ -1,16 +1,16 @@ import { faBan } from "@fortawesome/free-solid-svg-icons"; import { AccessRestrictedBanner, ContentLoader, EmptyState } from "@app/components/v2"; -import { useSubscription, useWorkspace } from "@app/context"; +import { useSubscription, useProject } from "@app/context"; import { useGetSecretScanningConfig } from "@app/hooks/api/secretScanningV2"; import { SecretScanningConfigForm } from "./SecretScanningConfigForm"; export const ProjectScanningConfigTab = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { subscription } = useSubscription(); const { data: config, isPending: isConfigPending } = useGetSecretScanningConfig( - currentWorkspace.id, + currentProject.id, { enabled: subscription.secretScanning } ); diff --git a/frontend/src/pages/secret-scanning/layout.tsx b/frontend/src/pages/secret-scanning/layout.tsx index 38899a233..c5e9694f8 100644 --- a/frontend/src/pages/secret-scanning/layout.tsx +++ b/frontend/src/pages/secret-scanning/layout.tsx @@ -1,9 +1,9 @@ import { createFileRoute } from "@tanstack/react-router"; import { BreadcrumbTypes } from "@app/components/v2"; -import { workspaceKeys } from "@app/hooks/api"; +import { projectKeys } from "@app/hooks/api"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; -import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; +import { fetchProjectById } from "@app/hooks/api/projects/queries"; import { ProjectSelect } from "@app/layouts/ProjectLayout/components/ProjectSelect"; import { SecretScanningLayout } from "@app/layouts/SecretScanningLayout"; @@ -13,15 +13,15 @@ export const Route = createFileRoute( component: SecretScanningLayout, beforeLoad: async ({ params, context }) => { const project = await context.queryClient.ensureQueryData({ - queryKey: workspaceKeys.getWorkspaceById(params.projectId), - queryFn: () => fetchWorkspaceById(params.projectId) + queryKey: projectKeys.getProjectById(params.projectId), + queryFn: () => fetchProjectById(params.projectId) }); await context.queryClient.ensureQueryData({ queryKey: roleQueryKeys.getUserProjectPermissions({ - workspaceId: params.projectId + projectId: params.projectId }), - queryFn: () => fetchUserProjectPermissions({ workspaceId: params.projectId }) + queryFn: () => fetchUserProjectPermissions({ projectId: params.projectId }) }); return { diff --git a/frontend/src/pages/ssh/SettingsPage/components/ProjectSshTab/components/ProjectSshConfigCasSection.tsx b/frontend/src/pages/ssh/SettingsPage/components/ProjectSshTab/components/ProjectSshConfigCasSection.tsx index 503717326..7b00b3ea0 100644 --- a/frontend/src/pages/ssh/SettingsPage/components/ProjectSshTab/components/ProjectSshConfigCasSection.tsx +++ b/frontend/src/pages/ssh/SettingsPage/components/ProjectSshTab/components/ProjectSshConfigCasSection.tsx @@ -6,7 +6,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; import { Button, FormControl, Select, SelectItem } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { useGetProjectSshConfig, useListWorkspaceSshCas, @@ -23,9 +23,9 @@ const schema = z export type FormData = z.infer; export const ProjectSshConfigCasSection = () => { - const { currentWorkspace } = useWorkspace(); - const { data: sshConfig } = useGetProjectSshConfig(currentWorkspace.id); - const { data: sshCas } = useListWorkspaceSshCas(currentWorkspace.id); + const { currentProject } = useProject(); + const { data: sshConfig } = useGetProjectSshConfig(currentProject.id); + const { data: sshCas } = useListWorkspaceSshCas(currentProject.id); const { mutate: updateProjectSshConfig } = useUpdateProjectSshConfig(); const { @@ -49,7 +49,7 @@ export const ProjectSshConfigCasSection = () => { const onFormSubmit = async ({ defaultUserSshCaId, defaultHostSshCaId }: FormData) => { try { await updateProjectSshConfig({ - projectId: currentWorkspace.id, + projectId: currentProject.id, defaultUserSshCaId: defaultUserSshCaId || undefined, defaultHostSshCaId: defaultHostSshCaId || undefined }); diff --git a/frontend/src/pages/ssh/SshCaByIDPage/SshCaByIDPage.tsx b/frontend/src/pages/ssh/SshCaByIDPage/SshCaByIDPage.tsx index 8bed6e647..88a8c7f60 100644 --- a/frontend/src/pages/ssh/SshCaByIDPage/SshCaByIDPage.tsx +++ b/frontend/src/pages/ssh/SshCaByIDPage/SshCaByIDPage.tsx @@ -15,7 +15,7 @@ import { Tooltip } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { useDeleteSshCa, useGetSshCaById } from "@app/hooks/api"; import { usePopUp } from "@app/hooks/usePopUp"; @@ -23,9 +23,9 @@ import { SshCaModal } from "../SshCasPage/components/SshCaModal"; import { SshCaDetailsSection, SshCertificateTemplatesSection } from "./components"; const Page = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const navigate = useNavigate(); - const projectId = currentWorkspace?.id || ""; + const projectId = currentProject?.id || ""; const caId = useParams({ from: ROUTE_PATHS.Ssh.SshCaByIDPage.id, select: (el) => el.caId diff --git a/frontend/src/pages/ssh/SshCaByIDPage/components/SshCertificateModal.tsx b/frontend/src/pages/ssh/SshCaByIDPage/components/SshCertificateModal.tsx index 5c4673931..6e0baa502 100644 --- a/frontend/src/pages/ssh/SshCaByIDPage/components/SshCertificateModal.tsx +++ b/frontend/src/pages/ssh/SshCaByIDPage/components/SshCertificateModal.tsx @@ -14,7 +14,7 @@ import { Select, SelectItem } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { SshCertTemplateStatus, useGetSshCertTemplate, @@ -71,8 +71,8 @@ enum SshCertificateOperation { } export const SshCertificateModal = ({ popUp, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const [operation, setOperation] = useState( SshCertificateOperation.SIGN_SSH_KEY ); diff --git a/frontend/src/pages/ssh/SshCaByIDPage/components/SshCertificateTemplateModal.tsx b/frontend/src/pages/ssh/SshCaByIDPage/components/SshCertificateTemplateModal.tsx index 55d4104ac..17c7a552e 100644 --- a/frontend/src/pages/ssh/SshCaByIDPage/components/SshCertificateTemplateModal.tsx +++ b/frontend/src/pages/ssh/SshCaByIDPage/components/SshCertificateTemplateModal.tsx @@ -16,7 +16,7 @@ import { SelectItem, Switch } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateSshCertTemplate, useGetSshCaById, @@ -77,7 +77,7 @@ type Props = { }; export const SshCertificateTemplateModal = ({ popUp, handlePopUpToggle, sshCaId }: Props) => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const { data: ca } = useGetSshCaById(sshCaId); @@ -85,7 +85,7 @@ export const SshCertificateTemplateModal = ({ popUp, handlePopUpToggle, sshCaId (popUp?.sshCertificateTemplate?.data as { id: string })?.id || "" ); - const { data: cas } = useListWorkspaceSshCas(currentWorkspace?.id || ""); + const { data: cas } = useListWorkspaceSshCas(currentProject?.id || ""); const { mutateAsync: createSshCertTemplate } = useCreateSshCertTemplate(); const { mutateAsync: updateSshCertTemplate } = useUpdateSshCertTemplate(); diff --git a/frontend/src/pages/ssh/SshCasPage/components/SshCaModal.tsx b/frontend/src/pages/ssh/SshCasPage/components/SshCaModal.tsx index 758af52a9..4c8ce4e19 100644 --- a/frontend/src/pages/ssh/SshCasPage/components/SshCaModal.tsx +++ b/frontend/src/pages/ssh/SshCasPage/components/SshCaModal.tsx @@ -15,7 +15,7 @@ import { SelectItem, TextArea } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateSshCa, useGetSshCaById, useUpdateSshCa } from "@app/hooks/api"; import { SshCaKeySource, @@ -54,8 +54,8 @@ export type FormData = z.infer; export const SshCaModal = ({ popUp, handlePopUpToggle }: Props) => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; const { data: ca } = useGetSshCaById((popUp?.sshCa?.data as { caId: string })?.caId || ""); const { mutateAsync: createMutateAsync } = useCreateSshCa(); diff --git a/frontend/src/pages/ssh/SshCasPage/components/SshCaTable.tsx b/frontend/src/pages/ssh/SshCasPage/components/SshCaTable.tsx index 37a086f37..c94f73664 100644 --- a/frontend/src/pages/ssh/SshCasPage/components/SshCaTable.tsx +++ b/frontend/src/pages/ssh/SshCasPage/components/SshCaTable.tsx @@ -21,7 +21,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { SshCaStatus, useListWorkspaceSshCas } from "@app/hooks/api"; import { caStatusToNameMap, getCaStatusBadgeVariant } from "@app/hooks/api/ca/constants"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -35,8 +35,8 @@ type Props = { export const SshCaTable = ({ handlePopUpOpen }: Props) => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); - const { data, isPending } = useListWorkspaceSshCas(currentWorkspace?.id || ""); + const { currentProject } = useProject(); + const { data, isPending } = useListWorkspaceSshCas(currentProject?.id || ""); return (
    @@ -63,7 +63,7 @@ export const SshCaTable = ({ handlePopUpOpen }: Props) => { navigate({ to: "/projects/ssh/$projectId/ca/$caId", params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, caId: ca.id } }) diff --git a/frontend/src/pages/ssh/SshCertsPage/components/SshCertificatesTable.tsx b/frontend/src/pages/ssh/SshCertsPage/components/SshCertificatesTable.tsx index c48b407ac..1ebf3112c 100644 --- a/frontend/src/pages/ssh/SshCertsPage/components/SshCertificatesTable.tsx +++ b/frontend/src/pages/ssh/SshCertsPage/components/SshCertificatesTable.tsx @@ -15,7 +15,7 @@ import { THead, Tr } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useListWorkspaceSshCertificates } from "@app/hooks/api"; import { getSshCertStatusBadgeDetails } from "./SshCertificatesTable.utils"; @@ -23,12 +23,12 @@ import { getSshCertStatusBadgeDetails } from "./SshCertificatesTable.utils"; const PER_PAGE_INIT = 25; export const SshCertificatesTable = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const [page, setPage] = useState(1); const [perPage, setPerPage] = useState(PER_PAGE_INIT); const { data, isPending } = useListWorkspaceSshCertificates({ - projectId: currentWorkspace?.id || "", + projectId: currentProject?.id || "", offset: (page - 1) * perPage, limit: perPage }); diff --git a/frontend/src/pages/ssh/SshHostGroupDetailsByIDPage/SshHostGroupDetailsByIDPage.tsx b/frontend/src/pages/ssh/SshHostGroupDetailsByIDPage/SshHostGroupDetailsByIDPage.tsx index 6b43e8324..e030a8fa0 100644 --- a/frontend/src/pages/ssh/SshHostGroupDetailsByIDPage/SshHostGroupDetailsByIDPage.tsx +++ b/frontend/src/pages/ssh/SshHostGroupDetailsByIDPage/SshHostGroupDetailsByIDPage.tsx @@ -16,7 +16,7 @@ import { Tooltip } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { useDeleteSshHostGroup, useGetSshHostGroupById } from "@app/hooks/api"; import { usePopUp } from "@app/hooks/usePopUp"; @@ -24,9 +24,9 @@ import { SshHostGroupModal } from "../SshHostsPage/components/SshHostGroupModal" import { SshHostGroupDetailsSection, SshHostGroupHostsSection } from "./components"; const Page = () => { - const { currentWorkspace } = useWorkspace(); + const { currentProject } = useProject(); const navigate = useNavigate(); - const projectId = currentWorkspace?.id || ""; + const projectId = currentProject?.id || ""; const sshHostGroupId = useParams({ from: ROUTE_PATHS.Ssh.SshHostGroupDetailsByIDPage.id, select: (el) => el.sshHostGroupId diff --git a/frontend/src/pages/ssh/SshHostsPage/components/SshHostGroupModal.tsx b/frontend/src/pages/ssh/SshHostsPage/components/SshHostGroupModal.tsx index 84be5a96d..4905695d4 100644 --- a/frontend/src/pages/ssh/SshHostsPage/components/SshHostGroupModal.tsx +++ b/frontend/src/pages/ssh/SshHostsPage/components/SshHostGroupModal.tsx @@ -17,7 +17,7 @@ import { Select, SelectItem } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateSshHostGroup, useGetSshHostGroupById, @@ -56,8 +56,8 @@ const schema = z export type FormData = z.infer; export const SshHostGroupModal = ({ popUp, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace.id; + const { currentProject } = useProject(); + const projectId = currentProject.id; const { data: sshHostGroups } = useListWorkspaceSshHostGroups(projectId); const { data: members = [] } = useGetWorkspaceUsers(projectId); const { data: groups = [] } = useListWorkspaceGroups(projectId); diff --git a/frontend/src/pages/ssh/SshHostsPage/components/SshHostGroupsTable.tsx b/frontend/src/pages/ssh/SshHostsPage/components/SshHostGroupsTable.tsx index daedabdc9..af3a97dc6 100644 --- a/frontend/src/pages/ssh/SshHostsPage/components/SshHostGroupsTable.tsx +++ b/frontend/src/pages/ssh/SshHostsPage/components/SshHostGroupsTable.tsx @@ -28,7 +28,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { useListWorkspaceSshHostGroups } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -41,8 +41,8 @@ type Props = { export const SshHostGroupsTable = ({ handlePopUpOpen }: Props) => { const navigate = useNavigate(); - const { currentWorkspace } = useWorkspace(); - const { data, isPending } = useListWorkspaceSshHostGroups(currentWorkspace?.id || ""); + const { currentProject } = useProject(); + const { data, isPending } = useListWorkspaceSshHostGroups(currentProject?.id || ""); return (
    @@ -69,7 +69,7 @@ export const SshHostGroupsTable = ({ handlePopUpOpen }: Props) => { navigate({ to: "/projects/ssh/$projectId/ssh-host-groups/$sshHostGroupId", params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, sshHostGroupId: group.id } }) @@ -170,7 +170,7 @@ export const SshHostGroupsTable = ({ handlePopUpOpen }: Props) => { navigate({ to: "/projects/ssh/$projectId/ssh-host-groups/$sshHostGroupId", params: { - projectId: currentWorkspace.id, + projectId: currentProject.id, sshHostGroupId: group.id } }); diff --git a/frontend/src/pages/ssh/SshHostsPage/components/SshHostModal.tsx b/frontend/src/pages/ssh/SshHostsPage/components/SshHostModal.tsx index 5619a75c4..e1ea75143 100644 --- a/frontend/src/pages/ssh/SshHostsPage/components/SshHostModal.tsx +++ b/frontend/src/pages/ssh/SshHostsPage/components/SshHostModal.tsx @@ -18,7 +18,7 @@ import { Select, SelectItem } from "@app/components/v2"; -import { useWorkspace } from "@app/context"; +import { useProject } from "@app/context"; import { useCreateSshHost, useGetSshHostById, @@ -68,9 +68,9 @@ const schema = z export type FormData = z.infer; export const SshHostModal = ({ popUp, handlePopUpToggle }: Props) => { - const { currentWorkspace } = useWorkspace(); - const projectId = currentWorkspace?.id || ""; - const { data: sshHosts } = useListWorkspaceSshHosts(currentWorkspace.id); + const { currentProject } = useProject(); + const projectId = currentProject?.id || ""; + const { data: sshHosts } = useListWorkspaceSshHosts(currentProject.id); const { data: members = [] } = useGetWorkspaceUsers(projectId); const { data: groups = [] } = useListWorkspaceGroups(projectId); const [expandedMappings, setExpandedMappings] = useState>({}); diff --git a/frontend/src/pages/ssh/SshHostsPage/components/SshHostsTable.tsx b/frontend/src/pages/ssh/SshHostsPage/components/SshHostsTable.tsx index 62f563cce..f29f0147e 100644 --- a/frontend/src/pages/ssh/SshHostsPage/components/SshHostsTable.tsx +++ b/frontend/src/pages/ssh/SshHostsPage/components/SshHostsTable.tsx @@ -30,7 +30,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionSshHostActions, ProjectPermissionSub, useWorkspace } from "@app/context"; +import { ProjectPermissionSshHostActions, ProjectPermissionSub, useProject } from "@app/context"; import { fetchSshHostUserCaPublicKey, useListWorkspaceSshHosts } from "@app/hooks/api"; import { LoginMappingSource } from "@app/hooks/api/sshHost/types"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -43,8 +43,8 @@ type Props = { }; export const SshHostsTable = ({ handlePopUpOpen }: Props) => { - const { currentWorkspace } = useWorkspace(); - const { data, isPending } = useListWorkspaceSshHosts(currentWorkspace?.id || ""); + const { currentProject } = useProject(); + const { data, isPending } = useListWorkspaceSshHosts(currentProject?.id || ""); const downloadTxtFile = (filename: string, content: string) => { const blob = new Blob([content], { type: "text/plain;charset=utf-8" }); diff --git a/frontend/src/pages/ssh/layout.tsx b/frontend/src/pages/ssh/layout.tsx index 008aca393..a18e15f54 100644 --- a/frontend/src/pages/ssh/layout.tsx +++ b/frontend/src/pages/ssh/layout.tsx @@ -1,9 +1,9 @@ import { createFileRoute } from "@tanstack/react-router"; import { BreadcrumbTypes } from "@app/components/v2"; -import { workspaceKeys } from "@app/hooks/api"; +import { projectKeys } from "@app/hooks/api"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; -import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries"; +import { fetchProjectById } from "@app/hooks/api/projects/queries"; import { ProjectSelect } from "@app/layouts/ProjectLayout/components/ProjectSelect"; import { SshLayout } from "@app/layouts/SshLayout"; @@ -13,15 +13,15 @@ export const Route = createFileRoute( component: SshLayout, beforeLoad: async ({ params, context }) => { const project = await context.queryClient.ensureQueryData({ - queryKey: workspaceKeys.getWorkspaceById(params.projectId), - queryFn: () => fetchWorkspaceById(params.projectId) + queryKey: projectKeys.getProjectById(params.projectId), + queryFn: () => fetchProjectById(params.projectId) }); await context.queryClient.ensureQueryData({ queryKey: roleQueryKeys.getUserProjectPermissions({ - workspaceId: params.projectId + projectId: params.projectId }), - queryFn: () => fetchUserProjectPermissions({ workspaceId: params.projectId }) + queryFn: () => fetchUserProjectPermissions({ projectId: params.projectId }) }); return { From 626774a9675538a9078c9fd416473608289be29a Mon Sep 17 00:00:00 2001 From: = Date: Sun, 14 Sep 2025 22:34:08 +0530 Subject: [PATCH 13/27] feat: added test --- .../e2e-test/routes/v2/secret-folder.spec.ts | 165 +++++ backend/e2e-test/routes/v4/secrets.spec.ts | 678 ++++++++++++++++++ .../src/server/routes/v1/project-router.ts | 1 - backend/src/server/routes/v4/secret-router.ts | 1 - .../src/hooks/api/secretFolders/queries.tsx | 4 +- .../OverviewPage/OverviewPage.tsx | 3 +- 6 files changed, 846 insertions(+), 6 deletions(-) create mode 100644 backend/e2e-test/routes/v2/secret-folder.spec.ts create mode 100644 backend/e2e-test/routes/v4/secrets.spec.ts diff --git a/backend/e2e-test/routes/v2/secret-folder.spec.ts b/backend/e2e-test/routes/v2/secret-folder.spec.ts new file mode 100644 index 000000000..a2bed759a --- /dev/null +++ b/backend/e2e-test/routes/v2/secret-folder.spec.ts @@ -0,0 +1,165 @@ +import { seedData1 } from "@app/db/seed-data"; + +const createFolder = async (dto: { path: string; name: string }) => { + const res = await testServer.inject({ + method: "POST", + url: `/api/v2/folders`, + headers: { + authorization: `Bearer ${jwtAuthToken}` + }, + body: { + projectId: seedData1.project.id, + environment: seedData1.environment.slug, + name: dto.name, + path: dto.path + } + }); + expect(res.statusCode).toBe(200); + return res.json().folder; +}; + +const deleteFolder = async (dto: { path: string; id: string }) => { + const res = await testServer.inject({ + method: "DELETE", + url: `/api/v2/folders/${dto.id}`, + headers: { + authorization: `Bearer ${jwtAuthToken}` + }, + body: { + projectId: seedData1.project.id, + environment: seedData1.environment.slug, + path: dto.path + } + }); + expect(res.statusCode).toBe(200); + return res.json().folder; +}; + +describe("Secret Folder Router", async () => { + test.each([ + { name: "folder1", path: "/" }, // one in root + { name: "folder1", path: "/level1/level2" }, // then create a deep one creating intermediate ones + { name: "folder2", path: "/" }, + { name: "folder1", path: "/level1/level2" } // this should not create folder return same thing + ])("Create folder $name in $path", async ({ name, path }) => { + const createdFolder = await createFolder({ path, name }); + // check for default environments + expect(createdFolder).toEqual( + expect.objectContaining({ + name, + id: expect.any(String) + }) + ); + await deleteFolder({ path, id: createdFolder.id }); + }); + + test.each([ + { + path: "/", + expected: { + folders: [{ name: "folder1" }, { name: "level1" }, { name: "folder2" }], + length: 3 + } + }, + { path: "/level1/level2", expected: { folders: [{ name: "folder1" }], length: 1 } } + ])("Get folders $path", async ({ path, expected }) => { + const newFolders = await Promise.all(expected.folders.map(({ name }) => createFolder({ name, path }))); + + const res = await testServer.inject({ + method: "GET", + url: `/api/v2/folders`, + headers: { + authorization: `Bearer ${jwtAuthToken}` + }, + query: { + projectId: seedData1.project.id, + environment: seedData1.environment.slug, + path + } + }); + + expect(res.statusCode).toBe(200); + const payload = JSON.parse(res.payload); + expect(payload).toHaveProperty("folders"); + expect(payload.folders.length >= expected.folders.length).toBeTruthy(); + expect(payload).toEqual({ + folders: expect.arrayContaining(expected.folders.map((el) => expect.objectContaining(el))) + }); + + await Promise.all(newFolders.map(({ id }) => deleteFolder({ path, id }))); + }); + + test("Update a deep folder", async () => { + const newFolder = await createFolder({ name: "folder-updated", path: "/level1/level2" }); + expect(newFolder).toEqual( + expect.objectContaining({ + id: expect.any(String), + name: "folder-updated" + }) + ); + + const resUpdatedFolders = await testServer.inject({ + method: "GET", + url: `/api/v2/folders`, + headers: { + authorization: `Bearer ${jwtAuthToken}` + }, + query: { + projectId: seedData1.project.id, + environment: seedData1.environment.slug, + path: "/level1/level2" + } + }); + + expect(resUpdatedFolders.statusCode).toBe(200); + const updatedFolderList = JSON.parse(resUpdatedFolders.payload); + expect(updatedFolderList).toHaveProperty("folders"); + expect(updatedFolderList.folders[0].name).toEqual("folder-updated"); + + await deleteFolder({ path: "/level1/level2", id: newFolder.id }); + }); + + test("Delete a deep folder", async () => { + const newFolder = await createFolder({ name: "folder-updated", path: "/level1/level2" }); + const res = await testServer.inject({ + method: "DELETE", + url: `/api/v2/folders/${newFolder.id}`, + headers: { + authorization: `Bearer ${jwtAuthToken}` + }, + body: { + projectId: seedData1.project.id, + environment: seedData1.environment.slug, + path: "/level1/level2" + } + }); + + expect(res.statusCode).toBe(200); + const payload = JSON.parse(res.payload); + expect(payload).toHaveProperty("folder"); + expect(payload.folder).toEqual( + expect.objectContaining({ + id: expect.any(String), + name: "folder-updated" + }) + ); + + const resUpdatedFolders = await testServer.inject({ + method: "GET", + url: `/api/v2/folders`, + headers: { + authorization: `Bearer ${jwtAuthToken}` + }, + query: { + projectId: seedData1.project.id, + environment: seedData1.environment.slug, + path: "/level1/level2" + } + }); + + expect(resUpdatedFolders.statusCode).toBe(200); + const updatedFolderList = JSON.parse(resUpdatedFolders.payload); + expect(updatedFolderList).toHaveProperty("folders"); + expect(updatedFolderList.folders.length).toEqual(0); + }); +}); diff --git a/backend/e2e-test/routes/v4/secrets.spec.ts b/backend/e2e-test/routes/v4/secrets.spec.ts new file mode 100644 index 000000000..979adddf8 --- /dev/null +++ b/backend/e2e-test/routes/v4/secrets.spec.ts @@ -0,0 +1,678 @@ +import { SecretType } from "@app/db/schemas"; +import { seedData1 } from "@app/db/seed-data"; +import { AuthMode } from "@app/services/auth/auth-type"; + +type TRawSecret = { + secretKey: string; + secretValue: string; + secretComment?: string; + version: number; +}; + +const createSecret = async (dto: { path: string; key: string; value: string; comment: string; type?: SecretType }) => { + const createSecretReqBody = { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + type: dto.type || SecretType.Shared, + secretPath: dto.path, + secretKey: dto.key, + secretValue: dto.value, + secretComment: dto.comment + }; + const createSecRes = await testServer.inject({ + method: "POST", + url: `/api/v4/secrets/${dto.key}`, + headers: { + authorization: `Bearer ${jwtAuthToken}` + }, + body: createSecretReqBody + }); + expect(createSecRes.statusCode).toBe(200); + const createdSecretPayload = JSON.parse(createSecRes.payload); + expect(createdSecretPayload).toHaveProperty("secret"); + return createdSecretPayload.secret as TRawSecret; +}; + +const deleteSecret = async (dto: { path: string; key: string }) => { + const deleteSecRes = await testServer.inject({ + method: "DELETE", + url: `/api/v4/secrets/${dto.key}`, + headers: { + authorization: `Bearer ${jwtAuthToken}` + }, + body: { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + secretPath: dto.path + } + }); + expect(deleteSecRes.statusCode).toBe(200); + const updatedSecretPayload = JSON.parse(deleteSecRes.payload); + expect(updatedSecretPayload).toHaveProperty("secret"); + return updatedSecretPayload.secret as TRawSecret; +}; + +describe.each([{ auth: AuthMode.JWT }, { auth: AuthMode.IDENTITY_ACCESS_TOKEN }])( + "Secret V4 - $auth mode", + async ({ auth }) => { + let folderId = ""; + let authToken = ""; + const secretTestCases = [ + { + path: "/", + secret: { + key: "SEC1", + value: "something-secret", + comment: "some comment" + } + }, + { + path: "/nested1/nested2/folder", + secret: { + key: "NESTED-SEC1", + value: "something-secret", + comment: "some comment" + } + }, + { + path: "/", + secret: { + key: "secret-key-2", + value: `-----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCa6eeFk+cMVqFn + hoVQDYgn2Ptp5Azysr2UPq6P73pCL9BzUtOXKZROqDyGehzzfg3wE2KdYU1Jk5Uq + fP0ZOWDIlM2SaVCSI3FW32o5+ZiggjpqcVdLFc/PS0S/ZdSmpPd8h11iO2brtIAI + ugTW8fcKlGSNUwx9aFmE7A6JnTRliTxB1l6QaC+YAwTK39VgeVH2gDSWC407aS15 + QobAkaBKKmFkzB5D7i2ZJwt+uXJV/rbLmyDmtnw0lubciGn7NX9wbYef180fisqT + aPNAz0nPKk0fFH2Wd5MZixNGbrrpDA+FCYvI5doThZyT2hpj08qWP07oXXCAqw46 + IEupNSILAgMBAAECggEBAIJb5KzeaiZS3B3O8G4OBQ5rJB3WfyLYUHnoSWLsBbie + nc392/ovThLmtZAAQE6SO85Tsb93+t64Z2TKqv1H8G658UeMgfWIB78v4CcLJ2mi + TN/3opqXrzjkQOTDHzBgT7al/mpETHZ6fOdbCemK0fVALGFUioUZg4M8VXtuI4Jw + q28jAyoRKrCrzda4BeQ553NZ4G5RvwhX3O2I8B8upTbt5hLcisBKy8MPLYY5LUFj + YKAP+raf6QLliP6KYHuVxUlgzxjLTxVG41etcyqqZF+foyiKBO3PU3n8oh++tgQP + ExOxiR0JSkBG5b+oOBD0zxcvo3/SjBHn0dJOZCSU2SkCgYEAyCe676XnNyBZMRD7 + 6trsaoiCWBpA6M8H44+x3w4cQFtqV38RyLy60D+iMKjIaLqeBbnay61VMzo24Bz3 + EuF2n4+9k/MetLJ0NCw8HmN5k0WSMD2BFsJWG8glVbzaqzehP4tIclwDTYc1jQVt + IoV2/iL7HGT+x2daUwbU5kN5hK0CgYEAxiLB+fmjxJW7VY4SHDLqPdpIW0q/kv4K + d/yZBrCX799vjmFb9vLh7PkQUfJhMJ/ttJOd7EtT3xh4mfkBeLfHwVU0d/ahbmSH + UJu/E9ZGxAW3PP0kxHZtPrLKQwBnfq8AxBauIhR3rPSorQTIOKtwz1jMlHFSUpuL + 3KeK2YfDYJcCgYEAkQnJOlNcAuRb/WQzSHIvktssqK8NjiZHryy3Vc0hx7j2jES2 + HGI2dSVHYD9OSiXA0KFm3OTTsnViwm/60iGzFdjRJV6tR39xGUVcoyCuPnvRfUd0 + PYvBXgxgkYpyYlPDcwp5CvWGJy3tLi1acgOIwIuUr3S38sL//t4adGk8q1kCgYB8 + Jbs1Tl53BvrimKpwUNbE+sjrquJu0A7vL68SqgQJoQ7dP9PH4Ff/i+/V6PFM7mib + BQOm02wyFbs7fvKVGVJoqWK+6CIucX732x7W5yRgHtS5ukQXdbzt1Ek3wkEW98Cb + HTruz7RNAt/NyXlLSODeit1lBbx3Vk9EaxZtRsv88QKBgGn7JwXgez9NOyobsNIo + QVO80rpUeenSjuFi+R0VmbLKe/wgAQbYJ0xTAsQ0btqViMzB27D6mJyC+KUIwWNX + MN8a+m46v4kqvZkKL2c4gmDibyURNe/vCtCHFuanJS/1mo2tr4XDyEeiuK52eTd9 + omQDpP86RX/hIIQ+JyLSaWYa + -----END PRIVATE KEY-----`, + comment: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation" + } + }, + { + path: "/nested1/nested2/folder", + secret: { + key: "secret-key-3", + value: `-----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCa6eeFk+cMVqFn + hoVQDYgn2Ptp5Azysr2UPq6P73pCL9BzUtOXKZROqDyGehzzfg3wE2KdYU1Jk5Uq + fP0ZOWDIlM2SaVCSI3FW32o5+ZiggjpqcVdLFc/PS0S/ZdSmpPd8h11iO2brtIAI + ugTW8fcKlGSNUwx9aFmE7A6JnTRliTxB1l6QaC+YAwTK39VgeVH2gDSWC407aS15 + QobAkaBKKmFkzB5D7i2ZJwt+uXJV/rbLmyDmtnw0lubciGn7NX9wbYef180fisqT + aPNAz0nPKk0fFH2Wd5MZixNGbrrpDA+FCYvI5doThZyT2hpj08qWP07oXXCAqw46 + IEupNSILAgMBAAECggEBAIJb5KzeaiZS3B3O8G4OBQ5rJB3WfyLYUHnoSWLsBbie + nc392/ovThLmtZAAQE6SO85Tsb93+t64Z2TKqv1H8G658UeMgfWIB78v4CcLJ2mi + TN/3opqXrzjkQOTDHzBgT7al/mpETHZ6fOdbCemK0fVALGFUioUZg4M8VXtuI4Jw + q28jAyoRKrCrzda4BeQ553NZ4G5RvwhX3O2I8B8upTbt5hLcisBKy8MPLYY5LUFj + YKAP+raf6QLliP6KYHuVxUlgzxjLTxVG41etcyqqZF+foyiKBO3PU3n8oh++tgQP + ExOxiR0JSkBG5b+oOBD0zxcvo3/SjBHn0dJOZCSU2SkCgYEAyCe676XnNyBZMRD7 + 6trsaoiCWBpA6M8H44+x3w4cQFtqV38RyLy60D+iMKjIaLqeBbnay61VMzo24Bz3 + EuF2n4+9k/MetLJ0NCw8HmN5k0WSMD2BFsJWG8glVbzaqzehP4tIclwDTYc1jQVt + IoV2/iL7HGT+x2daUwbU5kN5hK0CgYEAxiLB+fmjxJW7VY4SHDLqPdpIW0q/kv4K + d/yZBrCX799vjmFb9vLh7PkQUfJhMJ/ttJOd7EtT3xh4mfkBeLfHwVU0d/ahbmSH + UJu/E9ZGxAW3PP0kxHZtPrLKQwBnfq8AxBauIhR3rPSorQTIOKtwz1jMlHFSUpuL + 3KeK2YfDYJcCgYEAkQnJOlNcAuRb/WQzSHIvktssqK8NjiZHryy3Vc0hx7j2jES2 + HGI2dSVHYD9OSiXA0KFm3OTTsnViwm/60iGzFdjRJV6tR39xGUVcoyCuPnvRfUd0 + PYvBXgxgkYpyYlPDcwp5CvWGJy3tLi1acgOIwIuUr3S38sL//t4adGk8q1kCgYB8 + Jbs1Tl53BvrimKpwUNbE+sjrquJu0A7vL68SqgQJoQ7dP9PH4Ff/i+/V6PFM7mib + BQOm02wyFbs7fvKVGVJoqWK+6CIucX732x7W5yRgHtS5ukQXdbzt1Ek3wkEW98Cb + HTruz7RNAt/NyXlLSODeit1lBbx3Vk9EaxZtRsv88QKBgGn7JwXgez9NOyobsNIo + QVO80rpUeenSjuFi+R0VmbLKe/wgAQbYJ0xTAsQ0btqViMzB27D6mJyC+KUIwWNX + MN8a+m46v4kqvZkKL2c4gmDibyURNe/vCtCHFuanJS/1mo2tr4XDyEeiuK52eTd9 + omQDpP86RX/hIIQ+JyLSaWYa + -----END PRIVATE KEY-----`, + comment: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation" + } + }, + { + path: "/nested1/nested2/folder", + secret: { + key: "secret-key-3", + value: + "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uCg==", + comment: "" + } + } + ]; + + beforeAll(async () => { + if (auth === AuthMode.JWT) { + authToken = jwtAuthToken; + } else if (auth === AuthMode.IDENTITY_ACCESS_TOKEN) { + const identityLogin = await testServer.inject({ + method: "POST", + url: "/api/v1/auth/universal-auth/login", + body: { + clientSecret: seedData1.machineIdentity.clientCredentials.secret, + clientId: seedData1.machineIdentity.clientCredentials.id + } + }); + expect(identityLogin.statusCode).toBe(200); + authToken = identityLogin.json().accessToken; + } + // create a deep folder + const folderCreate = await testServer.inject({ + method: "POST", + url: `/api/v2/folders`, + headers: { + authorization: `Bearer ${jwtAuthToken}` + }, + body: { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + name: "folder", + path: "/nested1/nested2" + } + }); + expect(folderCreate.statusCode).toBe(200); + folderId = folderCreate.json().folder.id; + }); + + afterAll(async () => { + const deleteFolder = await testServer.inject({ + method: "DELETE", + url: `/api/v2/folders/${folderId}`, + headers: { + authorization: `Bearer ${authToken}` + }, + body: { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + path: "/nested1/nested2" + } + }); + expect(deleteFolder.statusCode).toBe(200); + }); + + const getSecrets = async (environment: string, secretPath = "/") => { + const res = await testServer.inject({ + method: "GET", + url: `/api/v4/secrets`, + headers: { + authorization: `Bearer ${authToken}` + }, + query: { + secretPath, + environment, + projectId: seedData1.projectV3.id + } + }); + const secrets: TRawSecret[] = JSON.parse(res.payload).secrets || []; + return secrets; + }; + + test.each(secretTestCases)("Create secret in path $path", async ({ secret, path }) => { + const createdSecret = await createSecret({ path, ...secret }); + expect(createdSecret.secretKey).toEqual(secret.key); + expect(createdSecret.secretValue).toEqual(secret.value); + expect(createdSecret.secretComment || "").toEqual(secret.comment); + expect(createdSecret.version).toEqual(1); + + const secrets = await getSecrets(seedData1.environment.slug, path); + expect(secrets).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + secretKey: secret.key, + secretValue: secret.value, + type: SecretType.Shared + }) + ]) + ); + await deleteSecret({ path, key: secret.key }); + }); + + test.each(secretTestCases)("Get secret by name in path $path", async ({ secret, path }) => { + await createSecret({ path, ...secret }); + + const getSecByNameRes = await testServer.inject({ + method: "GET", + url: `/api/v4/secrets/${secret.key}`, + headers: { + authorization: `Bearer ${authToken}` + }, + query: { + secretPath: path, + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug + } + }); + expect(getSecByNameRes.statusCode).toBe(200); + const getSecretByNamePayload = JSON.parse(getSecByNameRes.payload); + expect(getSecretByNamePayload).toHaveProperty("secret"); + const decryptedSecret = getSecretByNamePayload.secret as TRawSecret; + expect(decryptedSecret.secretKey).toEqual(secret.key); + expect(decryptedSecret.secretValue).toEqual(secret.value); + expect(decryptedSecret.secretComment || "").toEqual(secret.comment); + + await deleteSecret({ path, key: secret.key }); + }); + + if (auth === AuthMode.JWT) { + test.each(secretTestCases)( + "Creating personal secret without shared throw error in path $path", + async ({ secret }) => { + const createSecretReqBody = { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + type: SecretType.Personal, + secretKey: secret.key, + secretValue: secret.value, + secretComment: secret.comment + }; + const createSecRes = await testServer.inject({ + method: "POST", + url: `/api/v4/secrets/SEC2`, + headers: { + authorization: `Bearer ${authToken}` + }, + body: createSecretReqBody + }); + const payload = JSON.parse(createSecRes.payload); + expect(createSecRes.statusCode).toBe(400); + expect(payload.error).toEqual("BadRequest"); + } + ); + + test.each(secretTestCases)("Creating personal secret in path $path", async ({ secret, path }) => { + await createSecret({ path, ...secret }); + + const createSecretReqBody = { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + type: SecretType.Personal, + secretPath: path, + secretKey: secret.key, + secretValue: "personal-value", + secretComment: secret.comment + }; + const createSecRes = await testServer.inject({ + method: "POST", + url: `/api/v4/secrets/${secret.key}`, + headers: { + authorization: `Bearer ${authToken}` + }, + body: createSecretReqBody + }); + expect(createSecRes.statusCode).toBe(200); + + // list secrets should contain personal one and shared one + const secrets = await getSecrets(seedData1.environment.slug, path); + expect(secrets).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + secretKey: secret.key, + secretValue: secret.value, + type: SecretType.Shared + }), + expect.objectContaining({ + secretKey: secret.key, + secretValue: "personal-value", + type: SecretType.Personal + }) + ]) + ); + + await deleteSecret({ path, key: secret.key }); + }); + + test.each(secretTestCases)( + "Deleting personal one should not delete shared secret in path $path", + async ({ secret, path }) => { + await createSecret({ path, ...secret }); // shared one + await createSecret({ path, ...secret, type: SecretType.Personal }); + + // shared secret deletion should delete personal ones also + const secrets = await getSecrets(seedData1.environment.slug, path); + expect(secrets).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + secretKey: secret.key, + type: SecretType.Shared + }), + expect.not.objectContaining({ + secretKey: secret.key, + type: SecretType.Personal + }) + ]) + ); + await deleteSecret({ path, key: secret.key }); + } + ); + } + + test.each(secretTestCases)("Update secret in path $path", async ({ path, secret }) => { + await createSecret({ path, ...secret }); + const updateSecretReqBody = { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + type: SecretType.Shared, + secretPath: path, + secretKey: secret.key, + secretValue: "new-value", + secretComment: secret.comment + }; + const updateSecRes = await testServer.inject({ + method: "PATCH", + url: `/api/v4/secrets/${secret.key}`, + headers: { + authorization: `Bearer ${authToken}` + }, + body: updateSecretReqBody + }); + expect(updateSecRes.statusCode).toBe(200); + const updatedSecretPayload = JSON.parse(updateSecRes.payload); + expect(updatedSecretPayload).toHaveProperty("secret"); + const decryptedSecret = updatedSecretPayload.secret; + expect(decryptedSecret.secretKey).toEqual(secret.key); + expect(decryptedSecret.secretValue).toEqual("new-value"); + expect(decryptedSecret.secretComment || "").toEqual(secret.comment); + + // list secret should have updated value + const secrets = await getSecrets(seedData1.environment.slug, path); + expect(secrets).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + secretKey: secret.key, + secretValue: "new-value", + type: SecretType.Shared + }) + ]) + ); + + await deleteSecret({ path, key: secret.key }); + }); + + test.each(secretTestCases)("Delete secret in path $path", async ({ secret, path }) => { + await createSecret({ path, ...secret }); + const deletedSecret = await deleteSecret({ path, key: secret.key }); + expect(deletedSecret.secretKey).toEqual(secret.key); + + // shared secret deletion should delete personal ones also + const secrets = await getSecrets(seedData1.environment.slug, path); + expect(secrets).toEqual( + expect.not.arrayContaining([ + expect.objectContaining({ + secretKey: secret.key, + type: SecretType.Shared + }), + expect.objectContaining({ + secretKey: secret.key, + type: SecretType.Personal + }) + ]) + ); + }); + + test.each(secretTestCases)("Bulk create secrets in path $path", async ({ secret, path }) => { + const createSharedSecRes = await testServer.inject({ + method: "POST", + url: `/api/v4/secrets/batch`, + headers: { + authorization: `Bearer ${authToken}` + }, + body: { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + secretPath: path, + secrets: Array.from(Array(5)).map((_e, i) => ({ + secretKey: `BULK-${secret.key}-${i + 1}`, + secretValue: secret.value, + secretComment: secret.comment + })) + } + }); + expect(createSharedSecRes.statusCode).toBe(200); + const createSharedSecPayload = JSON.parse(createSharedSecRes.payload); + expect(createSharedSecPayload).toHaveProperty("secrets"); + + // bulk ones should exist + const secrets = await getSecrets(seedData1.environment.slug, path); + expect(secrets).toEqual( + expect.arrayContaining( + Array.from(Array(5)).map((_e, i) => + expect.objectContaining({ + secretKey: `BULK-${secret.key}-${i + 1}`, + secretValue: secret.value, + type: SecretType.Shared + }) + ) + ) + ); + + await Promise.all( + Array.from(Array(5)).map((_e, i) => deleteSecret({ path, key: `BULK-${secret.key}-${i + 1}` })) + ); + }); + + test.each(secretTestCases)("Bulk create fail on existing secret in path $path", async ({ secret, path }) => { + await createSecret({ ...secret, key: `BULK-${secret.key}-1`, path }); + + const createSharedSecRes = await testServer.inject({ + method: "POST", + url: `/api/v4/secrets/batch`, + headers: { + authorization: `Bearer ${authToken}` + }, + body: { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + secretPath: path, + secrets: Array.from(Array(5)).map((_e, i) => ({ + secretKey: `BULK-${secret.key}-${i + 1}`, + secretValue: secret.value, + secretComment: secret.comment + })) + } + }); + expect(createSharedSecRes.statusCode).toBe(400); + + await deleteSecret({ path, key: `BULK-${secret.key}-1` }); + }); + + test.each(secretTestCases)("Bulk update secrets in path $path", async ({ secret, path }) => { + await Promise.all( + Array.from(Array(5)).map((_e, i) => createSecret({ ...secret, key: `BULK-${secret.key}-${i + 1}`, path })) + ); + + const updateSharedSecRes = await testServer.inject({ + method: "PATCH", + url: `/api/v4/secrets/batch`, + headers: { + authorization: `Bearer ${authToken}` + }, + body: { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + secretPath: path, + secrets: Array.from(Array(5)).map((_e, i) => ({ + secretKey: `BULK-${secret.key}-${i + 1}`, + secretValue: "update-value", + secretComment: secret.comment + })) + } + }); + expect(updateSharedSecRes.statusCode).toBe(200); + const updateSharedSecPayload = JSON.parse(updateSharedSecRes.payload); + expect(updateSharedSecPayload).toHaveProperty("secrets"); + + // bulk ones should exist + const secrets = await getSecrets(seedData1.environment.slug, path); + expect(secrets).toEqual( + expect.arrayContaining( + Array.from(Array(5)).map((_e, i) => + expect.objectContaining({ + secretKey: `BULK-${secret.key}-${i + 1}`, + secretValue: "update-value", + type: SecretType.Shared + }) + ) + ) + ); + await Promise.all( + Array.from(Array(5)).map((_e, i) => deleteSecret({ path, key: `BULK-${secret.key}-${i + 1}` })) + ); + }); + + test.each(secretTestCases)("Bulk upsert secrets in path $path", async ({ secret, path }) => { + const updateSharedSecRes = await testServer.inject({ + method: "PATCH", + url: `/api/v4/secrets/batch`, + headers: { + authorization: `Bearer ${authToken}` + }, + body: { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + secretPath: path, + mode: "upsert", + secrets: Array.from(Array(5)).map((_e, i) => ({ + secretKey: `BULK-${secret.key}-${i + 1}`, + secretValue: "update-value", + secretComment: secret.comment + })) + } + }); + expect(updateSharedSecRes.statusCode).toBe(200); + const updateSharedSecPayload = JSON.parse(updateSharedSecRes.payload); + expect(updateSharedSecPayload).toHaveProperty("secrets"); + + // bulk ones should exist + const secrets = await getSecrets(seedData1.environment.slug, path); + expect(secrets).toEqual( + expect.arrayContaining( + Array.from(Array(5)).map((_e, i) => + expect.objectContaining({ + secretKey: `BULK-${secret.key}-${i + 1}`, + secretValue: "update-value", + type: SecretType.Shared + }) + ) + ) + ); + await Promise.all( + Array.from(Array(5)).map((_e, i) => deleteSecret({ path, key: `BULK-${secret.key}-${i + 1}` })) + ); + }); + + test("Bulk upsert secrets in path multiple paths", async () => { + const firstBatchSecrets = Array.from(Array(5)).map((_e, i) => ({ + secretKey: `BULK-KEY-${secretTestCases[0].secret.key}-${i + 1}`, + secretValue: "update-value", + secretComment: "comment", + secretPath: secretTestCases[0].path + })); + const secondBatchSecrets = Array.from(Array(5)).map((_e, i) => ({ + secretKey: `BULK-KEY-${secretTestCases[1].secret.key}-${i + 1}`, + secretValue: "update-value", + secretComment: "comment", + secretPath: secretTestCases[1].path + })); + const testSecrets = [...firstBatchSecrets, ...secondBatchSecrets]; + + const updateSharedSecRes = await testServer.inject({ + method: "PATCH", + url: `/api/v4/secrets/batch`, + headers: { + authorization: `Bearer ${authToken}` + }, + body: { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + mode: "upsert", + secrets: testSecrets + } + }); + expect(updateSharedSecRes.statusCode).toBe(200); + const updateSharedSecPayload = JSON.parse(updateSharedSecRes.payload); + expect(updateSharedSecPayload).toHaveProperty("secrets"); + + // bulk ones should exist + const firstBatchSecretsOnInfisical = await getSecrets(seedData1.environment.slug, secretTestCases[0].path); + expect(firstBatchSecretsOnInfisical).toEqual( + expect.arrayContaining( + firstBatchSecrets.map((el) => + expect.objectContaining({ + secretKey: el.secretKey, + secretValue: "update-value", + type: SecretType.Shared + }) + ) + ) + ); + const secondBatchSecretsOnInfisical = await getSecrets(seedData1.environment.slug, secretTestCases[1].path); + expect(secondBatchSecretsOnInfisical).toEqual( + expect.arrayContaining( + secondBatchSecrets.map((el) => + expect.objectContaining({ + secretKey: el.secretKey, + secretValue: "update-value", + type: SecretType.Shared + }) + ) + ) + ); + await Promise.all(testSecrets.map((el) => deleteSecret({ path: el.secretPath, key: el.secretKey }))); + }); + + test.each(secretTestCases)("Bulk delete secrets in path $path", async ({ secret, path }) => { + await Promise.all( + Array.from(Array(5)).map((_e, i) => createSecret({ ...secret, key: `BULK-${secret.key}-${i + 1}`, path })) + ); + + const deletedSharedSecRes = await testServer.inject({ + method: "DELETE", + url: `/api/v4/secrets/batch`, + headers: { + authorization: `Bearer ${authToken}` + }, + body: { + projectId: seedData1.projectV3.id, + environment: seedData1.environment.slug, + secretPath: path, + secrets: Array.from(Array(5)).map((_e, i) => ({ + secretKey: `BULK-${secret.key}-${i + 1}` + })) + } + }); + + expect(deletedSharedSecRes.statusCode).toBe(200); + const deletedSecretPayload = JSON.parse(deletedSharedSecRes.payload); + expect(deletedSecretPayload).toHaveProperty("secrets"); + + // bulk ones should exist + const secrets = await getSecrets(seedData1.environment.slug, path); + expect(secrets).toEqual( + expect.not.arrayContaining( + Array.from(Array(5)).map((_e, i) => + expect.objectContaining({ + secretKey: `BULK-${secret.value}-${i + 1}`, + type: SecretType.Shared + }) + ) + ) + ); + }); + } +); diff --git a/backend/src/server/routes/v1/project-router.ts b/backend/src/server/routes/v1/project-router.ts index 1b86bb241..1c88a4917 100644 --- a/backend/src/server/routes/v1/project-router.ts +++ b/backend/src/server/routes/v1/project-router.ts @@ -384,7 +384,6 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } }); - // TODO(depri): replcae frontned auto cap and delete protection with this patch server.route({ method: "PATCH", url: "/:projectId", diff --git a/backend/src/server/routes/v4/secret-router.ts b/backend/src/server/routes/v4/secret-router.ts index f18c87497..1bea35808 100644 --- a/backend/src/server/routes/v4/secret-router.ts +++ b/backend/src/server/routes/v4/secret-router.ts @@ -39,7 +39,6 @@ const SecretReferenceNodeTree: z.ZodType = SecretReference children: z.lazy(() => SecretReferenceNodeTree.array()) }); -// TODO(depri): is service token supported in secrets router export const registerSecretRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", diff --git a/frontend/src/hooks/api/secretFolders/queries.tsx b/frontend/src/hooks/api/secretFolders/queries.tsx index 843c39883..3e752eed3 100644 --- a/frontend/src/hooks/api/secretFolders/queries.tsx +++ b/frontend/src/hooks/api/secretFolders/queries.tsx @@ -258,9 +258,9 @@ export const useUpdateFolderBatch = () => { const queryClient = useQueryClient(); return useMutation({ - mutationFn: async ({ projectSlug, folders }) => { + mutationFn: async ({ projectId, folders }) => { const { data } = await apiRequest.patch("/api/v2/folders/batch", { - projectSlug, + projectId, folders }); diff --git a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx index 47b448d13..f729fbc8f 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx @@ -450,9 +450,8 @@ export const OverviewPage = () => { try { await updateFolderBatch({ - projectSlug, folders: updatedFolders, - projectId: projectId + projectId }); createNotification({ type: "success", From 8aea5f42f6ba0e20c0dd1a7fc17ded91fcfb8f13 Mon Sep 17 00:00:00 2001 From: = Date: Mon, 15 Sep 2025 12:47:21 +0530 Subject: [PATCH 14/27] feat: fixed pipeline failing --- backend/e2e-test/routes/v2/service-token.spec.ts | 2 +- backend/src/server/routes/v1/dashboard-router.ts | 8 ++++---- frontend/src/hooks/api/secretFolders/types.ts | 1 - 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/backend/e2e-test/routes/v2/service-token.spec.ts b/backend/e2e-test/routes/v2/service-token.spec.ts index 025d9796f..4f72987cb 100644 --- a/backend/e2e-test/routes/v2/service-token.spec.ts +++ b/backend/e2e-test/routes/v2/service-token.spec.ts @@ -70,7 +70,7 @@ const createServiceToken = async ( const deleteServiceToken = async () => { const serviceTokenListRes = await testServer.inject({ method: "GET", - url: `/api/v1/workspace/${seedData1.project.id}/service-token-data`, + url: `/api/v1/projects/${seedData1.project.id}/service-token-data`, headers: { authorization: `Bearer ${jwtAuthToken}` } diff --git a/backend/src/server/routes/v1/dashboard-router.ts b/backend/src/server/routes/v1/dashboard-router.ts index 255106c61..c394ee8e9 100644 --- a/backend/src/server/routes/v1/dashboard-router.ts +++ b/backend/src/server/routes/v1/dashboard-router.ts @@ -474,7 +474,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secretCountFromEnv, - projectId: projectId, + projectId, environment, secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1001,7 +1001,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secretCount, - projectId: projectId, + projectId, environment, secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1168,7 +1168,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secretCountForEnv, - projectId: projectId, + projectId, environment, secretPath, channel: getUserAgentType(req.headers["user-agent"]), @@ -1361,7 +1361,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => { organizationId: req.permission.orgId, properties: { numberOfSecrets: secrets.length, - projectId: projectId, + projectId, environment, secretPath, channel: getUserAgentType(req.headers["user-agent"]), diff --git a/frontend/src/hooks/api/secretFolders/types.ts b/frontend/src/hooks/api/secretFolders/types.ts index 5772fb1ba..e9ee2ae5d 100644 --- a/frontend/src/hooks/api/secretFolders/types.ts +++ b/frontend/src/hooks/api/secretFolders/types.ts @@ -63,7 +63,6 @@ export type TDeleteFolderDTO = { export type TUpdateFolderBatchDTO = { projectId: string; - projectSlug: string; folders: { name: string; environment: string; From 30d1af14b13a1d61b1196ba158cba850ef3e1c9f Mon Sep 17 00:00:00 2001 From: = Date: Mon, 15 Sep 2025 15:00:10 +0530 Subject: [PATCH 15/27] feat: completed docs for to be depreciated api endpoints --- .../depreciated/environments/create.mdx | 4 + .../depreciated/environments/delete.mdx | 4 + .../depreciated/environments/update.mdx | 4 + .../endpoints/depreciated/folders/create.mdx | 4 + .../endpoints/depreciated/folders/delete.mdx | 4 + .../depreciated/folders/get-by-id.mdx | 4 + .../endpoints/depreciated/folders/list.mdx | 4 + .../endpoints/depreciated/folders/update.mdx | 4 + .../organizations/projects.mdx} | 0 .../depreciated/project-groups/create.mdx | 4 + .../depreciated/project-groups/delete.mdx | 4 + .../depreciated/project-groups/get-by-id.mdx | 4 + .../depreciated/project-groups/list.mdx | 4 + .../depreciated/project-groups/update.mdx | 4 + .../add-identity-membership.mdx | 4 + .../delete-identity-membership.mdx | 4 + .../project-identities/get-by-id.mdx | 4 + .../list-identity-memberships.mdx | 4 + .../update-identity-membership.mdx | 4 + .../depreciated/project-roles/create.mdx | 10 ++ .../depreciated/project-roles/delete.mdx | 4 + .../depreciated/project-roles/get-by-slug.mdx | 4 + .../depreciated/project-roles/list.mdx | 4 + .../depreciated/project-roles/update.mdx | 4 + .../project-users/delete-membership.mdx | 4 + .../project-users/get-by-username.mdx | 4 + .../invite-member-to-project.mdx} | 0 .../depreciated/project-users/memberships.mdx | 4 + .../remove-member-from-project.mdx} | 0 .../project-users/update-membership.mdx | 4 + .../projects/create-project.mdx} | 0 .../projects/delete-project.mdx} | 0 .../projects/get-project-by-slug.mdx} | 0 .../projects/get-project.mdx} | 2 +- .../projects/project-key.mdx} | 0 .../projects/project-workspace.mdx} | 0 .../projects}/rollback-snapshot.mdx | 0 .../projects}/secret-snapshots.mdx | 0 .../depreciated/projects/update-project.mdx | 4 + .../depreciated/secret-imports/create.mdx | 4 + .../depreciated/secret-imports/delete.mdx | 4 + .../depreciated/secret-imports/list.mdx | 4 + .../depreciated/secret-imports/update.mdx | 4 + .../depreciated/secret-tags/create.mdx | 4 + .../depreciated/secret-tags/delete.mdx | 4 + .../depreciated/secret-tags/get-by-id.mdx | 4 + .../depreciated/secret-tags/get-by-slug.mdx | 4 + .../depreciated/secret-tags/list.mdx | 4 + .../depreciated/secret-tags/update.mdx | 4 + .../{ => depreciated}/secrets/attach-tags.mdx | 0 .../depreciated/secrets/create-many.mdx | 5 + .../endpoints/depreciated/secrets/create.mdx | 5 + .../depreciated/secrets/delete-many.mdx | 5 + .../endpoints/depreciated/secrets/delete.mdx | 5 + .../{ => depreciated}/secrets/detach-tags.mdx | 0 .../endpoints/depreciated/secrets/list.mdx | 4 + .../endpoints/depreciated/secrets/read.mdx | 5 + .../depreciated/secrets/update-many.mdx | 5 + .../endpoints/depreciated/secrets/update.mdx | 4 + .../endpoints/environments/create.mdx | 2 +- .../endpoints/environments/delete.mdx | 2 +- .../endpoints/environments/update.mdx | 2 +- .../endpoints/folders/create.mdx | 2 +- .../endpoints/folders/delete.mdx | 2 +- .../endpoints/folders/get-by-id.mdx | 2 +- docs/api-reference/endpoints/folders/list.mdx | 2 +- .../endpoints/folders/update.mdx | 2 +- .../endpoints/project-groups/create.mdx | 2 +- .../endpoints/project-groups/delete.mdx | 2 +- .../endpoints/project-groups/get-by-id.mdx | 2 +- .../endpoints/project-groups/list.mdx | 2 +- .../endpoints/project-groups/update.mdx | 2 +- .../add-identity-membership.mdx | 2 +- .../delete-identity-membership.mdx | 2 +- .../project-identities/get-by-id.mdx | 2 +- .../list-identity-memberships.mdx | 2 +- .../update-identity-membership.mdx | 2 +- .../endpoints/project-roles/create.mdx | 3 +- .../endpoints/project-roles/delete.mdx | 2 +- .../endpoints/project-roles/get-by-slug.mdx | 2 +- .../endpoints/project-roles/list.mdx | 2 +- .../endpoints/project-roles/update.mdx | 2 +- .../project-users/delete-membership.mdx | 2 +- .../project-users/get-by-username.mdx | 2 +- .../invite-member-to-project.mdx | 4 + .../endpoints/project-users/memberships.mdx | 2 +- .../remove-member-from-project.mdx | 4 + .../project-users/update-membership.mdx | 2 +- .../endpoints/projects/create-project.mdx | 4 + .../endpoints/projects/delete-project.mdx | 8 + .../projects/get-project-by-slug.mdx | 4 + .../endpoints/projects/get-project.mdx | 4 + .../endpoints/projects/rollback-snapshot.mdx | 4 + .../endpoints/projects/secret-snapshots.mdx | 4 + .../endpoints/projects/update-project.mdx | 4 + .../endpoints/secret-imports/create.mdx | 2 +- .../endpoints/secret-imports/delete.mdx | 2 +- .../endpoints/secret-imports/list.mdx | 2 +- .../endpoints/secret-imports/update.mdx | 2 +- .../endpoints/secret-tags/create.mdx | 4 +- .../endpoints/secret-tags/delete.mdx | 4 +- .../endpoints/secret-tags/get-by-id.mdx | 2 +- .../endpoints/secret-tags/get-by-slug.mdx | 2 +- .../endpoints/secret-tags/list.mdx | 4 +- .../endpoints/secret-tags/update.mdx | 2 +- .../endpoints/secrets/create-many.mdx | 3 +- .../endpoints/secrets/create.mdx | 3 +- .../endpoints/secrets/delete-many.mdx | 3 +- .../endpoints/secrets/delete.mdx | 3 +- docs/api-reference/endpoints/secrets/list.mdx | 2 +- docs/api-reference/endpoints/secrets/read.mdx | 3 +- .../endpoints/secrets/update-many.mdx | 3 +- .../endpoints/secrets/update.mdx | 2 +- docs/docs.json | 140 ++++++++++++++++-- .../permissions/organization-permissions.mdx | 8 +- 115 files changed, 415 insertions(+), 74 deletions(-) create mode 100644 docs/api-reference/endpoints/depreciated/environments/create.mdx create mode 100644 docs/api-reference/endpoints/depreciated/environments/delete.mdx create mode 100644 docs/api-reference/endpoints/depreciated/environments/update.mdx create mode 100644 docs/api-reference/endpoints/depreciated/folders/create.mdx create mode 100644 docs/api-reference/endpoints/depreciated/folders/delete.mdx create mode 100644 docs/api-reference/endpoints/depreciated/folders/get-by-id.mdx create mode 100644 docs/api-reference/endpoints/depreciated/folders/list.mdx create mode 100644 docs/api-reference/endpoints/depreciated/folders/update.mdx rename docs/api-reference/endpoints/{organizations/workspaces.mdx => depreciated/organizations/projects.mdx} (100%) create mode 100644 docs/api-reference/endpoints/depreciated/project-groups/create.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-groups/delete.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-groups/get-by-id.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-groups/list.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-groups/update.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-identities/add-identity-membership.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-identities/delete-identity-membership.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-identities/get-by-id.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-identities/list-identity-memberships.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-identities/update-identity-membership.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-roles/create.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-roles/delete.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-roles/get-by-slug.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-roles/list.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-roles/update.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-users/delete-membership.mdx create mode 100644 docs/api-reference/endpoints/depreciated/project-users/get-by-username.mdx rename docs/api-reference/endpoints/{project-users/invite-member-to-workspace.mdx => depreciated/project-users/invite-member-to-project.mdx} (100%) create mode 100644 docs/api-reference/endpoints/depreciated/project-users/memberships.mdx rename docs/api-reference/endpoints/{project-users/remove-member-from-workspace.mdx => depreciated/project-users/remove-member-from-project.mdx} (100%) create mode 100644 docs/api-reference/endpoints/depreciated/project-users/update-membership.mdx rename docs/api-reference/endpoints/{workspaces/create-workspace.mdx => depreciated/projects/create-project.mdx} (100%) rename docs/api-reference/endpoints/{workspaces/delete-workspace.mdx => depreciated/projects/delete-project.mdx} (100%) rename docs/api-reference/endpoints/{workspaces/get-workspace-by-slug.mdx => depreciated/projects/get-project-by-slug.mdx} (100%) rename docs/api-reference/endpoints/{workspaces/get-workspace.mdx => depreciated/projects/get-project.mdx} (94%) rename docs/api-reference/endpoints/{workspaces/workspace-key.mdx => depreciated/projects/project-key.mdx} (100%) rename docs/api-reference/endpoints/{workspaces/update-workspace.mdx => depreciated/projects/project-workspace.mdx} (100%) rename docs/api-reference/endpoints/{workspaces => depreciated/projects}/rollback-snapshot.mdx (100%) rename docs/api-reference/endpoints/{workspaces => depreciated/projects}/secret-snapshots.mdx (100%) create mode 100644 docs/api-reference/endpoints/depreciated/projects/update-project.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secret-imports/create.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secret-imports/delete.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secret-imports/list.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secret-imports/update.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secret-tags/create.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secret-tags/delete.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secret-tags/get-by-id.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secret-tags/get-by-slug.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secret-tags/list.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secret-tags/update.mdx rename docs/api-reference/endpoints/{ => depreciated}/secrets/attach-tags.mdx (100%) create mode 100644 docs/api-reference/endpoints/depreciated/secrets/create-many.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secrets/create.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secrets/delete-many.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secrets/delete.mdx rename docs/api-reference/endpoints/{ => depreciated}/secrets/detach-tags.mdx (100%) create mode 100644 docs/api-reference/endpoints/depreciated/secrets/list.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secrets/read.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secrets/update-many.mdx create mode 100644 docs/api-reference/endpoints/depreciated/secrets/update.mdx create mode 100644 docs/api-reference/endpoints/project-users/invite-member-to-project.mdx create mode 100644 docs/api-reference/endpoints/project-users/remove-member-from-project.mdx create mode 100644 docs/api-reference/endpoints/projects/create-project.mdx create mode 100644 docs/api-reference/endpoints/projects/delete-project.mdx create mode 100644 docs/api-reference/endpoints/projects/get-project-by-slug.mdx create mode 100644 docs/api-reference/endpoints/projects/get-project.mdx create mode 100644 docs/api-reference/endpoints/projects/rollback-snapshot.mdx create mode 100644 docs/api-reference/endpoints/projects/secret-snapshots.mdx create mode 100644 docs/api-reference/endpoints/projects/update-project.mdx diff --git a/docs/api-reference/endpoints/depreciated/environments/create.mdx b/docs/api-reference/endpoints/depreciated/environments/create.mdx new file mode 100644 index 000000000..826dcce3d --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/environments/create.mdx @@ -0,0 +1,4 @@ +--- +title: "Create" +openapi: "POST /api/v1/workspace/{workspaceId}/environments" +--- diff --git a/docs/api-reference/endpoints/depreciated/environments/delete.mdx b/docs/api-reference/endpoints/depreciated/environments/delete.mdx new file mode 100644 index 000000000..903e58d2a --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/environments/delete.mdx @@ -0,0 +1,4 @@ +--- +title: "Delete" +openapi: "DELETE /api/v1/workspace/{workspaceId}/environments/{id}" +--- diff --git a/docs/api-reference/endpoints/depreciated/environments/update.mdx b/docs/api-reference/endpoints/depreciated/environments/update.mdx new file mode 100644 index 000000000..f93968668 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/environments/update.mdx @@ -0,0 +1,4 @@ +--- +title: "Update" +openapi: "PATCH /api/v1/workspace/{workspaceId}/environments/{id}" +--- diff --git a/docs/api-reference/endpoints/depreciated/folders/create.mdx b/docs/api-reference/endpoints/depreciated/folders/create.mdx new file mode 100644 index 000000000..e1ff3004a --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/folders/create.mdx @@ -0,0 +1,4 @@ +--- +title: "Create" +openapi: "POST /api/v1/folders" +--- diff --git a/docs/api-reference/endpoints/depreciated/folders/delete.mdx b/docs/api-reference/endpoints/depreciated/folders/delete.mdx new file mode 100644 index 000000000..a106cc2eb --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/folders/delete.mdx @@ -0,0 +1,4 @@ +--- +title: "Delete" +openapi: "DELETE /api/v1/folders/{folderIdOrName}" +--- diff --git a/docs/api-reference/endpoints/depreciated/folders/get-by-id.mdx b/docs/api-reference/endpoints/depreciated/folders/get-by-id.mdx new file mode 100644 index 000000000..db3c4d0cc --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/folders/get-by-id.mdx @@ -0,0 +1,4 @@ +--- +title: "Get by ID" +openapi: "GET /api/v1/folders/{id}" +--- diff --git a/docs/api-reference/endpoints/depreciated/folders/list.mdx b/docs/api-reference/endpoints/depreciated/folders/list.mdx new file mode 100644 index 000000000..f40f93273 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/folders/list.mdx @@ -0,0 +1,4 @@ +--- +title: "List" +openapi: "GET /api/v1/folders" +--- diff --git a/docs/api-reference/endpoints/depreciated/folders/update.mdx b/docs/api-reference/endpoints/depreciated/folders/update.mdx new file mode 100644 index 000000000..c54778e94 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/folders/update.mdx @@ -0,0 +1,4 @@ +--- +title: "Update" +openapi: "PATCH /api/v1/folders/{folderId}" +--- diff --git a/docs/api-reference/endpoints/organizations/workspaces.mdx b/docs/api-reference/endpoints/depreciated/organizations/projects.mdx similarity index 100% rename from docs/api-reference/endpoints/organizations/workspaces.mdx rename to docs/api-reference/endpoints/depreciated/organizations/projects.mdx diff --git a/docs/api-reference/endpoints/depreciated/project-groups/create.mdx b/docs/api-reference/endpoints/depreciated/project-groups/create.mdx new file mode 100644 index 000000000..6dd7f1a4f --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-groups/create.mdx @@ -0,0 +1,4 @@ +--- +title: "Create Project Membership" +openapi: "POST /api/v2/workspace/{projectId}/groups/{groupIdOrName}" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-groups/delete.mdx b/docs/api-reference/endpoints/depreciated/project-groups/delete.mdx new file mode 100644 index 000000000..07db40d7f --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-groups/delete.mdx @@ -0,0 +1,4 @@ +--- +title: "Delete Project Membership" +openapi: "DELETE /api/v2/workspace/{projectId}/groups/{groupId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-groups/get-by-id.mdx b/docs/api-reference/endpoints/depreciated/project-groups/get-by-id.mdx new file mode 100644 index 000000000..611f39059 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-groups/get-by-id.mdx @@ -0,0 +1,4 @@ +--- +title: "Get Project Membership" +openapi: "GET /api/v2/workspace/{projectId}/groups/{groupId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-groups/list.mdx b/docs/api-reference/endpoints/depreciated/project-groups/list.mdx new file mode 100644 index 000000000..1488fb6ae --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-groups/list.mdx @@ -0,0 +1,4 @@ +--- +title: "List Project Memberships" +openapi: "GET /api/v2/workspace/{projectId}/groups" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-groups/update.mdx b/docs/api-reference/endpoints/depreciated/project-groups/update.mdx new file mode 100644 index 000000000..8b963a1d8 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-groups/update.mdx @@ -0,0 +1,4 @@ +--- +title: "Update Project Membership" +openapi: "PATCH /api/v2/workspace/{projectId}/groups/{groupId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-identities/add-identity-membership.mdx b/docs/api-reference/endpoints/depreciated/project-identities/add-identity-membership.mdx new file mode 100644 index 000000000..285b1d1c4 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-identities/add-identity-membership.mdx @@ -0,0 +1,4 @@ +--- +title: "Create Identity Membership" +openapi: "POST /api/v2/workspace/{projectId}/identity-memberships/{identityId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-identities/delete-identity-membership.mdx b/docs/api-reference/endpoints/depreciated/project-identities/delete-identity-membership.mdx new file mode 100644 index 000000000..e2b266626 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-identities/delete-identity-membership.mdx @@ -0,0 +1,4 @@ +--- +title: "Delete Identity Membership" +openapi: "DELETE /api/v2/workspace/{projectId}/identity-memberships/{identityId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-identities/get-by-id.mdx b/docs/api-reference/endpoints/depreciated/project-identities/get-by-id.mdx new file mode 100644 index 000000000..37f4192d7 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-identities/get-by-id.mdx @@ -0,0 +1,4 @@ +--- +title: "Get Identity by ID" +openapi: "GET /api/v2/workspace/{projectId}/identity-memberships/{identityId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-identities/list-identity-memberships.mdx b/docs/api-reference/endpoints/depreciated/project-identities/list-identity-memberships.mdx new file mode 100644 index 000000000..e5162e693 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-identities/list-identity-memberships.mdx @@ -0,0 +1,4 @@ +--- +title: "List Identity Memberships" +openapi: "GET /api/v2/workspace/{projectId}/identity-memberships" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-identities/update-identity-membership.mdx b/docs/api-reference/endpoints/depreciated/project-identities/update-identity-membership.mdx new file mode 100644 index 000000000..667cf7eb3 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-identities/update-identity-membership.mdx @@ -0,0 +1,4 @@ +--- +title: "Update Identity Membership" +openapi: "PATCH /api/v2/workspace/{projectId}/identity-memberships/{identityId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-roles/create.mdx b/docs/api-reference/endpoints/depreciated/project-roles/create.mdx new file mode 100644 index 000000000..97570ec36 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-roles/create.mdx @@ -0,0 +1,10 @@ +--- +title: "Create" +openapi: "POST /api/v2/workspace/{projectId}/roles" +--- + + + You can read more about the permissions field in the [permissions + documentation](/internals/permissions). + + diff --git a/docs/api-reference/endpoints/depreciated/project-roles/delete.mdx b/docs/api-reference/endpoints/depreciated/project-roles/delete.mdx new file mode 100644 index 000000000..41edfa7c3 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-roles/delete.mdx @@ -0,0 +1,4 @@ +--- +title: "Delete" +openapi: "DELETE /api/v2/workspace/{projectId}/roles/{roleId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-roles/get-by-slug.mdx b/docs/api-reference/endpoints/depreciated/project-roles/get-by-slug.mdx new file mode 100644 index 000000000..dfc5c582a --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-roles/get-by-slug.mdx @@ -0,0 +1,4 @@ +--- +title: "Get By Slug" +openapi: "GET /api/v2/workspace/{projectId}/roles/slug/{roleSlug}" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-roles/list.mdx b/docs/api-reference/endpoints/depreciated/project-roles/list.mdx new file mode 100644 index 000000000..8d8dc10c1 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-roles/list.mdx @@ -0,0 +1,4 @@ +--- +title: "List" +openapi: "GET /api/v2/workspace/{projectId}/roles" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-roles/update.mdx b/docs/api-reference/endpoints/depreciated/project-roles/update.mdx new file mode 100644 index 000000000..662d5e617 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-roles/update.mdx @@ -0,0 +1,4 @@ +--- +title: "Update" +openapi: "PATCH /api/v2/workspace/{projectId}/roles/{roleId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-users/delete-membership.mdx b/docs/api-reference/endpoints/depreciated/project-users/delete-membership.mdx new file mode 100644 index 000000000..1995e4726 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-users/delete-membership.mdx @@ -0,0 +1,4 @@ +--- +title: "Delete User Membership" +openapi: "DELETE /api/v1/workspace/{workspaceId}/memberships/{membershipId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/project-users/get-by-username.mdx b/docs/api-reference/endpoints/depreciated/project-users/get-by-username.mdx new file mode 100644 index 000000000..ec69d4947 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-users/get-by-username.mdx @@ -0,0 +1,4 @@ +--- +title: "Get By Username" +openapi: "POST /api/v1/workspace/{workspaceId}/memberships/details" +--- diff --git a/docs/api-reference/endpoints/project-users/invite-member-to-workspace.mdx b/docs/api-reference/endpoints/depreciated/project-users/invite-member-to-project.mdx similarity index 100% rename from docs/api-reference/endpoints/project-users/invite-member-to-workspace.mdx rename to docs/api-reference/endpoints/depreciated/project-users/invite-member-to-project.mdx diff --git a/docs/api-reference/endpoints/depreciated/project-users/memberships.mdx b/docs/api-reference/endpoints/depreciated/project-users/memberships.mdx new file mode 100644 index 000000000..3c4735f94 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-users/memberships.mdx @@ -0,0 +1,4 @@ +--- +title: "Get User Memberships" +openapi: "GET /api/v1/workspace/{workspaceId}/memberships" +--- diff --git a/docs/api-reference/endpoints/project-users/remove-member-from-workspace.mdx b/docs/api-reference/endpoints/depreciated/project-users/remove-member-from-project.mdx similarity index 100% rename from docs/api-reference/endpoints/project-users/remove-member-from-workspace.mdx rename to docs/api-reference/endpoints/depreciated/project-users/remove-member-from-project.mdx diff --git a/docs/api-reference/endpoints/depreciated/project-users/update-membership.mdx b/docs/api-reference/endpoints/depreciated/project-users/update-membership.mdx new file mode 100644 index 000000000..9a7aa600f --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/project-users/update-membership.mdx @@ -0,0 +1,4 @@ +--- +title: "Update User Membership" +openapi: "PATCH /api/v1/workspace/{workspaceId}/memberships/{membershipId}" +--- diff --git a/docs/api-reference/endpoints/workspaces/create-workspace.mdx b/docs/api-reference/endpoints/depreciated/projects/create-project.mdx similarity index 100% rename from docs/api-reference/endpoints/workspaces/create-workspace.mdx rename to docs/api-reference/endpoints/depreciated/projects/create-project.mdx diff --git a/docs/api-reference/endpoints/workspaces/delete-workspace.mdx b/docs/api-reference/endpoints/depreciated/projects/delete-project.mdx similarity index 100% rename from docs/api-reference/endpoints/workspaces/delete-workspace.mdx rename to docs/api-reference/endpoints/depreciated/projects/delete-project.mdx diff --git a/docs/api-reference/endpoints/workspaces/get-workspace-by-slug.mdx b/docs/api-reference/endpoints/depreciated/projects/get-project-by-slug.mdx similarity index 100% rename from docs/api-reference/endpoints/workspaces/get-workspace-by-slug.mdx rename to docs/api-reference/endpoints/depreciated/projects/get-project-by-slug.mdx diff --git a/docs/api-reference/endpoints/workspaces/get-workspace.mdx b/docs/api-reference/endpoints/depreciated/projects/get-project.mdx similarity index 94% rename from docs/api-reference/endpoints/workspaces/get-workspace.mdx rename to docs/api-reference/endpoints/depreciated/projects/get-project.mdx index edd0a0276..a27d41b43 100644 --- a/docs/api-reference/endpoints/workspaces/get-workspace.mdx +++ b/docs/api-reference/endpoints/depreciated/projects/get-project.mdx @@ -1,4 +1,4 @@ --- title: "Get Project" openapi: "GET /api/v1/workspace/{workspaceId}" ---- \ No newline at end of file +--- diff --git a/docs/api-reference/endpoints/workspaces/workspace-key.mdx b/docs/api-reference/endpoints/depreciated/projects/project-key.mdx similarity index 100% rename from docs/api-reference/endpoints/workspaces/workspace-key.mdx rename to docs/api-reference/endpoints/depreciated/projects/project-key.mdx diff --git a/docs/api-reference/endpoints/workspaces/update-workspace.mdx b/docs/api-reference/endpoints/depreciated/projects/project-workspace.mdx similarity index 100% rename from docs/api-reference/endpoints/workspaces/update-workspace.mdx rename to docs/api-reference/endpoints/depreciated/projects/project-workspace.mdx diff --git a/docs/api-reference/endpoints/workspaces/rollback-snapshot.mdx b/docs/api-reference/endpoints/depreciated/projects/rollback-snapshot.mdx similarity index 100% rename from docs/api-reference/endpoints/workspaces/rollback-snapshot.mdx rename to docs/api-reference/endpoints/depreciated/projects/rollback-snapshot.mdx diff --git a/docs/api-reference/endpoints/workspaces/secret-snapshots.mdx b/docs/api-reference/endpoints/depreciated/projects/secret-snapshots.mdx similarity index 100% rename from docs/api-reference/endpoints/workspaces/secret-snapshots.mdx rename to docs/api-reference/endpoints/depreciated/projects/secret-snapshots.mdx diff --git a/docs/api-reference/endpoints/depreciated/projects/update-project.mdx b/docs/api-reference/endpoints/depreciated/projects/update-project.mdx new file mode 100644 index 000000000..699e3e3af --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/projects/update-project.mdx @@ -0,0 +1,4 @@ +--- +title: "Update Project" +openapi: "PATCH /api/v1/workspace/{workspaceId}" +--- \ No newline at end of file diff --git a/docs/api-reference/endpoints/depreciated/secret-imports/create.mdx b/docs/api-reference/endpoints/depreciated/secret-imports/create.mdx new file mode 100644 index 000000000..3abfb320f --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secret-imports/create.mdx @@ -0,0 +1,4 @@ +--- +title: "Create" +openapi: "POST /api/v1/secret-imports" +--- diff --git a/docs/api-reference/endpoints/depreciated/secret-imports/delete.mdx b/docs/api-reference/endpoints/depreciated/secret-imports/delete.mdx new file mode 100644 index 000000000..cfa5960b1 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secret-imports/delete.mdx @@ -0,0 +1,4 @@ +--- +title: "Delete" +openapi: "DELETE /api/v1/secret-imports/{secretImportId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/secret-imports/list.mdx b/docs/api-reference/endpoints/depreciated/secret-imports/list.mdx new file mode 100644 index 000000000..580d4be8d --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secret-imports/list.mdx @@ -0,0 +1,4 @@ +--- +title: "List" +openapi: "GET /api/v1/secret-imports" +--- diff --git a/docs/api-reference/endpoints/depreciated/secret-imports/update.mdx b/docs/api-reference/endpoints/depreciated/secret-imports/update.mdx new file mode 100644 index 000000000..f21133223 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secret-imports/update.mdx @@ -0,0 +1,4 @@ +--- +title: "Update" +openapi: "PATCH /api/v1/secret-imports/{secretImportId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/secret-tags/create.mdx b/docs/api-reference/endpoints/depreciated/secret-tags/create.mdx new file mode 100644 index 000000000..82d0eed17 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secret-tags/create.mdx @@ -0,0 +1,4 @@ +--- +title: "Create" +openapi: "POST /api/v1/workspace/{projectId}/tags" +--- \ No newline at end of file diff --git a/docs/api-reference/endpoints/depreciated/secret-tags/delete.mdx b/docs/api-reference/endpoints/depreciated/secret-tags/delete.mdx new file mode 100644 index 000000000..cc98f03c2 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secret-tags/delete.mdx @@ -0,0 +1,4 @@ +--- +title: "Delete" +openapi: "DELETE /api/v1/workspace/{projectId}/tags/{tagId}" +--- \ No newline at end of file diff --git a/docs/api-reference/endpoints/depreciated/secret-tags/get-by-id.mdx b/docs/api-reference/endpoints/depreciated/secret-tags/get-by-id.mdx new file mode 100644 index 000000000..de02fe133 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secret-tags/get-by-id.mdx @@ -0,0 +1,4 @@ +--- +title: "Get By ID" +openapi: "GET /api/v1/workspace/{projectId}/tags/{tagId}" +--- diff --git a/docs/api-reference/endpoints/depreciated/secret-tags/get-by-slug.mdx b/docs/api-reference/endpoints/depreciated/secret-tags/get-by-slug.mdx new file mode 100644 index 000000000..91eab730f --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secret-tags/get-by-slug.mdx @@ -0,0 +1,4 @@ +--- +title: "Get By Slug" +openapi: "GET /api/v1/workspace/{projectId}/tags/slug/{tagSlug}" +--- diff --git a/docs/api-reference/endpoints/depreciated/secret-tags/list.mdx b/docs/api-reference/endpoints/depreciated/secret-tags/list.mdx new file mode 100644 index 000000000..c4a940f77 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secret-tags/list.mdx @@ -0,0 +1,4 @@ +--- +title: "List" +openapi: "GET /api/v1/workspace/{projectId}/tags" +--- \ No newline at end of file diff --git a/docs/api-reference/endpoints/depreciated/secret-tags/update.mdx b/docs/api-reference/endpoints/depreciated/secret-tags/update.mdx new file mode 100644 index 000000000..b9c290db8 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secret-tags/update.mdx @@ -0,0 +1,4 @@ +--- +title: "Update" +openapi: "PATCH /api/v1/workspace/{projectId}/tags/{tagId}" +--- diff --git a/docs/api-reference/endpoints/secrets/attach-tags.mdx b/docs/api-reference/endpoints/depreciated/secrets/attach-tags.mdx similarity index 100% rename from docs/api-reference/endpoints/secrets/attach-tags.mdx rename to docs/api-reference/endpoints/depreciated/secrets/attach-tags.mdx diff --git a/docs/api-reference/endpoints/depreciated/secrets/create-many.mdx b/docs/api-reference/endpoints/depreciated/secrets/create-many.mdx new file mode 100644 index 000000000..227c5470d --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secrets/create-many.mdx @@ -0,0 +1,5 @@ +--- +title: "Bulk Create" +openapi: "POST /api/v3/secrets/batch/raw" +--- + diff --git a/docs/api-reference/endpoints/depreciated/secrets/create.mdx b/docs/api-reference/endpoints/depreciated/secrets/create.mdx new file mode 100644 index 000000000..afee0a719 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secrets/create.mdx @@ -0,0 +1,5 @@ +--- +title: "Create" +openapi: "POST /api/v3/secrets/raw/{secretName}" +--- + diff --git a/docs/api-reference/endpoints/depreciated/secrets/delete-many.mdx b/docs/api-reference/endpoints/depreciated/secrets/delete-many.mdx new file mode 100644 index 000000000..57c8588d8 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secrets/delete-many.mdx @@ -0,0 +1,5 @@ +--- +title: "Bulk Delete" +openapi: "DELETE /api/v3/secrets/batch/raw" +--- + diff --git a/docs/api-reference/endpoints/depreciated/secrets/delete.mdx b/docs/api-reference/endpoints/depreciated/secrets/delete.mdx new file mode 100644 index 000000000..ef3abc722 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secrets/delete.mdx @@ -0,0 +1,5 @@ +--- +title: "Delete" +openapi: "DELETE /api/v3/secrets/raw/{secretName}" +--- + diff --git a/docs/api-reference/endpoints/secrets/detach-tags.mdx b/docs/api-reference/endpoints/depreciated/secrets/detach-tags.mdx similarity index 100% rename from docs/api-reference/endpoints/secrets/detach-tags.mdx rename to docs/api-reference/endpoints/depreciated/secrets/detach-tags.mdx diff --git a/docs/api-reference/endpoints/depreciated/secrets/list.mdx b/docs/api-reference/endpoints/depreciated/secrets/list.mdx new file mode 100644 index 000000000..4808f6690 --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secrets/list.mdx @@ -0,0 +1,4 @@ +--- +title: "List" +openapi: "GET /api/v3/secrets/raw" +--- diff --git a/docs/api-reference/endpoints/depreciated/secrets/read.mdx b/docs/api-reference/endpoints/depreciated/secrets/read.mdx new file mode 100644 index 000000000..6af308e0f --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secrets/read.mdx @@ -0,0 +1,5 @@ +--- +title: "Retrieve" +openapi: "GET /api/v3/secrets/raw/{secretName}" +--- + diff --git a/docs/api-reference/endpoints/depreciated/secrets/update-many.mdx b/docs/api-reference/endpoints/depreciated/secrets/update-many.mdx new file mode 100644 index 000000000..7586d91bc --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secrets/update-many.mdx @@ -0,0 +1,5 @@ +--- +title: "Bulk Update" +openapi: "PATCH /api/v3/secrets/batch/raw" +--- + diff --git a/docs/api-reference/endpoints/depreciated/secrets/update.mdx b/docs/api-reference/endpoints/depreciated/secrets/update.mdx new file mode 100644 index 000000000..ce68c492e --- /dev/null +++ b/docs/api-reference/endpoints/depreciated/secrets/update.mdx @@ -0,0 +1,4 @@ +--- +title: "Update" +openapi: "PATCH /api/v3/secrets/raw/{secretName}" +--- diff --git a/docs/api-reference/endpoints/environments/create.mdx b/docs/api-reference/endpoints/environments/create.mdx index 826dcce3d..c7f9b0658 100644 --- a/docs/api-reference/endpoints/environments/create.mdx +++ b/docs/api-reference/endpoints/environments/create.mdx @@ -1,4 +1,4 @@ --- title: "Create" -openapi: "POST /api/v1/workspace/{workspaceId}/environments" +openapi: "POST /api/v1/projects/{projectId}/environments" --- diff --git a/docs/api-reference/endpoints/environments/delete.mdx b/docs/api-reference/endpoints/environments/delete.mdx index 903e58d2a..2d2419255 100644 --- a/docs/api-reference/endpoints/environments/delete.mdx +++ b/docs/api-reference/endpoints/environments/delete.mdx @@ -1,4 +1,4 @@ --- title: "Delete" -openapi: "DELETE /api/v1/workspace/{workspaceId}/environments/{id}" +openapi: "DELETE /api/v1/projects/{projectId}/environments/{id}" --- diff --git a/docs/api-reference/endpoints/environments/update.mdx b/docs/api-reference/endpoints/environments/update.mdx index f93968668..1583f5220 100644 --- a/docs/api-reference/endpoints/environments/update.mdx +++ b/docs/api-reference/endpoints/environments/update.mdx @@ -1,4 +1,4 @@ --- title: "Update" -openapi: "PATCH /api/v1/workspace/{workspaceId}/environments/{id}" +openapi: "PATCH /api/v1/projects/{projectId}/environments/{id}" --- diff --git a/docs/api-reference/endpoints/folders/create.mdx b/docs/api-reference/endpoints/folders/create.mdx index e1ff3004a..13c4abea2 100644 --- a/docs/api-reference/endpoints/folders/create.mdx +++ b/docs/api-reference/endpoints/folders/create.mdx @@ -1,4 +1,4 @@ --- title: "Create" -openapi: "POST /api/v1/folders" +openapi: "POST /api/v2/folders" --- diff --git a/docs/api-reference/endpoints/folders/delete.mdx b/docs/api-reference/endpoints/folders/delete.mdx index a106cc2eb..71ba9684c 100644 --- a/docs/api-reference/endpoints/folders/delete.mdx +++ b/docs/api-reference/endpoints/folders/delete.mdx @@ -1,4 +1,4 @@ --- title: "Delete" -openapi: "DELETE /api/v1/folders/{folderIdOrName}" +openapi: "DELETE /api/v2/folders/{folderIdOrName}" --- diff --git a/docs/api-reference/endpoints/folders/get-by-id.mdx b/docs/api-reference/endpoints/folders/get-by-id.mdx index db3c4d0cc..ebfda35da 100644 --- a/docs/api-reference/endpoints/folders/get-by-id.mdx +++ b/docs/api-reference/endpoints/folders/get-by-id.mdx @@ -1,4 +1,4 @@ --- title: "Get by ID" -openapi: "GET /api/v1/folders/{id}" +openapi: "GET /api/v2/folders/{id}" --- diff --git a/docs/api-reference/endpoints/folders/list.mdx b/docs/api-reference/endpoints/folders/list.mdx index f40f93273..1d3a10ed8 100644 --- a/docs/api-reference/endpoints/folders/list.mdx +++ b/docs/api-reference/endpoints/folders/list.mdx @@ -1,4 +1,4 @@ --- title: "List" -openapi: "GET /api/v1/folders" +openapi: "GET /api/v2/folders" --- diff --git a/docs/api-reference/endpoints/folders/update.mdx b/docs/api-reference/endpoints/folders/update.mdx index c54778e94..969833a04 100644 --- a/docs/api-reference/endpoints/folders/update.mdx +++ b/docs/api-reference/endpoints/folders/update.mdx @@ -1,4 +1,4 @@ --- title: "Update" -openapi: "PATCH /api/v1/folders/{folderId}" +openapi: "PATCH /api/v2/folders/{folderId}" --- diff --git a/docs/api-reference/endpoints/project-groups/create.mdx b/docs/api-reference/endpoints/project-groups/create.mdx index 6dd7f1a4f..c40c506a6 100644 --- a/docs/api-reference/endpoints/project-groups/create.mdx +++ b/docs/api-reference/endpoints/project-groups/create.mdx @@ -1,4 +1,4 @@ --- title: "Create Project Membership" -openapi: "POST /api/v2/workspace/{projectId}/groups/{groupIdOrName}" +openapi: "POST /api/v1/projects/{projectId}/groups/{groupIdOrName}" --- diff --git a/docs/api-reference/endpoints/project-groups/delete.mdx b/docs/api-reference/endpoints/project-groups/delete.mdx index 07db40d7f..450e05501 100644 --- a/docs/api-reference/endpoints/project-groups/delete.mdx +++ b/docs/api-reference/endpoints/project-groups/delete.mdx @@ -1,4 +1,4 @@ --- title: "Delete Project Membership" -openapi: "DELETE /api/v2/workspace/{projectId}/groups/{groupId}" +openapi: "DELETE /api/v1/projects/{projectId}/groups/{groupId}" --- diff --git a/docs/api-reference/endpoints/project-groups/get-by-id.mdx b/docs/api-reference/endpoints/project-groups/get-by-id.mdx index 611f39059..89aa6ebac 100644 --- a/docs/api-reference/endpoints/project-groups/get-by-id.mdx +++ b/docs/api-reference/endpoints/project-groups/get-by-id.mdx @@ -1,4 +1,4 @@ --- title: "Get Project Membership" -openapi: "GET /api/v2/workspace/{projectId}/groups/{groupId}" +openapi: "GET /api/v1/projects/{projectId}/groups/{groupId}" --- diff --git a/docs/api-reference/endpoints/project-groups/list.mdx b/docs/api-reference/endpoints/project-groups/list.mdx index 1488fb6ae..90b4f957a 100644 --- a/docs/api-reference/endpoints/project-groups/list.mdx +++ b/docs/api-reference/endpoints/project-groups/list.mdx @@ -1,4 +1,4 @@ --- title: "List Project Memberships" -openapi: "GET /api/v2/workspace/{projectId}/groups" +openapi: "GET /api/v1/projects/{projectId}/groups" --- diff --git a/docs/api-reference/endpoints/project-groups/update.mdx b/docs/api-reference/endpoints/project-groups/update.mdx index 8b963a1d8..029815673 100644 --- a/docs/api-reference/endpoints/project-groups/update.mdx +++ b/docs/api-reference/endpoints/project-groups/update.mdx @@ -1,4 +1,4 @@ --- title: "Update Project Membership" -openapi: "PATCH /api/v2/workspace/{projectId}/groups/{groupId}" +openapi: "PATCH /api/v1/projects/{projectId}/groups/{groupId}" --- diff --git a/docs/api-reference/endpoints/project-identities/add-identity-membership.mdx b/docs/api-reference/endpoints/project-identities/add-identity-membership.mdx index 285b1d1c4..8b0122efd 100644 --- a/docs/api-reference/endpoints/project-identities/add-identity-membership.mdx +++ b/docs/api-reference/endpoints/project-identities/add-identity-membership.mdx @@ -1,4 +1,4 @@ --- title: "Create Identity Membership" -openapi: "POST /api/v2/workspace/{projectId}/identity-memberships/{identityId}" +openapi: "POST /api/v1/projects/{projectId}/identity-memberships/{identityId}" --- diff --git a/docs/api-reference/endpoints/project-identities/delete-identity-membership.mdx b/docs/api-reference/endpoints/project-identities/delete-identity-membership.mdx index e2b266626..10c56e5ec 100644 --- a/docs/api-reference/endpoints/project-identities/delete-identity-membership.mdx +++ b/docs/api-reference/endpoints/project-identities/delete-identity-membership.mdx @@ -1,4 +1,4 @@ --- title: "Delete Identity Membership" -openapi: "DELETE /api/v2/workspace/{projectId}/identity-memberships/{identityId}" +openapi: "DELETE /api/v1/projects/{projectId}/identity-memberships/{identityId}" --- diff --git a/docs/api-reference/endpoints/project-identities/get-by-id.mdx b/docs/api-reference/endpoints/project-identities/get-by-id.mdx index 37f4192d7..801b0d422 100644 --- a/docs/api-reference/endpoints/project-identities/get-by-id.mdx +++ b/docs/api-reference/endpoints/project-identities/get-by-id.mdx @@ -1,4 +1,4 @@ --- title: "Get Identity by ID" -openapi: "GET /api/v2/workspace/{projectId}/identity-memberships/{identityId}" +openapi: "GET /api/v1/projects/{projectId}/identity-memberships/{identityId}" --- diff --git a/docs/api-reference/endpoints/project-identities/list-identity-memberships.mdx b/docs/api-reference/endpoints/project-identities/list-identity-memberships.mdx index e5162e693..8673350fa 100644 --- a/docs/api-reference/endpoints/project-identities/list-identity-memberships.mdx +++ b/docs/api-reference/endpoints/project-identities/list-identity-memberships.mdx @@ -1,4 +1,4 @@ --- title: "List Identity Memberships" -openapi: "GET /api/v2/workspace/{projectId}/identity-memberships" +openapi: "GET /api/v1/projects/{projectId}/identity-memberships" --- diff --git a/docs/api-reference/endpoints/project-identities/update-identity-membership.mdx b/docs/api-reference/endpoints/project-identities/update-identity-membership.mdx index 667cf7eb3..ef34363d6 100644 --- a/docs/api-reference/endpoints/project-identities/update-identity-membership.mdx +++ b/docs/api-reference/endpoints/project-identities/update-identity-membership.mdx @@ -1,4 +1,4 @@ --- title: "Update Identity Membership" -openapi: "PATCH /api/v2/workspace/{projectId}/identity-memberships/{identityId}" +openapi: "PATCH /api/v1/projects/{projectId}/identity-memberships/{identityId}" --- diff --git a/docs/api-reference/endpoints/project-roles/create.mdx b/docs/api-reference/endpoints/project-roles/create.mdx index 97570ec36..1d3f9eb51 100644 --- a/docs/api-reference/endpoints/project-roles/create.mdx +++ b/docs/api-reference/endpoints/project-roles/create.mdx @@ -1,10 +1,9 @@ --- title: "Create" -openapi: "POST /api/v2/workspace/{projectId}/roles" +openapi: "POST /api/v1/projects/{projectId}/roles" --- You can read more about the permissions field in the [permissions documentation](/internals/permissions). - diff --git a/docs/api-reference/endpoints/project-roles/delete.mdx b/docs/api-reference/endpoints/project-roles/delete.mdx index 41edfa7c3..7b162c6da 100644 --- a/docs/api-reference/endpoints/project-roles/delete.mdx +++ b/docs/api-reference/endpoints/project-roles/delete.mdx @@ -1,4 +1,4 @@ --- title: "Delete" -openapi: "DELETE /api/v2/workspace/{projectId}/roles/{roleId}" +openapi: "DELETE /api/v1/projects/{projectId}/roles/{roleId}" --- diff --git a/docs/api-reference/endpoints/project-roles/get-by-slug.mdx b/docs/api-reference/endpoints/project-roles/get-by-slug.mdx index dfc5c582a..adfac8cd3 100644 --- a/docs/api-reference/endpoints/project-roles/get-by-slug.mdx +++ b/docs/api-reference/endpoints/project-roles/get-by-slug.mdx @@ -1,4 +1,4 @@ --- title: "Get By Slug" -openapi: "GET /api/v2/workspace/{projectId}/roles/slug/{roleSlug}" +openapi: "GET /api/v1/projects/{projectId}/roles/slug/{roleSlug}" --- diff --git a/docs/api-reference/endpoints/project-roles/list.mdx b/docs/api-reference/endpoints/project-roles/list.mdx index 8d8dc10c1..df6164370 100644 --- a/docs/api-reference/endpoints/project-roles/list.mdx +++ b/docs/api-reference/endpoints/project-roles/list.mdx @@ -1,4 +1,4 @@ --- title: "List" -openapi: "GET /api/v2/workspace/{projectId}/roles" +openapi: "GET /api/v1/projects/{projectId}/roles" --- diff --git a/docs/api-reference/endpoints/project-roles/update.mdx b/docs/api-reference/endpoints/project-roles/update.mdx index 662d5e617..56ac34f8b 100644 --- a/docs/api-reference/endpoints/project-roles/update.mdx +++ b/docs/api-reference/endpoints/project-roles/update.mdx @@ -1,4 +1,4 @@ --- title: "Update" -openapi: "PATCH /api/v2/workspace/{projectId}/roles/{roleId}" +openapi: "PATCH /api/v1/projects/{projectId}/roles/{roleId}" --- diff --git a/docs/api-reference/endpoints/project-users/delete-membership.mdx b/docs/api-reference/endpoints/project-users/delete-membership.mdx index 1995e4726..5c87e94af 100644 --- a/docs/api-reference/endpoints/project-users/delete-membership.mdx +++ b/docs/api-reference/endpoints/project-users/delete-membership.mdx @@ -1,4 +1,4 @@ --- title: "Delete User Membership" -openapi: "DELETE /api/v1/workspace/{workspaceId}/memberships/{membershipId}" +openapi: "DELETE /api/v1/projects/{projectId}/memberships/{membershipId}" --- diff --git a/docs/api-reference/endpoints/project-users/get-by-username.mdx b/docs/api-reference/endpoints/project-users/get-by-username.mdx index ec69d4947..5e4916b8e 100644 --- a/docs/api-reference/endpoints/project-users/get-by-username.mdx +++ b/docs/api-reference/endpoints/project-users/get-by-username.mdx @@ -1,4 +1,4 @@ --- title: "Get By Username" -openapi: "POST /api/v1/workspace/{workspaceId}/memberships/details" +openapi: "POST /api/v1/projects/{projectId}/memberships/details" --- diff --git a/docs/api-reference/endpoints/project-users/invite-member-to-project.mdx b/docs/api-reference/endpoints/project-users/invite-member-to-project.mdx new file mode 100644 index 000000000..c6fda8a09 --- /dev/null +++ b/docs/api-reference/endpoints/project-users/invite-member-to-project.mdx @@ -0,0 +1,4 @@ +--- +title: "Invite Member" +openapi: "POST /api/v1/projects/{projectId}/memberships" +--- diff --git a/docs/api-reference/endpoints/project-users/memberships.mdx b/docs/api-reference/endpoints/project-users/memberships.mdx index 3c4735f94..dd79667fe 100644 --- a/docs/api-reference/endpoints/project-users/memberships.mdx +++ b/docs/api-reference/endpoints/project-users/memberships.mdx @@ -1,4 +1,4 @@ --- title: "Get User Memberships" -openapi: "GET /api/v1/workspace/{workspaceId}/memberships" +openapi: "GET /api/v1/projects/{projectId}/memberships" --- diff --git a/docs/api-reference/endpoints/project-users/remove-member-from-project.mdx b/docs/api-reference/endpoints/project-users/remove-member-from-project.mdx new file mode 100644 index 000000000..8646aa158 --- /dev/null +++ b/docs/api-reference/endpoints/project-users/remove-member-from-project.mdx @@ -0,0 +1,4 @@ +--- +title: "Remove Member" +openapi: "DELETE /api/v1/projects/{projectId}/memberships" +--- diff --git a/docs/api-reference/endpoints/project-users/update-membership.mdx b/docs/api-reference/endpoints/project-users/update-membership.mdx index 9a7aa600f..5f1edcf0a 100644 --- a/docs/api-reference/endpoints/project-users/update-membership.mdx +++ b/docs/api-reference/endpoints/project-users/update-membership.mdx @@ -1,4 +1,4 @@ --- title: "Update User Membership" -openapi: "PATCH /api/v1/workspace/{workspaceId}/memberships/{membershipId}" +openapi: "PATCH /api/v1/projects/{projectId}/memberships/{membershipId}" --- diff --git a/docs/api-reference/endpoints/projects/create-project.mdx b/docs/api-reference/endpoints/projects/create-project.mdx new file mode 100644 index 000000000..7ee1caff8 --- /dev/null +++ b/docs/api-reference/endpoints/projects/create-project.mdx @@ -0,0 +1,4 @@ +--- +title: "Create Project" +openapi: "POST /api/v1/projects" +--- diff --git a/docs/api-reference/endpoints/projects/delete-project.mdx b/docs/api-reference/endpoints/projects/delete-project.mdx new file mode 100644 index 000000000..eff96ded5 --- /dev/null +++ b/docs/api-reference/endpoints/projects/delete-project.mdx @@ -0,0 +1,8 @@ +--- +title: "Delete Project" +openapi: "DELETE /api/v1/projects/{projectId}" +--- + + + This operation is irreversible. All data associated with the project will be deleted. Please use with caution. + diff --git a/docs/api-reference/endpoints/projects/get-project-by-slug.mdx b/docs/api-reference/endpoints/projects/get-project-by-slug.mdx new file mode 100644 index 000000000..9bcccc31e --- /dev/null +++ b/docs/api-reference/endpoints/projects/get-project-by-slug.mdx @@ -0,0 +1,4 @@ +--- +title: "Get Project By Slug" +openapi: "GET /api/v1/projects/slug/{slug}" +--- diff --git a/docs/api-reference/endpoints/projects/get-project.mdx b/docs/api-reference/endpoints/projects/get-project.mdx new file mode 100644 index 000000000..6ed92833e --- /dev/null +++ b/docs/api-reference/endpoints/projects/get-project.mdx @@ -0,0 +1,4 @@ +--- +title: "Get Project" +openapi: "GET /api/v1/projects/{projectId}" +--- diff --git a/docs/api-reference/endpoints/projects/rollback-snapshot.mdx b/docs/api-reference/endpoints/projects/rollback-snapshot.mdx new file mode 100644 index 000000000..527c861b2 --- /dev/null +++ b/docs/api-reference/endpoints/projects/rollback-snapshot.mdx @@ -0,0 +1,4 @@ +--- +title: "Roll Back to Snapshot" +openapi: "POST /api/v1/secret-snapshot/{secretSnapshotId}/rollback" +--- diff --git a/docs/api-reference/endpoints/projects/secret-snapshots.mdx b/docs/api-reference/endpoints/projects/secret-snapshots.mdx new file mode 100644 index 000000000..182e61507 --- /dev/null +++ b/docs/api-reference/endpoints/projects/secret-snapshots.mdx @@ -0,0 +1,4 @@ +--- +title: "Get Snapshots" +openapi: "GET /api/v1/projects/{projectId}/secret-snapshots" +--- diff --git a/docs/api-reference/endpoints/projects/update-project.mdx b/docs/api-reference/endpoints/projects/update-project.mdx new file mode 100644 index 000000000..99fcc7b76 --- /dev/null +++ b/docs/api-reference/endpoints/projects/update-project.mdx @@ -0,0 +1,4 @@ +--- +title: "Update Project" +openapi: "PATCH /api/v1/projects/{projectId}" +--- diff --git a/docs/api-reference/endpoints/secret-imports/create.mdx b/docs/api-reference/endpoints/secret-imports/create.mdx index 3abfb320f..f072e59a4 100644 --- a/docs/api-reference/endpoints/secret-imports/create.mdx +++ b/docs/api-reference/endpoints/secret-imports/create.mdx @@ -1,4 +1,4 @@ --- title: "Create" -openapi: "POST /api/v1/secret-imports" +openapi: "POST /api/v2/secret-imports" --- diff --git a/docs/api-reference/endpoints/secret-imports/delete.mdx b/docs/api-reference/endpoints/secret-imports/delete.mdx index cfa5960b1..d0b35426b 100644 --- a/docs/api-reference/endpoints/secret-imports/delete.mdx +++ b/docs/api-reference/endpoints/secret-imports/delete.mdx @@ -1,4 +1,4 @@ --- title: "Delete" -openapi: "DELETE /api/v1/secret-imports/{secretImportId}" +openapi: "DELETE /api/v2/secret-imports/{secretImportId}" --- diff --git a/docs/api-reference/endpoints/secret-imports/list.mdx b/docs/api-reference/endpoints/secret-imports/list.mdx index 580d4be8d..1cf3e1386 100644 --- a/docs/api-reference/endpoints/secret-imports/list.mdx +++ b/docs/api-reference/endpoints/secret-imports/list.mdx @@ -1,4 +1,4 @@ --- title: "List" -openapi: "GET /api/v1/secret-imports" +openapi: "GET /api/v2/secret-imports" --- diff --git a/docs/api-reference/endpoints/secret-imports/update.mdx b/docs/api-reference/endpoints/secret-imports/update.mdx index f21133223..146fcd76b 100644 --- a/docs/api-reference/endpoints/secret-imports/update.mdx +++ b/docs/api-reference/endpoints/secret-imports/update.mdx @@ -1,4 +1,4 @@ --- title: "Update" -openapi: "PATCH /api/v1/secret-imports/{secretImportId}" +openapi: "PATCH /api/v2/secret-imports/{secretImportId}" --- diff --git a/docs/api-reference/endpoints/secret-tags/create.mdx b/docs/api-reference/endpoints/secret-tags/create.mdx index 82d0eed17..d4c587979 100644 --- a/docs/api-reference/endpoints/secret-tags/create.mdx +++ b/docs/api-reference/endpoints/secret-tags/create.mdx @@ -1,4 +1,4 @@ --- title: "Create" -openapi: "POST /api/v1/workspace/{projectId}/tags" ---- \ No newline at end of file +openapi: "POST /api/v1/projects/{projectId}/tags" +--- diff --git a/docs/api-reference/endpoints/secret-tags/delete.mdx b/docs/api-reference/endpoints/secret-tags/delete.mdx index cc98f03c2..121d6816c 100644 --- a/docs/api-reference/endpoints/secret-tags/delete.mdx +++ b/docs/api-reference/endpoints/secret-tags/delete.mdx @@ -1,4 +1,4 @@ --- title: "Delete" -openapi: "DELETE /api/v1/workspace/{projectId}/tags/{tagId}" ---- \ No newline at end of file +openapi: "DELETE /api/v1/projects/{projectId}/tags/{tagId}" +--- diff --git a/docs/api-reference/endpoints/secret-tags/get-by-id.mdx b/docs/api-reference/endpoints/secret-tags/get-by-id.mdx index de02fe133..7e1fa8d7f 100644 --- a/docs/api-reference/endpoints/secret-tags/get-by-id.mdx +++ b/docs/api-reference/endpoints/secret-tags/get-by-id.mdx @@ -1,4 +1,4 @@ --- title: "Get By ID" -openapi: "GET /api/v1/workspace/{projectId}/tags/{tagId}" +openapi: "GET /api/v1/projects/{projectId}/tags/{tagId}" --- diff --git a/docs/api-reference/endpoints/secret-tags/get-by-slug.mdx b/docs/api-reference/endpoints/secret-tags/get-by-slug.mdx index 91eab730f..c012c97d4 100644 --- a/docs/api-reference/endpoints/secret-tags/get-by-slug.mdx +++ b/docs/api-reference/endpoints/secret-tags/get-by-slug.mdx @@ -1,4 +1,4 @@ --- title: "Get By Slug" -openapi: "GET /api/v1/workspace/{projectId}/tags/slug/{tagSlug}" +openapi: "GET /api/v1/projects/{projectId}/tags/slug/{tagSlug}" --- diff --git a/docs/api-reference/endpoints/secret-tags/list.mdx b/docs/api-reference/endpoints/secret-tags/list.mdx index c4a940f77..b7e1eca74 100644 --- a/docs/api-reference/endpoints/secret-tags/list.mdx +++ b/docs/api-reference/endpoints/secret-tags/list.mdx @@ -1,4 +1,4 @@ --- title: "List" -openapi: "GET /api/v1/workspace/{projectId}/tags" ---- \ No newline at end of file +openapi: "GET /api/v1/projects/{projectId}/tags" +--- diff --git a/docs/api-reference/endpoints/secret-tags/update.mdx b/docs/api-reference/endpoints/secret-tags/update.mdx index b9c290db8..b20ce49f4 100644 --- a/docs/api-reference/endpoints/secret-tags/update.mdx +++ b/docs/api-reference/endpoints/secret-tags/update.mdx @@ -1,4 +1,4 @@ --- title: "Update" -openapi: "PATCH /api/v1/workspace/{projectId}/tags/{tagId}" +openapi: "PATCH /api/v1/projects/{projectId}/tags/{tagId}" --- diff --git a/docs/api-reference/endpoints/secrets/create-many.mdx b/docs/api-reference/endpoints/secrets/create-many.mdx index 227c5470d..e3d30aef8 100644 --- a/docs/api-reference/endpoints/secrets/create-many.mdx +++ b/docs/api-reference/endpoints/secrets/create-many.mdx @@ -1,5 +1,4 @@ --- title: "Bulk Create" -openapi: "POST /api/v3/secrets/batch/raw" +openapi: "POST /api/v4/secrets/batch" --- - diff --git a/docs/api-reference/endpoints/secrets/create.mdx b/docs/api-reference/endpoints/secrets/create.mdx index afee0a719..c04dcf9f4 100644 --- a/docs/api-reference/endpoints/secrets/create.mdx +++ b/docs/api-reference/endpoints/secrets/create.mdx @@ -1,5 +1,4 @@ --- title: "Create" -openapi: "POST /api/v3/secrets/raw/{secretName}" +openapi: "POST /api/v4/secrets/{secretName}" --- - diff --git a/docs/api-reference/endpoints/secrets/delete-many.mdx b/docs/api-reference/endpoints/secrets/delete-many.mdx index 57c8588d8..49491c3b9 100644 --- a/docs/api-reference/endpoints/secrets/delete-many.mdx +++ b/docs/api-reference/endpoints/secrets/delete-many.mdx @@ -1,5 +1,4 @@ --- title: "Bulk Delete" -openapi: "DELETE /api/v3/secrets/batch/raw" +openapi: "DELETE /api/v4/secrets/batch" --- - diff --git a/docs/api-reference/endpoints/secrets/delete.mdx b/docs/api-reference/endpoints/secrets/delete.mdx index ef3abc722..f71a851e8 100644 --- a/docs/api-reference/endpoints/secrets/delete.mdx +++ b/docs/api-reference/endpoints/secrets/delete.mdx @@ -1,5 +1,4 @@ --- title: "Delete" -openapi: "DELETE /api/v3/secrets/raw/{secretName}" +openapi: "DELETE /api/v4/secrets/{secretName}" --- - diff --git a/docs/api-reference/endpoints/secrets/list.mdx b/docs/api-reference/endpoints/secrets/list.mdx index 4808f6690..6a1f38d68 100644 --- a/docs/api-reference/endpoints/secrets/list.mdx +++ b/docs/api-reference/endpoints/secrets/list.mdx @@ -1,4 +1,4 @@ --- title: "List" -openapi: "GET /api/v3/secrets/raw" +openapi: "GET /api/v4/secrets" --- diff --git a/docs/api-reference/endpoints/secrets/read.mdx b/docs/api-reference/endpoints/secrets/read.mdx index 6af308e0f..10e725ba5 100644 --- a/docs/api-reference/endpoints/secrets/read.mdx +++ b/docs/api-reference/endpoints/secrets/read.mdx @@ -1,5 +1,4 @@ --- title: "Retrieve" -openapi: "GET /api/v3/secrets/raw/{secretName}" +openapi: "GET /api/v4/secrets/{secretName}" --- - diff --git a/docs/api-reference/endpoints/secrets/update-many.mdx b/docs/api-reference/endpoints/secrets/update-many.mdx index 7586d91bc..9aca17148 100644 --- a/docs/api-reference/endpoints/secrets/update-many.mdx +++ b/docs/api-reference/endpoints/secrets/update-many.mdx @@ -1,5 +1,4 @@ --- title: "Bulk Update" -openapi: "PATCH /api/v3/secrets/batch/raw" +openapi: "PATCH /api/v4/secrets/batch" --- - diff --git a/docs/api-reference/endpoints/secrets/update.mdx b/docs/api-reference/endpoints/secrets/update.mdx index ce68c492e..435f3e0c4 100644 --- a/docs/api-reference/endpoints/secrets/update.mdx +++ b/docs/api-reference/endpoints/secrets/update.mdx @@ -1,4 +1,4 @@ --- title: "Update" -openapi: "PATCH /api/v3/secrets/raw/{secretName}" +openapi: "PATCH /api/v4/secrets/{secretName}" --- diff --git a/docs/docs.json b/docs/docs.json index 285e11a60..32e49119c 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -1008,26 +1008,25 @@ "api-reference/endpoints/organizations/update-membership", "api-reference/endpoints/organizations/delete-membership", "api-reference/endpoints/organizations/bulk-delete-memberships", - "api-reference/endpoints/organizations/list-identity-memberships", - "api-reference/endpoints/organizations/workspaces" + "api-reference/endpoints/organizations/list-identity-memberships" ] }, { "group": "Projects", "pages": [ - "api-reference/endpoints/workspaces/get-workspace-by-slug", - "api-reference/endpoints/workspaces/create-workspace", - "api-reference/endpoints/workspaces/delete-workspace", - "api-reference/endpoints/workspaces/get-workspace", - "api-reference/endpoints/workspaces/update-workspace", - "api-reference/endpoints/workspaces/secret-snapshots" + "api-reference/endpoints/projects/get-project-by-slug", + "api-reference/endpoints/projects/create-project", + "api-reference/endpoints/projects/delete-project", + "api-reference/endpoints/projects/get-project", + "api-reference/endpoints/projects/update-project", + "api-reference/endpoints/projects/secret-snapshots" ] }, { "group": "Project Users", "pages": [ - "api-reference/endpoints/project-users/invite-member-to-workspace", - "api-reference/endpoints/project-users/remove-member-from-workspace", + "api-reference/endpoints/project-users/invite-member-to-project", + "api-reference/endpoints/project-users/remove-member-from-project", "api-reference/endpoints/project-users/memberships", "api-reference/endpoints/project-users/get-by-username", "api-reference/endpoints/project-users/update-membership" @@ -1112,9 +1111,7 @@ "api-reference/endpoints/secrets/delete", "api-reference/endpoints/secrets/create-many", "api-reference/endpoints/secrets/update-many", - "api-reference/endpoints/secrets/delete-many", - "api-reference/endpoints/secrets/attach-tags", - "api-reference/endpoints/secrets/detach-tags" + "api-reference/endpoints/secrets/delete-many" ] }, { @@ -2463,6 +2460,121 @@ ] } ] + }, + { + "group": "To be depreciated", + "pages": [ + { + "group": "Organizations", + "pages": [ + "api-reference/endpoints/depreciated/organizations/projects" + ] + }, + { + "group": "Projects", + "pages": [ + "api-reference/endpoints/depreciated/projects/get-project-by-slug", + "api-reference/endpoints/depreciated/projects/create-project", + "api-reference/endpoints/depreciated/projects/delete-project", + "api-reference/endpoints/depreciated/projects/get-project", + "api-reference/endpoints/depreciated/projects/update-project", + "api-reference/endpoints/depreciated/projects/secret-snapshots" + ] + }, + { + "group": "Project Users", + "pages": [ + "api-reference/endpoints/depreciated/project-users/invite-member-to-project", + "api-reference/endpoints/depreciated/project-users/remove-member-from-project", + "api-reference/endpoints/depreciated/project-users/memberships", + "api-reference/endpoints/depreciated/project-users/get-by-username", + "api-reference/endpoints/depreciated/project-users/update-membership" + ] + }, + { + "group": "Project Groups", + "pages": [ + "api-reference/endpoints/depreciated/project-groups/create", + "api-reference/endpoints/depreciated/project-groups/delete", + "api-reference/endpoints/depreciated/project-groups/get-by-id", + "api-reference/endpoints/depreciated/project-groups/list", + "api-reference/endpoints/depreciated/project-groups/update" + ] + }, + { + "group": "Project Identities", + "pages": [ + "api-reference/endpoints/depreciated/project-identities/add-identity-membership", + "api-reference/endpoints/depreciated/project-identities/list-identity-memberships", + "api-reference/endpoints/depreciated/project-identities/get-by-id", + "api-reference/endpoints/depreciated/project-identities/update-identity-membership", + "api-reference/endpoints/depreciated/project-identities/delete-identity-membership" + ] + }, + { + "group": "Project Roles", + "pages": [ + "api-reference/endpoints/depreciated/project-roles/create", + "api-reference/endpoints/depreciated/project-roles/update", + "api-reference/endpoints/depreciated/project-roles/delete", + "api-reference/endpoints/depreciated/project-roles/get-by-slug", + "api-reference/endpoints/depreciated/project-roles/list" + ] + }, + { + "group": "Environments", + "pages": [ + "api-reference/endpoints/depreciated/environments/create", + "api-reference/endpoints/depreciated/environments/update", + "api-reference/endpoints/depreciated/environments/delete" + ] + }, + { + "group": "Folders", + "pages": [ + "api-reference/endpoints/depreciated/folders/list", + "api-reference/endpoints/depreciated/folders/get-by-id", + "api-reference/endpoints/depreciated/folders/create", + "api-reference/endpoints/depreciated/folders/update", + "api-reference/endpoints/depreciated/folders/delete" + ] + }, + { + "group": "Secret Tags", + "pages": [ + "api-reference/endpoints/depreciated/secret-tags/list", + "api-reference/endpoints/depreciated/secret-tags/get-by-id", + "api-reference/endpoints/depreciated/secret-tags/get-by-slug", + "api-reference/endpoints/depreciated/secret-tags/create", + "api-reference/endpoints/depreciated/secret-tags/update", + "api-reference/endpoints/depreciated/secret-tags/delete" + ] + }, + { + "group": "Secrets", + "pages": [ + "api-reference/endpoints/depreciated/secrets/list", + "api-reference/endpoints/depreciated/secrets/create", + "api-reference/endpoints/depreciated/secrets/read", + "api-reference/endpoints/depreciated/secrets/update", + "api-reference/endpoints/depreciated/secrets/delete", + "api-reference/endpoints/depreciated/secrets/create-many", + "api-reference/endpoints/depreciated/secrets/update-many", + "api-reference/endpoints/depreciated/secrets/delete-many", + "api-reference/endpoints/depreciated/secrets/attach-tags", + "api-reference/endpoints/depreciated/secrets/detach-tags" + ] + }, + { + "group": "Secret Imports", + "pages": [ + "api-reference/endpoints/depreciated/secret-imports/list", + "api-reference/endpoints/depreciated/secret-imports/create", + "api-reference/endpoints/depreciated/secret-imports/update", + "api-reference/endpoints/depreciated/secret-imports/delete" + ] + } + ] } ] }, @@ -2506,7 +2618,7 @@ "href": "https://infisical.com" }, "api": { - "openapi": "https://app.infisical.com/api/docs/json", + "openapi": "http://localhost:8080/api/docs/json", "mdx": { "server": ["https://app.infisical.com"] } diff --git a/docs/internals/permissions/organization-permissions.mdx b/docs/internals/permissions/organization-permissions.mdx index 5f5fc962f..13dda8196 100644 --- a/docs/internals/permissions/organization-permissions.mdx +++ b/docs/internals/permissions/organization-permissions.mdx @@ -18,13 +18,13 @@ Some organization-level resources—specifically `app-connections`—support con Below is a comprehensive list of all available organization-level subjects and their supported actions, organized by functional area. -### Workspace Management +### Project Management #### Subject: `workspace` -| Action | Description | -| -------- | --------------------- | -| `create` | Create new workspaces | +| Action | Description | +| -------- | ------------------ | +| `create` | Create new project | ### Role Management From ffae0061917b881761984230ca959d22029564a3 Mon Sep 17 00:00:00 2001 From: = Date: Mon, 15 Sep 2025 23:34:21 +0530 Subject: [PATCH 16/27] feat: ran lint and review comments addressed --- backend/src/ee/routes/v1/index.ts | 6 ++--- backend/src/ee/routes/v2/index.ts | 2 +- backend/src/server/routes/v1/index.ts | 6 ++--- .../server/routes/v1/project-env-router.ts | 12 ++++----- .../routes/v1/project-membership-router.ts | 1 - .../src/server/routes/v1/project-router.ts | 27 +++++++++---------- backend/src/server/routes/v2/index.ts | 10 +++---- .../routes/v3/depreciated-secret-router.ts | 2 +- backend/src/server/routes/v3/index.ts | 2 +- backend/src/server/routes/v4/secret-router.ts | 4 +-- .../components/projects/NewProjectModal.tsx | 2 +- .../CreateSecretRotationV2Modal.tsx | 2 +- .../forms/SecretRotationV2Form.tsx | 2 +- .../forms/SecretSyncSourceFields.tsx | 2 +- .../InfisicalSecretInput.tsx | 2 +- .../v2/SecretPathInput/SecretPathInput.tsx | 4 +-- frontend/src/helpers/project.ts | 6 ++--- .../src/hooks/api/accessApproval/queries.tsx | 4 +-- .../src/hooks/api/accessApproval/types.ts | 2 +- frontend/src/hooks/api/auth/queries.tsx | 2 +- .../src/hooks/api/folderCommits/queries.tsx | 10 +++---- frontend/src/hooks/api/identities/types.ts | 2 +- frontend/src/hooks/api/index.tsx | 4 +-- frontend/src/hooks/api/projects/index.tsx | 2 +- frontend/src/hooks/api/projects/queries.tsx | 6 ++--- .../src/hooks/api/projects/query-keys.tsx | 3 +-- frontend/src/hooks/api/secretImports/types.ts | 2 +- frontend/src/hooks/api/secrets/mutations.tsx | 4 +-- frontend/src/hooks/api/tags/queries.tsx | 23 +++++++--------- frontend/src/hooks/api/types.ts | 24 ++++++++--------- frontend/src/hooks/api/users/queries.tsx | 2 +- frontend/src/hooks/api/webhooks/query.tsx | 12 ++++----- frontend/src/hooks/usePathAccessPolicies.tsx | 2 +- frontend/src/layouts/KmsLayout/KmsLayout.tsx | 2 +- .../components/NavBar/Navbar.tsx | 2 +- .../PkiManagerLayout/PkiManagerLayout.tsx | 2 +- .../AssumePrivilegeModeBanner.tsx | 2 +- .../ProjectSelect/ProjectSelect.tsx | 6 ++--- .../SecretManagerLayout.tsx | 2 +- .../SecretScanningLayout.tsx | 4 +-- frontend/src/layouts/SshLayout/SshLayout.tsx | 4 +-- .../PkiSubscriberCertificatesTable.tsx | 4 +-- .../PkiSubscriberDetailsSection.tsx | 4 +-- .../PkiTemplateListPage.tsx | 4 +-- frontend/src/pages/cert-manager/layout.tsx | 2 +- .../KmipPage/components/KmipClientTable.tsx | 4 +-- .../kms/OverviewPage/components/CmekTable.tsx | 4 +-- frontend/src/pages/kms/layout.tsx | 2 +- .../OrgMembersSection/AddOrgMemberModal.tsx | 2 +- .../IdentityProjectsSection.tsx | 2 +- .../components/AllProjectView.tsx | 2 +- .../ProjectsPage/components/MyProjectView.tsx | 2 +- .../components/EditProjectTemplate.tsx | 2 +- .../ProjectTemplateDetailsModal.tsx | 2 +- .../components/GroupsSection/GroupRoles.tsx | 2 +- .../GroupsSection/GroupsSection.tsx | 4 +-- .../MembersTab/components/AddMemberModal.tsx | 6 ++--- .../MemberRoleForm/MemberRbacSection.tsx | 6 ++--- .../SpecificPrivilegeSection.tsx | 4 +-- .../MembersTab/components/MembersTable.tsx | 12 ++++----- .../IdentityDetailsByIDPage.tsx | 4 +-- ...rojectAdditionalPrivilegeModifySection.tsx | 4 +-- .../IdentityRoleModify.tsx | 6 ++--- ...rojectAdditionalPrivilegeModifySection.tsx | 4 +-- .../MemberRoleDetailsSection.tsx | 2 +- .../MemberRoleModify.tsx | 6 ++--- .../ProjectRoleModifySection.utils.tsx | 2 +- .../components/RolePermissionsSection.tsx | 2 +- .../AuditLogsRetentionSection.tsx | 4 +-- .../DeleteProjectProtection.tsx | 2 +- .../DeleteProjectSection.tsx | 4 +-- .../CommitDetailsPage/CommitDetailsPage.tsx | 2 +- .../CommitDetailsTab/CommitDetailsTab.tsx | 8 +++--- .../components/IPAllowlistSection.tsx | 4 +-- .../components/IPAllowlistTable.tsx | 4 +-- .../IntegrationAuditLogsSection.tsx | 2 +- .../CloudIntegrationSection.tsx | 4 +-- .../IntegrationsListPage/route.tsx | 2 +- .../OverviewPage/OverviewPage.tsx | 22 +++++++-------- .../CreateSecretForm/CreateSecretForm.tsx | 8 +++--- .../SecretRenameRow.tsx | 2 +- .../components/QuickSearchModal.tsx | 2 +- .../SecretV2MigrationSection.tsx | 6 ++--- .../SelectionPanel/SelectionPanel.tsx | 6 ++--- .../MoveSecretsDialog/MoveSecretsDialog.tsx | 2 +- .../SecretApprovalsPage.tsx | 2 +- .../AccessApprovalRequest.tsx | 4 +-- .../components/ReviewAccessModal.tsx | 2 +- .../ApprovalPolicyList/ApprovalPolicyList.tsx | 12 ++++----- .../SecretApprovalRequest.tsx | 4 +-- .../SecretApprovalRequestAction.tsx | 2 +- .../SecretApprovalRequestChanges.tsx | 2 +- .../SecretDashboardPage.tsx | 24 ++++++++--------- .../components/ActionBar/ActionBar.tsx | 6 ++--- .../ActionBar/CreateSecretImportForm.tsx | 6 ++--- .../ReplicateFolderFromBoard.tsx | 6 ++--- .../components/CommitForm/CommitForm.tsx | 20 +++++++------- .../CompareEnvironments.tsx | 6 ++--- .../EnvironmentTabs/EnvironmentTabs.tsx | 4 +-- .../FolderListView/FolderListView.tsx | 16 +++++------ .../SecretDropzone/CopySecretsFromBoard.tsx | 8 +++--- .../SecretDropzone/SecretDropzone.tsx | 6 ++--- .../SecretImportListView.tsx | 10 +++---- .../SecretListView/CreateReminderForm.tsx | 2 +- .../SecretListView/SecretDetailSidebar.tsx | 4 +-- .../SecretListView/SecretListView.tsx | 16 +++++------ .../SecretRotationPage/SecretRotationPage.tsx | 4 +-- .../components/SecretSyncAuditLogsSection.tsx | 2 +- .../BackfillSecretReferenceSection.tsx | 2 +- .../EnvironmentSection/EnvironmentSection.tsx | 4 +-- .../EnvironmentSection/EnvironmentTable.tsx | 4 +-- .../PointInTimeVersionLimitSection.tsx | 4 +-- .../SecretDetectionIgnoreValuesSection.tsx | 2 +- .../SecretTagsSection/SecretTagsSection.tsx | 4 +-- .../components/WebhooksTab/WebhooksTab.tsx | 12 ++++----- frontend/src/pages/secret-manager/layout.tsx | 2 +- .../SecretScanningDataSourcesSection.tsx | 2 +- .../ProjectScanningConfigTab.tsx | 2 +- frontend/src/pages/secret-scanning/layout.tsx | 2 +- frontend/src/pages/ssh/layout.tsx | 2 +- 120 files changed, 302 insertions(+), 312 deletions(-) diff --git a/backend/src/ee/routes/v1/index.ts b/backend/src/ee/routes/v1/index.ts index 6eec1d6b4..0d4160816 100644 --- a/backend/src/ee/routes/v1/index.ts +++ b/backend/src/ee/routes/v1/index.ts @@ -5,6 +5,9 @@ import { registerAccessApprovalRequestRouter } from "./access-approval-request-r import { registerAssumePrivilegeRouter } from "./assume-privilege-router"; import { AUDIT_LOG_STREAM_REGISTER_ROUTER_MAP, registerAuditLogStreamRouter } from "./audit-log-stream-routers"; import { registerCaCrlRouter } from "./certificate-authority-crl-router"; +import { registerDepreciatedProjectRoleRouter } from "./depreciated-project-role-router"; +import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; +import { registerDepreciatedSecretApprovalPolicyRouter } from "./depreciated-secret-approval-policy-router"; import { registerDynamicSecretLeaseRouter } from "./dynamic-secret-lease-router"; import { registerKubernetesDynamicSecretLeaseRouter } from "./dynamic-secret-lease-routers/kubernetes-lease-router"; import { registerDynamicSecretRouter } from "./dynamic-secret-router"; @@ -22,14 +25,11 @@ import { registerOidcRouter } from "./oidc-router"; import { registerOrgRoleRouter } from "./org-role-router"; import { registerPITRouter } from "./pit-router"; import { registerProjectRoleRouter } from "./project-role-router"; -import { registerDepreciatedProjectRoleRouter } from "./depreciated-project-role-router"; import { registerProjectRouter } from "./project-router"; -import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; import { registerRateLimitRouter } from "./rate-limit-router"; import { registerRelayRouter } from "./relay-router"; import { registerSamlRouter } from "./saml-router"; import { registerScimRouter } from "./scim-router"; -import { registerDepreciatedSecretApprovalPolicyRouter } from "./depreciated-secret-approval-policy-router"; import { registerSecretApprovalRequestRouter } from "./secret-approval-request-router"; import { registerSecretRotationProviderRouter } from "./secret-rotation-provider-router"; import { registerSecretRotationRouter } from "./secret-rotation-router"; diff --git a/backend/src/ee/routes/v2/index.ts b/backend/src/ee/routes/v2/index.ts index d98505e94..6dbac6ad8 100644 --- a/backend/src/ee/routes/v2/index.ts +++ b/backend/src/ee/routes/v2/index.ts @@ -7,9 +7,9 @@ import { SECRET_SCANNING_REGISTER_ROUTER_MAP } from "@app/ee/routes/v2/secret-scanning-v2-routers"; +import { registerDepreciatedProjectRoleRouter } from "./depreciated-project-role-router"; import { registerGatewayV2Router } from "./gateway-router"; import { registerIdentityProjectAdditionalPrivilegeRouter } from "./identity-project-additional-privilege-router"; -import { registerDepreciatedProjectRoleRouter } from "./depreciated-project-role-router"; import { registerSecretApprovalPolicyRouter } from "./secret-approval-policy-router"; export const registerV2EERoutes = async (server: FastifyZodProvider) => { diff --git a/backend/src/server/routes/v1/index.ts b/backend/src/server/routes/v1/index.ts index 408c94d5e..1e4893c64 100644 --- a/backend/src/server/routes/v1/index.ts +++ b/backend/src/server/routes/v1/index.ts @@ -16,6 +16,8 @@ import { registerCertificateTemplateRouter } from "./certificate-template-router import { registerDepreciatedProjectEnvRouter } from "./depreciated-project-env-router"; import { registerDepreciatedProjectMembershipRouter } from "./depreciated-project-membership-router"; import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; +import { registerDepreciatedSecretFolderRouter } from "./depreciated-secret-folder-router"; +import { registerDepreciatedSecretImportRouter } from "./depreciated-secret-import-router"; import { registerDepreciatedSecretTagRouter } from "./depreciated-secret-tag-router"; import { registerEventRouter } from "./event-router"; import { registerExternalGroupOrgRoleMappingRouter } from "./external-group-org-role-mapping-router"; @@ -30,6 +32,7 @@ import { registerIdentityKubernetesRouter } from "./identity-kubernetes-auth-rou import { registerIdentityLdapAuthRouter } from "./identity-ldap-auth-router"; import { registerIdentityOciAuthRouter } from "./identity-oci-auth-router"; import { registerIdentityOidcAuthRouter } from "./identity-oidc-auth-router"; +import { registerIdentityProjectRouter } from "./identity-project-router"; import { registerIdentityRouter } from "./identity-router"; import { registerIdentityTlsCertAuthRouter } from "./identity-tls-cert-auth-router"; import { registerIdentityTokenAuthRouter } from "./identity-token-auth-router"; @@ -50,8 +53,6 @@ import { registerProjectKeyRouter } from "./project-key-router"; import { registerProjectMembershipRouter } from "./project-membership-router"; import { registerProjectRouter } from "./project-router"; import { SECRET_REMINDER_REGISTER_ROUTER_MAP } from "./reminder-routers"; -import { registerDepreciatedSecretFolderRouter } from "./depreciated-secret-folder-router"; -import { registerDepreciatedSecretImportRouter } from "./depreciated-secret-import-router"; import { registerSecretRequestsRouter } from "./secret-requests-router"; import { registerSecretSharingRouter } from "./secret-sharing-router"; import { registerSecretTagRouter } from "./secret-tag-router"; @@ -62,7 +63,6 @@ import { registerUserEngagementRouter } from "./user-engagement-router"; import { registerUserRouter } from "./user-router"; import { registerWebhookRouter } from "./webhook-router"; import { registerWorkflowIntegrationRouter } from "./workflow-integration-router"; -import { registerIdentityProjectRouter } from "./identity-project-router"; export const registerV1Routes = async (server: FastifyZodProvider) => { await server.register(registerSsoRouter, { prefix: "/sso" }); diff --git a/backend/src/server/routes/v1/project-env-router.ts b/backend/src/server/routes/v1/project-env-router.ts index af71c5466..81b828b55 100644 --- a/backend/src/server/routes/v1/project-env-router.ts +++ b/backend/src/server/routes/v1/project-env-router.ts @@ -85,7 +85,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { response: { 200: z.object({ message: z.string(), - workspace: z.string(), + projectId: z.string(), environment: ProjectEnvironmentsSchema }) } @@ -114,7 +114,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { }); return { message: "Successfully created new environment", - workspace: req.params.projectId, + projectId: req.params.projectId, environment }; } @@ -147,7 +147,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { response: { 200: z.object({ message: z.string(), - workspace: z.string(), + projectId: z.string(), environment: ProjectEnvironmentsSchema }) } @@ -182,7 +182,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { return { message: "Successfully updated environment", - workspace: req.params.projectId, + projectId: req.params.projectId, environment }; } @@ -210,7 +210,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { response: { 200: z.object({ message: z.string(), - workspace: z.string(), + projectId: z.string(), environment: ProjectEnvironmentsSchema }) } @@ -240,7 +240,7 @@ export const registerProjectEnvRouter = async (server: FastifyZodProvider) => { return { message: "Successfully deleted environment", - workspace: req.params.projectId, + projectId: req.params.projectId, environment }; } diff --git a/backend/src/server/routes/v1/project-membership-router.ts b/backend/src/server/routes/v1/project-membership-router.ts index ef973de46..f3cdfe701 100644 --- a/backend/src/server/routes/v1/project-membership-router.ts +++ b/backend/src/server/routes/v1/project-membership-router.ts @@ -137,7 +137,6 @@ export const registerProjectMembershipRouter = async (server: FastifyZodProvider } }); - // TODO(depri): ask this usage again server.route({ method: "POST", url: "/:projectId/memberships/details", diff --git a/backend/src/server/routes/v1/project-router.ts b/backend/src/server/routes/v1/project-router.ts index 1c88a4917..c2aa9f488 100644 --- a/backend/src/server/routes/v1/project-router.ts +++ b/backend/src/server/routes/v1/project-router.ts @@ -19,15 +19,28 @@ import { } from "@app/db/schemas"; import { ProjectMicrosoftTeamsConfigsSchema } from "@app/db/schemas/project-microsoft-teams-configs"; import { EventType } from "@app/ee/services/audit-log/audit-log-types"; +import { InfisicalProjectTemplate } from "@app/ee/services/project-template/project-template-types"; +import { sanitizedSshCa } from "@app/ee/services/ssh/ssh-certificate-authority-schema"; +import { sanitizedSshCertificate } from "@app/ee/services/ssh-certificate/ssh-certificate-schema"; +import { sanitizedSshCertificateTemplate } from "@app/ee/services/ssh-certificate-template/ssh-certificate-template-schema"; +import { loginMappingSchema, sanitizedSshHost } from "@app/ee/services/ssh-host/ssh-host-schema"; +import { LoginMappingSource } from "@app/ee/services/ssh-host/ssh-host-types"; +import { sanitizedSshHostGroup } from "@app/ee/services/ssh-host-group/ssh-host-group-schema"; import { ApiDocsTags, PROJECTS } from "@app/lib/api-docs"; import { CharacterType, characterValidator } from "@app/lib/validator/validate-string"; import { re2Validator } from "@app/lib/zod"; import { readLimit, requestAccessLimit, writeLimit } from "@app/server/config/rateLimiter"; +import { slugSchema } from "@app/server/lib/schemas"; +import { getTelemetryDistinctId } from "@app/server/lib/telemetry"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { ActorType, AuthMode } from "@app/services/auth/auth-type"; +import { CaStatus } from "@app/services/certificate-authority/certificate-authority-enums"; +import { sanitizedCertificateTemplate } from "@app/services/certificate-template/certificate-template-schema"; import { validateMicrosoftTeamsChannelsSchema } from "@app/services/microsoft-teams/microsoft-teams-fns"; +import { sanitizedPkiSubscriber } from "@app/services/pki-subscriber/pki-subscriber-schema"; import { ProjectFilterType, SearchProjectSortBy } from "@app/services/project/project-types"; import { validateSlackChannelsField } from "@app/services/slack/slack-auth-validators"; +import { PostHogEventTypes } from "@app/services/telemetry/telemetry-types"; import { WorkflowIntegration } from "@app/services/workflow-integration/workflow-integration-types"; import { @@ -36,19 +49,6 @@ import { SanitizedProjectSchema } from "../sanitizedSchemas"; import { sanitizedServiceTokenSchema } from "../v2/service-token-router"; -import { slugSchema } from "@app/server/lib/schemas"; -import { CaStatus } from "@app/services/certificate-authority/certificate-authority-enums"; -import { sanitizedCertificateTemplate } from "@app/services/certificate-template/certificate-template-schema"; -import { sanitizedSshCertificate } from "@app/ee/services/ssh-certificate/ssh-certificate-schema"; -import { sanitizedSshCertificateTemplate } from "@app/ee/services/ssh-certificate-template/ssh-certificate-template-schema"; -import { sanitizedSshCa } from "@app/ee/services/ssh/ssh-certificate-authority-schema"; -import { loginMappingSchema, sanitizedSshHost } from "@app/ee/services/ssh-host/ssh-host-schema"; -import { LoginMappingSource } from "@app/ee/services/ssh-host/ssh-host-types"; -import { sanitizedSshHostGroup } from "@app/ee/services/ssh-host-group/ssh-host-group-schema"; -import { InfisicalProjectTemplate } from "@app/ee/services/project-template/project-template-types"; -import { PostHogEventTypes } from "@app/services/telemetry/telemetry-types"; -import { getTelemetryDistinctId } from "@app/server/lib/telemetry"; -import { sanitizedPkiSubscriber } from "@app/services/pki-subscriber/pki-subscriber-schema"; const projectWithEnv = SanitizedProjectSchema.merge( z.object({ @@ -292,7 +292,6 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { } }); - // TODO(depri): confirm with the team server.route({ method: "GET", url: "/slug/:slug", diff --git a/backend/src/server/routes/v2/index.ts b/backend/src/server/routes/v2/index.ts index ab6505454..af351b390 100644 --- a/backend/src/server/routes/v2/index.ts +++ b/backend/src/server/routes/v2/index.ts @@ -1,17 +1,17 @@ import { registerCaRouter } from "./certificate-authority-router"; import { registerDepreciatedGroupProjectRouter } from "./depreciated-group-project-router"; -import { registerIdentityOrgRouter } from "./identity-org-router"; import { registerDepreciatedIdentityProjectRouter } from "./depreciated-identity-project-router"; +import { registerDepreciatedProjectMembershipRouter } from "./depreciated-project-membership-router"; +import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; +import { registerIdentityOrgRouter } from "./identity-org-router"; import { registerMfaRouter } from "./mfa-router"; import { registerOrgRouter } from "./organization-router"; import { registerPasswordRouter } from "./password-router"; import { registerPkiTemplatesRouter } from "./pki-templates-router"; -import { registerDepreciatedProjectMembershipRouter } from "./depreciated-project-membership-router"; -import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; -import { registerServiceTokenRouter } from "./service-token-router"; -import { registerUserRouter } from "./user-router"; import { registerSecretFolderRouter } from "./secret-folder-router"; import { registerSecretImportRouter } from "./secret-import-router"; +import { registerServiceTokenRouter } from "./service-token-router"; +import { registerUserRouter } from "./user-router"; export const registerV2Routes = async (server: FastifyZodProvider) => { await server.register(registerMfaRouter, { prefix: "/auth" }); diff --git a/backend/src/server/routes/v3/depreciated-secret-router.ts b/backend/src/server/routes/v3/depreciated-secret-router.ts index 14eb9f0cd..8d40a4126 100644 --- a/backend/src/server/routes/v3/depreciated-secret-router.ts +++ b/backend/src/server/routes/v3/depreciated-secret-router.ts @@ -298,7 +298,7 @@ export const registerDepreciatedSecretRouter = async (server: FastifyZodProvider workspaceId = projectId; } - if (!workspaceId || !environment) throw new BadRequestError({ message: "Missing workspace id or environment" }); + if (!workspaceId || !environment) throw new BadRequestError({ message: "Missing project id or environment" }); const { secrets, imports } = await server.services.secret.getSecretsRaw({ actorId: req.permission.id, diff --git a/backend/src/server/routes/v3/index.ts b/backend/src/server/routes/v3/index.ts index 6b1744d10..e87d50f5e 100644 --- a/backend/src/server/routes/v3/index.ts +++ b/backend/src/server/routes/v3/index.ts @@ -1,6 +1,6 @@ +import { registerDepreciatedSecretRouter } from "./depreciated-secret-router"; import { registerExternalMigrationRouter } from "./external-migration-router"; import { registerLoginRouter } from "./login-router"; -import { registerDepreciatedSecretRouter } from "./depreciated-secret-router"; import { registerSignupRouter } from "./signup-router"; import { registerUserRouter } from "./user-router"; diff --git a/backend/src/server/routes/v4/secret-router.ts b/backend/src/server/routes/v4/secret-router.ts index 1bea35808..ead96668c 100644 --- a/backend/src/server/routes/v4/secret-router.ts +++ b/backend/src/server/routes/v4/secret-router.ts @@ -172,7 +172,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { } } - if (!projectId || !environment) throw new BadRequestError({ message: "Missing workspace id or environment" }); + if (!projectId || !environment) throw new BadRequestError({ message: "Missing project id or environment" }); const { secrets, imports } = await server.services.secret.getSecretsRaw({ actorId: req.permission.id, @@ -225,7 +225,7 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", - url: "/raw/id/:secretId", + url: "/id/:secretId", config: { rateLimit: secretsLimit }, diff --git a/frontend/src/components/projects/NewProjectModal.tsx b/frontend/src/components/projects/NewProjectModal.tsx index f097ae428..dcb11d873 100644 --- a/frontend/src/components/projects/NewProjectModal.tsx +++ b/frontend/src/components/projects/NewProjectModal.tsx @@ -36,8 +36,8 @@ import { import { getProjectHomePage, getProjectLottieIcon } from "@app/helpers/project"; import { useCreateWorkspace, useGetExternalKmsList, useGetUserProjects } from "@app/hooks/api"; import { INTERNAL_KMS_KEY_ID } from "@app/hooks/api/kms/types"; -import { InfisicalProjectTemplate, useListProjectTemplates } from "@app/hooks/api/projectTemplates"; import { ProjectType } from "@app/hooks/api/projects/types"; +import { InfisicalProjectTemplate, useListProjectTemplates } from "@app/hooks/api/projectTemplates"; const formSchema = z.object({ name: z.string().trim().min(1, "Required").max(64, "Too long, maximum length is 64 characters"), diff --git a/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx b/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx index 7813ed3c9..072b59603 100644 --- a/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx +++ b/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx @@ -6,8 +6,8 @@ import { SecretRotationV2Form } from "@app/components/secret-rotations-v2/forms" import { SecretRotationV2ModalHeader } from "@app/components/secret-rotations-v2/SecretRotationV2ModalHeader"; import { SecretRotationV2Select } from "@app/components/secret-rotations-v2/SecretRotationV2Select"; import { Modal, ModalContent } from "@app/components/v2"; -import { SecretRotation, TSecretRotationV2 } from "@app/hooks/api/secretRotationsV2"; import { ProjectEnv } from "@app/hooks/api/projects/types"; +import { SecretRotation, TSecretRotationV2 } from "@app/hooks/api/secretRotationsV2"; type SharedProps = { secretPath: string; diff --git a/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2Form.tsx b/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2Form.tsx index 793443a9e..82cf3a30a 100644 --- a/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2Form.tsx +++ b/frontend/src/components/secret-rotations-v2/forms/SecretRotationV2Form.tsx @@ -13,6 +13,7 @@ import { SecretRotationV2SecretsMappingFields } from "@app/components/secret-rot import { Button } from "@app/components/v2"; import { useProject } from "@app/context"; import { IS_ROTATION_DUAL_CREDENTIALS, SECRET_ROTATION_MAP } from "@app/helpers/secretRotationsV2"; +import { ProjectEnv } from "@app/hooks/api/projects/types"; import { SecretRotation, TSecretRotationV2, @@ -22,7 +23,6 @@ import { useCreateSecretRotationV2, useUpdateSecretRotationV2 } from "@app/hooks/api/secretRotationsV2/mutations"; -import { ProjectEnv } from "@app/hooks/api/projects/types"; import { SecretRotationV2FormSchema, TSecretRotationV2Form } from "./schemas"; diff --git a/frontend/src/components/secret-syncs/forms/SecretSyncSourceFields.tsx b/frontend/src/components/secret-syncs/forms/SecretSyncSourceFields.tsx index 8aa6d4fe2..127ac503c 100644 --- a/frontend/src/components/secret-syncs/forms/SecretSyncSourceFields.tsx +++ b/frontend/src/components/secret-syncs/forms/SecretSyncSourceFields.tsx @@ -4,7 +4,7 @@ import { subject } from "@casl/ability"; import { FilterableSelect, FormControl } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; -import { useProjectPermission, useProject } from "@app/context"; +import { useProject, useProjectPermission } from "@app/context"; import { ProjectPermissionSecretSyncActions, ProjectPermissionSub diff --git a/frontend/src/components/v2/InfisicalSecretInput/InfisicalSecretInput.tsx b/frontend/src/components/v2/InfisicalSecretInput/InfisicalSecretInput.tsx index 82da9b8c8..ec09a93eb 100644 --- a/frontend/src/components/v2/InfisicalSecretInput/InfisicalSecretInput.tsx +++ b/frontend/src/components/v2/InfisicalSecretInput/InfisicalSecretInput.tsx @@ -133,7 +133,7 @@ export const InfisicalSecretInput = forwardRef( const { data: folders } = useGetProjectFolders({ environment: suggestionSource.environment || "", path: suggestionSource.secretPath || "", - projectId: projectId, + projectId, options: { enabled: isPopupOpen } diff --git a/frontend/src/components/v2/SecretPathInput/SecretPathInput.tsx b/frontend/src/components/v2/SecretPathInput/SecretPathInput.tsx index a4b33fd38..a9c08f7ad 100644 --- a/frontend/src/components/v2/SecretPathInput/SecretPathInput.tsx +++ b/frontend/src/components/v2/SecretPathInput/SecretPathInput.tsx @@ -36,11 +36,11 @@ export const SecretPathInput = ({ const [debouncedInputValue] = useDebounce(inputValue, 200); const { currentProject } = useProject(); - const workspaceId = currentProject?.id || ""; + const projectId = currentProject?.id || ""; const { folderNames: folders } = useGetFoldersByEnv({ path: secretPath, environments: [environment || currentProject?.environments?.[0].slug || ""], - projectId: workspaceId + projectId }); useEffect(() => { diff --git a/frontend/src/helpers/project.ts b/frontend/src/helpers/project.ts index d2dbce2c6..6227b9696 100644 --- a/frontend/src/helpers/project.ts +++ b/frontend/src/helpers/project.ts @@ -1,6 +1,6 @@ import { apiRequest } from "@app/config/request"; import { createWorkspace } from "@app/hooks/api/projects/queries"; -import { ProjectType, ProjectEnv } from "@app/hooks/api/projects/types"; +import { ProjectEnv, ProjectType } from "@app/hooks/api/projects/types"; const secretsToBeAdded = [ { @@ -47,8 +47,8 @@ export const initProjectHelper = async ({ projectName }: { projectName: string } }); try { - const { data } = await apiRequest.post("/api/v3/secrets/batch/raw", { - workspaceId: project.id, + const { data } = await apiRequest.post("/api/v4/secrets/batch", { + projectId: project.id, environment: "dev", secretPath: "/", secrets: secretsToBeAdded diff --git a/frontend/src/hooks/api/accessApproval/queries.tsx b/frontend/src/hooks/api/accessApproval/queries.tsx index 44f260f66..2be6c9535 100644 --- a/frontend/src/hooks/api/accessApproval/queries.tsx +++ b/frontend/src/hooks/api/accessApproval/queries.tsx @@ -16,8 +16,8 @@ import { export const accessApprovalKeys = { getAccessApprovalPolicies: (projectSlug: string) => [{ projectSlug }, "access-approval-policies"] as const, - getAccessApprovalPolicyOfABoard: (workspaceId: string, environment: string) => - [{ workspaceId, environment }, "access-approval-policy"] as const, + getAccessApprovalPolicyOfABoard: (projectId: string, environment: string) => + [{ projectId, environment }, "access-approval-policy"] as const, getAccessApprovalRequests: ( projectSlug: string, diff --git a/frontend/src/hooks/api/accessApproval/types.ts b/frontend/src/hooks/api/accessApproval/types.ts index 954d2b6bc..be698e469 100644 --- a/frontend/src/hooks/api/accessApproval/types.ts +++ b/frontend/src/hooks/api/accessApproval/types.ts @@ -1,7 +1,7 @@ import { EnforcementLevel, PolicyType } from "../policies/enums"; +import { ProjectEnv } from "../projects/types"; import { TProjectPermission } from "../roles/types"; import { ApprovalStatus } from "../secretApprovalRequest/types"; -import { ProjectEnv } from "../projects/types"; export type TAccessApprovalPolicy = { id: string; diff --git a/frontend/src/hooks/api/auth/queries.tsx b/frontend/src/hooks/api/auth/queries.tsx index 6275d8141..d41a4d115 100644 --- a/frontend/src/hooks/api/auth/queries.tsx +++ b/frontend/src/hooks/api/auth/queries.tsx @@ -5,8 +5,8 @@ import { apiRequest } from "@app/config/request"; import { SessionStorageKeys } from "@app/const"; import { organizationKeys } from "../organization/queries"; -import { setAuthToken } from "../reactQuery"; import { projectKeys } from "../projects"; +import { setAuthToken } from "../reactQuery"; import { CompleteAccountDTO, CompleteAccountSignupDTO, diff --git a/frontend/src/hooks/api/folderCommits/queries.tsx b/frontend/src/hooks/api/folderCommits/queries.tsx index 68d1f67ad..4d37a4f7b 100644 --- a/frontend/src/hooks/api/folderCommits/queries.tsx +++ b/frontend/src/hooks/api/folderCommits/queries.tsx @@ -87,7 +87,7 @@ const fetchFolderCommitHistory = async ( params: { environment, path: directory, - projectId: projectId, + projectId, offset, limit, search, @@ -102,7 +102,7 @@ export const fetchCommitDetails = async (projectId: string, commitId: string) => `/api/v1/pit/commits/${commitId}/changes`, { params: { - projectId: projectId + projectId } } ); @@ -125,7 +125,7 @@ export const fetchRollbackPreview = async ( environment: envSlug, deepRollback, secretPath, - projectId: projectId + projectId } } ); @@ -157,7 +157,7 @@ const fetchRevert = async (commitId: string, projectId: string) => { const { data } = await apiRequest.post<{ success: boolean; message: string }>( `/api/v1/pit/commits/${commitId}/revert`, { - projectId: projectId + projectId } ); return data; @@ -235,7 +235,7 @@ export const useGetFolderCommitsCount = ({ }) => useQuery({ enabled: Boolean(projectId && environment) && !isPaused, - queryKey: commitKeys.count({ projectId: projectId, environment, directory }), + queryKey: commitKeys.count({ projectId, environment, directory }), queryFn: () => fetchFolderCommitsCount({ projectId, environment, directory }) }); diff --git a/frontend/src/hooks/api/identities/types.ts b/frontend/src/hooks/api/identities/types.ts index 9634164aa..af8e401d7 100644 --- a/frontend/src/hooks/api/identities/types.ts +++ b/frontend/src/hooks/api/identities/types.ts @@ -1,7 +1,7 @@ import { OrderByDirection } from "../generic/types"; import { OrgIdentityOrderBy } from "../organization/types"; +import { Project, ProjectUserMembershipTemporaryMode } from "../projects/types"; import { TOrgRole } from "../roles/types"; -import { ProjectUserMembershipTemporaryMode, Project } from "../projects/types"; import { IdentityAuthMethod, IdentityJwtConfigurationType } from "./enums"; export type IdentityTrustedIp = { diff --git a/frontend/src/hooks/api/index.tsx b/frontend/src/hooks/api/index.tsx index 002c03cec..d65c7e72c 100644 --- a/frontend/src/hooks/api/index.tsx +++ b/frontend/src/hooks/api/index.tsx @@ -1,5 +1,5 @@ -export * from "./admin"; export * from "./accessApproval"; +export * from "./admin"; export * from "./apiKeys"; export * from "./assumePrivileges"; export * from "./auditLogs"; @@ -28,6 +28,7 @@ export * from "./organization"; export * from "./pkiAlerts"; export * from "./pkiCollections"; export * from "./pkiSubscriber"; +export * from "./projects"; export * from "./projectUserAdditionalPrivilege"; export * from "./rateLimit"; export * from "./roles"; @@ -53,4 +54,3 @@ export * from "./trustedIps"; export * from "./users"; export * from "./webhooks"; export * from "./workflowIntegrations"; -export * from "./projects"; diff --git a/frontend/src/hooks/api/projects/index.tsx b/frontend/src/hooks/api/projects/index.tsx index 7297c7362..ed8eba815 100644 --- a/frontend/src/hooks/api/projects/index.tsx +++ b/frontend/src/hooks/api/projects/index.tsx @@ -17,8 +17,8 @@ export { useDeleteWsEnvironment, useGetProjectSshConfig, useGetUpgradeProjectStatus, - useGetUserWorkspaceMemberships, useGetUserProjects, + useGetUserWorkspaceMemberships, useGetWorkspaceAuthorizations, useGetWorkspaceById, useGetWorkspaceIdentityMembershipDetails, diff --git a/frontend/src/hooks/api/projects/queries.tsx b/frontend/src/hooks/api/projects/queries.tsx index f7a4313fa..0445d5984 100644 --- a/frontend/src/hooks/api/projects/queries.tsx +++ b/frontend/src/hooks/api/projects/queries.tsx @@ -31,6 +31,8 @@ import { CreateWorkspaceDTO, DeleteEnvironmentDTO, DeleteWorkspaceDTO, + Project, + ProjectEnv, ProjectIdentityOrderBy, ProjectType, TGetUpgradeProjectStatusDTO, @@ -41,9 +43,7 @@ import { TUpdateWorkspaceUserRoleDTO, UpdateAuditLogsRetentionDTO, UpdateEnvironmentDTO, - UpdateProjectDTO, - Project, - ProjectEnv + UpdateProjectDTO } from "./types"; export const fetchProjectById = async (projectId: string) => { diff --git a/frontend/src/hooks/api/projects/query-keys.tsx b/frontend/src/hooks/api/projects/query-keys.tsx index 38aa888be..51e3db71c 100644 --- a/frontend/src/hooks/api/projects/query-keys.tsx +++ b/frontend/src/hooks/api/projects/query-keys.tsx @@ -1,7 +1,6 @@ -import { TListProjectIdentitiesDTO, TSearchProjectsDTO } from "./types"; - import type { CaStatus } from "../ca"; import { WorkflowIntegrationPlatform } from "../workflowIntegrations/types"; +import { TListProjectIdentitiesDTO, TSearchProjectsDTO } from "./types"; export const projectKeys = { getProjectById: (projectId: string) => ["projects", { projectId }] as const, diff --git a/frontend/src/hooks/api/secretImports/types.ts b/frontend/src/hooks/api/secretImports/types.ts index a64bf5af0..23690b33d 100644 --- a/frontend/src/hooks/api/secretImports/types.ts +++ b/frontend/src/hooks/api/secretImports/types.ts @@ -1,5 +1,5 @@ -import { SecretV3Raw } from "../secrets/types"; import { ProjectEnv } from "../projects/types"; +import { SecretV3Raw } from "../secrets/types"; export type TSecretImport = { id: string; diff --git a/frontend/src/hooks/api/secrets/mutations.tsx b/frontend/src/hooks/api/secrets/mutations.tsx index cfd2dc921..de960cd04 100644 --- a/frontend/src/hooks/api/secrets/mutations.tsx +++ b/frontend/src/hooks/api/secrets/mutations.tsx @@ -405,14 +405,14 @@ export const useMoveSecrets = ({ }; export const createSecret = async (dto: TCreateSecretsV3DTO) => { - const { data } = await apiRequest.post(`/api/v3/secrets/${dto.secretKey}`, dto); + const { data } = await apiRequest.post(`/api/v4/secrets/${dto.secretKey}`, dto); return data; }; export const useBackfillSecretReference = () => useMutation<{ message: string }, object, { projectId: string }>({ mutationFn: async ({ projectId }) => { - const { data } = await apiRequest.post("/api/v3/secrets/backfill-secret-references", { + const { data } = await apiRequest.post("/api/v4/secrets/backfill-secret-references", { projectId }); return data.message; diff --git a/frontend/src/hooks/api/tags/queries.tsx b/frontend/src/hooks/api/tags/queries.tsx index 1ef75554d..0234cec4d 100644 --- a/frontend/src/hooks/api/tags/queries.tsx +++ b/frontend/src/hooks/api/tags/queries.tsx @@ -9,11 +9,9 @@ const projectTags = { }; const fetchWsTag = async (projectID: string) => { - const { data } = await apiRequest.get<{ projectTags: UserWsTags }>( - `/api/v1/projects/${projectID}/tags` - ); + const { data } = await apiRequest.get<{ tags: UserWsTags }>(`/api/v1/projects/${projectID}/tags`); - return data.projectTags; + return data.tags; }; export const useGetWsTags = (projectID: string) => { @@ -29,14 +27,11 @@ export const useCreateWsTag = () => { return useMutation({ mutationFn: async ({ projectId: projectID, tagColor, tagSlug }) => { - const { data } = await apiRequest.post<{ projectTag: WsTag }>( - `/api/v1/projects/${projectID}/tags`, - { - color: tagColor || "", - slug: tagSlug - } - ); - return data.projectTag; + const { data } = await apiRequest.post<{ tag: WsTag }>(`/api/v1/projects/${projectID}/tags`, { + color: tagColor || "", + slug: tagSlug + }); + return data.tag; }, onSuccess: (tagData) => { queryClient.invalidateQueries({ queryKey: projectTags.getWsTags(tagData?.projectId) }); @@ -49,10 +44,10 @@ export const useDeleteWsTag = () => { return useMutation({ mutationFn: async ({ tagID, projectId }) => { - const { data } = await apiRequest.delete<{ projectTag: WsTag }>( + const { data } = await apiRequest.delete<{ tag: WsTag }>( `/api/v1/projects/${projectId}/tags/${tagID}` ); - return data.projectTag; + return data.tag; }, onSuccess: (tagData) => { queryClient.invalidateQueries({ queryKey: projectTags.getWsTags(tagData?.projectId) }); diff --git a/frontend/src/hooks/api/types.ts b/frontend/src/hooks/api/types.ts index deae94ff6..4b73eba28 100644 --- a/frontend/src/hooks/api/types.ts +++ b/frontend/src/hooks/api/types.ts @@ -8,6 +8,18 @@ export type { IncidentContact } from "./incidentContacts/types"; export type { IntegrationAuth } from "./integrationAuth/types"; export type { TCloudIntegration, TIntegration } from "./integrations/types"; export type { Organization } from "./organization/types"; +export type { + CreateEnvironmentDTO, + CreateWorkspaceDTO, + DeleteEnvironmentDTO, + DeleteWorkspaceDTO, + Project, + ProjectEnv, + ProjectTag, + ToggleAutoCapitalizationDTO, + UpdateEnvironmentDTO, + UpdateProjectDTO +} from "./projects/types"; export type { TSecretApprovalPolicy } from "./secretApproval/types"; export type { TGetSecretApprovalRequestDetails, @@ -28,18 +40,6 @@ export type { SubscriptionPlan } from "./subscriptions/types"; export type { WsTag } from "./tags/types"; export type { OrgUser, TWorkspaceUser, User, UserEnc } from "./users/types"; export type { TWebhook } from "./webhooks/types"; -export type { - CreateEnvironmentDTO, - CreateWorkspaceDTO, - DeleteEnvironmentDTO, - DeleteWorkspaceDTO, - ToggleAutoCapitalizationDTO, - UpdateEnvironmentDTO, - UpdateProjectDTO, - Project, - ProjectEnv, - ProjectTag -} from "./projects/types"; export enum ApiErrorTypes { ValidationError = "ValidationFailure", diff --git a/frontend/src/hooks/api/users/queries.tsx b/frontend/src/hooks/api/users/queries.tsx index a2f86d6d3..2c0125361 100644 --- a/frontend/src/hooks/api/users/queries.tsx +++ b/frontend/src/hooks/api/users/queries.tsx @@ -8,9 +8,9 @@ import { queryClient as qc } from "@app/hooks/api/reactQuery"; import { APIKeyDataV2 } from "../apiKeys/types"; import { MfaMethod } from "../auth/types"; import { TGroupWithProjectMemberships } from "../groups/types"; +import { projectKeys } from "../projects"; import { setAuthToken } from "../reactQuery"; import { subscriptionQueryKeys } from "../subscriptions/queries"; -import { projectKeys } from "../projects"; import { userKeys } from "./query-keys"; import { AddUserToOrgDTO, diff --git a/frontend/src/hooks/api/webhooks/query.tsx b/frontend/src/hooks/api/webhooks/query.tsx index fc1840409..3f92a9695 100644 --- a/frontend/src/hooks/api/webhooks/query.tsx +++ b/frontend/src/hooks/api/webhooks/query.tsx @@ -8,19 +8,19 @@ export const queryKeys = { getWebhooks: (workspaceId: string) => ["webhooks", { workspaceId }] }; -const fetchWebhooks = async (workspaceId: string) => { +const fetchWebhooks = async (projectId: string) => { const { data } = await apiRequest.get<{ webhooks: TWebhook[] }>("/api/v1/webhooks", { params: { - workspaceId + projectId } }); return data.webhooks; }; -export const useGetWebhooks = (workspaceId: string) => +export const useGetWebhooks = (projectId: string) => useQuery({ - queryKey: queryKeys.getWebhooks(workspaceId), - queryFn: () => fetchWebhooks(workspaceId), - enabled: Boolean(workspaceId) + queryKey: queryKeys.getWebhooks(projectId), + queryFn: () => fetchWebhooks(projectId), + enabled: Boolean(projectId) }); diff --git a/frontend/src/hooks/usePathAccessPolicies.tsx b/frontend/src/hooks/usePathAccessPolicies.tsx index 82fc50bc3..0ad25b0d2 100644 --- a/frontend/src/hooks/usePathAccessPolicies.tsx +++ b/frontend/src/hooks/usePathAccessPolicies.tsx @@ -1,6 +1,6 @@ import { useMemo } from "react"; -import { useSubscription, useProject } from "@app/context"; +import { useProject, useSubscription } from "@app/context"; import { useGetAccessApprovalPolicies } from "@app/hooks/api"; const matchesPath = (folderPath: string, pattern: string) => { diff --git a/frontend/src/layouts/KmsLayout/KmsLayout.tsx b/frontend/src/layouts/KmsLayout/KmsLayout.tsx index 953e2c3db..285f3b7f8 100644 --- a/frontend/src/layouts/KmsLayout/KmsLayout.tsx +++ b/frontend/src/layouts/KmsLayout/KmsLayout.tsx @@ -4,7 +4,7 @@ import { Link, Outlet } from "@tanstack/react-router"; import { motion } from "framer-motion"; import { Lottie, Menu, MenuGroup, MenuItem } from "@app/components/v2"; -import { useProjectPermission, useProject } from "@app/context"; +import { useProject, useProjectPermission } from "@app/context"; import { AssumePrivilegeModeBanner } from "../ProjectLayout/components/AssumePrivilegeModeBanner"; diff --git a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx index 2f339a870..71be38b11 100644 --- a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx @@ -40,7 +40,7 @@ import { envConfig } from "@app/config/env"; import { useOrganization, useSubscription, useUser } from "@app/context"; import { isInfisicalCloud } from "@app/helpers/platform"; import { useToggle } from "@app/hooks"; -import { useGetOrganizations, useLogoutUser, projectKeys } from "@app/hooks/api"; +import { projectKeys, useGetOrganizations, useLogoutUser } from "@app/hooks/api"; import { authKeys, selectOrganization } from "@app/hooks/api/auth/queries"; import { MfaMethod } from "@app/hooks/api/auth/types"; import { getAuthToken } from "@app/hooks/api/reactQuery"; diff --git a/frontend/src/layouts/PkiManagerLayout/PkiManagerLayout.tsx b/frontend/src/layouts/PkiManagerLayout/PkiManagerLayout.tsx index 682f4a6ef..438050ad2 100644 --- a/frontend/src/layouts/PkiManagerLayout/PkiManagerLayout.tsx +++ b/frontend/src/layouts/PkiManagerLayout/PkiManagerLayout.tsx @@ -16,7 +16,7 @@ import { Link, Outlet } from "@tanstack/react-router"; import { motion } from "framer-motion"; import { Lottie, Menu, MenuGroup, MenuItem } from "@app/components/v2"; -import { useProjectPermission, useProject } from "@app/context"; +import { useProject, useProjectPermission } from "@app/context"; import { AssumePrivilegeModeBanner } from "../ProjectLayout/components/AssumePrivilegeModeBanner"; diff --git a/frontend/src/layouts/ProjectLayout/components/AssumePrivilegeModeBanner/AssumePrivilegeModeBanner.tsx b/frontend/src/layouts/ProjectLayout/components/AssumePrivilegeModeBanner/AssumePrivilegeModeBanner.tsx index 84a108375..754d80547 100644 --- a/frontend/src/layouts/ProjectLayout/components/AssumePrivilegeModeBanner/AssumePrivilegeModeBanner.tsx +++ b/frontend/src/layouts/ProjectLayout/components/AssumePrivilegeModeBanner/AssumePrivilegeModeBanner.tsx @@ -2,7 +2,7 @@ import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Button } from "@app/components/v2"; -import { useProjectPermission, useProject } from "@app/context"; +import { useProject, useProjectPermission } from "@app/context"; import { getProjectHomePage } from "@app/helpers/project"; import { useRemoveAssumeProjectPrivilege } from "@app/hooks/api"; import { ActorType } from "@app/hooks/api/auditLogs/enums"; diff --git a/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx b/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx index e80df4a6a..92f634838 100644 --- a/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx +++ b/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx @@ -28,15 +28,15 @@ import { OrgPermissionActions, OrgPermissionSubjects, useOrganization, - useSubscription, - useProject + useProject, + useSubscription } from "@app/context"; import { getProjectHomePage } from "@app/helpers/project"; import { usePopUp } from "@app/hooks"; import { useGetUserProjects } from "@app/hooks/api"; +import { Project } from "@app/hooks/api/projects/types"; import { useUpdateUserProjectFavorites } from "@app/hooks/api/users/mutation"; import { useGetUserProjectFavorites } from "@app/hooks/api/users/queries"; -import { Project } from "@app/hooks/api/projects/types"; export const ProjectSelect = () => { const [searchProject, setSearchProject] = useState(""); diff --git a/frontend/src/layouts/SecretManagerLayout/SecretManagerLayout.tsx b/frontend/src/layouts/SecretManagerLayout/SecretManagerLayout.tsx index 06e597079..d2b729449 100644 --- a/frontend/src/layouts/SecretManagerLayout/SecretManagerLayout.tsx +++ b/frontend/src/layouts/SecretManagerLayout/SecretManagerLayout.tsx @@ -15,7 +15,7 @@ import { Link, Outlet, useLocation } from "@tanstack/react-router"; import { motion } from "framer-motion"; import { Badge, Lottie, Menu, MenuGroup, MenuItem } from "@app/components/v2"; -import { useProjectPermission, useProject } from "@app/context"; +import { useProject, useProjectPermission } from "@app/context"; import { useGetAccessRequestsCount, useGetSecretApprovalRequestCount, diff --git a/frontend/src/layouts/SecretScanningLayout/SecretScanningLayout.tsx b/frontend/src/layouts/SecretScanningLayout/SecretScanningLayout.tsx index 4f4ed345c..b6313acbf 100644 --- a/frontend/src/layouts/SecretScanningLayout/SecretScanningLayout.tsx +++ b/frontend/src/layouts/SecretScanningLayout/SecretScanningLayout.tsx @@ -13,9 +13,9 @@ import { motion } from "framer-motion"; import { Badge, Lottie, Menu, MenuGroup, MenuItem } from "@app/components/v2"; import { ProjectPermissionSub, + useProject, useProjectPermission, - useSubscription, - useProject + useSubscription } from "@app/context"; import { ProjectPermissionSecretScanningFindingActions } from "@app/context/ProjectPermissionContext/types"; import { useGetSecretScanningUnresolvedFindingCount } from "@app/hooks/api/secretScanningV2"; diff --git a/frontend/src/layouts/SshLayout/SshLayout.tsx b/frontend/src/layouts/SshLayout/SshLayout.tsx index f8aa4f95b..92872ec1f 100644 --- a/frontend/src/layouts/SshLayout/SshLayout.tsx +++ b/frontend/src/layouts/SshLayout/SshLayout.tsx @@ -15,8 +15,8 @@ import { Lottie, Menu, MenuGroup, MenuItem } from "@app/components/v2"; import { ProjectPermissionActions, ProjectPermissionSub, - useProjectPermission, - useProject + useProject, + useProjectPermission } from "@app/context"; import { AssumePrivilegeModeBanner } from "../ProjectLayout/components/AssumePrivilegeModeBanner"; diff --git a/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberCertificatesTable.tsx b/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberCertificatesTable.tsx index c6f9f5742..d3533d71d 100644 --- a/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberCertificatesTable.tsx +++ b/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberCertificatesTable.tsx @@ -27,8 +27,8 @@ import { import { ProjectPermissionPkiSubscriberActions, ProjectPermissionSub, - useProjectPermission, - useProject + useProject, + useProjectPermission } from "@app/context"; import { useGetPkiSubscriberCertificates } from "@app/hooks/api"; import { caSupportsCapability } from "@app/hooks/api/ca/constants"; diff --git a/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberDetailsSection.tsx b/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberDetailsSection.tsx index 8286319fc..bb928dcc2 100644 --- a/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberDetailsSection.tsx +++ b/frontend/src/pages/cert-manager/PkiSubscriberDetailsByIDPage/components/PkiSubscriberDetailsSection.tsx @@ -16,8 +16,8 @@ import { import { ProjectPermissionPkiSubscriberActions, ProjectPermissionSub, - useProjectPermission, - useProject + useProject, + useProjectPermission } from "@app/context"; import { useTimedReset } from "@app/hooks"; import { diff --git a/frontend/src/pages/cert-manager/PkiTemplateListPage/PkiTemplateListPage.tsx b/frontend/src/pages/cert-manager/PkiTemplateListPage/PkiTemplateListPage.tsx index f38fbf080..2ffe68813 100644 --- a/frontend/src/pages/cert-manager/PkiTemplateListPage/PkiTemplateListPage.tsx +++ b/frontend/src/pages/cert-manager/PkiTemplateListPage/PkiTemplateListPage.tsx @@ -42,8 +42,8 @@ import { import { ProjectPermissionPkiTemplateActions, ProjectPermissionSub, - useSubscription, - useProject + useProject, + useSubscription } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useDeleteCertTemplateV2 } from "@app/hooks/api"; diff --git a/frontend/src/pages/cert-manager/layout.tsx b/frontend/src/pages/cert-manager/layout.tsx index ea806d3d3..c8ec6a23b 100644 --- a/frontend/src/pages/cert-manager/layout.tsx +++ b/frontend/src/pages/cert-manager/layout.tsx @@ -2,8 +2,8 @@ import { createFileRoute } from "@tanstack/react-router"; import { BreadcrumbTypes } from "@app/components/v2"; import { projectKeys } from "@app/hooks/api"; -import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { fetchProjectById } from "@app/hooks/api/projects/queries"; +import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { PkiManagerLayout } from "@app/layouts/PkiManagerLayout"; import { ProjectSelect } from "@app/layouts/ProjectLayout/components/ProjectSelect"; diff --git a/frontend/src/pages/kms/KmipPage/components/KmipClientTable.tsx b/frontend/src/pages/kms/KmipPage/components/KmipClientTable.tsx index 6ac060580..5abad9f18 100644 --- a/frontend/src/pages/kms/KmipPage/components/KmipClientTable.tsx +++ b/frontend/src/pages/kms/KmipPage/components/KmipClientTable.tsx @@ -39,9 +39,9 @@ import { import { ProjectPermissionKmipActions, ProjectPermissionSub, + useProject, useProjectPermission, - useSubscription, - useProject + useSubscription } from "@app/context"; import { getUserTablePreference, diff --git a/frontend/src/pages/kms/OverviewPage/components/CmekTable.tsx b/frontend/src/pages/kms/OverviewPage/components/CmekTable.tsx index 2bb6671e5..b1a7c409c 100644 --- a/frontend/src/pages/kms/OverviewPage/components/CmekTable.tsx +++ b/frontend/src/pages/kms/OverviewPage/components/CmekTable.tsx @@ -49,8 +49,8 @@ import { ProjectPermissionActions, ProjectPermissionCmekActions, ProjectPermissionSub, - useProjectPermission, - useProject + useProject, + useProjectPermission } from "@app/context"; import { kmsKeyUsageOptions } from "@app/helpers/kms"; import { diff --git a/frontend/src/pages/kms/layout.tsx b/frontend/src/pages/kms/layout.tsx index 11caba01b..f29a7627a 100644 --- a/frontend/src/pages/kms/layout.tsx +++ b/frontend/src/pages/kms/layout.tsx @@ -2,8 +2,8 @@ import { createFileRoute } from "@tanstack/react-router"; import { BreadcrumbTypes } from "@app/components/v2"; import { projectKeys } from "@app/hooks/api"; -import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { fetchProjectById } from "@app/hooks/api/projects/queries"; +import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { KmsLayout } from "@app/layouts/KmsLayout"; import { ProjectSelect } from "@app/layouts/ProjectLayout/components/ProjectSelect"; diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgMembersTab/components/OrgMembersSection/AddOrgMemberModal.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgMembersTab/components/OrgMembersSection/AddOrgMemberModal.tsx index c68d27a4b..c1c9f0b0a 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgMembersTab/components/OrgMembersSection/AddOrgMemberModal.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgMembersTab/components/OrgMembersSection/AddOrgMemberModal.tsx @@ -23,8 +23,8 @@ import { useGetOrgRoles, useGetUserProjects } from "@app/hooks/api"; -import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { ProjectType, ProjectVersion } from "@app/hooks/api/projects/types"; +import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { UsePopUpState } from "@app/hooks/usePopUp"; import { OrgInviteLink } from "./OrgInviteLink"; diff --git a/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectsSection.tsx b/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectsSection.tsx index de0573b7b..321a84ccb 100644 --- a/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectsSection.tsx +++ b/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectsSection.tsx @@ -25,7 +25,7 @@ export const IdentityProjectsSection = ({ identityId }: Props) => { try { await deleteMutateAsync({ identityId: id, - projectId: projectId + projectId }); createNotification({ diff --git a/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx b/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx index cc533be85..0897a2efd 100644 --- a/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx +++ b/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx @@ -48,7 +48,7 @@ import { useRequestProjectAccess, useSearchProjects } from "@app/hooks/api"; -import { ProjectType, Project, ProjectEnv } from "@app/hooks/api/projects/types"; +import { Project, ProjectEnv, ProjectType } from "@app/hooks/api/projects/types"; import { ProjectListToggle, ProjectListView diff --git a/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx b/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx index b20bde224..1a193f9bd 100644 --- a/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx +++ b/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx @@ -41,9 +41,9 @@ import { import { usePagination, useResetPageHelper } from "@app/hooks"; import { useGetUserProjects } from "@app/hooks/api"; import { OrderByDirection } from "@app/hooks/api/generic/types"; +import { Project, ProjectType } from "@app/hooks/api/projects/types"; import { useUpdateUserProjectFavorites } from "@app/hooks/api/users/mutation"; import { useGetUserProjectFavorites } from "@app/hooks/api/users/queries"; -import { ProjectType, Project } from "@app/hooks/api/projects/types"; import { ProjectListToggle, ProjectListView diff --git a/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/EditProjectTemplateSection/components/EditProjectTemplate.tsx b/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/EditProjectTemplateSection/components/EditProjectTemplate.tsx index c0f7de0c8..08d350c9c 100644 --- a/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/EditProjectTemplateSection/components/EditProjectTemplate.tsx +++ b/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/EditProjectTemplateSection/components/EditProjectTemplate.tsx @@ -7,8 +7,8 @@ import { Button, DeleteActionModal } from "@app/components/v2"; import { OrgPermissionActions, OrgPermissionSubjects } from "@app/context"; import { getProjectTitle } from "@app/helpers/project"; import { usePopUp } from "@app/hooks"; -import { TProjectTemplate, useDeleteProjectTemplate } from "@app/hooks/api/projectTemplates"; import { ProjectType } from "@app/hooks/api/projects/types"; +import { TProjectTemplate, useDeleteProjectTemplate } from "@app/hooks/api/projectTemplates"; import { ProjectTemplateDetailsModal } from "../../ProjectTemplateDetailsModal"; import { ProjectTemplateEnvironmentsForm } from "./ProjectTemplateEnvironmentsForm"; diff --git a/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/ProjectTemplateDetailsModal.tsx b/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/ProjectTemplateDetailsModal.tsx index 113971ef6..ad4f2776a 100644 --- a/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/ProjectTemplateDetailsModal.tsx +++ b/frontend/src/pages/organization/SettingsPage/components/ProjectTemplatesTab/components/ProjectTemplateDetailsModal.tsx @@ -15,12 +15,12 @@ import { TextArea } from "@app/components/v2"; import { getProjectLottieIcon } from "@app/helpers/project"; +import { ProjectType } from "@app/hooks/api/projects/types"; import { TProjectTemplate, useCreateProjectTemplate, useUpdateProjectTemplate } from "@app/hooks/api/projectTemplates"; -import { ProjectType } from "@app/hooks/api/projects/types"; import { slugSchema } from "@app/lib/schemas"; const formSchema = z.object({ diff --git a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupRoles.tsx b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupRoles.tsx index ac5b572c3..49ff350fd 100644 --- a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupRoles.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupRoles.tsx @@ -29,8 +29,8 @@ import { formatProjectRoleName } from "@app/helpers/roles"; import { usePopUp } from "@app/hooks"; import { useGetProjectRoles, useUpdateGroupWorkspaceRole } from "@app/hooks/api"; import { TGroupMembership } from "@app/hooks/api/groups/types"; -import { TProjectRole } from "@app/hooks/api/roles/types"; import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/projects/types"; +import { TProjectRole } from "@app/hooks/api/roles/types"; import { groupBy } from "@app/lib/fn/array"; const temporaryRoleFormSchema = z.object({ diff --git a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsSection.tsx b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsSection.tsx index 0470953ae..ee23a5778 100644 --- a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsSection.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsSection.tsx @@ -8,8 +8,8 @@ import { Button, DeleteActionModal } from "@app/components/v2"; import { ProjectPermissionActions, ProjectPermissionSub, - useSubscription, - useProject + useProject, + useSubscription } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useDeleteGroupFromWorkspace } from "@app/hooks/api"; diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/AddMemberModal.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/AddMemberModal.tsx index 7124b80a3..cdf49cf12 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/AddMemberModal.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/AddMemberModal.tsx @@ -30,8 +30,8 @@ import { useGetProjectRoles, useGetWorkspaceUsers } from "@app/hooks/api"; -import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { ProjectVersion } from "@app/hooks/api/projects/types"; +import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { UsePopUpState } from "@app/hooks/usePopUp"; const addMemberFormSchema = z.object({ @@ -66,9 +66,9 @@ export const AddMemberModal = ({ popUp, handlePopUpToggle }: Props) => { }); const orgId = currentOrg?.id || ""; - const workspaceId = currentProject?.id || ""; + const projectId = currentProject?.id || ""; - const { data: members } = useGetWorkspaceUsers(workspaceId); + const { data: members } = useGetWorkspaceUsers(projectId); const { data: orgUsers } = useGetOrgUsers(orgId); const { data: roles } = useGetProjectRoles(currentProject?.id || ""); diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRbacSection.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRbacSection.tsx index b2b73dbcf..291a5b58b 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRbacSection.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRbacSection.tsx @@ -29,14 +29,14 @@ import { ProjectPermissionActions, ProjectPermissionMemberActions, ProjectPermissionSub, + useProject, useProjectPermission, - useSubscription, - useProject + useSubscription } from "@app/context"; import { useGetProjectRoles, useUpdateUserWorkspaceRole } from "@app/hooks/api"; +import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/projects/types"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { TWorkspaceUser } from "@app/hooks/api/types"; -import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/projects/types"; const roleFormSchema = z.object({ roles: z diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/SpecificPrivilegeSection.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/SpecificPrivilegeSection.tsx index 43f1490ce..3e93ec392 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/SpecificPrivilegeSection.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/SpecificPrivilegeSection.tsx @@ -43,8 +43,8 @@ import { ProjectPermissionActions, ProjectPermissionMemberActions, ProjectPermissionSub, - useProjectPermission, - useProject + useProject, + useProjectPermission } from "@app/context"; import { removeTrailingSlash } from "@app/helpers/string"; import { usePopUp } from "@app/hooks"; diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersTable.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersTable.tsx index 5103430ef..22eb50460 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersTable.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersTable.tsx @@ -44,7 +44,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useUser, useProject } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject, useUser } from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; import { formatProjectRoleName } from "@app/helpers/roles"; import { @@ -85,8 +85,8 @@ export const MembersTable = ({ handlePopUpOpen }: Props) => { const filterRoles = useMemo(() => filter.roles, [filter.roles]); const userId = user?.id || ""; - const workspaceId = currentProject?.id || ""; - const { data: projectRoles } = useGetProjectRoles(workspaceId); + const projectId = currentProject?.id || ""; + const { data: projectRoles } = useGetProjectRoles(projectId); const { search, @@ -111,7 +111,7 @@ export const MembersTable = ({ handlePopUpOpen }: Props) => { }; const { data: members = [], isPending: isMembersLoading } = useGetWorkspaceUsers( - workspaceId, + projectId, undefined, filterRoles ); @@ -309,7 +309,7 @@ export const MembersTable = ({ handlePopUpOpen }: Props) => { navigate({ to: `${getProjectBaseURL(currentProject.type)}/members/$membershipId`, params: { - projectId: workspaceId, + projectId, membershipId } }); @@ -319,7 +319,7 @@ export const MembersTable = ({ handlePopUpOpen }: Props) => { navigate({ to: `${getProjectBaseURL(currentProject.type)}/members/$membershipId`, params: { - projectId: workspaceId, + projectId, membershipId } }) diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx index 44cc00e3b..993320e56 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx @@ -57,7 +57,7 @@ const Page = () => { { actorId: identityId, actorType: ActorType.IDENTITY, - projectId: projectId + projectId }, { onSuccess: () => { @@ -86,7 +86,7 @@ const Page = () => { navigate({ to: `${getProjectBaseURL(currentProject.type)}/access-management` as const, params: { - projectId: projectId + projectId }, search: { selectedTab: "identities" diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityProjectAdditionalPrivilegeSection/IdentityProjectAdditionalPrivilegeModifySection.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityProjectAdditionalPrivilegeSection/IdentityProjectAdditionalPrivilegeModifySection.tsx index d68dd8fff..9b4be2cb8 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityProjectAdditionalPrivilegeSection/IdentityProjectAdditionalPrivilegeModifySection.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityProjectAdditionalPrivilegeSection/IdentityProjectAdditionalPrivilegeModifySection.tsx @@ -24,8 +24,8 @@ import { import { ProjectPermissionIdentityActions, ProjectPermissionSub, - useProjectPermission, - useProject + useProject, + useProjectPermission } from "@app/context"; import { useCreateIdentityProjectAdditionalPrivilege, diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityRoleDetailsSection/IdentityRoleModify.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityRoleDetailsSection/IdentityRoleModify.tsx index 984ec8e33..d47f4a74e 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityRoleDetailsSection/IdentityRoleModify.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityRoleDetailsSection/IdentityRoleModify.tsx @@ -29,13 +29,13 @@ import { ProjectPermissionActions, ProjectPermissionIdentityActions, ProjectPermissionSub, - useProjectPermission, - useProject + useProject, + useProjectPermission } from "@app/context"; import { useGetProjectRoles, useUpdateIdentityWorkspaceRole } from "@app/hooks/api"; import { IdentityMembership } from "@app/hooks/api/identities/types"; -import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/projects/types"; +import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; const roleFormSchema = z.object({ roles: z diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberProjectAdditionalPrivilegeSection/MembershipProjectAdditionalPrivilegeModifySection.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberProjectAdditionalPrivilegeSection/MembershipProjectAdditionalPrivilegeModifySection.tsx index acc6b67af..6fa54247f 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberProjectAdditionalPrivilegeSection/MembershipProjectAdditionalPrivilegeModifySection.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberProjectAdditionalPrivilegeSection/MembershipProjectAdditionalPrivilegeModifySection.tsx @@ -23,8 +23,8 @@ import { import { ProjectPermissionMemberActions, ProjectPermissionSub, - useProjectPermission, - useProject + useProject, + useProjectPermission } from "@app/context"; import { useCreateProjectUserAdditionalPrivilege, diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleDetailsSection.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleDetailsSection.tsx index 668986e3b..012141c03 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleDetailsSection.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleDetailsSection.tsx @@ -22,7 +22,7 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useUser, useProject } from "@app/context"; +import { ProjectPermissionActions, ProjectPermissionSub, useProject, useUser } from "@app/context"; import { formatProjectRoleName } from "@app/helpers/roles"; import { usePopUp } from "@app/hooks"; import { useUpdateUserWorkspaceRole } from "@app/hooks/api"; diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleModify.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleModify.tsx index 13537058f..e7a05f70f 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleModify.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/components/MemberRoleDetailsSection/MemberRoleModify.tsx @@ -29,14 +29,14 @@ import { ProjectPermissionActions, ProjectPermissionMemberActions, ProjectPermissionSub, + useProject, useProjectPermission, - useSubscription, - useProject + useSubscription } from "@app/context"; import { useGetProjectRoles, useUpdateUserWorkspaceRole } from "@app/hooks/api"; +import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/projects/types"; import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { TWorkspaceUser } from "@app/hooks/api/types"; -import { ProjectUserMembershipTemporaryMode } from "@app/hooks/api/projects/types"; const roleFormSchema = z.object({ roles: z diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx index 123a3ee0c..cadb62278 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx @@ -32,8 +32,8 @@ import { TPermissionCondition, TPermissionConditionOperators } from "@app/context/ProjectPermissionContext/types"; -import { TProjectPermission } from "@app/hooks/api/roles/types"; import { ProjectType } from "@app/hooks/api/projects/types"; +import { TProjectPermission } from "@app/hooks/api/roles/types"; const GeneralPolicyActionSchema = z.object({ read: z.boolean().optional(), diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/RolePermissionsSection.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/RolePermissionsSection.tsx index 13de1d57b..4dcd4ee1b 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/RolePermissionsSection.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/RolePermissionsSection.tsx @@ -12,8 +12,8 @@ import { ProjectPermissionSub, useProject } from "@app/context"; import { ProjectPermissionSet } from "@app/context/ProjectPermissionContext"; import { evaluatePermissionsAbility } from "@app/helpers/permissions"; import { useGetProjectRoleBySlug, useUpdateProjectRole } from "@app/hooks/api"; -import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { ProjectType } from "@app/hooks/api/projects/types"; +import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { AddPoliciesButton } from "./AddPoliciesButton"; import { DynamicSecretPermissionConditions } from "./DynamicSecretPermissionConditions"; diff --git a/frontend/src/pages/project/SettingsPage/components/AuditLogsRetentionSection/AuditLogsRetentionSection.tsx b/frontend/src/pages/project/SettingsPage/components/AuditLogsRetentionSection/AuditLogsRetentionSection.tsx index b5b442e9b..11f4f0270 100644 --- a/frontend/src/pages/project/SettingsPage/components/AuditLogsRetentionSection/AuditLogsRetentionSection.tsx +++ b/frontend/src/pages/project/SettingsPage/components/AuditLogsRetentionSection/AuditLogsRetentionSection.tsx @@ -5,10 +5,10 @@ import { z } from "zod"; import { UpgradePlanModal } from "@app/components/license/UpgradePlanModal"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Input } from "@app/components/v2"; -import { useProjectPermission, useSubscription, useProject } from "@app/context"; +import { useProject, useProjectPermission, useSubscription } from "@app/context"; import { usePopUp } from "@app/hooks"; -import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; import { useUpdateWorkspaceAuditLogsRetention } from "@app/hooks/api/projects/queries"; +import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; const formSchema = z.object({ auditLogsRetentionDays: z.coerce.number().min(0) diff --git a/frontend/src/pages/project/SettingsPage/components/DeleteProjectProtection/DeleteProjectProtection.tsx b/frontend/src/pages/project/SettingsPage/components/DeleteProjectProtection/DeleteProjectProtection.tsx index 3e09a9f6b..efc69831d 100644 --- a/frontend/src/pages/project/SettingsPage/components/DeleteProjectProtection/DeleteProjectProtection.tsx +++ b/frontend/src/pages/project/SettingsPage/components/DeleteProjectProtection/DeleteProjectProtection.tsx @@ -12,7 +12,7 @@ export const DeleteProjectProtection = () => { const handleToggleDeleteProjectProtection = async (state: boolean) => { try { await mutateAsync({ - projectId: projectId, + projectId, hasDeleteProtection: state }); diff --git a/frontend/src/pages/project/SettingsPage/components/DeleteProjectSection/DeleteProjectSection.tsx b/frontend/src/pages/project/SettingsPage/components/DeleteProjectSection/DeleteProjectSection.tsx index 662506052..4771e0c88 100644 --- a/frontend/src/pages/project/SettingsPage/components/DeleteProjectSection/DeleteProjectSection.tsx +++ b/frontend/src/pages/project/SettingsPage/components/DeleteProjectSection/DeleteProjectSection.tsx @@ -9,8 +9,8 @@ import { ProjectPermissionActions, ProjectPermissionSub, useOrganization, - useProjectPermission, - useProject + useProject, + useProjectPermission } from "@app/context"; import { useToggle } from "@app/hooks"; import { useDeleteWorkspace, useGetWorkspaceUsers, useLeaveProject } from "@app/hooks/api"; diff --git a/frontend/src/pages/secret-manager/CommitDetailsPage/CommitDetailsPage.tsx b/frontend/src/pages/secret-manager/CommitDetailsPage/CommitDetailsPage.tsx index d03a347a8..facbd782b 100644 --- a/frontend/src/pages/secret-manager/CommitDetailsPage/CommitDetailsPage.tsx +++ b/frontend/src/pages/secret-manager/CommitDetailsPage/CommitDetailsPage.tsx @@ -73,7 +73,7 @@ export const CommitDetailsPage = () => { > { export const CommitDetailsTab = ({ selectedCommitId, - workspaceId, + projectId, envSlug, goBackToHistory, goToRollbackPreview }: { selectedCommitId: string; - workspaceId: string; + projectId: string; envSlug: string; goBackToHistory: () => void; goToRollbackPreview: () => void; @@ -71,7 +71,7 @@ export const CommitDetailsTab = ({ "revertChanges" ] as const); - const { data: commitDetails, isLoading } = useGetCommitDetails(workspaceId, selectedCommitId); + const { data: commitDetails, isLoading } = useGetCommitDetails(projectId, selectedCommitId); const routerQueryParams: { secretPath?: string } = useSearch({ from: ROUTE_PATHS.SecretManager.CommitDetailsPage.id @@ -80,7 +80,7 @@ export const CommitDetailsTab = ({ const { mutateAsync: revert } = useCommitRevert({ commitId: selectedCommitId, - projectId: workspaceId, + projectId, environment: envSlug, directory: secretPath }); diff --git a/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistSection.tsx b/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistSection.tsx index 843455343..fc2890b7f 100644 --- a/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistSection.tsx +++ b/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistSection.tsx @@ -8,8 +8,8 @@ import { Button, DeleteActionModal } from "@app/components/v2"; import { ProjectPermissionActions, ProjectPermissionSub, - useSubscription, - useProject + useProject, + useSubscription } from "@app/context"; import { useDeleteTrustedIp } from "@app/hooks/api"; import { usePopUp } from "@app/hooks/usePopUp"; diff --git a/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistTable.tsx b/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistTable.tsx index 001514a96..8f3336be8 100644 --- a/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistTable.tsx +++ b/frontend/src/pages/secret-manager/IPAllowlistPage/components/IPAllowlistTable.tsx @@ -18,8 +18,8 @@ import { import { ProjectPermissionActions, ProjectPermissionSub, - useSubscription, - useProject + useProject, + useSubscription } from "@app/context"; import { useGetTrustedIps } from "@app/hooks/api"; import { UsePopUpState } from "@app/hooks/usePopUp"; diff --git a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/components/IntegrationAuditLogsSection.tsx b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/components/IntegrationAuditLogsSection.tsx index 1b7a93eef..6a808814e 100644 --- a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/components/IntegrationAuditLogsSection.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/components/IntegrationAuditLogsSection.tsx @@ -1,7 +1,7 @@ import { Link } from "@tanstack/react-router"; import { EmptyState } from "@app/components/v2"; -import { useSubscription, useProject } from "@app/context"; +import { useProject, useSubscription } from "@app/context"; import { EventType } from "@app/hooks/api/auditLogs/enums"; import { TIntegrationWithEnv } from "@app/hooks/api/integrations/types"; import { LogsSection } from "@app/pages/organization/AuditLogsPage/components/LogsSection"; diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/components/CloudIntegrationSection/CloudIntegrationSection.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/components/CloudIntegrationSection/CloudIntegrationSection.tsx index 4f8e541e2..42f661606 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/components/CloudIntegrationSection/CloudIntegrationSection.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/components/CloudIntegrationSection/CloudIntegrationSection.tsx @@ -24,8 +24,8 @@ import { ROUTE_PATHS } from "@app/const/routes"; import { ProjectPermissionActions, ProjectPermissionSub, - useProjectPermission, - useProject + useProject, + useProjectPermission } from "@app/context"; import { usePopUp } from "@app/hooks"; import { SecretSync } from "@app/hooks/api/secretSyncs"; diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx index 53131cca1..76141b582 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/route.tsx @@ -4,13 +4,13 @@ import { z } from "zod"; import { projectKeys } from "@app/hooks/api"; import { TIntegration } from "@app/hooks/api/integrations/types"; +import { fetchWorkspaceIntegrations } from "@app/hooks/api/projects/queries"; import { fetchSecretSyncsByProjectId, SecretSync, secretSyncKeys, TSecretSync } from "@app/hooks/api/secretSyncs"; -import { fetchWorkspaceIntegrations } from "@app/hooks/api/projects/queries"; import { IntegrationsListPageTabs } from "@app/types/integrations"; import { IntegrationsListPage } from "./IntegrationsListPage"; diff --git a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx index f729fbc8f..ab9b332b0 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx @@ -63,9 +63,9 @@ import { ProjectPermissionActions, ProjectPermissionDynamicSecretActions, ProjectPermissionSub, + useProject, useProjectPermission, - useSubscription, - useProject + useSubscription } from "@app/context"; import { ProjectPermissionSecretRotationActions } from "@app/context/ProjectPermissionContext/types"; import { @@ -92,11 +92,11 @@ import { import { useGetProjectSecretsOverview } from "@app/hooks/api/dashboard/queries"; import { DashboardSecretsOrderBy, ProjectSecretsImportedBy } from "@app/hooks/api/dashboard/types"; import { OrderByDirection } from "@app/hooks/api/generic/types"; +import { ProjectVersion } from "@app/hooks/api/projects/types"; import { useUpdateFolderBatch } from "@app/hooks/api/secretFolders/queries"; import { TUpdateFolderBatchDTO } from "@app/hooks/api/secretFolders/types"; import { TSecretRotationV2 } from "@app/hooks/api/secretRotationsV2"; -import { SecretType, SecretV3RawSanitized, TSecretFolder, ProjectEnv } from "@app/hooks/api/types"; -import { ProjectVersion } from "@app/hooks/api/projects/types"; +import { ProjectEnv, SecretType, SecretV3RawSanitized, TSecretFolder } from "@app/hooks/api/types"; import { useDynamicSecretOverview, useFolderOverview, @@ -270,7 +270,7 @@ export const OverviewPage = () => { getImportedSecretByKey, getEnvImportedSecretKeyCount } = useGetImportedSecretsAllEnvs({ - projectId: projectId, + projectId, path: secretPath, environments: (userAvailableEnvs || []).map(({ slug }) => slug) }); @@ -278,7 +278,7 @@ export const OverviewPage = () => { const isFilteredByResources = Object.values(filter).some(Boolean); const { isPending: isOverviewLoading, data: overview } = useGetProjectSecretsOverview( { - projectId: projectId, + projectId, environments: visibleEnvs.map((env) => env.slug), secretPath, orderDirection, @@ -392,7 +392,7 @@ export const OverviewPage = () => { name: folderName, path: secretPath, environment, - projectId: projectId, + projectId, description }); }); @@ -484,7 +484,7 @@ export const OverviewPage = () => { ); if (folderName && parentPath && canCreateFolder) { await createFolder({ - projectId: projectId, + projectId, path: parentPath, environment: env, name: folderName @@ -648,7 +648,7 @@ export const OverviewPage = () => { ); if (folderName && parentPath && canCreateFolder) { await createFolder({ - projectId: projectId, + projectId, environment: slug, path: parentPath, name: folderName @@ -662,7 +662,7 @@ export const OverviewPage = () => { navigate({ to: "/projects/secret-management/$projectId/secrets/$envSlug", params: { - projectId: projectId, + projectId, envSlug: slug }, search: query @@ -1412,7 +1412,7 @@ export const OverviewPage = () => { diff --git a/frontend/src/pages/secret-manager/OverviewPage/components/CreateSecretForm/CreateSecretForm.tsx b/frontend/src/pages/secret-manager/OverviewPage/components/CreateSecretForm/CreateSecretForm.tsx index 00e0d799c..d4f8bbafe 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/components/CreateSecretForm/CreateSecretForm.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/components/CreateSecretForm/CreateSecretForm.tsx @@ -19,8 +19,8 @@ import { InfisicalSecretInput } from "@app/components/v2/InfisicalSecretInput"; import { ProjectPermissionActions, ProjectPermissionSub, - useProjectPermission, - useProject + useProject, + useProjectPermission } from "@app/context"; import { ProjectPermissionSecretActions } from "@app/context/ProjectPermissionContext/types"; import { getKeyValue } from "@app/helpers/parseEnvVar"; @@ -92,7 +92,7 @@ export const CreateSecretForm = ({ secretPath = "/", onClose }: Props) => { if (folderName && parentPath && canCreateFolder) { await createFolder({ - projectId: projectId, + projectId, path: parentPath, environment, name: folderName @@ -190,7 +190,7 @@ export const CreateSecretForm = ({ secretPath = "/", onClose }: Props) => { try { const parsedSlug = slugSchema.parse(slug); await createWsTag.mutateAsync({ - projectId: projectId, + projectId, tagSlug: parsedSlug, tagColor: "" }); diff --git a/frontend/src/pages/secret-manager/OverviewPage/components/SecretOverviewTableRow/SecretRenameRow.tsx b/frontend/src/pages/secret-manager/OverviewPage/components/SecretOverviewTableRow/SecretRenameRow.tsx index 4bb0ce453..5e1f27f57 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/components/SecretOverviewTableRow/SecretRenameRow.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/components/SecretOverviewTableRow/SecretRenameRow.tsx @@ -10,7 +10,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { IconButton, Input, Spinner, Tooltip } from "@app/components/v2"; -import { ProjectPermissionSub, useProjectPermission, useProject } from "@app/context"; +import { ProjectPermissionSub, useProject, useProjectPermission } from "@app/context"; import { ProjectPermissionSecretActions } from "@app/context/ProjectPermissionContext/types"; import { useToggle } from "@app/hooks"; import { useUpdateSecretV3 } from "@app/hooks/api"; diff --git a/frontend/src/pages/secret-manager/OverviewPage/components/SecretSearchInput/components/QuickSearchModal.tsx b/frontend/src/pages/secret-manager/OverviewPage/components/SecretSearchInput/components/QuickSearchModal.tsx index 1be02b6ab..0c4b46b85 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/components/SecretSearchInput/components/QuickSearchModal.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/components/SecretSearchInput/components/QuickSearchModal.tsx @@ -33,8 +33,8 @@ import { } from "@app/components/v2"; import { useDebounce } from "@app/hooks"; import { useGetProjectSecretsQuickSearch } from "@app/hooks/api/dashboard"; -import { WsTag } from "@app/hooks/api/tags/types"; import { ProjectEnv } from "@app/hooks/api/projects/types"; +import { WsTag } from "@app/hooks/api/tags/types"; import { QuickSearchSecretRotationItem } from "@app/pages/secret-manager/OverviewPage/components/SecretSearchInput/components/QuickSearchSecretRotationItem"; import { RowType } from "@app/pages/secret-manager/SecretDashboardPage/SecretMainPage.types"; diff --git a/frontend/src/pages/secret-manager/OverviewPage/components/SecretV2MigrationSection/SecretV2MigrationSection.tsx b/frontend/src/pages/secret-manager/OverviewPage/components/SecretV2MigrationSection/SecretV2MigrationSection.tsx index 9afa742f4..048589827 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/components/SecretV2MigrationSection/SecretV2MigrationSection.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/components/SecretV2MigrationSection/SecretV2MigrationSection.tsx @@ -8,11 +8,11 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, Checkbox, Modal, ModalContent, Spinner } from "@app/components/v2"; -import { useProjectPermission, useProject } from "@app/context"; +import { useProject, useProjectPermission } from "@app/context"; import { usePopUp } from "@app/hooks"; -import { useGetWorkspaceById, useMigrateProjectToV3, projectKeys } from "@app/hooks/api"; -import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; +import { projectKeys, useGetWorkspaceById, useMigrateProjectToV3 } from "@app/hooks/api"; import { ProjectVersion } from "@app/hooks/api/projects/types"; +import { ProjectMembershipRole } from "@app/hooks/api/roles/types"; enum ProjectUpgradeStatus { InProgress = "IN_PROGRESS", diff --git a/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/SelectionPanel.tsx b/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/SelectionPanel.tsx index 41794dbc7..8f84cd612 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/SelectionPanel.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/SelectionPanel.tsx @@ -9,9 +9,9 @@ import { Button, DeleteActionModal, Tooltip } from "@app/components/v2"; import { ProjectPermissionActions, ProjectPermissionSub, + useProject, useProjectPermission, - useSubscription, - useProject + useSubscription } from "@app/context"; import { ProjectPermissionSecretActions } from "@app/context/ProjectPermissionContext/types"; import { usePopUp } from "@app/hooks"; @@ -133,7 +133,7 @@ export const SelectionPanel = ({ folderId: folder?.id, path: secretPath, environment: env.slug, - projectId: projectId + projectId }); } }) diff --git a/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/components/MoveSecretsDialog/MoveSecretsDialog.tsx b/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/components/MoveSecretsDialog/MoveSecretsDialog.tsx index 9dd2863d6..30ea57957 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/components/MoveSecretsDialog/MoveSecretsDialog.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/components/MoveSecretsDialog/MoveSecretsDialog.tsx @@ -30,8 +30,8 @@ import { ProjectPermissionSecretActions } from "@app/context/ProjectPermissionCo import { useDebounce } from "@app/hooks"; import { useMoveSecrets } from "@app/hooks/api"; import { useGetProjectSecretsQuickSearch } from "@app/hooks/api/dashboard"; -import { SecretV3RawSanitized } from "@app/hooks/api/secrets/types"; import { ProjectEnv } from "@app/hooks/api/projects/types"; +import { SecretV3RawSanitized } from "@app/hooks/api/secrets/types"; type Props = { isOpen: boolean; diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/SecretApprovalsPage.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/SecretApprovalsPage.tsx index 09fe3aa66..77106a57c 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/SecretApprovalsPage.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/SecretApprovalsPage.tsx @@ -66,7 +66,7 @@ export const SecretApprovalsPage = () => { - +
    diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/AccessApprovalRequest.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/AccessApprovalRequest.tsx index 3ab1c624e..ca04665a5 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/AccessApprovalRequest.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/AccessApprovalRequest.tsx @@ -39,10 +39,10 @@ import { Badge } from "@app/components/v2/Badge"; import { ProjectPermissionMemberActions, ProjectPermissionSub, + useProject, useProjectPermission, useSubscription, - useUser, - useProject + useUser } from "@app/context"; import { getUserTablePreference, diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/components/ReviewAccessModal.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/components/ReviewAccessModal.tsx index b4336637d..a9691724d 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/components/ReviewAccessModal.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/AccessApprovalRequest/components/ReviewAccessModal.tsx @@ -25,7 +25,7 @@ import { Tooltip } from "@app/components/v2"; import { Badge } from "@app/components/v2/Badge"; -import { ProjectPermissionActions, useUser, useProject } from "@app/context"; +import { ProjectPermissionActions, useProject, useUser } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useListWorkspaceGroups, useReviewAccessRequest } from "@app/hooks/api"; import { diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/ApprovalPolicyList.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/ApprovalPolicyList.tsx index 58516dced..bb20643e8 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/ApprovalPolicyList.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/ApprovalPolicyList.tsx @@ -40,9 +40,9 @@ import { import { ProjectPermissionSub, TProjectPermission, + useProject, useProjectPermission, - useSubscription, - useProject + useSubscription } from "@app/context"; import { ProjectPermissionActions } from "@app/context/ProjectPermissionContext/types"; import { @@ -59,14 +59,14 @@ import { import { useGetAccessApprovalPolicies } from "@app/hooks/api/accessApproval/queries"; import { OrderByDirection } from "@app/hooks/api/generic/types"; import { PolicyType } from "@app/hooks/api/policies/enums"; -import { TAccessApprovalPolicy, Project } from "@app/hooks/api/types"; +import { Project, TAccessApprovalPolicy } from "@app/hooks/api/types"; import { AccessPolicyForm } from "./components/AccessPolicyModal"; import { ApprovalPolicyRow } from "./components/ApprovalPolicyRow"; import { RemoveApprovalPolicyModal } from "./components/RemoveApprovalPolicyModal"; interface IProps { - workspaceId: string; + projectId: string; } enum PolicyOrderBy { @@ -118,7 +118,7 @@ const useApprovalPolicies = (permission: TProjectPermission, currentProject?: Pr }; }; -export const ApprovalPolicyList = ({ workspaceId }: IProps) => { +export const ApprovalPolicyList = ({ projectId }: IProps) => { const { handlePopUpToggle, handlePopUpOpen, popUp } = usePopUp([ "policyForm", "deletePolicy", @@ -128,7 +128,7 @@ export const ApprovalPolicyList = ({ workspaceId }: IProps) => { const { subscription } = useSubscription(); const { currentProject } = useProject(); - const { data: members } = useGetWorkspaceUsers(workspaceId, true); + const { data: members } = useGetWorkspaceUsers(projectId, true); const { data: groups } = useListWorkspaceGroups(currentProject?.id || ""); const { policies, isLoading: isPoliciesLoading } = useApprovalPolicies( diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/SecretApprovalRequest.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/SecretApprovalRequest.tsx index 8543bac19..827d14f1e 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/SecretApprovalRequest.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/SecretApprovalRequest.tsx @@ -35,9 +35,9 @@ import { ROUTE_PATHS } from "@app/const/routes"; import { ProjectPermissionMemberActions, ProjectPermissionSub, + useProject, useProjectPermission, - useUser, - useProject + useUser } from "@app/context"; import { getUserTablePreference, diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestAction.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestAction.tsx index c7bc713a8..9bafb36d4 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestAction.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestAction.tsx @@ -13,12 +13,12 @@ import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; import { Button, Checkbox, FormControl, Input } from "@app/components/v2"; +import { useProject } from "@app/context"; import { usePerformSecretApprovalRequestMerge, useUpdateSecretApprovalRequestStatus } from "@app/hooks/api"; import { EnforcementLevel } from "@app/hooks/api/policies/enums"; -import { useProject } from "@app/context"; type Props = { approvalRequestId: string; diff --git a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestChanges.tsx b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestChanges.tsx index 583c142be..0cce12c47 100644 --- a/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestChanges.tsx +++ b/frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestChanges.tsx @@ -33,7 +33,7 @@ import { TextArea, Tooltip } from "@app/components/v2"; -import { useUser, useProject } from "@app/context"; +import { useProject, useUser } from "@app/context"; import { usePopUp } from "@app/hooks"; import { useGetSecretApprovalRequestDetails, diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/SecretDashboardPage.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/SecretDashboardPage.tsx index c7de2b4f2..c926450eb 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/SecretDashboardPage.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/SecretDashboardPage.tsx @@ -25,8 +25,8 @@ import { ProjectPermissionActions, ProjectPermissionDynamicSecretActions, ProjectPermissionSub, - useProjectPermission, - useProject + useProject, + useProjectPermission } from "@app/context"; import { ProjectPermissionCommitsActions, @@ -50,10 +50,10 @@ import { useGetProjectSecretsDetails } from "@app/hooks/api/dashboard"; import { DashboardSecretsOrderBy } from "@app/hooks/api/dashboard/types"; import { useGetFolderCommitsCount } from "@app/hooks/api/folderCommits"; import { OrderByDirection } from "@app/hooks/api/generic/types"; +import { ProjectVersion } from "@app/hooks/api/projects/types"; import { PendingAction } from "@app/hooks/api/secretFolders/types"; import { useCreateCommit } from "@app/hooks/api/secrets/mutations"; import { SecretV3RawSanitized } from "@app/hooks/api/types"; -import { ProjectVersion } from "@app/hooks/api/projects/types"; import { usePathAccessPolicies } from "@app/hooks/usePathAccessPolicies"; import { useResizableColWidth } from "@app/hooks/useResizableColWidth"; import { hasSecretReadValueOrDescribePermission } from "@app/lib/fn/permission"; @@ -148,7 +148,7 @@ const Page = () => { useEffect(() => { if (isBatchMode && projectId && environment && secretPath) { - loadPendingChanges({ projectId: projectId, environment, secretPath }); + loadPendingChanges({ projectId, environment, secretPath }); } }, [isBatchMode, projectId, environment, secretPath, loadPendingChanges]); @@ -248,7 +248,7 @@ const Page = () => { navigate({ to: "/projects/secret-management/$projectId/overview", params: { - projectId: projectId + projectId } }); } @@ -262,7 +262,7 @@ const Page = () => { isFetched } = useGetProjectSecretsDetails({ environment, - projectId: projectId, + projectId, secretPath, offset, limit, @@ -316,7 +316,7 @@ const Page = () => { // fetch imported secrets to show user the overriden ones const { data: importedSecrets } = useGetImportedSecretsSingleEnv({ - projectId: projectId, + projectId, environment, path: secretPath, options: { @@ -416,7 +416,7 @@ const Page = () => { navigate({ to: "/projects/secret-management/$projectId/commits/$environment/$folderId", params: { - projectId: projectId, + projectId, folderId, environment }, @@ -647,7 +647,7 @@ const Page = () => { ? change.tags?.map((tag) => ({ id: tag.id, slug: tag.slug, - projectId: projectId, + projectId, createdAt: new Date().toISOString(), updatedAt: new Date().toISOString(), __v: 0 @@ -955,7 +955,7 @@ const Page = () => { secretImports={imports} isFetching={isDetailsFetching} environment={environment} - workspaceId={projectId} + projectId={projectId} secretPath={secretPath} importedSecrets={importedSecrets} /> @@ -964,7 +964,7 @@ const Page = () => { { diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx index 9969d0632..226230c1a 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx @@ -55,9 +55,9 @@ import { ProjectPermissionActions, ProjectPermissionDynamicSecretActions, ProjectPermissionSub, + useProject, useProjectPermission, - useSubscription, - useProject + useSubscription } from "@app/context"; import { ProjectPermissionCommitsActions, @@ -635,7 +635,7 @@ export const ActionBar = ({ queryKey: secretKeys.getProjectSecret({ projectId, environment, secretPath }) }); queryClient.invalidateQueries({}); - queryKey: dashboardKeys.getDashboardSecrets({ projectId, secretPath }); + dashboardKeys.getDashboardSecrets({ projectId, secretPath }); queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ projectId }) }); diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateSecretImportForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateSecretImportForm.tsx index e7911aa90..68d2d8cd0 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateSecretImportForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/CreateSecretImportForm.tsx @@ -14,7 +14,7 @@ import { SelectItem } from "@app/components/v2"; import { SecretPathInput } from "@app/components/v2/SecretPathInput"; -import { useSubscription, useProject } from "@app/context"; +import { useProject, useSubscription } from "@app/context"; import { useCreateSecretImport } from "@app/hooks/api"; const typeSchema = z.object({ @@ -43,7 +43,7 @@ type Props = { export const CreateSecretImportForm = ({ environment, - projectId: workspaceId, + projectId, secretPath = "/", isOpen, onClose, @@ -77,7 +77,7 @@ export const CreateSecretImportForm = ({ await createSecretImport({ environment, - projectId: workspaceId, + projectId, path: secretPath, isReplication, import: { diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ReplicateFolderFromBoard/ReplicateFolderFromBoard.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ReplicateFolderFromBoard/ReplicateFolderFromBoard.tsx index 814373eb5..5e4cee953 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ReplicateFolderFromBoard/ReplicateFolderFromBoard.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ReplicateFolderFromBoard/ReplicateFolderFromBoard.tsx @@ -64,7 +64,7 @@ type SecretStructure = { export const ReplicateFolderFromBoard = ({ environments = [], - projectId: workspaceId, + projectId, isOpen, onToggle, onParsedEnv @@ -82,14 +82,14 @@ export const ReplicateFolderFromBoard = ({ const [debouncedEnvCopySecretPath] = useDebounce(envCopySecPath); const { data: accessibleSecrets } = useGetAccessibleSecrets({ - projectId: workspaceId, + projectId, secretPath: "/", environment: selectedEnvSlug.slug, recursive: true, filterByAction: shouldIncludeValues ? ProjectPermissionSecretActions.ReadValue : ProjectPermissionSecretActions.DescribeSecret, - options: { enabled: Boolean(workspaceId) && Boolean(selectedEnvSlug) && isOpen } + options: { enabled: Boolean(projectId) && Boolean(selectedEnvSlug) && isOpen } }); const restructureSecrets = useMemo(() => { diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/CommitForm/CommitForm.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/CommitForm/CommitForm.tsx index 1670a4b7f..f81cd7b2d 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/CommitForm/CommitForm.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/CommitForm/CommitForm.tsx @@ -25,14 +25,14 @@ interface CommitFormProps { onCommit: (changes: PendingChanges, commitMessage: string) => Promise; isCommitting?: boolean; environment: string; - workspaceId: string; + projectId: string; secretPath: string; } interface ResourceChangeProps { change: PendingChange; environment: string; - workspaceId: string; + projectId: string; secretPath: string; } @@ -237,7 +237,7 @@ const RenderFolderChanges = ({ onDiscard, change }: RenderResourceProps) => { const ResourceChange: React.FC = ({ change, environment, - workspaceId, + projectId, secretPath }) => { const { removePendingChange } = useBatchModeActions(); @@ -245,7 +245,7 @@ const ResourceChange: React.FC = ({ const handleDeletePending = useCallback( (changeType: string, id: string) => { removePendingChange(id, changeType, { - projectId: workspaceId, + projectId, environment, secretPath }); @@ -272,7 +272,7 @@ export const CommitForm: React.FC = ({ onCommit, isCommitting = false, environment, - workspaceId, + projectId, secretPath }) => { const { isBatchMode, pendingChanges, totalChangesCount } = useBatchMode(); @@ -291,7 +291,7 @@ export const CommitForm: React.FC = ({ } await onCommit(pendingChanges, commitMessage); clearAllPendingChanges({ - projectId: workspaceId, + projectId, environment, secretPath }); @@ -335,9 +335,7 @@ export const CommitForm: React.FC = ({
    - {(isAllowed) => ( - } - onClick={() => - handlePopUpOpen(isAddingProjectsAllowed ? "addNewWs" : "upgradePlan") - } - > - New Project - + {(isOldProjectPermissionAllowed) => ( + + {(isAllowed) => ( + } + onClick={() => + handlePopUpOpen(isAddingProjectsAllowed ? "addNewWs" : "upgradePlan") + } + > + New Project + + )} + )} diff --git a/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx b/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx index 0897a2efd..a1b74656f 100644 --- a/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx +++ b/frontend/src/pages/organization/ProjectsPage/components/AllProjectView.tsx @@ -278,22 +278,26 @@ export const AllProjectView = ({
    - {(isAllowed) => ( - + {(isOldProjectPermissionAllowed) => ( + + {(isAllowed) => ( + + )} + )}
    diff --git a/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx b/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx index 1a193f9bd..46f520d41 100644 --- a/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx +++ b/frontend/src/pages/organization/ProjectsPage/components/MyProjectView.tsx @@ -480,22 +480,26 @@ export const MyProjectView = ({
    - {(isAllowed) => ( - + {(isOldProjectV1Allowed) => ( + + {(isAllowed) => ( + + )} + )}
    diff --git a/frontend/src/pages/organization/RoleByIDPage/components/OrgRoleModifySection.utils.ts b/frontend/src/pages/organization/RoleByIDPage/components/OrgRoleModifySection.utils.ts index 03b86f2ab..9c374d398 100644 --- a/frontend/src/pages/organization/RoleByIDPage/components/OrgRoleModifySection.utils.ts +++ b/frontend/src/pages/organization/RoleByIDPage/components/OrgRoleModifySection.utils.ts @@ -122,12 +122,11 @@ export const formSchema = z.object({ .refine((val) => val !== "custom", { message: "Cannot use custom as its a keyword" }), permissions: z .object({ - workspace: z + project: z .object({ create: z.boolean().optional() }) .optional(), - "audit-logs": auditLogsPermissionSchema, member: generalPermissionSchema, groups: groupPermissionSchema, @@ -162,7 +161,11 @@ export const rolePermission2Form = (permissions: TPermission[] = []) => { // i would have to write a if loop with both conditions same const formVal: Record = {}; permissions.forEach((permission) => { - const { subject, action } = permission; + const { action } = permission; + let { subject } = permission; + if (subject === OrgPermissionSubjects.Workspace) { + subject = OrgPermissionSubjects.Project; + } if (!formVal?.[subject]) formVal[subject] = {}; formVal[subject][action] = true; }); diff --git a/frontend/src/pages/organization/RoleByIDPage/components/RolePermissionsSection/OrgRoleWorkspaceRow.tsx b/frontend/src/pages/organization/RoleByIDPage/components/RolePermissionsSection/OrgRoleWorkspaceRow.tsx index 2746e10bc..5f9041a29 100644 --- a/frontend/src/pages/organization/RoleByIDPage/components/RolePermissionsSection/OrgRoleWorkspaceRow.tsx +++ b/frontend/src/pages/organization/RoleByIDPage/components/RolePermissionsSection/OrgRoleWorkspaceRow.tsx @@ -28,7 +28,7 @@ export const OrgRoleWorkspaceRow = ({ isEditable, control, setValue }: Props) => const rule = useWatch({ control, - name: "permissions.workspace" + name: "permissions.project" }); const selectedPermissionCategory = useMemo(() => { @@ -60,7 +60,7 @@ export const OrgRoleWorkspaceRow = ({ isEditable, control, setValue }: Props) => setIsCustom.off(); if (val === Permission.NoAccess) { - setValue("permissions.workspace", { create: false }, { shouldDirty: true }); + setValue("permissions.project", { create: false }, { shouldDirty: true }); } }; @@ -95,8 +95,8 @@ export const OrgRoleWorkspaceRow = ({ isEditable, control, setValue }: Props) => {PERMISSION_ACTIONS.map(({ action, label }) => { return ( ( { const { popUp, handlePopUpOpen, handlePopUpToggle } = usePopUp(["selectImportPlatform"] as const); return ( - -
    -
    -
    -

    Import from external source

    +
    +
    +
    +

    Import from external source

    - + - -
    -

    Import data from another platform to Infisical.

    - handlePopUpToggle("selectImportPlatform", state)} - /> +
    - +

    Import data from another platform to Infisical.

    + + handlePopUpToggle("selectImportPlatform", state)} + /> +
    ); }; From bf2f8faf9d20a3e0a2da8f9888b57c391a1e1fdb Mon Sep 17 00:00:00 2001 From: = Date: Tue, 16 Sep 2025 00:08:16 +0530 Subject: [PATCH 18/27] feat: renamed all from depreciated to deprecated and adjust workspace context file name as well --- ...r.ts => deprecated-project-role-router.ts} | 2 +- ...router.ts => deprecated-project-router.ts} | 2 +- ...precated-secret-approval-policy-router.ts} | 2 +- backend/src/ee/routes/v1/index.ts | 12 +++++----- ...r.ts => deprecated-project-role-router.ts} | 2 +- backend/src/ee/routes/v2/index.ts | 4 ++-- ...er.ts => deprecated-project-env-router.ts} | 2 +- ...> deprecated-project-membership-router.ts} | 2 +- ...router.ts => deprecated-project-router.ts} | 2 +- ....ts => deprecated-secret-folder-router.ts} | 2 +- ....ts => deprecated-secret-import-router.ts} | 2 +- ...ter.ts => deprecated-secret-tag-router.ts} | 2 +- backend/src/server/routes/v1/index.ts | 24 +++++++++---------- ....ts => deprecated-group-project-router.ts} | 2 +- ... => deprecated-identity-project-router.ts} | 2 +- ...> deprecated-project-membership-router.ts} | 2 +- ...router.ts => deprecated-project-router.ts} | 2 +- backend/src/server/routes/v2/index.ts | 16 ++++++------- ...-router.ts => deprecated-secret-router.ts} | 2 +- backend/src/server/routes/v3/index.ts | 4 ++-- .../permissions/project-permissions.mdx | 2 +- .../ProjectContext.tsx} | 0 frontend/src/context/ProjectContext/index.tsx | 1 + .../src/context/WorkspaceContext/index.tsx | 1 - frontend/src/context/index.tsx | 2 +- 25 files changed, 48 insertions(+), 48 deletions(-) rename backend/src/ee/routes/v1/{depreciated-project-role-router.ts => deprecated-project-role-router.ts} (98%) rename backend/src/ee/routes/v1/{depreciated-project-router.ts => deprecated-project-router.ts} (98%) rename backend/src/ee/routes/v1/{depreciated-secret-approval-policy-router.ts => deprecated-secret-approval-policy-router.ts} (98%) rename backend/src/ee/routes/v2/{depreciated-project-role-router.ts => deprecated-project-role-router.ts} (98%) rename backend/src/server/routes/v1/{depreciated-project-env-router.ts => deprecated-project-env-router.ts} (98%) rename backend/src/server/routes/v1/{depreciated-project-membership-router.ts => deprecated-project-membership-router.ts} (99%) rename backend/src/server/routes/v1/{depreciated-project-router.ts => deprecated-project-router.ts} (99%) rename backend/src/server/routes/v1/{depreciated-secret-folder-router.ts => deprecated-secret-folder-router.ts} (99%) rename backend/src/server/routes/v1/{depreciated-secret-import-router.ts => deprecated-secret-import-router.ts} (99%) rename backend/src/server/routes/v1/{depreciated-secret-tag-router.ts => deprecated-secret-tag-router.ts} (98%) rename backend/src/server/routes/v2/{depreciated-group-project-router.ts => deprecated-group-project-router.ts} (99%) rename backend/src/server/routes/v2/{depreciated-identity-project-router.ts => deprecated-identity-project-router.ts} (99%) rename backend/src/server/routes/v2/{depreciated-project-membership-router.ts => deprecated-project-membership-router.ts} (98%) rename backend/src/server/routes/v2/{depreciated-project-router.ts => deprecated-project-router.ts} (99%) rename backend/src/server/routes/v3/{depreciated-secret-router.ts => deprecated-secret-router.ts} (99%) rename frontend/src/context/{WorkspaceContext/WorkspaceContext.tsx => ProjectContext/ProjectContext.tsx} (100%) create mode 100644 frontend/src/context/ProjectContext/index.tsx delete mode 100644 frontend/src/context/WorkspaceContext/index.tsx diff --git a/backend/src/ee/routes/v1/depreciated-project-role-router.ts b/backend/src/ee/routes/v1/deprecated-project-role-router.ts similarity index 98% rename from backend/src/ee/routes/v1/depreciated-project-role-router.ts rename to backend/src/ee/routes/v1/deprecated-project-role-router.ts index 1b6a53bc8..d0ffc0239 100644 --- a/backend/src/ee/routes/v1/depreciated-project-role-router.ts +++ b/backend/src/ee/routes/v1/deprecated-project-role-router.ts @@ -14,7 +14,7 @@ import { SanitizedRoleSchemaV1 } from "@app/server/routes/sanitizedSchemas"; import { AuthMode } from "@app/services/auth/auth-type"; import { ProjectRoleServiceIdentifierType } from "@app/services/project-role/project-role-types"; -export const registerDepreciatedProjectRoleRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedProjectRoleRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", url: "/:projectSlug/roles", diff --git a/backend/src/ee/routes/v1/depreciated-project-router.ts b/backend/src/ee/routes/v1/deprecated-project-router.ts similarity index 98% rename from backend/src/ee/routes/v1/depreciated-project-router.ts rename to backend/src/ee/routes/v1/deprecated-project-router.ts index 99f5d32a3..6c4175f84 100644 --- a/backend/src/ee/routes/v1/depreciated-project-router.ts +++ b/backend/src/ee/routes/v1/deprecated-project-router.ts @@ -8,7 +8,7 @@ import { readLimit } from "@app/server/config/rateLimiter"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { AuthMode } from "@app/services/auth/auth-type"; -export const registerDepreciatedProjectRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", url: "/:workspaceId/secret-snapshots", diff --git a/backend/src/ee/routes/v1/depreciated-secret-approval-policy-router.ts b/backend/src/ee/routes/v1/deprecated-secret-approval-policy-router.ts similarity index 98% rename from backend/src/ee/routes/v1/depreciated-secret-approval-policy-router.ts rename to backend/src/ee/routes/v1/deprecated-secret-approval-policy-router.ts index 8b03f2d7e..42f6f9c12 100644 --- a/backend/src/ee/routes/v1/depreciated-secret-approval-policy-router.ts +++ b/backend/src/ee/routes/v1/deprecated-secret-approval-policy-router.ts @@ -9,7 +9,7 @@ import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { sapPubSchema } from "@app/server/routes/sanitizedSchemas"; import { AuthMode } from "@app/services/auth/auth-type"; -export const registerDepreciatedSecretApprovalPolicyRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedSecretApprovalPolicyRouter = async (server: FastifyZodProvider) => { server.route({ url: "/", method: "POST", diff --git a/backend/src/ee/routes/v1/index.ts b/backend/src/ee/routes/v1/index.ts index 0d4160816..56d450df3 100644 --- a/backend/src/ee/routes/v1/index.ts +++ b/backend/src/ee/routes/v1/index.ts @@ -5,9 +5,9 @@ import { registerAccessApprovalRequestRouter } from "./access-approval-request-r import { registerAssumePrivilegeRouter } from "./assume-privilege-router"; import { AUDIT_LOG_STREAM_REGISTER_ROUTER_MAP, registerAuditLogStreamRouter } from "./audit-log-stream-routers"; import { registerCaCrlRouter } from "./certificate-authority-crl-router"; -import { registerDepreciatedProjectRoleRouter } from "./depreciated-project-role-router"; -import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; -import { registerDepreciatedSecretApprovalPolicyRouter } from "./depreciated-secret-approval-policy-router"; +import { registerDeprecatedProjectRoleRouter } from "./deprecated-project-role-router"; +import { registerDeprecatedProjectRouter } from "./deprecated-project-router"; +import { registerDeprecatedSecretApprovalPolicyRouter } from "./deprecated-secret-approval-policy-router"; import { registerDynamicSecretLeaseRouter } from "./dynamic-secret-lease-router"; import { registerKubernetesDynamicSecretLeaseRouter } from "./dynamic-secret-lease-routers/kubernetes-lease-router"; import { registerDynamicSecretRouter } from "./dynamic-secret-router"; @@ -53,8 +53,8 @@ export const registerV1EERoutes = async (server: FastifyZodProvider) => { // depreciated in favour of infisical workspace await server.register( async (projectRouter) => { - await projectRouter.register(registerDepreciatedProjectRoleRouter); - await projectRouter.register(registerDepreciatedProjectRouter); + await projectRouter.register(registerDeprecatedProjectRoleRouter); + await projectRouter.register(registerDeprecatedProjectRouter); }, { prefix: "/workspace" } ); @@ -71,7 +71,7 @@ export const registerV1EERoutes = async (server: FastifyZodProvider) => { await server.register(registerSnapshotRouter, { prefix: "/secret-snapshot" }); await server.register(registerPITRouter, { prefix: "/pit" }); - await server.register(registerDepreciatedSecretApprovalPolicyRouter, { prefix: "/secret-approvals" }); + await server.register(registerDeprecatedSecretApprovalPolicyRouter, { prefix: "/secret-approvals" }); await server.register(registerSecretApprovalRequestRouter, { prefix: "/secret-approval-requests" }); diff --git a/backend/src/ee/routes/v2/depreciated-project-role-router.ts b/backend/src/ee/routes/v2/deprecated-project-role-router.ts similarity index 98% rename from backend/src/ee/routes/v2/depreciated-project-role-router.ts rename to backend/src/ee/routes/v2/deprecated-project-role-router.ts index fd61acc36..41a04974d 100644 --- a/backend/src/ee/routes/v2/depreciated-project-role-router.ts +++ b/backend/src/ee/routes/v2/deprecated-project-role-router.ts @@ -12,7 +12,7 @@ import { SanitizedRoleSchema } from "@app/server/routes/sanitizedSchemas"; import { AuthMode } from "@app/services/auth/auth-type"; import { ProjectRoleServiceIdentifierType } from "@app/services/project-role/project-role-types"; -export const registerDepreciatedProjectRoleRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedProjectRoleRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", url: "/:projectId/roles", diff --git a/backend/src/ee/routes/v2/index.ts b/backend/src/ee/routes/v2/index.ts index 6dbac6ad8..c402ab00a 100644 --- a/backend/src/ee/routes/v2/index.ts +++ b/backend/src/ee/routes/v2/index.ts @@ -7,7 +7,7 @@ import { SECRET_SCANNING_REGISTER_ROUTER_MAP } from "@app/ee/routes/v2/secret-scanning-v2-routers"; -import { registerDepreciatedProjectRoleRouter } from "./depreciated-project-role-router"; +import { registerDeprecatedProjectRoleRouter } from "./deprecated-project-role-router"; import { registerGatewayV2Router } from "./gateway-router"; import { registerIdentityProjectAdditionalPrivilegeRouter } from "./identity-project-additional-privilege-router"; import { registerSecretApprovalPolicyRouter } from "./secret-approval-policy-router"; @@ -16,7 +16,7 @@ export const registerV2EERoutes = async (server: FastifyZodProvider) => { await server.register( async (projectRouter) => { // this has been depreciated and moved to /api/v1/projects - await projectRouter.register(registerDepreciatedProjectRoleRouter); + await projectRouter.register(registerDeprecatedProjectRoleRouter); }, { prefix: "/workspace" } ); diff --git a/backend/src/server/routes/v1/depreciated-project-env-router.ts b/backend/src/server/routes/v1/deprecated-project-env-router.ts similarity index 98% rename from backend/src/server/routes/v1/depreciated-project-env-router.ts rename to backend/src/server/routes/v1/deprecated-project-env-router.ts index b03b61664..1a187e2b1 100644 --- a/backend/src/server/routes/v1/depreciated-project-env-router.ts +++ b/backend/src/server/routes/v1/deprecated-project-env-router.ts @@ -8,7 +8,7 @@ import { slugSchema } from "@app/server/lib/schemas"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { AuthMode } from "@app/services/auth/auth-type"; -export const registerDepreciatedProjectEnvRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedProjectEnvRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", url: "/:workspaceId/environments/:envId", diff --git a/backend/src/server/routes/v1/depreciated-project-membership-router.ts b/backend/src/server/routes/v1/deprecated-project-membership-router.ts similarity index 99% rename from backend/src/server/routes/v1/depreciated-project-membership-router.ts rename to backend/src/server/routes/v1/deprecated-project-membership-router.ts index ea7e51313..ab225929f 100644 --- a/backend/src/server/routes/v1/depreciated-project-membership-router.ts +++ b/backend/src/server/routes/v1/deprecated-project-membership-router.ts @@ -15,7 +15,7 @@ import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { AuthMode } from "@app/services/auth/auth-type"; import { ProjectUserMembershipTemporaryMode } from "@app/services/project-membership/project-membership-types"; -export const registerDepreciatedProjectMembershipRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedProjectMembershipRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", url: "/:workspaceId/memberships", diff --git a/backend/src/server/routes/v1/depreciated-project-router.ts b/backend/src/server/routes/v1/deprecated-project-router.ts similarity index 99% rename from backend/src/server/routes/v1/depreciated-project-router.ts rename to backend/src/server/routes/v1/deprecated-project-router.ts index 7ee336507..687d95b9b 100644 --- a/backend/src/server/routes/v1/depreciated-project-router.ts +++ b/backend/src/server/routes/v1/deprecated-project-router.ts @@ -30,7 +30,7 @@ const projectWithEnv = SanitizedProjectSchema.merge( }) ); -export const registerDepreciatedProjectRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", url: "/", diff --git a/backend/src/server/routes/v1/depreciated-secret-folder-router.ts b/backend/src/server/routes/v1/deprecated-secret-folder-router.ts similarity index 99% rename from backend/src/server/routes/v1/depreciated-secret-folder-router.ts rename to backend/src/server/routes/v1/deprecated-secret-folder-router.ts index d64f4da9c..ecb955025 100644 --- a/backend/src/server/routes/v1/depreciated-secret-folder-router.ts +++ b/backend/src/server/routes/v1/deprecated-secret-folder-router.ts @@ -11,7 +11,7 @@ import { AuthMode } from "@app/services/auth/auth-type"; import { booleanSchema } from "../sanitizedSchemas"; -export const registerDepreciatedSecretFolderRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedSecretFolderRouter = async (server: FastifyZodProvider) => { server.route({ url: "/", method: "POST", diff --git a/backend/src/server/routes/v1/depreciated-secret-import-router.ts b/backend/src/server/routes/v1/deprecated-secret-import-router.ts similarity index 99% rename from backend/src/server/routes/v1/depreciated-secret-import-router.ts rename to backend/src/server/routes/v1/deprecated-secret-import-router.ts index 7bc6912e2..2fdbe4216 100644 --- a/backend/src/server/routes/v1/depreciated-secret-import-router.ts +++ b/backend/src/server/routes/v1/deprecated-secret-import-router.ts @@ -10,7 +10,7 @@ import { AuthMode } from "@app/services/auth/auth-type"; import { secretRawSchema } from "../sanitizedSchemas"; -export const registerDepreciatedSecretImportRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedSecretImportRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", url: "/", diff --git a/backend/src/server/routes/v1/depreciated-secret-tag-router.ts b/backend/src/server/routes/v1/deprecated-secret-tag-router.ts similarity index 98% rename from backend/src/server/routes/v1/depreciated-secret-tag-router.ts rename to backend/src/server/routes/v1/deprecated-secret-tag-router.ts index 246867cab..d90475408 100644 --- a/backend/src/server/routes/v1/depreciated-secret-tag-router.ts +++ b/backend/src/server/routes/v1/deprecated-secret-tag-router.ts @@ -7,7 +7,7 @@ import { slugSchema } from "@app/server/lib/schemas"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { AuthMode } from "@app/services/auth/auth-type"; -export const registerDepreciatedSecretTagRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedSecretTagRouter = async (server: FastifyZodProvider) => { server.route({ method: "GET", url: "/:projectId/tags", diff --git a/backend/src/server/routes/v1/index.ts b/backend/src/server/routes/v1/index.ts index 1e4893c64..4fb07aeac 100644 --- a/backend/src/server/routes/v1/index.ts +++ b/backend/src/server/routes/v1/index.ts @@ -13,12 +13,12 @@ import { registerCaRouter } from "./certificate-authority-router"; import { CERTIFICATE_AUTHORITY_REGISTER_ROUTER_MAP } from "./certificate-authority-routers"; import { registerCertRouter } from "./certificate-router"; import { registerCertificateTemplateRouter } from "./certificate-template-router"; -import { registerDepreciatedProjectEnvRouter } from "./depreciated-project-env-router"; -import { registerDepreciatedProjectMembershipRouter } from "./depreciated-project-membership-router"; -import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; -import { registerDepreciatedSecretFolderRouter } from "./depreciated-secret-folder-router"; -import { registerDepreciatedSecretImportRouter } from "./depreciated-secret-import-router"; -import { registerDepreciatedSecretTagRouter } from "./depreciated-secret-tag-router"; +import { registerDeprecatedProjectEnvRouter } from "./deprecated-project-env-router"; +import { registerDeprecatedProjectMembershipRouter } from "./deprecated-project-membership-router"; +import { registerDeprecatedProjectRouter } from "./deprecated-project-router"; +import { registerDeprecatedSecretFolderRouter } from "./deprecated-secret-folder-router"; +import { registerDeprecatedSecretImportRouter } from "./deprecated-secret-import-router"; +import { registerDeprecatedSecretTagRouter } from "./deprecated-secret-tag-router"; import { registerEventRouter } from "./event-router"; import { registerExternalGroupOrgRoleMappingRouter } from "./external-group-org-role-mapping-router"; import { registerGroupProjectRouter } from "./group-project-router"; @@ -93,8 +93,8 @@ export const registerV1Routes = async (server: FastifyZodProvider) => { await server.register(registerNotificationRouter, { prefix: "/notifications" }); await server.register(registerInviteOrgRouter, { prefix: "/invite-org" }); await server.register(registerUserActionRouter, { prefix: "/user-action" }); - await server.register(registerDepreciatedSecretImportRouter, { prefix: "/secret-imports" }); - await server.register(registerDepreciatedSecretFolderRouter, { prefix: "/folders" }); + await server.register(registerDeprecatedSecretImportRouter, { prefix: "/secret-imports" }); + await server.register(registerDeprecatedSecretFolderRouter, { prefix: "/folders" }); await server.register( async (workflowIntegrationRouter) => { @@ -107,12 +107,12 @@ export const registerV1Routes = async (server: FastifyZodProvider) => { await server.register( async (projectRouter) => { - await projectRouter.register(registerDepreciatedProjectRouter); - await projectRouter.register(registerDepreciatedProjectEnvRouter); + await projectRouter.register(registerDeprecatedProjectRouter); + await projectRouter.register(registerDeprecatedProjectEnvRouter); // depreciated completed in use await projectRouter.register(registerProjectKeyRouter); - await projectRouter.register(registerDepreciatedProjectMembershipRouter); - await projectRouter.register(registerDepreciatedSecretTagRouter); + await projectRouter.register(registerDeprecatedProjectMembershipRouter); + await projectRouter.register(registerDeprecatedSecretTagRouter); }, { prefix: "/workspace" } ); diff --git a/backend/src/server/routes/v2/depreciated-group-project-router.ts b/backend/src/server/routes/v2/deprecated-group-project-router.ts similarity index 99% rename from backend/src/server/routes/v2/depreciated-group-project-router.ts rename to backend/src/server/routes/v2/deprecated-group-project-router.ts index e9f2eb2b6..f0e4ee705 100644 --- a/backend/src/server/routes/v2/depreciated-group-project-router.ts +++ b/backend/src/server/routes/v2/deprecated-group-project-router.ts @@ -15,7 +15,7 @@ import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { AuthMode } from "@app/services/auth/auth-type"; import { ProjectUserMembershipTemporaryMode } from "@app/services/project-membership/project-membership-types"; -export const registerDepreciatedGroupProjectRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedGroupProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", url: "/:projectId/groups/:groupIdOrName", diff --git a/backend/src/server/routes/v2/depreciated-identity-project-router.ts b/backend/src/server/routes/v2/deprecated-identity-project-router.ts similarity index 99% rename from backend/src/server/routes/v2/depreciated-identity-project-router.ts rename to backend/src/server/routes/v2/deprecated-identity-project-router.ts index 4182b9a80..c16c874ae 100644 --- a/backend/src/server/routes/v2/depreciated-identity-project-router.ts +++ b/backend/src/server/routes/v2/deprecated-identity-project-router.ts @@ -18,7 +18,7 @@ import { ProjectUserMembershipTemporaryMode } from "@app/services/project-member import { SanitizedProjectSchema } from "../sanitizedSchemas"; -export const registerDepreciatedIdentityProjectRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedIdentityProjectRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", url: "/:projectId/identity-memberships/:identityId", diff --git a/backend/src/server/routes/v2/depreciated-project-membership-router.ts b/backend/src/server/routes/v2/deprecated-project-membership-router.ts similarity index 98% rename from backend/src/server/routes/v2/depreciated-project-membership-router.ts rename to backend/src/server/routes/v2/deprecated-project-membership-router.ts index 11ebc44f2..d88d2f996 100644 --- a/backend/src/server/routes/v2/depreciated-project-membership-router.ts +++ b/backend/src/server/routes/v2/deprecated-project-membership-router.ts @@ -7,7 +7,7 @@ import { writeLimit } from "@app/server/config/rateLimiter"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { AuthMode } from "@app/services/auth/auth-type"; -export const registerDepreciatedProjectMembershipRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedProjectMembershipRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", url: "/:projectId/memberships", diff --git a/backend/src/server/routes/v2/depreciated-project-router.ts b/backend/src/server/routes/v2/deprecated-project-router.ts similarity index 99% rename from backend/src/server/routes/v2/depreciated-project-router.ts rename to backend/src/server/routes/v2/deprecated-project-router.ts index 076f1b832..7c1045855 100644 --- a/backend/src/server/routes/v2/depreciated-project-router.ts +++ b/backend/src/server/routes/v2/deprecated-project-router.ts @@ -35,7 +35,7 @@ const projectWithEnv = SanitizedProjectSchema.extend({ kmsSecretManagerKeyId: z.string().nullable().optional() }); -export const registerDepreciatedProjectRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedProjectRouter = async (server: FastifyZodProvider) => { // depreciated /* Get project key */ server.route({ diff --git a/backend/src/server/routes/v2/index.ts b/backend/src/server/routes/v2/index.ts index af351b390..aade29bb7 100644 --- a/backend/src/server/routes/v2/index.ts +++ b/backend/src/server/routes/v2/index.ts @@ -1,8 +1,8 @@ import { registerCaRouter } from "./certificate-authority-router"; -import { registerDepreciatedGroupProjectRouter } from "./depreciated-group-project-router"; -import { registerDepreciatedIdentityProjectRouter } from "./depreciated-identity-project-router"; -import { registerDepreciatedProjectMembershipRouter } from "./depreciated-project-membership-router"; -import { registerDepreciatedProjectRouter } from "./depreciated-project-router"; +import { registerDeprecatedGroupProjectRouter } from "./deprecated-group-project-router"; +import { registerDeprecatedIdentityProjectRouter } from "./deprecated-identity-project-router"; +import { registerDeprecatedProjectMembershipRouter } from "./deprecated-project-membership-router"; +import { registerDeprecatedProjectRouter } from "./deprecated-project-router"; import { registerIdentityOrgRouter } from "./identity-org-router"; import { registerMfaRouter } from "./mfa-router"; import { registerOrgRouter } from "./organization-router"; @@ -41,10 +41,10 @@ export const registerV2Routes = async (server: FastifyZodProvider) => { // moved to v1/projects await server.register( async (projectServer) => { - await projectServer.register(registerDepreciatedProjectRouter); - await projectServer.register(registerDepreciatedIdentityProjectRouter); - await projectServer.register(registerDepreciatedGroupProjectRouter); - await projectServer.register(registerDepreciatedProjectMembershipRouter); + await projectServer.register(registerDeprecatedProjectRouter); + await projectServer.register(registerDeprecatedIdentityProjectRouter); + await projectServer.register(registerDeprecatedGroupProjectRouter); + await projectServer.register(registerDeprecatedProjectMembershipRouter); }, { prefix: "/workspace" } ); diff --git a/backend/src/server/routes/v3/depreciated-secret-router.ts b/backend/src/server/routes/v3/deprecated-secret-router.ts similarity index 99% rename from backend/src/server/routes/v3/depreciated-secret-router.ts rename to backend/src/server/routes/v3/deprecated-secret-router.ts index 8d40a4126..c037a3dee 100644 --- a/backend/src/server/routes/v3/depreciated-secret-router.ts +++ b/backend/src/server/routes/v3/deprecated-secret-router.ts @@ -39,7 +39,7 @@ const SecretReferenceNodeTree: z.ZodType = SecretReference children: z.lazy(() => SecretReferenceNodeTree.array()) }); -export const registerDepreciatedSecretRouter = async (server: FastifyZodProvider) => { +export const registerDeprecatedSecretRouter = async (server: FastifyZodProvider) => { server.route({ method: "POST", url: "/tags/:secretName", diff --git a/backend/src/server/routes/v3/index.ts b/backend/src/server/routes/v3/index.ts index e87d50f5e..d7fa94d6b 100644 --- a/backend/src/server/routes/v3/index.ts +++ b/backend/src/server/routes/v3/index.ts @@ -1,4 +1,4 @@ -import { registerDepreciatedSecretRouter } from "./depreciated-secret-router"; +import { registerDeprecatedSecretRouter } from "./deprecated-secret-router"; import { registerExternalMigrationRouter } from "./external-migration-router"; import { registerLoginRouter } from "./login-router"; import { registerSignupRouter } from "./signup-router"; @@ -8,6 +8,6 @@ export const registerV3Routes = async (server: FastifyZodProvider) => { await server.register(registerSignupRouter, { prefix: "/signup" }); await server.register(registerLoginRouter, { prefix: "/auth" }); await server.register(registerUserRouter, { prefix: "/users" }); - await server.register(registerDepreciatedSecretRouter, { prefix: "/secrets" }); + await server.register(registerDeprecatedSecretRouter, { prefix: "/secrets" }); await server.register(registerExternalMigrationRouter, { prefix: "/external-migration" }); }; diff --git a/docs/internals/permissions/project-permissions.mdx b/docs/internals/permissions/project-permissions.mdx index c823cf4a7..e3ee19cbb 100644 --- a/docs/internals/permissions/project-permissions.mdx +++ b/docs/internals/permissions/project-permissions.mdx @@ -86,7 +86,7 @@ Below is a comprehensive list of all available project-level subjects and their | `edit` | Modify existing tags | | `delete` | Remove tags from the project | -#### Subject: `workspace` +#### Subject: `project` | Action | Description | | -------- | ------------------------- | diff --git a/frontend/src/context/WorkspaceContext/WorkspaceContext.tsx b/frontend/src/context/ProjectContext/ProjectContext.tsx similarity index 100% rename from frontend/src/context/WorkspaceContext/WorkspaceContext.tsx rename to frontend/src/context/ProjectContext/ProjectContext.tsx diff --git a/frontend/src/context/ProjectContext/index.tsx b/frontend/src/context/ProjectContext/index.tsx new file mode 100644 index 000000000..f87ed0a3d --- /dev/null +++ b/frontend/src/context/ProjectContext/index.tsx @@ -0,0 +1 @@ +export { useProject } from "./ProjectContext"; diff --git a/frontend/src/context/WorkspaceContext/index.tsx b/frontend/src/context/WorkspaceContext/index.tsx deleted file mode 100644 index 6e4b5ce69..000000000 --- a/frontend/src/context/WorkspaceContext/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { useProject } from "./WorkspaceContext"; diff --git a/frontend/src/context/index.tsx b/frontend/src/context/index.tsx index 1659027db..fff370269 100644 --- a/frontend/src/context/index.tsx +++ b/frontend/src/context/index.tsx @@ -9,6 +9,7 @@ export { OrgPermissionSubjects, useOrgPermission } from "./OrgPermissionContext"; +export { useProject } from "./ProjectContext"; export type { TProjectPermission } from "./ProjectPermissionContext"; export { ProjectPermissionActions, @@ -29,4 +30,3 @@ export { export { useServerConfig } from "./ServerConfigContext"; export { useSubscription } from "./SubscriptionContext"; export { useUser } from "./UserContext"; -export { useProject } from "./WorkspaceContext"; From a3b0049913e09ce817aa358e1253856491acd87a Mon Sep 17 00:00:00 2001 From: = Date: Tue, 16 Sep 2025 00:21:48 +0530 Subject: [PATCH 19/27] feat: updated mintlify --- docs/docs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs.json b/docs/docs.json index 51a125730..a12ae1b05 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -2613,7 +2613,7 @@ "href": "https://infisical.com" }, "api": { - "openapi": "http://localhost:8080/api/docs/json", + "openapi": "https://app.infisical.com/api/docs/json", "mdx": { "server": ["https://app.infisical.com"] } From 4c780c2c75404e304326d4a9d5430b54e9765529 Mon Sep 17 00:00:00 2001 From: = Date: Tue, 16 Sep 2025 01:17:38 +0530 Subject: [PATCH 20/27] feat: review comments addressed --- .../src/server/routes/v1/project-router.ts | 8 +++++++ .../endpoints/projects/list-projects.mdx | 4 ++++ docs/docs.json | 23 ++++++++++--------- .../permissions/organization-permissions.mdx | 4 ++-- 4 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 docs/api-reference/endpoints/projects/list-projects.mdx diff --git a/backend/src/server/routes/v1/project-router.ts b/backend/src/server/routes/v1/project-router.ts index c2aa9f488..76adfc818 100644 --- a/backend/src/server/routes/v1/project-router.ts +++ b/backend/src/server/routes/v1/project-router.ts @@ -221,6 +221,14 @@ export const registerProjectRouter = async (server: FastifyZodProvider) => { rateLimit: readLimit }, schema: { + hide: false, + tags: [ApiDocsTags.Projects], + description: "List projects", + security: [ + { + bearerAuth: [] + } + ], querystring: z.object({ includeRoles: z .enum(["true", "false"]) diff --git a/docs/api-reference/endpoints/projects/list-projects.mdx b/docs/api-reference/endpoints/projects/list-projects.mdx new file mode 100644 index 000000000..5017023a1 --- /dev/null +++ b/docs/api-reference/endpoints/projects/list-projects.mdx @@ -0,0 +1,4 @@ +--- +title: "List Projects" +openapi: "GET /api/v1/projects" +--- diff --git a/docs/docs.json b/docs/docs.json index a12ae1b05..8b64210a0 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -1010,7 +1010,7 @@ "api-reference/endpoints/organizations/bulk-delete-memberships", "api-reference/endpoints/organizations/list-identity-memberships", { - "group": "To be deprecated", + "group": "Legacy", "pages": [ "api-reference/endpoints/deprecated/organizations/projects" ] @@ -1024,10 +1024,11 @@ "api-reference/endpoints/projects/create-project", "api-reference/endpoints/projects/delete-project", "api-reference/endpoints/projects/get-project", + "api-reference/endpoints/projects/list-projects", "api-reference/endpoints/projects/update-project", "api-reference/endpoints/projects/secret-snapshots", { - "group": "To be deprecated", + "group": "Legacy", "pages": [ "api-reference/endpoints/deprecated/projects/get-project-by-slug", "api-reference/endpoints/deprecated/projects/create-project", @@ -1048,7 +1049,7 @@ "api-reference/endpoints/project-users/get-by-username", "api-reference/endpoints/project-users/update-membership", { - "group": "To be deprecated", + "group": "Legacy", "pages": [ "api-reference/endpoints/deprecated/project-users/invite-member-to-project", "api-reference/endpoints/deprecated/project-users/remove-member-from-project", @@ -1068,7 +1069,7 @@ "api-reference/endpoints/project-groups/list", "api-reference/endpoints/project-groups/update", { - "group": "To be deprecated", + "group": "Legacy", "pages": [ "api-reference/endpoints/deprecated/project-groups/create", "api-reference/endpoints/deprecated/project-groups/delete", @@ -1088,7 +1089,7 @@ "api-reference/endpoints/project-identities/update-identity-membership", "api-reference/endpoints/project-identities/delete-identity-membership", { - "group": "To be deprecated", + "group": "Legacy", "pages": [ "api-reference/endpoints/deprecated/project-identities/add-identity-membership", "api-reference/endpoints/deprecated/project-identities/list-identity-memberships", @@ -1108,7 +1109,7 @@ "api-reference/endpoints/project-roles/get-by-slug", "api-reference/endpoints/project-roles/list", { - "group": "To be deprecated", + "group": "Legacy", "pages": [ "api-reference/endpoints/deprecated/project-roles/create", "api-reference/endpoints/deprecated/project-roles/update", @@ -1136,7 +1137,7 @@ "api-reference/endpoints/environments/update", "api-reference/endpoints/environments/delete", { - "group": "To be deprecated", + "group": "Legacy", "pages": [ "api-reference/endpoints/deprecated/environments/create", "api-reference/endpoints/deprecated/environments/update", @@ -1154,7 +1155,7 @@ "api-reference/endpoints/folders/update", "api-reference/endpoints/folders/delete", { - "group": "To be deprecated", + "group": "Legacy", "pages": [ "api-reference/endpoints/deprecated/folders/list", "api-reference/endpoints/deprecated/folders/get-by-id", @@ -1175,7 +1176,7 @@ "api-reference/endpoints/secret-tags/update", "api-reference/endpoints/secret-tags/delete", { - "group": "To be deprecated", + "group": "Legacy", "pages": [ "api-reference/endpoints/deprecated/secret-tags/list", "api-reference/endpoints/deprecated/secret-tags/get-by-id", @@ -1199,7 +1200,7 @@ "api-reference/endpoints/secrets/update-many", "api-reference/endpoints/secrets/delete-many", { - "group": "To be deprecated", + "group": "Legacy", "pages": [ "api-reference/endpoints/deprecated/secrets/list", "api-reference/endpoints/deprecated/secrets/create", @@ -1244,7 +1245,7 @@ "api-reference/endpoints/secret-imports/update", "api-reference/endpoints/secret-imports/delete", { - "group": "To be deprecated", + "group": "Legacy", "pages": [ "api-reference/endpoints/deprecated/secret-imports/list", "api-reference/endpoints/deprecated/secret-imports/create", diff --git a/docs/internals/permissions/organization-permissions.mdx b/docs/internals/permissions/organization-permissions.mdx index 13dda8196..2e6ede7f3 100644 --- a/docs/internals/permissions/organization-permissions.mdx +++ b/docs/internals/permissions/organization-permissions.mdx @@ -9,7 +9,7 @@ Infisical's organization permissions system follows a role-based access control Each permission consists of: -- **Subject**: The resource the permission applies to (e.g., workspaces, members, billing) +- **Subject**: The resource the permission applies to (e.g., project, members, billing) - **Action**: The operation that can be performed (e.g., read, create, edit, delete) Some organization-level resources—specifically `app-connections`—support conditional permissions and permission inversion for more granular access control. @@ -20,7 +20,7 @@ Below is a comprehensive list of all available organization-level subjects and t ### Project Management -#### Subject: `workspace` +#### Subject: `project` | Action | Description | | -------- | ------------------ | From 4dda123c6869173ee1e627880c7e50d480558c6d Mon Sep 17 00:00:00 2001 From: = Date: Tue, 16 Sep 2025 01:20:44 +0530 Subject: [PATCH 21/27] fix: resolved frontend ts failing --- .../components/RolePermissionsSection/RolePermissionRow.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/pages/organization/RoleByIDPage/components/RolePermissionsSection/RolePermissionRow.tsx b/frontend/src/pages/organization/RoleByIDPage/components/RolePermissionsSection/RolePermissionRow.tsx index 0254e8240..b3fd63efd 100644 --- a/frontend/src/pages/organization/RoleByIDPage/components/RolePermissionsSection/RolePermissionRow.tsx +++ b/frontend/src/pages/organization/RoleByIDPage/components/RolePermissionsSection/RolePermissionRow.tsx @@ -65,7 +65,7 @@ type Props = { title: string; formName: keyof Omit< Exclude, - | "workspace" + | "project" | "organization-admin-console" | "kmip" | "gateway" From 65b36a322b33aee331b2647827bd29ff5f1e1eb2 Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Tue, 16 Sep 2025 04:38:21 +0800 Subject: [PATCH 22/27] misc: added previous name indicator --- docs/internals/permissions/organization-permissions.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/internals/permissions/organization-permissions.mdx b/docs/internals/permissions/organization-permissions.mdx index 2e6ede7f3..d20ea7def 100644 --- a/docs/internals/permissions/organization-permissions.mdx +++ b/docs/internals/permissions/organization-permissions.mdx @@ -20,7 +20,7 @@ Below is a comprehensive list of all available organization-level subjects and t ### Project Management -#### Subject: `project` +#### Subject: `project` (formerly workspace) | Action | Description | | -------- | ------------------ | From 1e5244b2c3cb5b79bcd4b190c2f32aca81b8d73a Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Mon, 15 Sep 2025 14:45:21 -0700 Subject: [PATCH 23/27] improvements: address feedback --- .../app-connection/app-connection-fns.ts | 9 +++---- .../CreateSecretRotationV2Modal.tsx | 15 ++++++++--- .../CreateSecretScanningDataSourceModal.tsx | 26 +++++++++++++------ .../components/ProjectAccessError.tsx | 6 +---- 4 files changed, 34 insertions(+), 22 deletions(-) diff --git a/backend/src/services/app-connection/app-connection-fns.ts b/backend/src/services/app-connection/app-connection-fns.ts index bfad05213..f88b5a357 100644 --- a/backend/src/services/app-connection/app-connection-fns.ts +++ b/backend/src/services/app-connection/app-connection-fns.ts @@ -149,6 +149,9 @@ const SECRET_SCANNING_APP_CONNECTION_MAP = Object.fromEntries( Object.entries(SECRET_SCANNING_DATA_SOURCE_CONNECTION_MAP).map(([key, value]) => [value, key]) ); +// scott: ideally this would be derived from a utilized map like the above +const PKI_APP_CONNECTIONS = [AppConnection.AWS, AppConnection.Cloudflare, AppConnection.AzureADCS]; + export const listAppConnectionOptions = (projectType?: ProjectType) => { return [ getAwsConnectionListItem(), @@ -200,11 +203,7 @@ export const listAppConnectionOptions = (projectType?: ProjectType) => { case ProjectType.SecretScanning: return Boolean(SECRET_SCANNING_APP_CONNECTION_MAP[option.app]); case ProjectType.CertificateManager: - return ( - option.app === AppConnection.AWS || - option.app === AppConnection.Cloudflare || - option.app === AppConnection.AzureADCS - ); + return PKI_APP_CONNECTIONS.includes(option.app); case ProjectType.KMS: return false; case ProjectType.SSH: diff --git a/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx b/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx index 9666c3c52..89ced26b7 100644 --- a/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx +++ b/frontend/src/components/secret-rotations-v2/CreateSecretRotationV2Modal.tsx @@ -27,18 +27,20 @@ type ContentProps = { selectedRotation: SecretRotation | null; setSelectedRotation: (selectedRotation: SecretRotation | null) => void; initialFormData?: Partial; + onCancel: () => void; } & SharedProps; const Content = ({ setSelectedRotation, selectedRotation, initialFormData, + onCancel, ...props }: ContentProps) => { if (selectedRotation) { return ( setSelectedRotation(null)} + onCancel={onCancel} type={selectedRotation} initialFormData={initialFormData} {...props} @@ -93,13 +95,17 @@ export const CreateSecretRotationV2Modal = ({ onOpenChange, isOpen, ...props }: } }, [connectionId, connectionName]); + const handleReset = () => { + setSelectedRotation(null); + setInitialFormData(undefined); + }; + return ( { if (!open) { - setSelectedRotation(null); - setInitialFormData(undefined); + handleReset(); } onOpenChange(open); }} @@ -137,9 +143,10 @@ export const CreateSecretRotationV2Modal = ({ onOpenChange, isOpen, ...props }: > { - setSelectedRotation(null); + handleReset(); onOpenChange(false); }} + onCancel={handleReset} initialFormData={initialFormData} selectedRotation={selectedRotation} setSelectedRotation={setSelectedRotation} diff --git a/frontend/src/components/secret-scanning/CreateSecretScanningDataSourceModal.tsx b/frontend/src/components/secret-scanning/CreateSecretScanningDataSourceModal.tsx index 520aa0365..fb1081d02 100644 --- a/frontend/src/components/secret-scanning/CreateSecretScanningDataSourceModal.tsx +++ b/frontend/src/components/secret-scanning/CreateSecretScanningDataSourceModal.tsx @@ -24,16 +24,18 @@ type ContentProps = { selectedDataSource: SecretScanningDataSource | null; setSelectedDataSource: (selectedDataSource: SecretScanningDataSource | null) => void; initialFormData?: Partial; + onCancel: () => void; }; -const Content = ({ setSelectedDataSource, selectedDataSource, ...props }: ContentProps) => { +const Content = ({ + setSelectedDataSource, + selectedDataSource, + onCancel, + ...props +}: ContentProps) => { if (selectedDataSource) { return ( - setSelectedDataSource(null)} - type={selectedDataSource} - {...props} - /> + ); } @@ -86,11 +88,18 @@ export const CreateSecretScanningDataSourceModal = ({ onOpenChange, isOpen, ...p } }, [connectionId, connectionName]); + const resetModal = () => { + setSelectedDataSource(null); + setInitialFormData(undefined); + }; + return ( { - if (!open) setSelectedDataSource(null); + if (!open) { + resetModal(); + } onOpenChange(open); }} > @@ -127,9 +136,10 @@ export const CreateSecretScanningDataSourceModal = ({ onOpenChange, isOpen, ...p > { - setSelectedDataSource(null); + resetModal(); onOpenChange(false); }} + onCancel={resetModal} selectedDataSource={selectedDataSource} setSelectedDataSource={setSelectedDataSource} initialFormData={initialFormData} diff --git a/frontend/src/pages/public/ErrorPage/components/ProjectAccessError.tsx b/frontend/src/pages/public/ErrorPage/components/ProjectAccessError.tsx index 95a7d3729..d6fd57d56 100644 --- a/frontend/src/pages/public/ErrorPage/components/ProjectAccessError.tsx +++ b/frontend/src/pages/public/ErrorPage/components/ProjectAccessError.tsx @@ -8,7 +8,6 @@ import { RequestProjectAccessModal } from "@app/components/projects"; import { AccessRestrictedBanner, Button } from "@app/components/v2"; import { OrgPermissionSubjects } from "@app/context"; import { OrgPermissionAdminConsoleAction } from "@app/context/OrgPermissionContext/types"; -import { getProjectHomePage } from "@app/helpers/project"; import { usePopUp } from "@app/hooks"; import { useOrgAdminAccessProject, useSearchProjects } from "@app/hooks/api"; @@ -41,10 +40,7 @@ export const ProjectAccessError = () => { projectId: project.id }); await navigate({ - to: getProjectHomePage(project.type, project.environments), - params: { - projectId: project.id - } + to: "." }); } catch { createNotification({ From d54c8f9fefae760af307b0bd94ea1a3b1dfd11a1 Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Mon, 15 Sep 2025 14:52:11 -0700 Subject: [PATCH 24/27] chore: lint --- .../AppConnectionsPage/components/AppConnectionsTable.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionsTable.tsx b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionsTable.tsx index 63f757114..9b24312bc 100644 --- a/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionsTable.tsx +++ b/frontend/src/pages/organization/AppConnections/AppConnectionsPage/components/AppConnectionsTable.tsx @@ -38,7 +38,11 @@ import { OrgPermissionSubjects, ProjectPermissionSub } from "@app/context"; import { OrgPermissionAppConnectionActions } from "@app/context/OrgPermissionContext/types"; import { ProjectPermissionAppConnectionActions } from "@app/context/ProjectPermissionContext/types"; import { APP_CONNECTION_MAP, getAppConnectionMethodDetails } from "@app/helpers/appConnections"; -import { getUserTablePreference, PreferenceKey, setUserTablePreference } from "@app/helpers/userTablePreferences"; +import { + getUserTablePreference, + PreferenceKey, + setUserTablePreference +} from "@app/helpers/userTablePreferences"; import { usePagination, usePopUp, useResetPageHelper } from "@app/hooks"; import { TAppConnection, useListAppConnections } from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; From f6f03bed5a0c1c595078ada17e3f8d3027cfd6ec Mon Sep 17 00:00:00 2001 From: x032205 Date: Mon, 15 Sep 2025 20:44:26 -0400 Subject: [PATCH 25/27] feat: lockout docs for UA --- .../identities/machine-identities.mdx | 16 ++++++++++--- .../platform/identities/universal-auth.mdx | 22 ++++++++++++++---- ...ies-org-create-universal-auth-method-1.png | Bin 581835 -> 529646 bytes ...ies-org-create-universal-auth-method-2.png | Bin 552062 -> 524152 bytes ...ies-org-create-universal-auth-method-3.png | Bin 0 -> 501845 bytes 5 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 docs/images/platform/identities/identities-org-create-universal-auth-method-3.png diff --git a/docs/documentation/platform/identities/machine-identities.mdx b/docs/documentation/platform/identities/machine-identities.mdx index b4a18708c..dd5cbbbcf 100644 --- a/docs/documentation/platform/identities/machine-identities.mdx +++ b/docs/documentation/platform/identities/machine-identities.mdx @@ -38,6 +38,16 @@ To interact with various resources in Infisical, Machine Identities can authenti - [GCP Auth](/documentation/platform/identities/gcp-auth): A GCP-native authentication method for GCP resources (e.g. Compute Engine, App Engine, Cloud Run, Google Kubernetes Engine, IAM service accounts, etc.). - [OIDC Auth](/documentation/platform/identities/oidc-auth): A platform-agnostic, JWT-based authentication method for workloads using an OpenID Connect identity provider. +## Identity Lockout + +Lockout is a feature that prevents brute-force attacks on identity login endpoints. Auth methods that support lockout include: [Universal Auth](/documentation/platform/identities/universal-auth). + +Supported auth methods have lockout enabled by default. If triggered, lockout temporarily disables the login endpoint for 5 minutes after 3 consecutive failed login attempts within a 30-second window. Lockout can be configured and disabled in the identity auth method settings. + + + When Lockout is enabled, a rate limit of approximately 10 requests per second is enforced on relevant authentication endpoints. This security measure employs a protective lock to mitigate parallel login attacks. If this rate limitation interferes with your operational requirements, you may consider disabling Lockout. + + ## FAQ @@ -51,15 +61,15 @@ You can learn more about how to do this in the CLI quickstart [here](/cli/usage) A service token is a project-level authentication method that is being deprecated in favor of identities. The service token method will be removed in the future in accordance with the deprecation notice and timeline stated [here](https://infisical.com/blog/deprecating-api-keys). - + Amongst many differences, identities provide broader access over the Infisical API, utilizes the same permission system as user identities, and come with a significantly larger number of configurable authentication and security features. - + If you're looking for a simple authentication method, similar to service tokens, that can be bound onto an identity, we recommend checking out [Token Auth](/documentation/platform/identities/token-auth). There are a few reasons for why this might happen: - + - You have insufficient organization permissions to create, read, update, delete identities. - The identity you are trying to read, update, or delete is more privileged than yourself. - The role you are trying to create an identity for or update an identity to is more privileged than yours. diff --git a/docs/documentation/platform/identities/universal-auth.mdx b/docs/documentation/platform/identities/universal-auth.mdx index 51721f7bf..a3aba04e2 100644 --- a/docs/documentation/platform/identities/universal-auth.mdx +++ b/docs/documentation/platform/identities/universal-auth.mdx @@ -4,7 +4,7 @@ description: "Learn how to authenticate to Infisical from any platform or enviro --- **Universal Auth** is a platform-agnostic authentication method that can be configured for a [machine identity](/documentation/platform/identities/machine-identities) to authenticate from any platform/environment using a Client ID and Client Secret. -This authentication method supports setting token periods, which can help [overcome secret zero](#solving-secret-zero-with-periodic-tokens). +This authentication method supports setting token periods, which can help [overcome secret zero](#solving-secret-zero-with-periodic-tokens). ## Diagram @@ -67,15 +67,25 @@ using the Universal Auth authentication method. ![identities organization create universal auth method 1](/images/platform/identities/identities-org-create-universal-auth-method-1.png) ![identities organization create universal auth method 2](/images/platform/identities/identities-org-create-universal-auth-method-2.png) + ![identities organization create universal auth method 3](/images/platform/identities/identities-org-create-universal-auth-method-3.png) Here's some more guidance on each field: - - Access Token TTL (default is `2592000` equivalent to 30 days): The lifetime for an acccess token in seconds. This value will be referenced at renewal time. - - Access Token Max TTL (default is `2592000` equivalent to 30 days): The maximum lifetime for an acccess token in seconds. This value will be referenced at renewal time. + **Configuration Tab** + - Access Token TTL (default is `2592000` equivalent to 30 days): The lifetime for an access token in seconds. This value will be referenced at renewal time. + - Access Token Max TTL (default is `2592000` equivalent to 30 days): The maximum lifetime for an access token in seconds. This value will be referenced at renewal time. - Access Token Max Number of Uses (default is `0`): The maximum number of times that an access token can be used; a value of `0` implies infinite number of uses. + - Access Token Period (optional, default is `0`): If set, the access token becomes a renewable, non-expiring token for the specified period (in seconds). TTL and Max TTL are ignored when this is set. This is ideal for "secret zero" scenarios, where a workload needs to bootstrap itself securely without hard-coded static secrets. + + **Lockout Tab** + - Lockout (enabled by default): The lockout feature will temporarily block login attempts after X consecutive login failures. + - Lockout Threshold (default is `3`): The amount of times login must fail before locking the identity auth method. + - Lockout Duration (default is `5 minutes`): How long an identity auth method lockout lasts. + - Lockout Counter Reset (default is `30 seconds`): How long to wait from the most recent failed login until resetting the lockout counter. + + **Advanced Tab** - Client Secret Trusted IPs: The IPs or CIDR ranges that the **Client Secret** can be used from together with the **Client ID** to get back an access token. By default, **Client Secrets** are given the `0.0.0.0/0`, allowing usage from any network address. - Access Token Trusted IPs: The IPs or CIDR ranges that access tokens can be used from. By default, each token is given the `0.0.0.0/0`, allowing usage from any network address. - - Access Token Period (optional, default is `0`): If set, the access token becomes a renewable, non-expiring token for the specified period (in seconds). TTL and Max TTL are ignored when this is set. This is ideal for "secret zero" scenarios, where a workload needs to bootstrap itself securely without hard-coded static secrets. Restricting **Client Secret** and access token usage to specific trusted IPs is a paid feature. @@ -202,6 +212,10 @@ This approach allows your workload to securely bootstrap and maintain access to A token can be renewed any number of times where each call to renew it can extend the token's lifetime by increments of the access token's TTL. Regardless of how frequently an access token is renewed, its lifespan remains bound to the maximum TTL determined at its creation. + + + You can reset (remove) all lockouts for an identity auth method by clicking into the auth method and pressing **Reset All Lockouts**. + ![ua reset lockouts](/images/platform/identities/ua-reset-lockouts.png) diff --git a/docs/images/platform/identities/identities-org-create-universal-auth-method-1.png b/docs/images/platform/identities/identities-org-create-universal-auth-method-1.png index d3fe6fbe093f76e1fd07f7e9b7d9b40d1cbe057c..eaef0c10c05eba8cda123315433780f1d1559c52 100644 GIT binary patch literal 529646 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

    DDV_x76lS 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

    |IOIhxyq`DE@WDGdy)u%h!{b^ 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

    2+gw)0 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%0DPnH4-|QP7}WLmo+KA1ejXa#SkG2b6k` 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 z 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ª{aY}d|x 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

    Ba2$v|rL*{fdO4W3L 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%0DYk$lxvgD-REpISM%x9pojKX^C}X< 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

    ^|O*QsMIW83L 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%0AYD^VB9U+Nh7bq29> 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 z%0A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�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%0DLoC)|?Lc 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

    gR!C2>Y^PI>a3=a0^n7=Z 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 D*K#6R diff --git a/docs/images/platform/identities/identities-org-create-universal-auth-method-2.png b/docs/images/platform/identities/identities-org-create-universal-auth-method-2.png index ea0fc9671374d20165ab07535b7446a533b3e125..9aae59d0462e592ccac8313cdfc5e338946d3183 100644 GIT binary patch literal 524152 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%0AOdWnS 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ⅈ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

    U4okqLatW+m~5Q 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

    D_hqDK_E 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�q(8pOg4Id4qmTu}s-rNlZyZ;GKPh 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

    2Ku|fbuU3G*h_PF~J7*b## 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 Kf6=~E-~B%Z(gx@N literal 552062 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�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 z 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 L|5*MJ>+Amyncsj| diff --git a/docs/images/platform/identities/identities-org-create-universal-auth-method-3.png b/docs/images/platform/identities/identities-org-create-universal-auth-method-3.png new file mode 100644 index 0000000000000000000000000000000000000000..c966afdb498561f1b99322c102bf1852bb1abffe GIT binary patch literal 501845 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

    P>Zik3DZWM%@ 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

    I7tD1=ycmwrjSK$ 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

    22K$L7Z*zdUVWLV}ds4Jf;sAF+ zmXj%X8U5RBLYQy?S@&S?6|=eDV@=z22Zf6YBPSP?%F4?x%E%v1U3u-RCa+b1Czv*jRa_8~urV>2ML#abxu^t0Es?y>siuS$MMc#y6qhUT zS>zr!VCHNeTZZp;J9k^2`ZLUH7!L$eOM{df zWpGo1tQ%s#yy=&?Qjrd$a&nHD+S&?CE|ie0Y;2rtTaOnxTie~QBZ!nbJ9u*7kCZM*GW}Gdr>{Sk z%r{oC@o-wgzL?nrse-J^U~AkUZq{R{qeFv40>$Z76B#D?$rY2H&OV#D3Ng~*JNbhS z_W~6~9+bi3wxaXVfn3tv$}`%|w%R?Kwuvx6_Be%PHw=i>PUIz#M5@)QnDyVjv_Bjor%t$cS>jmB#!YKRDVH1*M%!L~8#J z>Zp8Q!=wtw2|8q{Hv4UxFx;`RvDk+Bj=T(KclX|uopSO@oEl>%C@Gi@JO z$Egt~ZI{L0DuPS5s#I z!vocu!%lW~9GnftG#zWR05p3~#Axco^vUfaZYrh2RF)`th2|zs>s$UpPal<+C(6gW z)mdGm<8_6@QPoVBSYP6#L$ID6nM5qQk*qlOj59`IzQX{f(i~b*r0qGYN=R6+%cj|f zCY&zcERNiGC=bkT6+JN_=3z5%C9UiRGITCz2@`q~Ngn<5#NvR?iuhk>>>6XGx9(B(2ur5wt;ERXShfeT;$9+hG*H%)0KTh4yEjvVd=4$Sd-+v<_FGxKhY^ zD@D!>#PUEF4vhK0WAd$H4RMzhwwR?`^Z3Ojm~Wrll0m;*2@-H1_kS1%;;PnYd9@+- zh1`)=Nj|u*N`}KgP6r*sWXxI5~Q+}`FROt##q9T^M?R(zeRG_EmoS0R|YTb|K9)8w|gt3Do!pF>NVdQcuWIQq4* zFl~^z9J)0lY(N$#J{hAn6u+o3XKVEM$@L?b z)^&!*3ot#mx>5muDyy0kqhPMGJt9&e7mO?5BR!Dkbkmc$r)d$HjnKbsEUf$(=`n{A z5P-uy&MAh)HVCU=NkgU6#g8GzdW3ilNf>k+9i<ENoOaWwlW_7sLh z9f{7oQCn}=*xIr(8OIptJ}6SDDC&+)a)245<9x1axAb%?iN+@lBsQc^Jxk!P43uK} zbvW6?JY(z4pr8t2B|4^Lv4YzdSaNFh7&%M+xR87;^O^a1i)7Pe_e$Kz%-;LyqUINf z51o#N^=WWka1SN~Hqtyrjrb6^Hr6Vjoivc}G@K&*b9a-IW19y(Q%A`dBCRTuyl!Q0AGa%KEJ!Ly zpDH7|MM_2bjeGxWm;0bj{OGIciOswT6raXsqlVSq>A zb5Ob*>gRl@;WEcW_}fe1otQ2I#m>WC{EYTXbk0Z=J86Sf{y*%fYSpIO3)! zgqa+cI+5GsrMO+jkEapKx*d+HaQ8$S&%U{uR~k2vIDEy9g?2}gj8f|}hdb9zhg=m& zDPvK6wfb=j$ z6kAm{BVt4d_LXY9a6>Bh+ArWP7`$If~!>AcJfgb;+-c^+) z?OC2Du9J6MY=qZ^7u}cxNSyEVT%Tvd?5_31gW#ZnhHAI%(z=!FXJkB2LcMRe^ql@; zRoG(lIj^?ht+NvUY}@>Gl?uTcrkpWy!|W!gyS0N9x+stzdJb04 zwH@3rz}`IHg}tkAhXJ-3E)aEX1EhwGFPXPb5j=o6>Codt2!QsH;ZD7}u$L25RST+U z?t3fwJ%UA5vptG07jM>Yr*>I^md4u+2KEMCx^rj{tOd(n3wnz#XZpd0)>O6{cSuZg zwZewa*^`5`Zwd&-VEZlPg(i>Kn#5wFmP(@&pk8r`5FQG!crG8U>kuamE;t5VFv$9` zisH-6+27z5EEC|MBMH^vwUrL~@{<)novO6s$%zu4bq3?wIBF-P#OP;oGyTfYtp~8@l!GYY(kRDzuu97H~O z)<+`yp3*_pdP#oJa>wR$M|F%9X}evrrXFZwVs--y*eyt(dk3EXdX5A>-Z5#Gt~po= zQP5<{PBE_X?93^mT?Hli+1%yaaL`xVzxmqw4%30vStD{- zxGj$T<`cF6#q+aPMTC6vPytL3mBKmiulPdJW)v(~FSsAm_(Nk-*I1zsbasyJ0WANe zq)lInbG;7uG&-`lnhCHkzPTv`@o3dsGiH^ySzERD4A%OcoqM;ef7z=V&#pX_gzjQB zA6@)QKGKrh-T;2XM(S?>8C{T?(SL9V&2A+1>}*B|G|<-f40;rC;mbeB6N7(65%SUb zFA9^vCJy)S6i-A!(io~T(Gcv;{$9@$VEyf7J#%I&pC2U@8}I@39|mlr?-XWu*a9*# z^uq4hg{~fSAQR~qeW-5)G_!oOlF%J|B$>VF)LE=$9~{N1V!Gnz!m0gGv1j+5Bhldi zY``S0o-B3930)Ashv?C4zDfNhDL_BD+OO@?`R>YVLf00+38raw#3$xfBZ! z#7NMQ5-bi0g`mBM%B&!gmnuN6DQC!h$!YV;-JMNxAoA059NVLJ{d8DmYXAU8Pr(mD z8ouSK@2u@SPC?I`a-tHG3ZC=!ID$4APYJ&cCwwI125aX8J21)9?u@ukJj;^zxF*Jc zm(Ku#LHo`Q&_^zVn=#m~XV&6*cd9ZUY(~yz%%CDk;JEwF{n9|*3KMg+)CXGSZ|@^y zf7C}{Ip~V+LxWY?#-x^e7iR|^zK3Y-fOaJkFv*@5E~;yJf@hg-z70{pRl;l2(?W?UYMB2z1@x zwgXuUiuc5QYB6~9Kerf|)5J4r4kxm9X@bSlY&O%U6qF#@xFJCu9^52qCnSvz2Ak4T z=AwEhRTgVJ9$;_;EzN`Xjaq-;4qh1q8%VCL-p24`_Ef1bc%h&!6e}_S^+1)!L)61} zZ_hJc8c<@VbW=h1C@OTA2KY6mG=h(!yYpOn9Ja|*)5%GP7}+k3E>)s1h>A;PR-YOZ=)_bq42FeC)OHm5<e*{`iE&f+;fzaw5)EC(S0U%+E`%~+aA^(Z7bmhr4_e(M)p09MA z(}#XL{3~Ac^fzVDfhSLB)m_H!2x~)Y+S=Dz?h%EG26^PK5ff}qr@!5tx9WaA7v9E@ zBk|?4Zup&Nz48$#HR>tR7@R5y=RQy(Uk4I7Ib|n|H``a~U~4N_o@Z0H65P#6!2EI@ zib?`32ChdiNY?lk*zsOS9rKa%ML?O%qJ`xkl!3wKxzr^3gTkgSwf)K>w9H;!2_AAz z+=ZR9l1;$u)N_Qn#r1>a9g5;iEoWwUzF^jPU8CNGlb*6OmRau#l^>7e;1L}lIzTPG zv0Gxkn%GW0{%=;2^!rxLhQxY_seWdD8HwYaB| zeydR!0D~X=2j46a`^iiBk?U`2C#FqD1Y$G>iT)gu1MVP%1T(2!zei0&*r1$<_6cex z-w~qL4vFzT#_gK{Zg&8i02Dm;)aIo#-0o&=6IbVj(7?z37e4oE-@P-d(myKGe?@iV zO7ti8ph@FOm_4>=tX+%HadXI{!zSHfm*8&3(Ca;JU-=TZyl%b;Dx8r#wf!#e=@9x$ z9>03}Ael(Bv7jYG(eNi5_Cfl_S2Kz3OH$u@z`YD~`rByLxm}(^us=>3SYRFko6F<4 z3x{VVD})L5_H~-N6CXS<&@oZFNdLbt(t%VP1ot)_os!+vP-P-;dQQJ#_BH@V8c_dQ zKZ;m#DxSH;UsjGP3HZOV3j)8B<{O&ya@8})B#?fU;wS;-NPx>%llkEPPsw~0Yc5q_ z%&Cao6=!ndRcjA?NFu+WjT-yI9Y7L1K`veAvU%H>(b3E%VwbO|`gSkBW)&8D_@j_c)8 zw;XW3e0QGz?Psr62$-C4xGYccDy3Hei1Wa*B_k{!yz&`T&#*&?P6*${7k!^$fj6n@ zB{j)YOI{|FDP;47NDn${1oafHHPX(eR_u2oc=MoA;#kdbP_chXdi;F^#dpD8A%J%X zw$D}I`vK^qhb2|xnVEp!bo~F9-#ke}r?M*cg&?tdt9~0OjDU6TOH>jljKco!3ZwV& z^WRgPluH5LBcy)*{ITjX%5_jrVS~s`2$vIwsfH#afCHZ@^H~-$ z*dAiC00HII1Apx6==Z(ZptErm{1hm#W)L0%^6ZDMChd_=FZgD|_4LS=^5qTb zMM>P~WC+B|_&Uvcfb{((TlKMLSHc6Mz(uJ?9BZ>9od42sYZ%|6^*3(zC*S90_o9W6 z{QvhXr_t8(()Z2F2cwb*ICRieRbQO0r~^5i_~%Z4OOi({cz8eIftJixxIhoV_u(zBT^TB2G^R)t$f0Y;Ur;Y+B2A>QxibB8GC=vqD6evr+ zM1Ep_9Qk?5D={}Sh`E{=28S!gax}$4^DA=VfR`UKvD4T66lMp9G$KDAnUwsGWGEA- zvesZ|Gwf9`h|Kgq!fL;=4zkM3YnS!*q8`H3?zPR&tF7n~Zo@rp_*|zAKiC>a7$Az> zvoto2*D^4$1PaN>#Kc4_7JG=KYk)Z(9?mi*xdIWT5o<)L;VMx|Nhsb$?iLqs93QvH z%Po&q2R2qY%t>;1c!%PI{K~o(n?a3-Wt7AS{o`zaCdOnAYgxu?@^=RTl2XsF@e4d9%35NnwME-SQ8vk7|WG z1+bGia0`UU$;pLQKEmO&R~O*j-SYN`vKHvQ!~_Ci>8?_i+HaS|tsjA#`_S;$ke<}> ze@3xvk4u^C??1y>keb46E0_A_0<8u&hjMlI%nSj$oW!;J^#N#TK;N$&cktTaIKvNT zWoFi5CS0{0OOvgtcXS5d=0URALKue)&}dmP?#tS{SM zU$9M4#NHvNju%fvlEhu_g50n^rl+^wtE2CbXjJs{X)rXS zppLSUq`<@CaTx>Yp?vNwu1_Wd-GHnBc9eX$IaGsu65NwwT*r+D%4t;XzFNT;Gw>g0 zWNn)uM(LY7;hGnrrpa)Dh-(2@RINeF2#49W`8G#ahjvGarU}#oL{GUL!qhpgczkFm z;e516_F6{>Y zbPf&h3datTAy_cwL<=uE9 z28^Zx@Z`N91i+@2qUL2AlkZSicqUcN?n5oq)^<%4G8C-mhiN9Hpx#>95^!_CjESAg z;LCa~NzpxP7ol+RddqqB2A&3zdvHU1ZPR^34?t3B=13Pgmv$|zc?OPhQgzo0Z+h5r zqNBwdPYQ{J)<#KpxHL6_BITi=h<+`}WSE-z##+R0aJexZ5et*Q50NgAW~^W#w0pvQ zX)xwQmVRXG`;5*k1pv(yUo#5{qsj=chlPy&}&X5V%IB^&&MHb1-%+40k(a{OqniFP3?(Xi! zE?|>R1po1vNE}1IeOr58`-ncRH22)=yr`(CF|67C5quh;6CN4SQ1T*{bKU`c7I1^=KdetvMjQblfVSImL7 z1N83Qfq|KCM$X0)+RHfD*(EuOTO~VSRS$;Q*w~I>F1+j#mUK3S@g;@Tbc<$=kB(Z} z-?(wt=EdUTVlkiMOtC|-b`4pu_p)o9dweT{+ujV;&t7iH_K_S%&E4&Klha!>2x$($ zB(Q610ZV>qy%{Ba=BIBK2hs6OU!_$ikB~ixAXWe)Wcng%Q1+^yn9Dgn5K($4vhgDQ zkT}S|4|2Xba`Qiwn(ZbGj)|1&PoAlPn{1EVY9IGHsWWh2T1d#C=)sAV7ZN(${l2I7 z6yUk8pO7%~_mQ}Eo>otZG2u6MCZLetiRIoJ-E-w_;qEgF3k%Unj_w9__QsM5!I8TA z(_)m5ymE>jPdxp|7E>Wp-KwX<%S4}g&f=iLl=7d!ky``i6qbnN>|k6-qO}ux*z>2< zH{8p5&l5`KoZ||VCt@u_USPOKmG4FRH4QyszAe|$A;NGgzfKV;RZFTHII-=O^BW(U z6D7OdB`vb}VUrSGe$Q4sxP8P$B?4#?>ReQRP5LeWxGdxEiKh?4qieuqoGlawp4he( zZY$-SKEfhmJoEUTgO_(tG!}R&zShVwVS6~cZo!E#SSC+)&LGqilKvqA9x3BM*vGIAcAoRqPXi)Kv>Lq8NN zHSpd9n?0_VE`54XZEi5>G?&nP`mo(G1-l9;nW~S^Zodqk;-e0!F)4SV+_NA|cZBp7$G<9Mw0P9y+R7prE zP9upUj`#WD@?eAD;kMxIC*cZ6SGT^9e7)exUd&li1(v!SonpEe=-8`?Rb9b2L|Mm9eVM(Xm z-z`&3HBHTwI%Vlh)1+c$PHwp|EoN#$3hoP~Wr+)#3!)-5&1AVTrKY(yt|=;-`$|nN z_|K=%_k0aW8vNfNPFK5+#&F73j3k`)Y<&Z%!&3* zHjt+c@-abpxWL=Rvd!0!%RUSn?4+AQp;l_&&+JuDpE<5cKZnbBE1=m!OJko7k`uF$ zH{TT?%3*N0rxtd`BqZkkw%B09q$q(vIACGry&KLp98KVLFw#M;4F1a=3X9$AZ#lTt z#UJv)qR_#5ufCtD^+Zc$SxyM`)oC-hVZ4R4nj2oWY65$Nro0e~ohx@UyidT^BaDm< zd`$_fTC^58PCR5?0SJxH z$*8Q7FF~}O0Qj2 z6&MWm2c&34Pt4m+?F&-cq|?y>c^Gai^}%9!uQHTEU?RcYvC|yJ%cbKj&q! zl`(9S8$>Y(af_HX$K!De{`z4WVk}nNbRG+`duTFkm94X_x@HWK@%A!#fDsp~g=#r_ zzt;>>W+^n8`@ODd!OSPD*&3N_eY2&gKzEK6pkJ&?l`Tfu*+-)p}|P&ZShuJBiqXA%dgSv#bDv$LZPWuta|TG;86eLla!P{B&L)HS82 zuL{4|ztv7SvE%oZ$y$uf`5}`ObNrdi^68p}eQg&<41}cP9B~7lzS2Uos6Y0U)n9~g zYiU|sE-Xdl==4HWSdp~U?9u##1;K2j9+}xUZf;K8bj8KR?Uu7COhSA(8{B}5(kcsq zq{B22l|56bH7FtSUBTPNVEBOvV=<4Z9zz-3Q22gUWhBN!uQpWX_P0v|BO$#;CV13= zGd7foH&?2jM5}u_Qeni-!>M(yvA-%cCt9j@ zViA20oTC_1dqNH-!lrDT+!rjWe5%O9g^Vp0~*4HCU_EdF_bVcl#}mXB?+Rx7F}$7Qw2d%Qj6 zV>EfigEQv^Eap}h+ldEjX>z7f)MUr>O({V}!lPHJ!O z9uE{2~nE&K`_wuj}n9yJC z+$n$3K^=<)G*TF(!CO}|yT(SMnqFo`Rvw|3EK$}LK-$^a{D>85+-PkY3sYGLXlxH< znVlLCx1X!r3q{{}?R^$)sL=^F605*6Em-V3xYc4Im4=q8kP?fk%3!GeduK_3r~CZ& z>=5N0iZ>!6$_D#g=Q)#VKj%*th!&=UuuGBWc}i4h((CXe9HG>CF?vCo9u^IT{;QUm zOs@>~AQwAoIHJgC9^+*jnXal3h+J&g-Qv8OVLy#b(}#qV+4;WdIR(ExEseiy3D?n6P93ur}2skzkm^XTIkzH{#|7}`F zq&V5~=wcHqRnJmr?C(6d)h;4}TXZ=+-Noj5@Q}iHZCIOcTpgB^nfFlm=djw;n41MX zoRDUo3+a-I{pl zj63-?H8p8565F4r>Fi>-7kgV$Ctk8wsN5+X$Y~FERpJ3QhAt9mS<--R>Cm_iF*G(< z-nDV;UTuxuR9?k$W9&Rai0WpEvK1Y1xzp{VtFI_FQhb$}_w@VlIT0&9t4~gByi;KZ z=U-z0>9bWWE{{GV@$oduo4zCi`VZt0K>nd??uJ6S75+*JKCsEupX0-|fOm%cH3XHd zB*O3u_>}E&d+l!K4g9`1bvi#1+Rz)6`OCY|2)d%$OiN7VIP!Sz=w4{L`4aEksiYX{ z!x-%-Q=({;tre7gF+T#Lh`67e9z*V&7Y3ew0H5eL$SlsYPe8QnjTj#pfo-yi_-fz# zb?d(S$>QuOWJ~sDxF~rp<#q;ix80@bp_G(|=~xLb0~Y^tglrX0*_fF?8~P)EUW7f* zK=`mYSdo8I%9!7t4$*IAIpNcw(rxC1Due<}9m*xcmjnXT^*0^7ik=Yv!Xy_zh|)ch*` zvPJTmB7|j5_6l$v=^P=4cV>^EB)IU$nN_=t^Y0||z#RIE7tIX=seqAiQD}TF5E?@Y z#fGNsv?&qHf0$}bT?`Ot63RkLH)v-f^J^5<(4s4a(du~(F^I$kmd-hmS*T@-pkAd- zkL?hIy!^);m&eu5HpN@E*^8t)29o5gSX5NhLBK`+v3bxqFs^F?g+9-~rqE9%Ul5|GLCGhgK_HP2N& znMbS8y|h>=LXSAJkhDLxCnDeEB8rb`X{CX^!KwxH9=3101swA1Mq`};Ae^>gcw|wt zDQC6&JKj5^^=SIGm;0xOt{VPrrMBJ=gIR)w&w>5ASM@s5$iN?nPHC{>{;jU)$z0f- zn9+Pi$izL=eQ2wuoR0NiZfR*v80*7_;|h~cE^>}d79G7Xx`dc%C3P8uyrM!!9Q83# zD9(kRMkhRK#%!5$mRvfwc(l1oPP2yS^Y`~3ut1SWKHjK_DUFxZwySgC6h=;XLCe08 zk0@Ep61(r5r}V`4Oj=T3TBz(U{Y{I1?>X$Z*Y4R_S^2ujuNFM_#1)lWL<~f*lPXrO zJV9O>G9hWBJY^6j0`bEzjn*3{p{uCK&JBDqlOnO}2J}dE0*y?|g556wEu`nDi?}6| zxT+j5z_2%*Aj!1KCFMio@NjwW08gcH=NLua5AeEA`SVUR+rJ5`+(3G|$J5ze^TD@m zfcJtw-DQ(|u%s!O|4tZLil_kl54P<2>i5?o37|>HJq9vZPa(XA&)D975KAmDiMSCy zn$ZTYS5;7Zb!L+l+K`LB7NI6h;%9Vd*gDv}&O3=5z1TZFFTw-r(rv-P9$>z3v4ly_ z+f6khE}OvOofD)*yDnIpT@`DjGwq(+rkPU)_m9nLV`Wwqk;fLm7NI`2Q7F}ay-R^x zA3!ANGDE^T*I zumFrSW~baD*keJw`K2*>$LTu%)vnks=9Os!1qbhYN<#9f(W$|=5QcB=*G`h0)6djP zY;O(OuDr+KM;VeHnGY`^ZAvde_hx5R4)R+TEnX&rUzqJohSZp8v<$qEz90D}dOW%6 z*#pC{OS#G$yWe~zYCkqUsj_-*V*t9Op8ayUadyCXsrhZwpCsd@qaH`ZcMf|8_C{O5 zw(k1=mz(R>Z}{TN|Mtl<{qF-RHj@fxi?_1JbJHx?+s|UYjyEDnNP!$bpK{BwXYSe@ zk{5YwjNyEn%7BV&ZR3m1<%)BL8flJ8K0eo-5Aa+Nos=l?%#f^#nI#VIiyWliEWTWn zMq)pC7;gw+8jDU=w6rFX1MF^7{bXXADz&?^W0_Bd3fprj((0Bgc18h_gAUo@{E;w( z9(uns9U=SG(HcQn6a?`4p*D&^IZi|4t7v6Lq&X_T}Sw(zl_SQR(; zLrVm`rEaKK)kP))vqod zssiMek3r>{s*F`{#p0hsWOJ%9Cke&%#SGyy*?ZZC7duOzv*)sh`LkQ5{+{fXoYbaD zN4XnSop1L=6FFLTS0_6>FwB#YMeK?|)D1r-w9{oF;(1jr-2ulbtd~m9V9M$-B`0qR zBteW#ZztGab7o_kNP|tPrbxt?DBcg}<$*zWrsUX;Lu#Y2S#{v^Yp+pv8!i#77B%}Y*p;2dyl&l0TBPt-aS zj~*xU(ja4IWK-yZXyp&^PbwA6{VccXBBOzA1>X}-HEcC7^UQ(IfTkG)EB_?XR2%}JW z`4Q$HHGU@89B&Whm-Z+8fdg{TcU98r@qZT?3wtUiy^Uc#C;WM-)xwZL;;+{`G8jr5 ztLHqckXSF|m z@Kr8pw~rq!ThrPK`l?AGb8oHPg$OIAkuJ5a(sQFmqC{>jwbmBF<#7mH`g}N+YaY?t zr_C}~!k*udQUo;V(pr*V@(}fG-(&3Q%OThu#rBh&Q!&ovavd4jt_k1-#Pu z==i#;?)0sReI*M#nYPn(5%{g_ntHc4Kw~CCN9I%@da|Qhb*2cXL#^B1x`F*`wM%&c}Vah_Ez#m@MLDH+CWj--kB-37`+v5S#+4 zoBQ9Y>vy%QKFOQf&=4}4sH&LEk8$d79OD}+Khy=^y{5p|pRB;J^>R7gMvrm7e01#} z3^N747cPtoktNuDM4%wMHs=ecs&dIb@^_nDCJUu%{LNnD^%a!mfB|6fer>B)#=xTH zo+j_gpW^`t@WfQ5RQ=%I6LaH^JRKGA9;h{b`qWzE=P%rSZx0PO*tp0;z9y5d&d*M} zHtt^Ge7s#3Ac&g4{d;L;4Tag?G)@FC{vQUzWS<7!X2vxM%dbG&W0nhE7qfh5qLT21Ay3(5*)Abpkf1g%K5 z!P_`?MC*$?iy=cRh%BikKDlsp_ANr|A!ld1efJ#!2Z%tu>s|F~bLqk$^xnvQk=6~M zyZp8m?H5+yrP>51XC_D$vHyKZ{BIw=1nLif!q^vb6q0qB2cF8KM0G3L`#X9QfSgfH zG@Z}mxqv*ht8wU}9HNOHs)JEgxc^MF#$W#ulIBHn=GkNgMzpQ-k~@yQw(>&}&}&3% zNh#*~14UM3-MgfJU--Y*V$(0T(ph5IP{MIJP<-O53j*E1lOT_gxGCU(5v^&J3C^sr z#YpvDoN7A9r9I6j1BAR)$C8xq$iV!(F!R!4l*?duzD#ju<>vdQgg_*ZKR` zly@5_4-FKB+kca-(_>#fnQJ^Hh*{q)Pa&o96axH1c-P5=@fi{D&OZ?l@=pYe+M(@} zIi{4=8N@(TOa`vyT~2DX0LL*uRpr^si@h}p5!@Ric7y5^s=wJ-xaOhoQcXHMrh56s zX5l;#&BVj~osVBw^P1lQ|8@C9|9yko)-=4CRAHA};|0?EQEkdOCn~_4-#_SMG3$A+ zh7XfOa~(hm_}vNgcR(t_ae;@VFDodxTh!Nf;K8%2Y=AIDZ66KNv{HHdsSuT6uB zc9UB`m-X>k<<0a~*V*m%DFta1xV(&}e>;`5Bu_9u*>7*JV*(jQDomQP2y1Tr+c5V| zAgCIJmuA}pxhBH@T~2ptUAa2$u6^^7d@1rD5i#R4BH{|vbnu(w>d^`Cb>Pp!40g8c I^rc__4 Date: Mon, 15 Sep 2025 17:58:40 -0700 Subject: [PATCH 26/27] improvements: address feedback --- .../app-connection-endpoints.ts | 2 +- .../app-connection/app-connection-service.ts | 60 ++++++++++--------- .../components/ExternalCaModal.tsx | 1 + 3 files changed, 34 insertions(+), 29 deletions(-) diff --git a/backend/src/server/routes/v1/app-connection-routers/app-connection-endpoints.ts b/backend/src/server/routes/v1/app-connection-routers/app-connection-endpoints.ts index 88e572426..720726c34 100644 --- a/backend/src/server/routes/v1/app-connection-routers/app-connection-endpoints.ts +++ b/backend/src/server/routes/v1/app-connection-routers/app-connection-endpoints.ts @@ -94,7 +94,7 @@ export const registerAppConnectionEndpoints = { - const project = await projectDAL.findProjectById(projectId); - - if (!project) throw new BadRequestError({ message: `Could not find project with ID ${projectId}` }); - - const { permission: projectPermission } = await permissionService.getProjectPermission({ - actor: actor.type, - actorId: actor.id, - projectId, - actorAuthMethod: actor.authMethod, - actorOrgId: actor.orgId, - actionProjectType: ActionProjectType.Any - }); - - ForbiddenError.from(projectPermission).throwUnlessCan( - ProjectPermissionAppConnectionActions.Connect, - ProjectPermissionSub.AppConnections - ); - + const listAvailableAppConnectionsForUser = async (app: AppConnection, actor: OrgServiceActor, projectId?: string) => { const { permission: orgPermission } = await permissionService.getOrgPermission( actor.type, actor.id, @@ -768,6 +750,37 @@ export const appConnectionServiceFactory = ({ actor.orgId ); + let availableProjectConnections: TAppConnections[] = []; + + if (projectId) { + const project = await projectDAL.findProjectById(projectId); + + if (!project) throw new BadRequestError({ message: `Could not find project with ID ${projectId}` }); + + const { permission: projectPermission } = await permissionService.getProjectPermission({ + actor: actor.type, + actorId: actor.id, + projectId, + actorAuthMethod: actor.authMethod, + actorOrgId: actor.orgId, + actionProjectType: ActionProjectType.Any + }); + + ForbiddenError.from(projectPermission).throwUnlessCan( + ProjectPermissionAppConnectionActions.Connect, + ProjectPermissionSub.AppConnections + ); + + const projectAppConnections = await appConnectionDAL.find({ app, projectId }); + + availableProjectConnections = projectAppConnections.filter((connection) => + projectPermission.can( + ProjectPermissionAppConnectionActions.Connect, + subject(ProjectPermissionSub.AppConnections, { connectionId: connection.id }) + ) + ); + } + const orgAppConnections = await appConnectionDAL.find({ app, orgId: actor.orgId, projectId: null }); const availableOrgConnections = orgAppConnections.filter((connection) => @@ -777,15 +790,6 @@ export const appConnectionServiceFactory = ({ ) ); - const projectAppConnections = await appConnectionDAL.find({ app, projectId }); - - const availableProjectConnections = projectAppConnections.filter((connection) => - projectPermission.can( - ProjectPermissionAppConnectionActions.Connect, - subject(ProjectPermissionSub.AppConnections, { connectionId: connection.id }) - ) - ); - return [...availableOrgConnections, ...availableProjectConnections].sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase()) ) as Omit[]; diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx index 5e7ab5cdd..121c32e5f 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx @@ -601,6 +601,7 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { placeholder="Select connection..." getOptionLabel={(option) => option.name} getOptionValue={(option) => option.id} + components={{ Option: AppConnectionOption }} /> )} From 3a5fc72bf966481b00ead73e296a12893388aa85 Mon Sep 17 00:00:00 2001 From: x032205 Date: Mon, 15 Sep 2025 21:23:52 -0400 Subject: [PATCH 27/27] Review fixes --- .../platform/identities/universal-auth.mdx | 15 ++++++++++----- .../platform/identities/ua-reset-lockouts.png | Bin 0 -> 192257 bytes 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 docs/images/platform/identities/ua-reset-lockouts.png diff --git a/docs/documentation/platform/identities/universal-auth.mdx b/docs/documentation/platform/identities/universal-auth.mdx index a3aba04e2..3a87f6da9 100644 --- a/docs/documentation/platform/identities/universal-auth.mdx +++ b/docs/documentation/platform/identities/universal-auth.mdx @@ -65,25 +65,30 @@ using the Universal Auth authentication method. By default, the identity has been configured with Universal Auth. If you wish, you can edit the Universal Auth configuration details by pressing to edit the **Authentication** section. - ![identities organization create universal auth method 1](/images/platform/identities/identities-org-create-universal-auth-method-1.png) - ![identities organization create universal auth method 2](/images/platform/identities/identities-org-create-universal-auth-method-2.png) - ![identities organization create universal auth method 3](/images/platform/identities/identities-org-create-universal-auth-method-3.png) - - Here's some more guidance on each field: + Here's some guidance on each field: **Configuration Tab** + + ![identities organization create universal auth method 1](/images/platform/identities/identities-org-create-universal-auth-method-1.png) + - Access Token TTL (default is `2592000` equivalent to 30 days): The lifetime for an access token in seconds. This value will be referenced at renewal time. - Access Token Max TTL (default is `2592000` equivalent to 30 days): The maximum lifetime for an access token in seconds. This value will be referenced at renewal time. - Access Token Max Number of Uses (default is `0`): The maximum number of times that an access token can be used; a value of `0` implies infinite number of uses. - Access Token Period (optional, default is `0`): If set, the access token becomes a renewable, non-expiring token for the specified period (in seconds). TTL and Max TTL are ignored when this is set. This is ideal for "secret zero" scenarios, where a workload needs to bootstrap itself securely without hard-coded static secrets. **Lockout Tab** + + ![identities organization create universal auth method 2](/images/platform/identities/identities-org-create-universal-auth-method-2.png) + - Lockout (enabled by default): The lockout feature will temporarily block login attempts after X consecutive login failures. - Lockout Threshold (default is `3`): The amount of times login must fail before locking the identity auth method. - Lockout Duration (default is `5 minutes`): How long an identity auth method lockout lasts. - Lockout Counter Reset (default is `30 seconds`): How long to wait from the most recent failed login until resetting the lockout counter. **Advanced Tab** + + ![identities organization create universal auth method 3](/images/platform/identities/identities-org-create-universal-auth-method-3.png) + - Client Secret Trusted IPs: The IPs or CIDR ranges that the **Client Secret** can be used from together with the **Client ID** to get back an access token. By default, **Client Secrets** are given the `0.0.0.0/0`, allowing usage from any network address. - Access Token Trusted IPs: The IPs or CIDR ranges that access tokens can be used from. By default, each token is given the `0.0.0.0/0`, allowing usage from any network address. diff --git a/docs/images/platform/identities/ua-reset-lockouts.png b/docs/images/platform/identities/ua-reset-lockouts.png new file mode 100644 index 0000000000000000000000000000000000000000..40993da1acf468881493bce6ed4eec757448ed91 GIT binary patch literal 192257 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 Q6on%q39d%PQjnFNMM=C5w zN4Euy?<12yxRS@N@Ecjv8UOeRVlBCq&tRHgma2=FNut6!@x-0qpH2Dj0Zu*ZJdha> zpPbnjRhpWMC6%?AG|C6%+rRyEZYXr0bL78pky%izjLo`X@w$bbD-6iPvNRWXKvH4v zK5Gtj?>jvooUu^xF*%uWA$~YEK)p9)MIJOfFK`tU;>}`43S0guAgY96ATCM<}jXQV`; zcURP=cdBg`gcWM>w8?Y7tZ{Tznw)1trlGzd;!#odg$hQieu36A_@rjTWZ!~tJ~1k- z!OdQB!#`x6(KHBGvpnPFVQimsa-+Kdg(+s=L6#!s=HyU@H0HStikAl6g^trw%ZK3> z!LE$0uoJK8u~}(mjrz$c$y8ylSytP!KILZ#(;<)4n?0H`d^iFaj4uDMPpMkPF$4Jk zsFqN_LEl1XC43OlYm@jRvlE*a4d)Xn<=VB5PB&!54Y5v%i_5Td{qcPAq;kKjb8wjE z{J=grkYJw9dy5P`Mk;jTJFm$V6{9FYXz}TbSKGjj&ZrQ>wbF8+b0^0;6uz1+)YdDe zyAVBTox*SMy9B`U>>YLKmQ5j^z5T77hsZRd(OhFHYX2k{5rIxO1vri(C_S!L{I!Hi?8OD?KQZaPzS_yy%xQIv=X3Ps%Z4XEG| z>U*E|KukAhiPV;na|sD7Y+PIcHQxaI*Dole18|31m_0sA}x%y!02_ z9M`Sj3Q`y+eAJ5k1&tv6GLn*gc?G^-;Ps2m9D6Ms-UI!M=KJ*WDNn0;21#T{o}%Qz zt9a{=wsJ8}pm(#Dvhq@O>+{*$EU8mLF*Yz2^403ECNXyhJU84!B?hRDt3s@X9~%c3 zx=qZtQgx@3q`>bm>Lfg4eyaNnqxEX_aWmn>(?S=mx{KDMdWgcwbm-{uO=1^^%y=g0 zr0aRimyHO77Zd`hg99A>(h_`iCy)S%!)KZ>!C;}owWGR+t(`^^ELZ4FO;o&M58Dq! zwgU-;$*64+n`+7yyk}MjzG2K$uFl;f{{U-bxP}X^(T5d~BlzL}NL-!&P*g`Frl9ph zcOmE*xi7NBBq0ouL2ZSJ+S1u^e^ttnkC`1q8>D3gGkW`=d~mz6_?qYJcZS5hNM#yxFhWuA6&LEL&MWeq4Gr+mgI5aM2cd z3W>PjBdhfVc5^s)5|iMC9ue!bxGq8{NeTks~0(b8aFJcl%0 zo>fjV#%^?G&f&qm0L#@`1cG3mV2M%vM3(S1EF;NPKVKo6c~4A{r$tpwhB6;}&mK~~ zS_;zYZjr(GwA_YSB(j13*74_qKxo0p=c3$ayLI?u$??~nw7wQPI^4}Hz1;=APuC9L zr+WxXk|t40#9zs8m`EYx>utc1TFWJJ_x+gfXmmA=j>YQrf0B0~|1@ahVa$@Nt<{bP zSNxUjsA{2>5!OdI#{IXuyaA=&LQEBrx9+e~%OEfAdx8r!G+;;q$KN z5#ckYYxLy9O5{J$ui)9%hu)*2m@tjCB(o&%3uzM`Bz0ZVKWu=MxMYBFg&OtN3;m7F2gtZa0CU_km?LkhY(c#yn0omf9-cGEZ#prJ6 za=DrEo>OCwWm$pN(LDWmW+4uzf(TFWgN;bhJz7yc?$z05N^J2jNzMp{jW^Fjw4QnE zy}i9hR;I6=`!@a*o6W6{Yl5Z%&DK*Qt{n>ln?L@&*so0!2f-yw`ILxH_uY~yn4lRO z5fARwXh^=3I@y0VBlB4Q=+NJPUH%CU-61b={(GMjf)$EyDmIULB;&?T9SPN0AQa2U zT#P^My%gAzclpdl=+v4+>22wut)Z}-gYit66D8N1>kqF;g2{e%KE^&deC;Rl_&9s7 zoSexK!%SVN>=P$yoRorbR}WKK%lcB9f9z#ored#69w>&S!k7)P6fBZ+P zk9*B6Us~+is)RkOLCTG7TF*Pdc{bx?x#1Z;6Olrh5IBjx*KuQxyb5qrioV`D5^;U2 z@h?SK&xD7Xs?;=MuLUpatH~%*T9CzT5#iY0)kX^@ox3)jDt!3lvnW6<;=_~ZujB1- zdTiKH!YuK4-nJDzWto;%R%j$CSWz^<=E7BPgLTeBL-%~E-eLRd$g{baTJF2I%2myk zHrtTE`j1j&Ypl52>X()xxGR>@)z27h|+E+?6xQ3MPmaP>T_Bz>FK_4Q^r z6r)VSQF5MhF0r_A{d(s!Pbd^YA-2)Fe=6(dheqxx>!c&ba2q)`iynq&F4WHiiD_Q; ze$0wG#qzT(Sj;|$OcA}b5b|<`@t_mf44Mcbgv|}f0i)W1H&<@R=~#>%CkIx&Exa7& zA*n%cMWbHk09EzEXEUuxX~CE9N`{R-!I%>`^a{2Cw72YXt=Zib&F|K4M;Eiq}!Np z4iWK&0&`|c4E%O-mO=#GjU}UhY(ML(_!^2478@m&O*D9V4gGknx;Ind;3L=>Mrfhq zvw|M}DwJPiv;Aaus*LT0>5V%oW3lKzgkdDsz1+QMeIi zZOFU5=q{{Bt+=T6^Q6MxLXs!L{z1SsHTKZe^-6;L*y|sd*{>z0B;d@!2E{%R z=6*4{aqu-;RrT(4jtY4TsGt0z_2L;g`Uvlv55)|wFYJuhd(~6UADVoF1$h@nEJh$~ zBi(;cc7NlCwB)h}Qwy4hTDG>Dj%kMEoTpr63chj0%JRW4WG5VTqw%0$*sQEZ>0Xg* z7ueDxsMkNYwynd}`5&}kV!6K;abq7}lJ>ghUBc8|Sz1IVWN)*I@jHDJ`^@9YF`gt0 z(yo+XR>LtC+>e(z5X7*|sV6;9hLtqf`=B4gn~7c_?%jN`u7DFwv9ne&#-T5~M4mbv z|Mv52uHY(F-lAU)A4Gx+s?Q=_-r6gl?~aY&8J|}8L+QpmlmrGYcpu?!VO2K$7?nP0 znw;WLLRMZkVwb>`Fo0qs2X08J-4qm$l8VhJoX69Ue`V10#F&=ur@sFvM;qKzA5y~| zQ-7#Y!vqh4)bw88c{p(aD`8nP?$G|v<*w-D!i24zn3v6;EFSm~i(v=!B}htSx$cm> z6Trn=KrkDOph9nS24a3z3>89tHK!{DMU5;17MiFp`9He07qk5089k{PjN!T! zB(^xxlN674`z{f5p1Mc~Nlfbz#h7^|lQdY(a9bB;<0YOxjG(Rxk>tIiT9fsPr~y{^!HW!dw3#b7m>Lb{y6l3D=|;* z#nX%LHVK;`V@RZv8`V5KSEI*9GC50jS+Cn5A;k$L;d}k5#;E)WJ*kY_0~I+6NrXwR zq6>DSH-Qj_a8Y&1{kOb))%&o(7q2Bcm&raTukv_Cs5M-9fdMS|*!LfCEWY}7av(0ea&g|AmCoXpC&H%?D#G9`p|LWSXUi1Vf8!2G6nPrY2= z=7pl1yIPEy(C$ojQOe2ZY^dBYqu5E~m$Jgh%2&;S8h*#F|00$jN zIG7ukb^I3K#78Y&nY0h(J>}2xF~PovP1C(h^x!x<-Qr`t$Z64`+o8gTckxC&=`}{3 zp9xng=SNO?$z<;h_3OLkMl;06b_peK379Z=n_HbZoHL5>%nQ)HzWzWsFH2cTWv_kh zs*Mk;`!X#!pf7g7baj)F%9zPZ<2Nmz=KiI4y05v+1*@B80y{xvlblWQ=OhK;)F}~k`yw#X%B;p&b;mghFu%P@7o+6X_SmcNqoR?Z zkZ6$d-pmq^r!xd=z&rG?3QqAZp~q-8Bn-Sb8f;n8o6)3s*y+C~)<(qdn3JvQp6v^h zzBLua9f|z@I*TFDmMpXDA;Qv7hE%&H5>-+^<3l}kT_zkt@9P*A?R9*Ajvaz5S=p-U zo}yaw@@&+4rsmk)lJO~ox*y8f{O{A4R*KD0NXjQZJRY{VC@3x-lq*&myqNT*bGiwC z{3JCsb>ppgiXNL+-;!`=h(yGax-UV*(F%QBS9H-S?o>UW``k&@5cTkn6qW$5Hm)G( zqsZ&4l$Tk;DY}Sf{=Spr1v7@_uLC#pMIXx3_>(BlvXbWCBQxF-jy}0MLB@u$f9tVL z`k%xyBQ=OI(Oc&N24+BAs)gP|{J1+~z2H)=i`|H{aze)1bL4Tr6YOhh6mTB>tQFb3 zUf^Sac3r<&X#*G=!b6LDoy@rB@qn4_{@ww?Wlem2ol1v*2|L)~a|g`HG$zkx-z8Fq z(I+;(80#xAf`d-IK%;6N_p{x#`b22YM_(3*zeeiN03JU{l;|8~^Bbf_hwmR$I42Z4 zD0CK=PwE8@SkS>yZy=w@t;Cz|#!7tMj7LCFH#1vqRwnJMRcD<{2nzXSB-qxb z{b2ryu;xS@+-hx!?n&m4Hf+Z3ZUQ^bsh}rJx>KDqDYTUD4C*eHIx&$D^h%1e$V%%= zgFve}mvUiUKlT!(1f{+kXt1gzoJXY(!bGsg-dsvz(I$fNr<&^8GVM*T)lDF@si0gh z!h@!TI=r#tWF7OR2pxw$8V`lD1bA-pEy5n=1*z?`orM9Xw@Va3w9bm4HgwgvPU%hplp>Bzm-EcB0bc(*rnlFtw zm#~`7v2qq=TX_;V&7z{aAHtE%hg=Iw4?Y;uP^3ay3fWOmIr8S{Lt=RcQzP(1o8y0K z>g8mlqq(E}JWkfo)GY^AFR_LRhA-l8z0>p-Ta123!Sw4SrT-+EqgSy&)|*9GE5CRP zY1KfiGwg%$bh#O~&@To0B6baNd_26`4N6mlt)p7i`tat1RL9dX>(eNY4=AeSY0eGAr75t#VZ$*a z#P1X}&0{;Z`C{W#%gY%^~Sr=gmpnP4~* zFkLt@X!LaBe2u#!%G$JuT8LFjp%da;Q02#3oyhGW`K+Oyq2p+U+vdiT@srL(0h>v08JUkh&J8Jn z9K(EK?#T5IGZ}ifJut(tsJI*rQIb@Xcs@Eyrm&dlY=}_0x(#AHi&;rX6tGEYSf}IL zAc-ssZfs9o05hjZ;(YLCqyuUNvlr8r20(i9=t~*j)YY%}5RWE?hfrTk!KkuAs~JI$ zR0-rwO~SJqT{IW@rlBs2*!o^50o-jRq;*>l<}W+$d92S3MR+~NzJGQA#OqDG-Q+s`XNRkIi3j)arOUTVOSlq?)Krloo zkicClna?2$@^w%bbA-1LutXBv-sacZQgSVEn0j616_H^wgt!GewpCK*BNHMJCsk2o zBV)Jfi_NqMCMjb(9#L=IUNube$6qWViZ}V4zD*P{jd5aMk}#7kw|bg)E*su+{3ht? z+N8A6aXfnajK%DQ4B3-HF|SIiuCLU4 zm8(8#A}F0!7hw$%J3fp96}J40r;N?cBVKfRq{H7(J9uWS%#KJQrZl2(Q?kC^WH3Q5 zrwJ1g#oIvLT3o0F`mIW~0ot|}3e%}gjt+gy*O(Z7;mGo=RzWrtWfZNUmbAhmFXIau zvGl{UJ%Qe(Pn>VCI3y8btTH*|I(;5aE9CABb&{1grnzm6{;d0;cK#_xF23X0hzpOK ziTp;g@>xb9w1zkAJ9j$q!MNCjFkIBU>k9e+`>jy*wD)MUhvA{XCT%wDIuM;Fd`zn# zqFP9UA(Li}Z5oj{!+AEr+itKqBQmVsYd6Lx|0yqrryaY%?**TPY0H)vE@@JN|*^7SzOegsdX93our!}l)JZuLX%3kFCSd27YGT=f!7kK z#ylKO(|y&l-Q_6=Z_7&cNqc)GMQ(g{Z^q-e6b6QDvHKV8cJXi53RkK-*Y>JQm!3w? z4Y;ly3c`sOH*;YI{;(DqGkKIC{E}uLhy*8`a4^l=*%G2g+(Sk2lY^DZ?TidWb1ab# z4?vD{_McwA&G^`eKIZ7Xvs5&gn|jYv!4Zq`3`kW3H6j~d?Z<4Dy@3938XG_qcT@EZ z55E`s#?vc_-d2KagjA;XdqNNsOJR*2b>jyhMTok6I~e|;%L@0;(H&;Uiczx z)8FTPwP}gYYFo_bupS^)HLm#F37QjmrkB1qh!wbLB2h2`p7uXKX^mKq`Rp@i+)=i$ zS~O(F2*{=!lTIAUwk(g;%&GlyagF1<)3{UY_Hlsg3B?jEr%S;62s$hjrTBW`;I2Ha zCyOc3!h(ZD;ea9j`O}3XN~X@X$|m^=j#&U@aG);?@+%`J72!$m_yD9ogYNz#6iVNE zwO{Iio<)%uk2Z?~({h!|hG+^u$Y;NY)Y>fQWb>&f^WWQNx?93Oe+*yT`;jqNgnIog zg!`b$u_Iy0T)iO>g4Lz?m!F($1fnV+&z~f$ZQR|% zN*kIc6Wu|_Q}qLMLPYZU+;|S3ssWJXw=4P2Uz+1O0N!TDtJUZ^MIzwbdp82$i)@*3 zpPZ6XBG26XgNE( zlCBbQqJLeDyTuW`LLl0oshUXQbLh|(AIXwW&QWs-Bo*s^51L|$^XB-SZ?5?qHV4JZ zJSME^yWhsHfphcU7dS%H6D~9y%$PWwC^eED0i>sFFwU@`H$@2j;V^M?t<%o7)KH3$ z!?@*4WnX-_510#SG`(8kl3iwnutf}@b_@=uZBF|1YME#{j93nnfw=PppM~q?F8V$| zLs=o?ri!=)(>xQ9&>6q%Rez^OQ!P}}Ydmi_XlLd#?p1R*7jj8lwr)py&!3)RC+xgG zYc}r*L5G0Zl5GVCx~@IURdF*mw{g_H8|&-*Ap^+*CV&ZPcGq7Axw0s_%xg$K24iUOJ3~%?COoyAA|2 zLNrs+{x<4u?)z76Cy?zkyxs=-zbr3j2Z3l(p`L0xPbexq{W*NegUTMM)|AS00*Q8@ zx5f`)(XO=wGl(`HRQAh36&G&&lZIA6+MS>Oczt6d@opYcm?^=5FBz=sR(G(Y_t%^DOp}28R&ze@(Rah^=C6dYae>PC z43m%@H~L$p?N2y|1utC;Z5A|*a#KBTSmHt)i#FBsrrz_11)Cy(Pzzb~$8>)oO{oIS}QRVFeFz<7Bt&$gjy?W)JhuLz4*)J zM9_jtkDDS5Opp~*A@bfQ*Ebk{X#xCYe!f_yBisXobJgCVy}9Mzq`ywrxuoLh@bLLy z8R=n7wMDdurkfh+RALA?Z5!U`x4)5iO;^h5c_jO`xsJYEZNVG%JobCpA|y|EX}yM#`|vZgldcyQ<>&Wa?|qN$)wF3a zi|Bv1Jf@l$K6{2eGMQzI<>7H=38^T8#mcz{h6`UQb6n--&AJivr}8viud(*+PT9l* zu3|#C=W51!ATbkIcERX^nvZ@CI|2D z?A7jHw2`L3;6sXhU=~CC=J^JC--H^Q+$x*Q$6i9p=Q{UhsuBTbD1N}_29gyzr&`h) zgb`23k<~*J^!HKZlyna!c;#k~Ix>Lsh$QMSpB8|f(;Yk&(86@=UuhA0u%8%x-h9~^ zX>=4`Gn-aYCa4)Og*oq@S95z)RNGnKu^!a`=~t{7VYdfBQ^M`d!L2hjYwIv3n58LR z7>u^$(Crj$g!dHPj^*Yi+{b;}6FRf-sSCEfS`J$wPYzapdfkH7#1RfV$!6brI23RI z#8#Xny8+om4g0Jz4r2~W<@nmh$0C6zTtYE6R+n>P+MvmHsoum(Qc`kVlK2~A`VJwn zlNY3q<6)Tk3=jqB4Zl6VomH2{Am<**URYJwi3C$HM?Pvft*a}YktHg-048W{FrFub zWJr*nK8k=~`COhyK75vPBuNA>1FD^CygJ$|7Ta zrZNH@p_G05)ois=Lm9_uo-+`Gc&wjn&&_azexwu+s)n5H&RdP=qbh#7j!wO93)D~z z(3#N~G3mA4=?U^pH z<3|GT!RjZKB}E2!VbX&GAr0KTL4QSlY38WaEtVhvO43S>?9=8p8Ax%GqHNKx2STHj zV;=CzTC;POa~iq+q{kaP;MuaE2;kEkRb*{u97H`l!9t1^kNwXv)d8#%Jxw~I* z!6BTm4%V<+TidaABJct6PC?MbI|nCj}{Dft2*M2k;QqrENCA(aV#6}eIA zuwiPg`^9XWlOaOqyTXCRo3cT0nrHg8Ez|irEG<)=JBHNz!wt-!Y2_Po10Iz zJr+U~df-UEe{`$mV0=p5O2-|vCB6V{)E+oDiZQ8n8=-R{BGvM`XeD>fhEe|ta_=N{ zaW$?oof_sy-faU1fe(6r&7?S{m#Wm9p0_vW@@dN@+WxgGb)AdH2*2Yd7PhETHUKA5 za=TC(Hcxi--O9`O8x+;zg^?V!Vm~MIdbco-m#Vm5&*Iqz{B6?;fEltOBtM;QsHhlT7v4cT-e` z>WV-=i_O1j0tC<=k)AG_+I}g^M%bApeJrc}hr*6U`us(Cy=X*a zLhfxGnjzO3nUa)_ys@9P>#^`YoXR5f$M>}_6+WkOm?Na5zIa7B4m1}C*Zxl1C}e?u z53%|#A;K!l>P&|JSKtXSYJ1BC%}pOho+`8NFs?u>kF#Aq#t!%PpJ_tkChvgzDtn4f z#81k|WjXn4eX;)CC!lcUf;84s>2?$mJRX*>vo&0Xja_HTG>UT+SwLb}ZKSrffW3BT<+;-qhC^FOT8r=i?FiT(k!D z<&Nd`?pDp)4w=?B!D`d1}nF%%W#pZwA*!eW552L2Iq>k40pxg1?WHhNX_ACnl$ z+b2|)^{`52yq$}`Pwjo5fS@XltW(gF_eBTGj~$SHkyL#WSqt=;u@+lEq59VD*jCWH z@}H%t1GR_{p;QpM#@k~2wJ`Tk-yr#Q@KZgT!h22=-TyPHAewot@#eHB@h++easaUM zW%%tyrobM#U)+@gV=Z0jfcIIM!k3+9KmVlkU}xB1kTn;$CUQX)(8=cw8R;bB$dC#R z>#bVeji3}y7Eu%v@Oz=P`n_+!W`k+EZX%JtSyx9_Fm6sjde zl$_n+h>)xMMx|XagFhV)4TF?_l|{sHvsfT3GKL#n{FOv$c0{u2FfRkvPXA<5Qgtvw zQE?&8;0tNvSVgehX^cczV3(zrdFFw%ys9?nBrV#!6c`F9YO# z;GSit!!!no;HCnZpldT}XRt_xpUJm`L8Suea98R8CmI`X9nRDDxnvxq>wBag-KRMxq5Z!Mwb>%X7uqr5GvB?Ku~pX&Lgx{$5)IrEHB= z^lnAQ#EacqsLy)d`EB-8xm||XD9ai0rH{+rwAsxebRlu4FmZSFeV;PiDyW2Jx^EWS zEO@WqdLQHPl;R@#oRxL<0(s--JMVrjwGN@EI_hU3_7#5;4?>49@w-wmbdbGTdBW*= z@inDX3XP_BUTT}yufxgnHqYpM2z!E{F(+N!D%w>dqp*V1Ri%>hb-82+S-&|zzKC5;0b!ow z02_R|ffVIrcPrifJ1TDCnv+*IWBEygQ!o+rW25DOFPL{0q z@hmuI`%4v)2+t;?E2(cp3Ylh@^z^XSLfP#{UqF^ae4KiaL$$n4$5N(fX=zioV8~~Q z%gg)y_45tx9x;gWcLN?r{HCFmD;$4UX+)i|?}&Gps+@p1SzF}B`9CM=D^-+Naq_lV z9iIse$gcbShhD$^0$b;4T9U|+G6@VvClj1>Jix}*aM_>Kdz-I@tux8;bXRSYMZ|l# z8kjt#c;MrFOy|)o3|BC-I_ap`$GQn-uumm1wm*fFVgL>!LC7_vi7VI{&*L)n_F4Fp zXJyx90+)s0^KE478rpBq1WX6<_H$)rW#{Y&ry4A(w%%&(%7u{-?md=|fd=u+^NuBd z27zc%>Apb*W&$=JSu)j%OzxeJCA<5J>}^A zdpN~_9iY)C*ke<(rrRq&l3fQ0nqc4+q3F+H1cLWvwnXk}%!^eR>I#*MEp zj*Nku_JiKjBixW>da>yRtC+A1GFPHYtw@d+x=22F@ilJAs%mb%-+!>qGS^Wd3)vsohs|OUS&ntu+_`(IoRb&cw!T5&*tggB@lm}Jr0(F zU37}kjl6yf!JNcfXnmd4kfLAlwye%Jm1G-Om}2Qfle+8r$q?lo_Dv)BdIPGpo;~ z@W}Lj_9Ssp6HCT_^5{{!zwXNw9yXWM|JmTu0I<8hI3MZun=bntvh1Si_J_e#*8WdH z12rREVS=z8UH4Dk`||^dAhqA2lm7njuC?uQh5XiVuwG~P@S8Z>P%+dBftmmOQO|&l z30c*$3BWFlVz$)OOubKgIgD3xl=kb_4w%m!8P-{fshe*4Y~=LxA_XkK+(0DKknaYY z6uZIO2oHZe@V;roNrCxeU1f{FrpSB>>rgpK1sv8t3ougy(O51AtJOj^$U1Yc?#;34 zNS%vKyb;#Z5QEKmp(qwOw6p0i=wjH_YG<1n;rdu5Na(#dih^blnhFmiJ9tH^yjH2% zdt` zs|?ibHG+Vb*;o=q?7TF9LHHQ*yL=Mf4ncyxX`lM7(Dc4e)zF z=x*YDl0i-^ky&e;@sifacYhbHhw{t3H&nW>E1G_8nf*A_#aSgp3oaZ{%xz=2B9>;GkU{SkVj=em|`*0heRAZh}!M8<>Fbxgw zOs+TTyLVG}Vt=35nH-VEeI^`P?H zhoq~``C=MJk0K;7?8cV_f~R*rlblO@HBtml@jJLUZ^-o)?Ot+^iM+vr&>YNeEtI(J znJnp4T?go#hLoc#3SNyy_y?DNVubk_;c=reSXW_is-JwSmC{u_&rbW%V_RG!l(sKp zSIuF`sM=zAL!ljk%uz)dW5z=O{iUSzlut0$@8voN1drmbSO4SYUVMB8YBz8n8*TIW zG|jCm7}Oh|emX?sh@cf|_kl-)VGvE7biiXo4f`?~1CAeNNps8kQzaUBaL-^?K|(Fv>3q?_2iIjotsGLj_@wQ_&CQXJJ5{JH!nyl?g_OG12fcr#a*V($ zjF~2IYMa@F7wFRE@SPbR>UoaKA6{-z6lm5U~7JmX=}uGnjuzV1Iwe`T#0oSG%90|JfA( z^PwD9jp^!IY|?@Qap0;3?nJN5T){rg(}`s`Kt5LY1K(?Cpez`I#g{kjJ@aS5Efd zCa5lomv~&CTlZ)E_`kJA*|7e5mjBPsBw(&SK}7v;Z*+PhnDj*yBMZp??LHB}8~w`r^?w_%Tnex> z6dXm0(;e&Gf?*aMG5C3GgV|sx8L_0}<$pe`7wF(|nIb&B-^Ha@j*lXLTU)_tx?l(h3Y$_kSyu?E zPCqTj^YscUIUF~3l`3?5KUePTyf0Fz;b;#)vC%i1Z(cO50hW^#9y=B{=W~0s?UB`X zfRSh4w`Cy*z-;C^Zf^6@bA?6&sbsEgsp*X<+k!)cduxIca!!AG(l^cq5jtZOx7v4idp( z_nS(S`gHX2FWV*2hxjp(&D@kBHZBPk3D=S9>ejvq{jMFPjtDh=g0|KAfa<#i%y0DLKK^XziIs}7Y;TuBXlaTS@f>*WnlTN^$XW_=9(${MwW8kZFV_se2=mBJ^ zreW|1Jr>S92jsvQ+TltNd$M^xuh;A`Q=rJ`V>XcF*9|6z642Gh}8F8h6(O0_Vl6;myBRq^wT;bENlBDsj6`~nnX_KK^xzLLieu~dy z8?RJvYs5i_8}afTRA4L)ubP5BXrN$@I!|@HurRY3`Q;(&2E<LWQWH7to%y%30 z)p4ojGvyP|D`n$HZ#@PRX?NQnITT%5u*|(nRuXCLMdC_+BO=hc(ov$(A`rx0DyE0& z2q~(8Qkf>W-1IpJq4=oztgx`S3*lI}!e~#~RTG{GsQc=T>>@RIE*ihsI zy?)HgD%>|uCeojM94!aOL7Ve}fWc7_a<8jb=?Qxm2!qR*;Be9z6g-jllSlhUenBw{ zimai(dJgIrUi|k$X*ME#V_-=x4*`{&U7j?)=itFIdVwPBY^4eBfGPe<+9G%i?)fD+ z;?X}>ZsXKPR-AEJwOHaXnp0YQc7={~oQEr_}8 z8}4V$L25n`$W3^gq5~%3U;n`GjGMc;;hRr#(lKyZsdl@r_I2WIpHfje!Jr;*s-3AU zcajGU_XZQja|W&OsXdpb`sp%l!5Aulfcvqz-4DZ44O+=WHfF#ksk|(iO8~^NPq>?A z3G4dzcehg3?ltAlAGq<)xGd9I;ZwrDnhFbhwFW@BVu9A}pyDV%SlNg{9p2;qG~@dEY|q3pY~7j9s00EH zk2ce@Z1(P(masX%dDYLIEVp9(v@%<5?sj@dQIkKxNJqzFO>|hut=&0jb~ZQJy|HWA zDQKN+ZGN=d%9^DkEGqicWBl!4e~4c(o&`bF0>87!0lO*w`8nuCwOdt2n@x`F7Pjr$ zyH)%8xLi1^( zV=aisF>i19T%>#GClDYrI-`JOdbyZBoytw4Zuq1|7bL{I;%-B$d${%Br7P+M{(+qB z$H@{6LCAEamBM3Umcn)F%e{x9rc#4_kw^59ZTU3S+2cD5o?+~E3qtpHt(>Bg`@8Fd zelmynaE*P1YVzEOy;q06%Z^8Du#lYggSj13*|?%0D}r-STPyP5>zQ?Rfr#!`9ALQj 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�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 ZYU2DZU^TKv@)Y

    3RSc})#_}MqB*tNQ6X2{FE+w~_>5ZI7! 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≶`Rzh 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 $>arb~WMb7wv=0G`BFuw-OG_wc$M35h4>db{Q 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

    @@ -30,54 +23,18 @@ export const AppConnectionsPage = withPermission(
    - App Connections - -
    - - Docs - -
    -
    - - {(isAllowed) => ( - - )} - -
    - } - description="Create and configure connections with third-party apps for re-use across Infisical projects" + title="App Connections" + description="Manage organization App Connections" /> -
    - - handlePopUpToggle("addConnection", isOpen)} - /> +
    +
    + + + App connections can also be created and managed independently in projects now. + +
    +

    z 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

    gk$v{zX48fy<#XeQ$l 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

  • HoEDmf>Xrj3Xs-ZCvu-z4Ee{cShw2RzS6 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%0AyW2iCGfA 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 z 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