mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-09 23:49:27 +08:00
* refactor: unavailableActions to sql collection and view collection * fix: unavailableActions
38 lines
1.0 KiB
TypeScript
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;
|
|
}
|
|
}
|