增加了user变成root的触发器
This commit is contained in:
parent
ac7797ecce
commit
8191cdf5b3
|
|
@ -72,7 +72,7 @@ async function loginWechatMp({ code, env }, context) {
|
|||
entityId: wechatUser2.id,
|
||||
},
|
||||
}, context);
|
||||
if (token && (0, lodash_1.eq)(token.env, env)) {
|
||||
if (token && (0, lodash_1.isEqual)(token.env, env)) {
|
||||
await rowStore.operate('token', {
|
||||
action: 'update',
|
||||
data: {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
declare const _default: {
|
||||
userRole: import("oak-app-domain/UserRole/Schema").CreateOperationData[];
|
||||
user: import("oak-app-domain/User/Schema").CreateOperationData[];
|
||||
role: import("oak-app-domain/Role/Schema").CreateOperationData[];
|
||||
area: ({
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
const userRole_1 = require("./userRole");
|
||||
const area_1 = require("./area");
|
||||
exports.default = {
|
||||
userRole: userRole_1.userRoles,
|
||||
user: userRole_1.users,
|
||||
role: userRole_1.roles,
|
||||
area: area_1.area,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
import { CreateOperationData as UserCreate } from 'oak-app-domain/User/Schema';
|
||||
import { CreateOperationData as RoleCreate } from 'oak-app-domain/Role/Schema';
|
||||
import { CreateOperationData as UserRoleCreate } from 'oak-app-domain/UserRole/Schema';
|
||||
export declare const users: Array<UserCreate>;
|
||||
export declare const roles: Array<RoleCreate>;
|
||||
export declare const userRoles: Array<UserRoleCreate>;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.userRoles = exports.roles = exports.users = void 0;
|
||||
exports.roles = exports.users = void 0;
|
||||
const constants_1 = require("../constants");
|
||||
exports.users = [
|
||||
{
|
||||
|
|
@ -15,11 +15,12 @@ exports.roles = [
|
|||
id: constants_1.ROOT_ROLE_ID,
|
||||
}
|
||||
];
|
||||
exports.userRoles = [
|
||||
// 由触发器默认创建
|
||||
/* export const userRoles: Array<UserRoleCreate> = [
|
||||
{
|
||||
userId: constants_1.ROOT_USER_ID,
|
||||
roleId: constants_1.ROOT_ROLE_ID,
|
||||
userId: ROOT_USER_ID,
|
||||
roleId: ROOT_ROLE_ID,
|
||||
relation: 'owner',
|
||||
id: 'root_user_role',
|
||||
}
|
||||
];
|
||||
]; */
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { EntityDict as BaseEntityDict } from 'oak-app-domain/EntityDict';
|
||||
import { Trigger } from 'oak-domain/lib/types';
|
||||
declare const _default: Trigger<BaseEntityDict, "address", import("..").GeneralRuntimeContext<BaseEntityDict>>[];
|
||||
declare const _default: (Trigger<BaseEntityDict, "address", import("..").GeneralRuntimeContext<BaseEntityDict>> | Trigger<BaseEntityDict, "user", import("..").GeneralRuntimeContext<BaseEntityDict>>)[];
|
||||
export default _default;
|
||||
|
|
|
|||
|
|
@ -4,4 +4,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const address_1 = __importDefault(require("./address"));
|
||||
exports.default = [...address_1.default];
|
||||
const user_1 = __importDefault(require("./user"));
|
||||
exports.default = [...address_1.default, ...user_1.default];
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
import { Trigger } from 'oak-domain/lib/types/Trigger';
|
||||
import { EntityDict } from 'oak-app-domain/EntityDict';
|
||||
import { GeneralRuntimeContext } from '../RuntimeContext';
|
||||
declare const triggers: Trigger<EntityDict, 'user', GeneralRuntimeContext<EntityDict>>[];
|
||||
export default triggers;
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const constants_1 = require("../constants");
|
||||
let NO_ANY_USER = true;
|
||||
const triggers = [
|
||||
{
|
||||
name: '系统生成的第一个用户默认注册为root',
|
||||
entity: 'user',
|
||||
action: 'create',
|
||||
when: 'before',
|
||||
fn: async ({ operation }, context) => {
|
||||
if (NO_ANY_USER) {
|
||||
const { rowStore } = context;
|
||||
const { result } = await rowStore.select('user', {
|
||||
data: {
|
||||
id: 1,
|
||||
},
|
||||
filter: {
|
||||
id: {
|
||||
$ne: constants_1.ROOT_USER_ID,
|
||||
},
|
||||
},
|
||||
indexFrom: 0,
|
||||
count: 1,
|
||||
}, context);
|
||||
if (result.length === 0) {
|
||||
const { data } = operation;
|
||||
const userData = data instanceof Array ? data[0] : data;
|
||||
const userRoleData = {
|
||||
id: await generateNewId(),
|
||||
userId: userData.id,
|
||||
roleId: constants_1.ROOT_ROLE_ID,
|
||||
relation: 'owner',
|
||||
};
|
||||
Object.assign(userData, {
|
||||
userRole$user: [
|
||||
{
|
||||
action: 'create',
|
||||
data: userRoleData,
|
||||
}
|
||||
]
|
||||
});
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
NO_ANY_USER = false;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
];
|
||||
exports.default = triggers;
|
||||
|
|
@ -1,8 +1,7 @@
|
|||
import { userRoles, users, roles } from './userRole';
|
||||
import { users, roles } from './userRole';
|
||||
import { area } from './area';
|
||||
|
||||
export default {
|
||||
userRole: userRoles,
|
||||
user: users,
|
||||
role: roles,
|
||||
area,
|
||||
|
|
|
|||
|
|
@ -17,11 +17,12 @@ export const roles: Array<RoleCreate> = [
|
|||
}
|
||||
];
|
||||
|
||||
export const userRoles: Array<UserRoleCreate> = [
|
||||
// 由触发器默认创建
|
||||
/* export const userRoles: Array<UserRoleCreate> = [
|
||||
{
|
||||
userId: ROOT_USER_ID,
|
||||
roleId: ROOT_ROLE_ID,
|
||||
relation: 'owner',
|
||||
id: 'root_user_role',
|
||||
}
|
||||
];
|
||||
]; */
|
||||
|
|
|
|||
|
|
@ -2,5 +2,6 @@ import { EntityDict } from 'oak-domain/lib/types/Entity';
|
|||
import { EntityDict as BaseEntityDict } from 'oak-app-domain/EntityDict';
|
||||
import { Trigger } from 'oak-domain/lib/types';
|
||||
import addressTriggers from './address';
|
||||
import userTriggers from './user';
|
||||
|
||||
export default [...addressTriggers];
|
||||
export default [...addressTriggers, ...userTriggers];
|
||||
|
|
|
|||
|
|
@ -0,0 +1,59 @@
|
|||
import { CreateTriggerInTxn, Trigger } from 'oak-domain/lib/types/Trigger';
|
||||
import { EntityDict } from 'oak-app-domain/EntityDict';
|
||||
import { GeneralRuntimeContext } from '../RuntimeContext';
|
||||
import { CreateOperationData as UserRole } from 'oak-app-domain/UserRole/Schema';
|
||||
import assert from 'assert';
|
||||
import { ROOT_ROLE_ID, ROOT_USER_ID } from '../constants';
|
||||
import { DeduceCreateOperationData } from 'oak-domain/lib/types';
|
||||
|
||||
let NO_ANY_USER = true;
|
||||
const triggers: Trigger<EntityDict, 'user', GeneralRuntimeContext<EntityDict>>[] = [
|
||||
{
|
||||
name: '系统生成的第一个用户默认注册为root',
|
||||
entity: 'user',
|
||||
action: 'create',
|
||||
when: 'before',
|
||||
fn: async ({ operation }, context) => {
|
||||
if (NO_ANY_USER) {
|
||||
const { rowStore } = context;
|
||||
const { result } = await rowStore.select('user', {
|
||||
data: {
|
||||
id: 1,
|
||||
},
|
||||
filter: {
|
||||
id: {
|
||||
$ne: ROOT_USER_ID,
|
||||
},
|
||||
},
|
||||
indexFrom: 0,
|
||||
count: 1,
|
||||
}, context);
|
||||
if (result.length === 0) {
|
||||
const { data } = operation;
|
||||
const userData = data instanceof Array ? data[0] : data;
|
||||
const userRoleData: UserRole = {
|
||||
id: await generateNewId(),
|
||||
userId: userData.id,
|
||||
roleId: ROOT_ROLE_ID,
|
||||
relation: 'owner',
|
||||
};
|
||||
Object.assign(userData, {
|
||||
userRole$user: [
|
||||
{
|
||||
action: 'create',
|
||||
data: userRoleData,
|
||||
}
|
||||
]
|
||||
});
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
NO_ANY_USER = false;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
export default triggers;
|
||||
Loading…
Reference in New Issue