mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-05-10 04:25:01 +00:00
More work on API permissions
This commit is contained in:
parent
79b0adf81a
commit
c9a21c64bf
14 changed files with 318 additions and 85 deletions
36
backend/src/data/ApiPermissionAssignments.ts
Normal file
36
backend/src/data/ApiPermissionAssignments.ts
Normal file
|
@ -0,0 +1,36 @@
|
|||
import { getRepository, Repository } from "typeorm";
|
||||
import { ApiPermissionAssignment } from "./entities/ApiPermissionAssignment";
|
||||
import { BaseRepository } from "./BaseRepository";
|
||||
|
||||
export enum ApiPermissionTypes {
|
||||
User = "USER",
|
||||
Role = "ROLE",
|
||||
}
|
||||
|
||||
export class ApiPermissionAssignments extends BaseRepository {
|
||||
private apiPermissions: Repository<ApiPermissionAssignment>;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.apiPermissions = getRepository(ApiPermissionAssignment);
|
||||
}
|
||||
|
||||
getByUserId(userId) {
|
||||
return this.apiPermissions.find({
|
||||
where: {
|
||||
type: ApiPermissionTypes.User,
|
||||
target_id: userId,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
getByGuildAndUserId(guildId, userId) {
|
||||
return this.apiPermissions.findOne({
|
||||
where: {
|
||||
guild_id: guildId,
|
||||
type: ApiPermissionTypes.User,
|
||||
target_id: userId,
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue