fix: acl for version list

This commit is contained in:
mertmit
2026-01-27 11:47:16 +00:00
parent d7f7ad0ec0
commit 783c25d093
3 changed files with 11 additions and 8 deletions

View File

@@ -229,6 +229,8 @@ type NcProject = BaseType & {
managed_app_master?: boolean
managed_app_id?: string
managed_app_version_id?: string
managed_app_version?: string
managed_app_published_at?: string
auto_update?: boolean
managed_app_schema_locked?: boolean
}

View File

@@ -127,8 +127,9 @@ export const OPERATION_SCOPES = {
// Managed App Operations
managedAppStoreList: 'org',
managedAppList: 'workspace',
managedAppGet: 'org',
managedAppVersionsList: 'org',
managedAppList: 'workspace',
managedAppCreate: 'workspace',
managedAppUpdate: 'base',
managedAppDelete: 'base',
@@ -137,7 +138,6 @@ export const OPERATION_SCOPES = {
managedAppUnpublish: 'base',
managedAppInstall: 'workspace',
managedAppGetUpdates: 'base',
managedAppVersionsList: 'base',
managedAppInstallationsList: 'base',
managedAppDeployments: 'base',
managedAppVersionDeployments: 'base',

View File

@@ -59,6 +59,9 @@ export default class Base implements BaseType {
managed_app_id?: string; // Points to MANAGED_APPS (for both master and installed instances)
managed_app_version_id?: string; // Current version ID from MANAGED_APP_VERSIONS
auto_update?: boolean; // For installed instances: auto-update to new published versions
// managed app info (populated fields)
managed_app_version?: string; // Current version string
managed_app_published_at?: string; // When this version was published
managed_app_schema_locked?: boolean; // Computed: whether schema modifications are allowed
constructor(base: Partial<Base>) {
@@ -69,8 +72,8 @@ export default class Base implements BaseType {
return base && new Base(base);
}
public static async computeSchemaLocked(_base: Base): Promise<boolean> {
return false;
public static async populateManagedAppInfo(_base: Base): Promise<void> {
return;
}
public static async createProject(
@@ -289,9 +292,8 @@ export default class Base implements BaseType {
}
const base = this.castType(baseData);
// Compute managed_app_schema_locked
if (base && base.managed_app_id) {
base.managed_app_schema_locked = await this.computeSchemaLocked(base);
await this.populateManagedAppInfo(base);
}
return base;
@@ -370,9 +372,8 @@ export default class Base implements BaseType {
if (baseData) {
const base = this.castType(baseData);
// Compute managed_app_schema_locked
if (base.managed_app_id) {
base.managed_app_schema_locked = await this.computeSchemaLocked(base);
await this.populateManagedAppInfo(base);
}
await base.getSources(includeConfig, ncMeta);