fix: fix bugs
This commit is contained in:
parent
425b0d5286
commit
ae829c6181
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@kevisual/code-center-module",
|
"name": "@kevisual/code-center-module",
|
||||||
"version": "0.0.9",
|
"version": "0.0.10",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "dist/system.mjs",
|
"main": "dist/system.mjs",
|
||||||
"module": "dist/system.mjs",
|
"module": "dist/system.mjs",
|
||||||
|
@ -23,6 +23,7 @@ export class Org extends Model {
|
|||||||
async addUser(user: User, opts?: { operateId?: string; role: string; needPermission?: boolean; isAdmin?: boolean }) {
|
async addUser(user: User, opts?: { operateId?: string; role: string; needPermission?: boolean; isAdmin?: boolean }) {
|
||||||
const hasUser = this.users.find((u) => u.uid === user.id);
|
const hasUser = this.users.find((u) => u.uid === user.id);
|
||||||
if (hasUser) {
|
if (hasUser) {
|
||||||
|
console.log('current org', this.username, 'has', user.username);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (user.type !== 'user') {
|
if (user.type !== 'user') {
|
||||||
@ -39,9 +40,34 @@ export class Org extends Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await user.expireOrgs();
|
try {
|
||||||
|
await user.expireOrgs();
|
||||||
|
} catch (e) {
|
||||||
|
console.error('expireOrgs', e);
|
||||||
|
}
|
||||||
const users = [...this.users];
|
const users = [...this.users];
|
||||||
users.push({ role: opts?.role || 'member', uid: user.id });
|
if (opts?.role === 'owner') {
|
||||||
|
const orgOwner = users.find((u) => u.role === 'owner');
|
||||||
|
if (opts.isAdmin) {
|
||||||
|
} else {
|
||||||
|
if (!opts.operateId) {
|
||||||
|
throw Error('operateId is required');
|
||||||
|
}
|
||||||
|
const owner = await User.findByPk(opts?.operateId);
|
||||||
|
if (!owner) {
|
||||||
|
throw Error('operateId is not found');
|
||||||
|
}
|
||||||
|
if (orgOwner?.uid !== owner.id) {
|
||||||
|
throw Error('No permission');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (orgOwner) {
|
||||||
|
orgOwner.role = 'admin';
|
||||||
|
}
|
||||||
|
users.push({ role: 'owner', uid: user.id });
|
||||||
|
} else {
|
||||||
|
users.push({ role: opts?.role || 'member', uid: user.id });
|
||||||
|
}
|
||||||
await Org.update({ users }, { where: { id: this.id } });
|
await Org.update({ users }, { where: { id: this.id } });
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@ -62,7 +88,7 @@ export class Org extends Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
await user.expireOrgs();
|
await user.expireOrgs();
|
||||||
const users = this.users.filter((u) => u.uid !== user.id && u.role !== 'owner');
|
const users = this.users.filter((u) => u.uid !== user.id || u.role !== 'owner');
|
||||||
await Org.update({ users }, { where: { id: this.id } });
|
await Org.update({ users }, { where: { id: this.id } });
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -24,10 +24,11 @@ export const main = async () => {
|
|||||||
});
|
});
|
||||||
console.log('org', org.toJSON());
|
console.log('org', org.toJSON());
|
||||||
const res = await org.addUser(me, {
|
const res = await org.addUser(me, {
|
||||||
operateId: rootId,
|
// operateId: rootId,
|
||||||
// operateId: id,
|
// operateId: id,
|
||||||
role: 'admin',
|
role: 'admin',
|
||||||
needPermission: true,
|
// isAdmin: true,
|
||||||
|
// needPermission: true,
|
||||||
});
|
});
|
||||||
// await org.removeUser(me, {
|
// await org.removeUser(me, {
|
||||||
// operateId: rootId,
|
// operateId: rootId,
|
||||||
@ -35,8 +36,20 @@ export const main = async () => {
|
|||||||
process.exit(0);
|
process.exit(0);
|
||||||
};
|
};
|
||||||
|
|
||||||
// main();
|
export const remove = async () => {
|
||||||
|
await UserInit();
|
||||||
|
await OrgInit();
|
||||||
|
const me = await User.findByPk(rootId);
|
||||||
|
const org = await Org.findOne({
|
||||||
|
where: {
|
||||||
|
username: 'system',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
await org.removeUser(me, {
|
||||||
|
isAdmin: true,
|
||||||
|
});
|
||||||
|
process.exit(0);
|
||||||
|
};
|
||||||
const updatePassword = async () => {
|
const updatePassword = async () => {
|
||||||
await UserInit();
|
await UserInit();
|
||||||
await OrgInit();
|
await OrgInit();
|
||||||
@ -45,4 +58,20 @@ const updatePassword = async () => {
|
|||||||
process.exit(0);
|
process.exit(0);
|
||||||
};
|
};
|
||||||
|
|
||||||
updatePassword();
|
// updatePassword();
|
||||||
|
|
||||||
|
const getList = async () => {
|
||||||
|
await UserInit();
|
||||||
|
await OrgInit();
|
||||||
|
const orgs = await Org.findAll();
|
||||||
|
for (const user of orgs) {
|
||||||
|
console.log('user-name', user.username);
|
||||||
|
console.log('user', user.id, user.users, '\n');
|
||||||
|
}
|
||||||
|
process.exit(0);
|
||||||
|
};
|
||||||
|
|
||||||
|
// await main();
|
||||||
|
|
||||||
|
await getList();
|
||||||
|
// remove();
|
Loading…
x
Reference in New Issue
Block a user