1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-06 10:52:31 +01:00

More rights stuff

This commit is contained in:
Erkin Alp Güney 2022-04-07 23:47:26 +03:00 committed by GitHub
parent c5de68d0bc
commit d1f24b2537
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,6 +1,7 @@
import { BitField } from "./BitField"; import { BitField } from "./BitField";
import "missing-native-js-functions"; import "missing-native-js-functions";
import { BitFieldResolvable, BitFlag } from "./BitField"; import { BitFieldResolvable, BitFlag } from "./BitField";
import { User } from "../entities";
var HTTPError: any; var HTTPError: any;
@ -85,6 +86,16 @@ export class Rights extends BitField {
// @ts-ignore // @ts-ignore
throw new HTTPError(`You are missing the following rights ${permission}`, 403); throw new HTTPError(`You are missing the following rights ${permission}`, 403);
} }
export async function getRight(
user_id: string,
/** opts: {
in_behalf?: (keyof User)[];
} = {} **/)
{
user = await User.findOneOrFail({ where: { id: user_id } });
return new Rights(user.right);
}
} }
const ALL_RIGHTS = Object.values(Rights.FLAGS).reduce((total, val) => total | val, BigInt(0)); const ALL_RIGHTS = Object.values(Rights.FLAGS).reduce((total, val) => total | val, BigInt(0));