nocobase/packages/core/database/src/view-collection.ts
Katherine e2e4c69941
refactor: unavailableActions to sql collection and view collection (#6765)
* refactor: unavailableActions to sql collection and view collection

* fix: unavailableActions
2025-04-24 20:09:42 +08:00

38 lines
1.0 KiB
TypeScript

/**
* This file is part of the NocoBase (R) project.
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
* Authors: NocoBase Team.
*
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
* For more information, please refer to: https://www.nocobase.com/agreement.
*/
import { Collection, CollectionContext, CollectionOptions } from './collection';
export class ViewCollection extends Collection {
constructor(options: CollectionOptions, context: CollectionContext) {
options.autoGenId = false;
options.timestamps = false;
super(options, context);
}
isView() {
return true;
}
unavailableActions(): Array<string> {
if (this.options.writableView) {
return [];
}
return ['create', 'update', 'destroy', 'importXlsx', 'destroyMany', 'updateMany'];
}
protected sequelizeModelOptions(): any {
const modelOptions = super.sequelizeModelOptions();
modelOptions.tableName = this.options.viewName || this.options.name;
return modelOptions;
}
}