* feat: add settingsCenter * fix: style bug * chore: optimized code * refactor: settingCenter Auth * feat: add aclSnippet option * refactor: all plugin's setting center api * feat: add plugin with name * docs: add settings-center doc * fix: settings center menu sort by name * fix: change setting center layout * fix: change hello sort * test: add SettingsCenter.ts test case * fix: bug * fix: acl bug * fix: bug * fix: bug and 404 page * fix: test bug * fix: test bug * fix: bug * fix: locale * fix: styling * fix: rename settingsCenter to pluginSettingsManager * fix: styling * fix: e2e bug * fix: e2e bug * fix: locale * feat: update docs * fix: update --------- Co-authored-by: chenos <chenlinxh@gmail.com>
96 lines
2.1 KiB
TypeScript
96 lines
2.1 KiB
TypeScript
import type { CollectionOptions } from '@nocobase/database';
|
|
import { generateNTemplate } from '../locale';
|
|
|
|
export default {
|
|
namespace: 'api-keys',
|
|
duplicator: 'optional',
|
|
name: 'apiKeys',
|
|
title: '{{t("API keys", {"ns": "api-keys"})}}',
|
|
sortable: 'sort',
|
|
model: 'ApiKeyModel',
|
|
createdBy: true,
|
|
updatedAt: false,
|
|
updatedBy: false,
|
|
logging: true,
|
|
fields: [
|
|
{
|
|
name: 'id',
|
|
type: 'bigInt',
|
|
autoIncrement: true,
|
|
primaryKey: true,
|
|
allowNull: false,
|
|
interface: 'id',
|
|
},
|
|
{
|
|
type: 'string',
|
|
name: 'name',
|
|
interface: 'input',
|
|
uiSchema: {
|
|
type: 'string',
|
|
title: '{{t("name")}}',
|
|
'x-component': 'Input',
|
|
},
|
|
},
|
|
{
|
|
interface: 'obo',
|
|
type: 'belongsTo',
|
|
name: 'role',
|
|
target: 'roles',
|
|
foreignKey: 'roleName',
|
|
uiSchema: {
|
|
type: 'object',
|
|
title: '{{t("Roles")}}',
|
|
'x-component': 'Select',
|
|
'x-component-props': {
|
|
fieldNames: {
|
|
label: 'title',
|
|
value: 'name',
|
|
},
|
|
objectValue: true,
|
|
options: '{{ currentRoles }}',
|
|
},
|
|
},
|
|
},
|
|
{
|
|
name: 'expiresIn',
|
|
type: 'string',
|
|
uiSchema: {
|
|
type: 'string',
|
|
title: generateNTemplate('Expires'),
|
|
'x-component': 'ExpiresSelect',
|
|
enum: [
|
|
{
|
|
label: generateNTemplate('1 Day'),
|
|
value: '1d',
|
|
},
|
|
{
|
|
label: generateNTemplate('7 Days'),
|
|
value: '7d',
|
|
},
|
|
{
|
|
label: generateNTemplate('30 Days'),
|
|
value: '30d',
|
|
},
|
|
{
|
|
label: generateNTemplate('90 Days'),
|
|
value: '90d',
|
|
},
|
|
{
|
|
label: generateNTemplate('Custom'),
|
|
value: 'custom',
|
|
},
|
|
{
|
|
label: generateNTemplate('Never'),
|
|
value: 'never',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
name: 'token',
|
|
type: 'string',
|
|
hidden: true,
|
|
},
|
|
],
|
|
} as CollectionOptions;
|