Files
twenty/server/src/ability/ability.module.ts
Jérémy M 157e5b9a2e feat: implement e2e test for CompanyResolver (#944)
* feat: wip e2e server test

* feat: use github action postgres & use infra for local

* feat: company e2e test

* feat: add company e2e test for permissions

* Simplify server e2e test run

* Fix lint

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-07-27 09:48:40 -07:00

275 lines
8.6 KiB
TypeScript

import { Global, Module } from '@nestjs/common';
import { AbilityFactory } from 'src/ability/ability.factory';
import { PrismaService } from 'src/database/prisma.service';
import {
CreateUserAbilityHandler,
DeleteUserAbilityHandler,
ManageUserAbilityHandler,
ReadUserAbilityHandler,
UpdateUserAbilityHandler,
} from './handlers/user.ability-handler';
import {
CreateWorkspaceAbilityHandler,
DeleteWorkspaceAbilityHandler,
ManageWorkspaceAbilityHandler,
ReadWorkspaceAbilityHandler,
UpdateWorkspaceAbilityHandler,
} from './handlers/workspace.ability-handler';
import {
CreateWorkspaceMemberAbilityHandler,
DeleteWorkspaceMemberAbilityHandler,
ManageWorkspaceMemberAbilityHandler,
ReadWorkspaceMemberAbilityHandler,
UpdateWorkspaceMemberAbilityHandler,
} from './handlers/workspace-member.ability-handler';
import {
ManageCompanyAbilityHandler,
ReadOneCompanyAbilityHandler,
CreateCompanyAbilityHandler,
UpdateCompanyAbilityHandler,
DeleteCompanyAbilityHandler,
} from './handlers/company.ability-handler';
import {
CreatePersonAbilityHandler,
DeletePersonAbilityHandler,
ManagePersonAbilityHandler,
ReadPersonAbilityHandler,
UpdatePersonAbilityHandler,
} from './handlers/person.ability-handler';
import {
ManageRefreshTokenAbilityHandler,
ReadRefreshTokenAbilityHandler,
CreateRefreshTokenAbilityHandler,
UpdateRefreshTokenAbilityHandler,
DeleteRefreshTokenAbilityHandler,
} from './handlers/refresh-token.ability-handler';
import {
ManageCommentThreadAbilityHandler,
ReadCommentThreadAbilityHandler,
CreateCommentThreadAbilityHandler,
UpdateCommentThreadAbilityHandler,
DeleteCommentThreadAbilityHandler,
} from './handlers/comment-thread.ability-handler';
import {
ManageCommentAbilityHandler,
ReadCommentAbilityHandler,
CreateCommentAbilityHandler,
UpdateCommentAbilityHandler,
DeleteCommentAbilityHandler,
} from './handlers/comment.ability-handler';
import {
ManageCommentThreadTargetAbilityHandler,
ReadCommentThreadTargetAbilityHandler,
CreateCommentThreadTargetAbilityHandler,
UpdateCommentThreadTargetAbilityHandler,
DeleteCommentThreadTargetAbilityHandler,
} from './handlers/comment-thread-target.ability-handler';
import {
ManagePipelineAbilityHandler,
ReadPipelineAbilityHandler,
CreatePipelineAbilityHandler,
UpdatePipelineAbilityHandler,
DeletePipelineAbilityHandler,
} from './handlers/pipeline.ability-handler';
import {
ManagePipelineStageAbilityHandler,
ReadPipelineStageAbilityHandler,
CreatePipelineStageAbilityHandler,
UpdatePipelineStageAbilityHandler,
DeletePipelineStageAbilityHandler,
} from './handlers/pipeline-stage.ability-handler';
import {
ManagePipelineProgressAbilityHandler,
ReadPipelineProgressAbilityHandler,
CreatePipelineProgressAbilityHandler,
UpdatePipelineProgressAbilityHandler,
DeletePipelineProgressAbilityHandler,
} from './handlers/pipeline-progress.ability-handler';
import {
CreateAttachmentAbilityHandler,
DeleteAttachmentAbilityHandler,
ManageAttachmentAbilityHandler,
ReadAttachmentAbilityHandler,
UpdateAttachmentAbilityHandler,
} from './handlers/attachment.ability-handler';
import {
ReadViewFieldAbilityHandler,
UpdateViewFieldAbilityHandler,
} from './handlers/view-field.ability-handler';
@Global()
@Module({
providers: [
AbilityFactory,
PrismaService,
// User
ManageUserAbilityHandler,
ReadUserAbilityHandler,
CreateUserAbilityHandler,
UpdateUserAbilityHandler,
DeleteUserAbilityHandler,
// Workspace
ManageWorkspaceAbilityHandler,
ReadWorkspaceAbilityHandler,
CreateWorkspaceAbilityHandler,
UpdateWorkspaceAbilityHandler,
DeleteWorkspaceAbilityHandler,
// Workspace Member
ManageWorkspaceMemberAbilityHandler,
ReadWorkspaceMemberAbilityHandler,
CreateWorkspaceMemberAbilityHandler,
UpdateWorkspaceMemberAbilityHandler,
DeleteWorkspaceMemberAbilityHandler,
// Company
ManageCompanyAbilityHandler,
ReadOneCompanyAbilityHandler,
CreateCompanyAbilityHandler,
UpdateCompanyAbilityHandler,
DeleteCompanyAbilityHandler,
// Person
ManagePersonAbilityHandler,
ReadPersonAbilityHandler,
CreatePersonAbilityHandler,
UpdatePersonAbilityHandler,
DeletePersonAbilityHandler,
// RefreshToken
ManageRefreshTokenAbilityHandler,
ReadRefreshTokenAbilityHandler,
CreateRefreshTokenAbilityHandler,
UpdateRefreshTokenAbilityHandler,
DeleteRefreshTokenAbilityHandler,
// CommentThread
ManageCommentThreadAbilityHandler,
ReadCommentThreadAbilityHandler,
CreateCommentThreadAbilityHandler,
UpdateCommentThreadAbilityHandler,
DeleteCommentThreadAbilityHandler,
// Comment
ManageCommentAbilityHandler,
ReadCommentAbilityHandler,
CreateCommentAbilityHandler,
UpdateCommentAbilityHandler,
DeleteCommentAbilityHandler,
// CommentThreadTarget
ManageCommentThreadTargetAbilityHandler,
ReadCommentThreadTargetAbilityHandler,
CreateCommentThreadTargetAbilityHandler,
UpdateCommentThreadTargetAbilityHandler,
DeleteCommentThreadTargetAbilityHandler,
//Attachment
ManageAttachmentAbilityHandler,
ReadAttachmentAbilityHandler,
CreateAttachmentAbilityHandler,
UpdateAttachmentAbilityHandler,
DeleteAttachmentAbilityHandler,
// Pipeline
ManagePipelineAbilityHandler,
ReadPipelineAbilityHandler,
CreatePipelineAbilityHandler,
UpdatePipelineAbilityHandler,
DeletePipelineAbilityHandler,
// PipelineStage
ManagePipelineStageAbilityHandler,
ReadPipelineStageAbilityHandler,
CreatePipelineStageAbilityHandler,
UpdatePipelineStageAbilityHandler,
DeletePipelineStageAbilityHandler,
// PipelineProgress
ManagePipelineProgressAbilityHandler,
ReadPipelineProgressAbilityHandler,
CreatePipelineProgressAbilityHandler,
UpdatePipelineProgressAbilityHandler,
DeletePipelineProgressAbilityHandler,
// ViewField
ReadViewFieldAbilityHandler,
UpdateViewFieldAbilityHandler,
],
exports: [
AbilityFactory,
// User
ManageUserAbilityHandler,
ReadUserAbilityHandler,
CreateUserAbilityHandler,
UpdateUserAbilityHandler,
DeleteUserAbilityHandler,
// Workspace
ManageWorkspaceAbilityHandler,
ReadWorkspaceAbilityHandler,
CreateWorkspaceAbilityHandler,
UpdateWorkspaceAbilityHandler,
DeleteWorkspaceAbilityHandler,
// Workspace Member
ManageWorkspaceMemberAbilityHandler,
ReadWorkspaceMemberAbilityHandler,
CreateWorkspaceMemberAbilityHandler,
UpdateWorkspaceMemberAbilityHandler,
DeleteWorkspaceMemberAbilityHandler,
// Company
ManageCompanyAbilityHandler,
ReadOneCompanyAbilityHandler,
CreateCompanyAbilityHandler,
UpdateCompanyAbilityHandler,
DeleteCompanyAbilityHandler,
// Person
ManagePersonAbilityHandler,
ReadPersonAbilityHandler,
CreatePersonAbilityHandler,
UpdatePersonAbilityHandler,
DeletePersonAbilityHandler,
// RefreshToken
ManageRefreshTokenAbilityHandler,
ReadRefreshTokenAbilityHandler,
CreateRefreshTokenAbilityHandler,
UpdateRefreshTokenAbilityHandler,
DeleteRefreshTokenAbilityHandler,
// CommentThread
ManageCommentThreadAbilityHandler,
ReadCommentThreadAbilityHandler,
CreateCommentThreadAbilityHandler,
UpdateCommentThreadAbilityHandler,
DeleteCommentThreadAbilityHandler,
// Comment
ManageCommentAbilityHandler,
ReadCommentAbilityHandler,
CreateCommentAbilityHandler,
UpdateCommentAbilityHandler,
DeleteCommentAbilityHandler,
// CommentThreadTarget
ManageCommentThreadTargetAbilityHandler,
ReadCommentThreadTargetAbilityHandler,
CreateCommentThreadTargetAbilityHandler,
UpdateCommentThreadTargetAbilityHandler,
DeleteCommentThreadTargetAbilityHandler,
//Attachment
ManageAttachmentAbilityHandler,
ReadAttachmentAbilityHandler,
CreateAttachmentAbilityHandler,
UpdateAttachmentAbilityHandler,
DeleteAttachmentAbilityHandler,
// Pipeline
ManagePipelineAbilityHandler,
ReadPipelineAbilityHandler,
CreatePipelineAbilityHandler,
UpdatePipelineAbilityHandler,
DeletePipelineAbilityHandler,
// PipelineStage
ManagePipelineStageAbilityHandler,
ReadPipelineStageAbilityHandler,
CreatePipelineStageAbilityHandler,
UpdatePipelineStageAbilityHandler,
DeletePipelineStageAbilityHandler,
// PipelineProgress
ManagePipelineProgressAbilityHandler,
ReadPipelineProgressAbilityHandler,
CreatePipelineProgressAbilityHandler,
UpdatePipelineProgressAbilityHandler,
DeletePipelineProgressAbilityHandler,
// ViewField
ReadViewFieldAbilityHandler,
UpdateViewFieldAbilityHandler,
],
})
export class AbilityModule {}