tachybase_todo/packages/core/actions/src/index.ts
Dunqing 6cfd586175
feat(plugin-api-keys): support fetch api via api-keys (#2136)
* feat(plugin-api-keys): support fetch api via api-keys

* feat: full support

* fix: missing parseToken in auth

* feat: add created at column

* feat: configure snippet

* fix: remove unused code

* fix: revert

* chore: update deps

* feat: improve role

* fix: avoid create api key without not exist role

* feat: improve select roles

* refactor: when no X-Role is found, roles should not be randomly assigned

* feat: improve code

* feat: improve current role

* fix: revert

* fix: revert apilicent

* fix: revert auth

* feat: improve currentRole logic

* feat: use resourcer.use instead it

* refactor: remove api-keys-auth

* fix: type

* refactor: move jwt to authManager

* refactor: remove unused code

* refactor: remove protected

* Revert "refactor: remove unused code"

This reverts commit 8f81535ab7e9c412bdc4d4bc05abad64ff60ba3f.

* feat: remove unused code

* feat: improve code

* fix: test error

* test: update test

* test: add test cases

* docs: update

* chore: update X-Role

* fix: token's roleName not work

* docs: update usage

* fix: i18n Add APi key

* docs: update capital

* docs: update

* feat: clean

* Update package.json

* Update roles.ts

* fix: api key

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-30 11:20:35 +08:00

42 lines
769 B
TypeScript

import { Cache } from '@nocobase/cache';
import { Database } from '@nocobase/database';
import { Action } from '@nocobase/resourcer';
import Koa from 'koa';
import lodash from 'lodash';
import * as actions from './actions';
export * as utils from './utils';
export type Next = () => Promise<any>;
export interface Context extends Koa.Context {
db: Database;
cache: Cache;
action: Action;
body: any;
app: any;
[key: string]: any;
}
export function registerActions(api: any) {
api.actions(
lodash.pick(actions, [
'add',
'create',
'destroy',
'get',
'list',
'remove',
'set',
'toggle',
'update',
'move',
'firstOrCreate',
'updateOrCreate',
]),
);
}
export default actions;