Skip to content

Commit

Permalink
Flav/unleash vaults (#8011)
Browse files Browse the repository at this point in the history
* Unleash vaults

* 🔙
  • Loading branch information
flvndvd authored Oct 11, 2024
1 parent 5ab08c5 commit baaf747
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 38 deletions.
5 changes: 0 additions & 5 deletions front/admin/init_dust_apps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,6 @@ async function main() {
planCode: "FREE_UPGRADED_PLAN",
});

await FeatureFlag.create({
workspaceId: w.id,
name: "private_data_vaults_feature",
});

const users = await User.findAll();
await Promise.all(
users.map(async (user) =>
Expand Down
9 changes: 2 additions & 7 deletions front/components/vaults/VaultLayout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,6 @@ export function VaultLayout({
disabled: plan.limits.vaults.maxVaults === 0 || !isAdmin,
});

const isPrivateVaultsEnabled = owner.flags.includes(
"private_data_vaults_feature"
);

const isLimitReached = isPrivateVaultsLimitReached(vaults, plan);
const isEnterprise = isEntreprisePlan(plan.code);

Expand All @@ -74,7 +70,6 @@ export function VaultLayout({
<VaultSideBarMenu
owner={owner}
isAdmin={isAdmin}
isPrivateVaultsEnabled={isPrivateVaultsEnabled}
setShowVaultCreationModal={setShowVaultCreationModal}
/>
}
Expand All @@ -87,7 +82,7 @@ export function VaultLayout({
parentId={parentId ?? undefined}
/>
{children}
{isAdmin && isPrivateVaultsEnabled && !isLimitReached && (
{isAdmin && !isLimitReached && (
<CreateOrEditVaultModal
isAdmin={isAdmin}
owner={owner}
Expand All @@ -98,7 +93,7 @@ export function VaultLayout({
}}
/>
)}
{isAdmin && isPrivateVaultsEnabled && isLimitReached && (
{isAdmin && isLimitReached && (
<Dialog
alertDialog
isOpen={isLimitReached && showVaultCreationModal}
Expand Down
11 changes: 3 additions & 8 deletions front/components/vaults/VaultSideBarMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,12 @@ import {
import { getVaultIcon, getVaultName, groupVaults } from "@app/lib/vaults";

interface VaultSideBarMenuProps {
isPrivateVaultsEnabled: boolean;
owner: LightWorkspaceType;
isAdmin: boolean;
setShowVaultCreationModal?: (show: boolean) => void;
}

export default function VaultSideBarMenu({
isPrivateVaultsEnabled,
owner,
isAdmin,
setShowVaultCreationModal,
Expand Down Expand Up @@ -99,12 +97,9 @@ export default function VaultSideBarMenu({
if (kind === "public" && !vaults.length) {
return null;
}
if (kind === "regular") {
if (!isPrivateVaultsEnabled) {
return null;
} else if (!vaults.length && !isAdmin) {
return null;
}

if (kind === "regular" && !vaults.length && !isAdmin) {
return null;
}

const sectionLabel = getSectionLabel(kind);
Expand Down
20 changes: 3 additions & 17 deletions front/lib/resources/vault_resource.ts
Original file line number Diff line number Diff line change
Expand Up @@ -289,10 +289,6 @@ export class VaultResource extends BaseResource<VaultModel> {
}

canWrite(auth: Authenticator) {
const isPrivateVaultsEnabled = auth
.getNonNullableWorkspace()
.flags.includes("private_data_vaults_feature");

switch (this.kind) {
case "system":
return auth.isAdmin() && auth.canWrite([this.acl()]);
Expand All @@ -301,7 +297,7 @@ export class VaultResource extends BaseResource<VaultModel> {
return auth.isBuilder() && auth.canWrite([this.acl()]);

case "regular":
return isPrivateVaultsEnabled ? auth.canWrite([this.acl()]) : false;
return auth.canWrite([this.acl()]);

case "public":
return auth.canWrite([this.acl()]);
Expand All @@ -315,17 +311,13 @@ export class VaultResource extends BaseResource<VaultModel> {
// the integrity of the permissions system. It acts as the gatekeeper,
// determining who has the right to read resources from a vault.
canRead(auth: Authenticator) {
const isPrivateVaultsEnabled = auth
.getNonNullableWorkspace()
.flags.includes("private_data_vaults_feature");

switch (this.kind) {
case "global":
case "system":
return auth.canRead([this.acl()]);

case "regular":
return isPrivateVaultsEnabled ? auth.canRead([this.acl()]) : false;
return auth.canRead([this.acl()]);

case "public":
return true;
Expand All @@ -336,10 +328,6 @@ export class VaultResource extends BaseResource<VaultModel> {
}

canList(auth: Authenticator) {
const isPrivateVaultsEnabled = auth
.getNonNullableWorkspace()
.flags.includes("private_data_vaults_feature");

const isWorkspaceAdmin =
auth.isAdmin() && auth.getNonNullableWorkspace().id === this.workspaceId;

Expand All @@ -352,9 +340,7 @@ export class VaultResource extends BaseResource<VaultModel> {
return true;

case "regular":
return isPrivateVaultsEnabled
? isWorkspaceAdmin || auth.canRead([this.acl()])
: false;
return isWorkspaceAdmin || auth.canRead([this.acl()]);

case "system":
return isWorkspaceAdmin;
Expand Down
1 change: 0 additions & 1 deletion types/src/shared/feature_flags.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ export const WHITELISTABLE_FEATURES = [
"labs_transcripts",
"labs_transcripts_datasource",
"document_tracker",
"private_data_vaults_feature",
"use_app_for_header_detection",
"openai_o1_feature",
"openai_o1_mini_feature",
Expand Down

0 comments on commit baaf747

Please sign in to comment.