修改token在有同system下wechatUser但无当前system下wechatUser的逻辑
This commit is contained in:
parent
8cda173e06
commit
46b9be2846
|
|
@ -178,10 +178,10 @@ function setUpTokenAndUser(env, context, entity, // 支持更多的登录渠道
|
|||
entityId, // 如果是现有对象传id,如果没有对象传createData
|
||||
createData, user) {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var currentToken, schema, userState, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, application, _l, originToken, tokenData, userState, _m, _o, _p, _q, _r, _s, _t, userData, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
|
||||
var _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19;
|
||||
return tslib_1.__generator(this, function (_20) {
|
||||
switch (_20.label) {
|
||||
var currentToken, schema, userState, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, application, _l, originToken, tokenData, userState, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, userData, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
|
||||
var _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20;
|
||||
return tslib_1.__generator(this, function (_21) {
|
||||
switch (_21.label) {
|
||||
case 0:
|
||||
currentToken = context.getToken(true);
|
||||
schema = context.getSchema();
|
||||
|
|
@ -207,32 +207,32 @@ createData, user) {
|
|||
}
|
||||
return [4 /*yield*/, (0, user_1.mergeUser)({ from: user.id, to: currentToken.userId }, context, true)];
|
||||
case 2:
|
||||
_20.sent();
|
||||
_21.sent();
|
||||
return [2 /*return*/, currentToken.id];
|
||||
case 3:
|
||||
(0, assert_1.assert)(currentToken.id !== user.id);
|
||||
return [4 /*yield*/, (0, user_1.mergeUser)({ from: user.id, to: currentToken.userId }, context, true)];
|
||||
case 4:
|
||||
_20.sent();
|
||||
_21.sent();
|
||||
_c = (_b = context).operate;
|
||||
_d = ['user'];
|
||||
_6 = {};
|
||||
_9 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 5: return [4 /*yield*/, _c.apply(_b, _d.concat([(_6.id = _20.sent(),
|
||||
_6.action = 'activate',
|
||||
_6.data = {},
|
||||
_6.filter = {
|
||||
case 5: return [4 /*yield*/, _c.apply(_b, _d.concat([(_9.id = _21.sent(),
|
||||
_9.action = 'activate',
|
||||
_9.data = {},
|
||||
_9.filter = {
|
||||
id: user.id,
|
||||
},
|
||||
_6), { dontCollect: true }]))];
|
||||
_9), { dontCollect: true }]))];
|
||||
case 6:
|
||||
_20.sent();
|
||||
_21.sent();
|
||||
return [2 /*return*/, currentToken.id];
|
||||
case 7:
|
||||
{
|
||||
throw new Exception_1.OakUserDisabledException();
|
||||
}
|
||||
_20.label = 8;
|
||||
_21.label = 8;
|
||||
case 8:
|
||||
(0, assert_1.assert)(user.refId);
|
||||
if (user.refId === currentToken.id) {
|
||||
|
|
@ -242,13 +242,13 @@ createData, user) {
|
|||
console.warn("\u7528\u6237".concat(user.id, "\u5DF2\u7ECF\u662Fmerged\u72B6\u6001\u300C").concat(user.refId, "\u300D\uFF0C\u518D\u6B21\u88ABmerged\u5230\u300C").concat(currentToken.userId, "]\u300D"));
|
||||
return [4 /*yield*/, (0, user_1.mergeUser)({ from: user.id, to: currentToken.userId }, context, true)];
|
||||
case 9:
|
||||
_20.sent();
|
||||
_21.sent();
|
||||
return [2 /*return*/, currentToken.id];
|
||||
case 10:
|
||||
{
|
||||
(0, assert_1.assert)(false, "\u4E0D\u80FD\u7406\u89E3\u7684user\u72B6\u6001\u300C".concat(userState, "\u300D"));
|
||||
}
|
||||
_20.label = 11;
|
||||
_21.label = 11;
|
||||
case 11: return [3 /*break*/, 19];
|
||||
case 12:
|
||||
// 没用户,指向当前用户
|
||||
|
|
@ -256,37 +256,37 @@ createData, user) {
|
|||
if (!createData) return [3 /*break*/, 15];
|
||||
_f = (_e = context).operate;
|
||||
_g = [entity];
|
||||
_7 = {};
|
||||
_10 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 13: return [4 /*yield*/, _f.apply(_e, _g.concat([(_7.id = _20.sent(),
|
||||
_7.action = 'create',
|
||||
_7.data = Object.assign(createData, {
|
||||
case 13: return [4 /*yield*/, _f.apply(_e, _g.concat([(_10.id = _21.sent(),
|
||||
_10.action = 'create',
|
||||
_10.data = Object.assign(createData, {
|
||||
userId: currentToken.userId,
|
||||
}),
|
||||
_7), { dontCollect: true }]))];
|
||||
_10), { dontCollect: true }]))];
|
||||
case 14:
|
||||
_20.sent();
|
||||
_21.sent();
|
||||
return [3 /*break*/, 18];
|
||||
case 15:
|
||||
(0, assert_1.assert)(entityId);
|
||||
_j = (_h = context).operate;
|
||||
_k = [entity];
|
||||
_8 = {};
|
||||
_11 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 16: return [4 /*yield*/, _j.apply(_h, _k.concat([(_8.id = _20.sent(),
|
||||
_8.action = 'update',
|
||||
_8.data = {
|
||||
case 16: return [4 /*yield*/, _j.apply(_h, _k.concat([(_11.id = _21.sent(),
|
||||
_11.action = 'update',
|
||||
_11.data = {
|
||||
userId: currentToken.userId,
|
||||
},
|
||||
_8.filter = {
|
||||
_11.filter = {
|
||||
id: entityId,
|
||||
},
|
||||
_8), { dontCollect: true }]))];
|
||||
_11), { dontCollect: true }]))];
|
||||
case 17:
|
||||
_20.sent();
|
||||
_20.label = 18;
|
||||
_21.sent();
|
||||
_21.label = 18;
|
||||
case 18: return [2 /*return*/, currentToken.id];
|
||||
case 19: return [3 /*break*/, 47];
|
||||
case 19: return [3 /*break*/, 50];
|
||||
case 20:
|
||||
if (!entityId) return [3 /*break*/, 22];
|
||||
application = context.getApplication();
|
||||
|
|
@ -302,19 +302,19 @@ createData, user) {
|
|||
},
|
||||
}, { dontCollect: true })];
|
||||
case 21:
|
||||
_l = tslib_1.__read.apply(void 0, [_20.sent(), 1]), originToken = _l[0];
|
||||
_l = tslib_1.__read.apply(void 0, [_21.sent(), 1]), originToken = _l[0];
|
||||
if (originToken) {
|
||||
return [2 /*return*/, originToken.id];
|
||||
}
|
||||
_20.label = 22;
|
||||
_21.label = 22;
|
||||
case 22:
|
||||
_9 = {};
|
||||
_12 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 23:
|
||||
tokenData = (_9.id = _20.sent(),
|
||||
_9.env = env,
|
||||
_9);
|
||||
if (!user) return [3 /*break*/, 34];
|
||||
tokenData = (_12.id = _21.sent(),
|
||||
_12.env = env,
|
||||
_12);
|
||||
if (!user) return [3 /*break*/, 37];
|
||||
userState = user.userState;
|
||||
_m = userState;
|
||||
switch (_m) {
|
||||
|
|
@ -334,15 +334,18 @@ createData, user) {
|
|||
}
|
||||
else {
|
||||
(0, assert_1.assert)(createData);
|
||||
Object.assign(tokenData, (_10 = {},
|
||||
_10[entity] = Object.assign(createData, {
|
||||
Object.assign(createData, {
|
||||
userId: user.id,
|
||||
}),
|
||||
_10));
|
||||
});
|
||||
// Object.assign(tokenData, {
|
||||
// [entity]: Object.assign(createData, {
|
||||
// userId: user.id,
|
||||
// }),
|
||||
// });
|
||||
}
|
||||
return [3 /*break*/, 31];
|
||||
}
|
||||
_20.label = 25;
|
||||
_21.label = 25;
|
||||
case 25:
|
||||
{
|
||||
tokenData.userId = user.refId;
|
||||
|
|
@ -353,34 +356,37 @@ createData, user) {
|
|||
}
|
||||
else {
|
||||
(0, assert_1.assert)(createData);
|
||||
Object.assign(tokenData, (_11 = {},
|
||||
_11[entity] = Object.assign(createData, {
|
||||
Object.assign(createData, {
|
||||
userId: user.refId,
|
||||
}),
|
||||
_11));
|
||||
});
|
||||
// Object.assign(tokenData, {
|
||||
// [entity]: Object.assign(createData, {
|
||||
// userId: user.refId,
|
||||
// }),
|
||||
// });
|
||||
}
|
||||
return [3 /*break*/, 31];
|
||||
}
|
||||
_20.label = 26;
|
||||
_21.label = 26;
|
||||
case 26:
|
||||
{
|
||||
throw new Exception_1.OakUserDisabledException();
|
||||
}
|
||||
_20.label = 27;
|
||||
_21.label = 27;
|
||||
case 27:
|
||||
_p = (_o = context).operate;
|
||||
_q = ['user'];
|
||||
_12 = {};
|
||||
_13 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 28: return [4 /*yield*/, _p.apply(_o, _q.concat([(_12.id = _20.sent(),
|
||||
_12.action = 'activate',
|
||||
_12.data = {},
|
||||
_12.filter = {
|
||||
case 28: return [4 /*yield*/, _p.apply(_o, _q.concat([(_13.id = _21.sent(),
|
||||
_13.action = 'activate',
|
||||
_13.data = {},
|
||||
_13.filter = {
|
||||
id: user.id,
|
||||
},
|
||||
_12), { dontCollect: true }]))];
|
||||
_13), { dontCollect: true }]))];
|
||||
case 29:
|
||||
_20.sent();
|
||||
_21.sent();
|
||||
tokenData.userId = user.id;
|
||||
tokenData.playerId = user.id;
|
||||
if (entityId) {
|
||||
|
|
@ -389,98 +395,118 @@ createData, user) {
|
|||
}
|
||||
else {
|
||||
(0, assert_1.assert)(createData);
|
||||
Object.assign(tokenData, (_13 = {},
|
||||
_13[entity] = Object.assign(createData, {
|
||||
Object.assign(createData, {
|
||||
userId: user.id,
|
||||
}),
|
||||
_13));
|
||||
});
|
||||
// Object.assign(tokenData, {
|
||||
// [entity]: Object.assign(createData, {
|
||||
// userId: user.id,
|
||||
// }),
|
||||
// });
|
||||
}
|
||||
return [3 /*break*/, 31];
|
||||
case 30:
|
||||
{
|
||||
(0, assert_1.assert)(false, "\u4E0D\u80FD\u7406\u89E3\u7684user\u72B6\u6001\u300C".concat(userState, "\u300D"));
|
||||
}
|
||||
_20.label = 31;
|
||||
_21.label = 31;
|
||||
case 31:
|
||||
if (!!entityId) return [3 /*break*/, 34];
|
||||
_s = (_r = context).operate;
|
||||
_t = ['token'];
|
||||
_t = [entity];
|
||||
_14 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 32: return [4 /*yield*/, _s.apply(_r, _t.concat([(_14.id = _20.sent(),
|
||||
case 32: return [4 /*yield*/, _s.apply(_r, _t.concat([(_14.id = _21.sent(),
|
||||
_14.action = 'create',
|
||||
_14.data = tokenData,
|
||||
_14.data = createData,
|
||||
_14), { dontCollect: true }]))];
|
||||
case 33:
|
||||
_20.sent();
|
||||
return [2 /*return*/, tokenData.id];
|
||||
_21.sent();
|
||||
Object.assign(tokenData, {
|
||||
entity: entity,
|
||||
entityId: createData.id,
|
||||
});
|
||||
_21.label = 34;
|
||||
case 34:
|
||||
_v = (_u = context).operate;
|
||||
_w = ['token'];
|
||||
_15 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 35:
|
||||
userData = (_15.id = _20.sent(),
|
||||
_15.userState = 'normal',
|
||||
_15);
|
||||
_v = (_u = context).operate;
|
||||
_w = ['user'];
|
||||
case 35: return [4 /*yield*/, _v.apply(_u, _w.concat([(_15.id = _21.sent(),
|
||||
_15.action = 'create',
|
||||
_15.data = tokenData,
|
||||
_15), { dontCollect: true }]))];
|
||||
case 36:
|
||||
_21.sent();
|
||||
return [2 /*return*/, tokenData.id];
|
||||
case 37:
|
||||
_16 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 36: return [4 /*yield*/, _v.apply(_u, _w.concat([(_16.id = _20.sent(),
|
||||
_16.action = 'create',
|
||||
_16.data = userData,
|
||||
_16), {}]))];
|
||||
case 37:
|
||||
_20.sent();
|
||||
case 38:
|
||||
userData = (_16.id = _21.sent(),
|
||||
_16.userState = 'normal',
|
||||
_16);
|
||||
_y = (_x = context).operate;
|
||||
_z = ['user'];
|
||||
_17 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 39: return [4 /*yield*/, _y.apply(_x, _z.concat([(_17.id = _21.sent(),
|
||||
_17.action = 'create',
|
||||
_17.data = userData,
|
||||
_17), {}]))];
|
||||
case 40:
|
||||
_21.sent();
|
||||
tokenData.userId = userData.id;
|
||||
tokenData.playerId = userData.id;
|
||||
tokenData.entity = entity;
|
||||
tokenData.entityId = createData.id;
|
||||
_y = (_x = context).operate;
|
||||
_z = ['token'];
|
||||
_17 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 38: return [4 /*yield*/, _y.apply(_x, _z.concat([(_17.id = _20.sent(),
|
||||
_17.action = 'create',
|
||||
_17.data = tokenData,
|
||||
_17), { dontCollect: true }]))];
|
||||
case 39:
|
||||
_20.sent();
|
||||
return [4 /*yield*/, context.setTokenValue(tokenData.id)];
|
||||
case 40:
|
||||
_20.sent();
|
||||
if (!createData) return [3 /*break*/, 43];
|
||||
_1 = (_0 = context).operate;
|
||||
_2 = [entity];
|
||||
_2 = ['token'];
|
||||
_18 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 41: return [4 /*yield*/, _1.apply(_0, _2.concat([(_18.id = _20.sent(),
|
||||
case 41: return [4 /*yield*/, _1.apply(_0, _2.concat([(_18.id = _21.sent(),
|
||||
_18.action = 'create',
|
||||
_18.data = Object.assign(createData, {
|
||||
userId: userData.id,
|
||||
}),
|
||||
_18.data = tokenData,
|
||||
_18), { dontCollect: true }]))];
|
||||
case 42:
|
||||
_20.sent();
|
||||
return [3 /*break*/, 46];
|
||||
_21.sent();
|
||||
return [4 /*yield*/, context.setTokenValue(tokenData.id)];
|
||||
case 43:
|
||||
(0, assert_1.assert)(entityId);
|
||||
_21.sent();
|
||||
if (!createData) return [3 /*break*/, 46];
|
||||
_4 = (_3 = context).operate;
|
||||
_5 = [entity];
|
||||
_19 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 44: return [4 /*yield*/, _4.apply(_3, _5.concat([(_19.id = _20.sent(),
|
||||
_19.action = 'update',
|
||||
_19.data = {
|
||||
case 44: return [4 /*yield*/, _4.apply(_3, _5.concat([(_19.id = _21.sent(),
|
||||
_19.action = 'create',
|
||||
_19.data = Object.assign(createData, {
|
||||
userId: userData.id,
|
||||
},
|
||||
_19.filter = {
|
||||
id: entityId,
|
||||
},
|
||||
}),
|
||||
_19), { dontCollect: true }]))];
|
||||
case 45:
|
||||
_20.sent();
|
||||
_20.label = 46;
|
||||
case 46: return [2 /*return*/, tokenData.id];
|
||||
case 47: return [2 /*return*/];
|
||||
_21.sent();
|
||||
return [3 /*break*/, 49];
|
||||
case 46:
|
||||
(0, assert_1.assert)(entityId);
|
||||
_7 = (_6 = context).operate;
|
||||
_8 = [entity];
|
||||
_20 = {};
|
||||
return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
|
||||
case 47: return [4 /*yield*/, _7.apply(_6, _8.concat([(_20.id = _21.sent(),
|
||||
_20.action = 'update',
|
||||
_20.data = {
|
||||
userId: userData.id,
|
||||
},
|
||||
_20.filter = {
|
||||
id: entityId,
|
||||
},
|
||||
_20), { dontCollect: true }]))];
|
||||
case 48:
|
||||
_21.sent();
|
||||
_21.label = 49;
|
||||
case 49: return [2 /*return*/, tokenData.id];
|
||||
case 50: return [2 /*return*/];
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ import { BackendRuntimeContext } from '../context/BackendRuntimeContext';
|
|||
import { tokenProjection } from '../types/projection';
|
||||
import { sendSms } from '../utils/sms';
|
||||
import { mergeUser } from './user';
|
||||
import Operation from 'antd/es/transfer/operation';
|
||||
|
||||
async function makeDistinguishException<ED extends EntityDict, Cxt extends BackendRuntimeContext<ED>>(userId: string, context: Cxt, message?: string) {
|
||||
const [user] = await context.select('user', {
|
||||
|
|
@ -265,11 +266,14 @@ async function setUpTokenAndUser<ED extends EntityDict, Cxt extends BackendRunti
|
|||
}
|
||||
else {
|
||||
assert(createData);
|
||||
Object.assign(tokenData, {
|
||||
[entity]: Object.assign(createData, {
|
||||
Object.assign(createData, {
|
||||
userId: user.id,
|
||||
}),
|
||||
});
|
||||
// Object.assign(tokenData, {
|
||||
// [entity]: Object.assign(createData, {
|
||||
// userId: user.id,
|
||||
// }),
|
||||
// });
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -282,11 +286,14 @@ async function setUpTokenAndUser<ED extends EntityDict, Cxt extends BackendRunti
|
|||
}
|
||||
else {
|
||||
assert(createData);
|
||||
Object.assign(tokenData, {
|
||||
[entity]: Object.assign(createData, {
|
||||
Object.assign(createData, {
|
||||
userId: user.refId,
|
||||
}),
|
||||
});
|
||||
// Object.assign(tokenData, {
|
||||
// [entity]: Object.assign(createData, {
|
||||
// userId: user.refId,
|
||||
// }),
|
||||
// });
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -310,11 +317,14 @@ async function setUpTokenAndUser<ED extends EntityDict, Cxt extends BackendRunti
|
|||
}
|
||||
else {
|
||||
assert(createData);
|
||||
Object.assign(tokenData, {
|
||||
[entity]: Object.assign(createData, {
|
||||
Object.assign(createData, {
|
||||
userId: user.id,
|
||||
}),
|
||||
});
|
||||
// Object.assign(tokenData, {
|
||||
// [entity]: Object.assign(createData, {
|
||||
// userId: user.id,
|
||||
// }),
|
||||
// });
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -322,7 +332,17 @@ async function setUpTokenAndUser<ED extends EntityDict, Cxt extends BackendRunti
|
|||
assert(false, `不能理解的user状态「${userState}」`);
|
||||
}
|
||||
}
|
||||
|
||||
if (!entityId) {
|
||||
await context.operate(entity as keyof ED, {
|
||||
id: await generateNewIdAsync(),
|
||||
action: 'create',
|
||||
data: createData,
|
||||
} as any, { dontCollect: true });
|
||||
Object.assign(tokenData, {
|
||||
entity,
|
||||
entityId: createData.id,
|
||||
})
|
||||
}
|
||||
await context.operate('token', {
|
||||
id: await generateNewIdAsync(),
|
||||
action: 'create',
|
||||
|
|
|
|||
Loading…
Reference in New Issue