Various fixes (#362)
This commit is contained in:
@ -61,18 +61,24 @@ export class AbilityFactory {
|
||||
|
||||
// Company
|
||||
can(AbilityAction.Read, 'Company', { workspaceId: workspace.id });
|
||||
can(AbilityAction.Create, 'Company');
|
||||
can(AbilityAction.Update, 'Company', { workspaceId: workspace.id });
|
||||
|
||||
// Person
|
||||
can(AbilityAction.Read, 'Person', { workspaceId: workspace.id });
|
||||
can(AbilityAction.Create, 'Person');
|
||||
can(AbilityAction.Update, 'Person', { workspaceId: workspace.id });
|
||||
|
||||
// RefreshToken
|
||||
cannot(AbilityAction.Manage, 'RefreshToken');
|
||||
|
||||
// CommentThread
|
||||
can(AbilityAction.Read, 'CommentThread', { workspaceId: workspace.id });
|
||||
can(AbilityAction.Create, 'CommentThread');
|
||||
|
||||
// Comment
|
||||
can(AbilityAction.Read, 'Comment', { workspaceId: workspace.id });
|
||||
can(AbilityAction.Create, 'Comment');
|
||||
can(AbilityAction.Update, 'Comment', {
|
||||
workspaceId: workspace.id,
|
||||
authorId: user.id,
|
||||
|
||||
@ -47,6 +47,7 @@ export class UpdateCompanyAbilityHandler implements IAbilityHandler {
|
||||
const company = await this.prismaService.company.findFirst({
|
||||
where: args.where,
|
||||
});
|
||||
|
||||
assert(company, '', NotFoundException);
|
||||
|
||||
return ability.can(AbilityAction.Update, subject('Company', company));
|
||||
|
||||
@ -24,11 +24,11 @@ import {
|
||||
CreateCompanyAbilityHandler,
|
||||
DeleteCompanyAbilityHandler,
|
||||
ReadCompanyAbilityHandler,
|
||||
UpdateCompanyAbilityHandler,
|
||||
} from 'src/ability/handlers/company.ability-handler';
|
||||
import { UserAbility } from 'src/decorators/user-ability.decorator';
|
||||
import { AppAbility } from 'src/ability/ability.factory';
|
||||
import { accessibleBy } from '@casl/prisma';
|
||||
import { UpdateCommentAbilityHandler } from 'src/ability/handlers/comment.ability-handler';
|
||||
|
||||
@UseGuards(JwtAuthGuard)
|
||||
@Resolver(() => Company)
|
||||
@ -59,7 +59,7 @@ export class CompanyResolver {
|
||||
nullable: true,
|
||||
})
|
||||
@UseGuards(AbilityGuard)
|
||||
@CheckAbilities(UpdateCommentAbilityHandler)
|
||||
@CheckAbilities(UpdateCompanyAbilityHandler)
|
||||
async updateOneCompany(
|
||||
@Args() args: UpdateOneCompanyArgs,
|
||||
@PrismaSelector({ modelName: 'Company' })
|
||||
|
||||
Reference in New Issue
Block a user