tachybase_todo/packages/plugins/@nocobase/plugin-api-keys/src/collections/api-keys.ts
jack zhang 35b06cbfa0
refactor: plugin settings manager (#2712)
* 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>
2023-11-13 11:01:18 +08:00

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;