feat: refactoring casl permission checks for recursive nested operations (#778)

* feat: nested casl abilities

* fix: remove unused packages

* Fixes

* Fix createMany broken

* Fix lint

* Fix lint

* Fix lint

* Fix lint

* Fixes

* Fix CommentThread

* Fix bugs

* Fix lint

* Fix bugs

* Fixed auto routing

* Fixed app path

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
This commit is contained in:
Jérémy M
2023-07-26 01:37:22 +02:00
committed by GitHub
parent 92b9e987a5
commit 51cfc0d82c
69 changed files with 1192 additions and 883 deletions

View File

@ -7,33 +7,34 @@ export class WorkspaceMemberService {
constructor(private readonly prismaService: PrismaService) {}
// Find
findFirst = this.prismaService.workspaceMember.findFirst;
findFirstOrThrow = this.prismaService.workspaceMember.findFirstOrThrow;
findFirst = this.prismaService.client.workspaceMember.findFirst;
findFirstOrThrow = this.prismaService.client.workspaceMember.findFirstOrThrow;
findUnique = this.prismaService.workspaceMember.findUnique;
findUniqueOrThrow = this.prismaService.workspaceMember.findUniqueOrThrow;
findUnique = this.prismaService.client.workspaceMember.findUnique;
findUniqueOrThrow =
this.prismaService.client.workspaceMember.findUniqueOrThrow;
findMany = this.prismaService.workspaceMember.findMany;
findMany = this.prismaService.client.workspaceMember.findMany;
// Create
create = this.prismaService.workspaceMember.create;
createMany = this.prismaService.workspaceMember.createMany;
create = this.prismaService.client.workspaceMember.create;
createMany = this.prismaService.client.workspaceMember.createMany;
// Update
update = this.prismaService.workspaceMember.update;
upsert = this.prismaService.workspaceMember.upsert;
updateMany = this.prismaService.workspaceMember.updateMany;
update = this.prismaService.client.workspaceMember.update;
upsert = this.prismaService.client.workspaceMember.upsert;
updateMany = this.prismaService.client.workspaceMember.updateMany;
// Delete
delete = this.prismaService.workspaceMember.delete;
deleteMany = this.prismaService.workspaceMember.deleteMany;
delete = this.prismaService.client.workspaceMember.delete;
deleteMany = this.prismaService.client.workspaceMember.deleteMany;
// Aggregate
aggregate = this.prismaService.workspaceMember.aggregate;
aggregate = this.prismaService.client.workspaceMember.aggregate;
// Count
count = this.prismaService.workspaceMember.count;
count = this.prismaService.client.workspaceMember.count;
// GroupBy
groupBy = this.prismaService.workspaceMember.groupBy;
groupBy = this.prismaService.client.workspaceMember.groupBy;
}

View File

@ -19,35 +19,35 @@ export class WorkspaceService {
) {}
// Find
findFirst = this.prismaService.workspace.findFirst;
findFirstOrThrow = this.prismaService.workspace.findFirstOrThrow;
findFirst = this.prismaService.client.workspace.findFirst;
findFirstOrThrow = this.prismaService.client.workspace.findFirstOrThrow;
findUnique = this.prismaService.workspace.findUnique;
findUniqueOrThrow = this.prismaService.workspace.findUniqueOrThrow;
findUnique = this.prismaService.client.workspace.findUnique;
findUniqueOrThrow = this.prismaService.client.workspace.findUniqueOrThrow;
findMany = this.prismaService.workspace.findMany;
findMany = this.prismaService.client.workspace.findMany;
// Create
create = this.prismaService.workspace.create;
createMany = this.prismaService.workspace.createMany;
create = this.prismaService.client.workspace.create;
createMany = this.prismaService.client.workspace.createMany;
// Update
update = this.prismaService.workspace.update;
upsert = this.prismaService.workspace.upsert;
updateMany = this.prismaService.workspace.updateMany;
update = this.prismaService.client.workspace.update;
upsert = this.prismaService.client.workspace.upsert;
updateMany = this.prismaService.client.workspace.updateMany;
// Delete
delete = this.prismaService.workspace.delete;
deleteMany = this.prismaService.workspace.deleteMany;
delete = this.prismaService.client.workspace.delete;
deleteMany = this.prismaService.client.workspace.deleteMany;
// Aggregate
aggregate = this.prismaService.workspace.aggregate;
aggregate = this.prismaService.client.workspace.aggregate;
// Count
count = this.prismaService.workspace.count;
count = this.prismaService.client.workspace.count;
// GroupBy
groupBy = this.prismaService.workspace.groupBy;
groupBy = this.prismaService.client.workspace.groupBy;
// Customs
async createDefaultWorkspace() {