UI - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: вкладка хранилища в модальных настройках
This commit is contained in:
@@ -49,6 +49,13 @@ export const WORKSPACE_SETTINGS: Record<TWorkspaceSettingsTabs, TWorkspaceSettin
|
||||
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/exports/`,
|
||||
},
|
||||
storage: {
|
||||
key: "storage",
|
||||
i18n_label: "workspace_settings.settings.storage.title",
|
||||
href: `/settings/storage`,
|
||||
access: [EUserWorkspaceRoles.ADMIN],
|
||||
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/storage/`,
|
||||
},
|
||||
webhooks: {
|
||||
key: "webhooks",
|
||||
i18n_label: "workspace_settings.settings.webhooks.title",
|
||||
@@ -75,6 +82,7 @@ export const GROUPED_WORKSPACE_SETTINGS: Record<WORKSPACE_SETTINGS_CATEGORY, TWo
|
||||
WORKSPACE_SETTINGS["members"],
|
||||
WORKSPACE_SETTINGS["billing-and-plans"],
|
||||
WORKSPACE_SETTINGS["export"],
|
||||
WORKSPACE_SETTINGS["storage"],
|
||||
],
|
||||
[WORKSPACE_SETTINGS_CATEGORY.FEATURES]: [WORKSPACE_SETTINGS["ai-voice-tasker"]],
|
||||
[WORKSPACE_SETTINGS_CATEGORY.DEVELOPER]: [WORKSPACE_SETTINGS["webhooks"]],
|
||||
|
||||
@@ -1730,6 +1730,9 @@ export default {
|
||||
},
|
||||
},
|
||||
},
|
||||
storage: {
|
||||
title: "Storage",
|
||||
},
|
||||
webhooks: {
|
||||
heading: "Webhooks",
|
||||
description: "Automate notifications to external services when project events occur.",
|
||||
|
||||
@@ -1892,6 +1892,9 @@ export default {
|
||||
},
|
||||
},
|
||||
},
|
||||
storage: {
|
||||
title: "Хранилище",
|
||||
},
|
||||
webhooks: {
|
||||
heading: "Вебхуки",
|
||||
description: "Автоматизируйте уведомления во внешние сервисы при событиях проекта.",
|
||||
|
||||
@@ -15,6 +15,7 @@ export type TWorkspaceSettingsTabs =
|
||||
| "members"
|
||||
| "billing-and-plans"
|
||||
| "export"
|
||||
| "storage"
|
||||
| "webhooks"
|
||||
| "ai-voice-tasker";
|
||||
export type TWorkspaceSettingsItem = {
|
||||
|
||||
@@ -240,6 +240,53 @@ export interface IWorkspaceAnalyticsResponse {
|
||||
completion_chart: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export interface IWorkspaceStorageProjectSummary {
|
||||
id: string;
|
||||
name: string;
|
||||
identifier: string;
|
||||
file_count: number;
|
||||
blob_count: number;
|
||||
logical_size: number;
|
||||
physical_size: number;
|
||||
dedup_savings: number;
|
||||
failed_upload_count: number;
|
||||
failed_upload_size: number;
|
||||
soft_deleted_count: number;
|
||||
soft_deleted_size: number;
|
||||
uploaded_without_blob_count: number;
|
||||
}
|
||||
|
||||
export interface IWorkspaceStorageSummaryResponse {
|
||||
workspace: {
|
||||
id: string;
|
||||
name: string;
|
||||
slug: string;
|
||||
upload_file_size_limit_enabled: boolean;
|
||||
upload_file_size_limit: number;
|
||||
};
|
||||
summary: {
|
||||
file_count: number;
|
||||
blob_count: number;
|
||||
logical_size: number;
|
||||
physical_size: number;
|
||||
dedup_savings: number;
|
||||
uploaded_without_blob_count: number;
|
||||
};
|
||||
diagnostics: {
|
||||
failed_upload_count: number;
|
||||
failed_upload_size: number;
|
||||
stale_unuploaded_count: number;
|
||||
stale_unuploaded_size: number;
|
||||
soft_deleted_count: number;
|
||||
soft_deleted_size: number;
|
||||
orphaned_blob_count: number;
|
||||
orphaned_blob_size: number;
|
||||
missing_blob_count: number;
|
||||
missing_blob_size: number;
|
||||
};
|
||||
projects: IWorkspaceStorageProjectSummary[];
|
||||
}
|
||||
|
||||
export type TWorkspacePaginationInfo = TPaginationInfo & {
|
||||
results: IWorkspace[];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user