fix(authz): expose canInvite gql queries (#4712)
This commit is contained in:
@@ -2586,6 +2586,7 @@ export type ProjectPermissionChecks = {
|
||||
canCreateComment: PermissionCheckResult;
|
||||
canCreateModel: PermissionCheckResult;
|
||||
canDelete: PermissionCheckResult;
|
||||
canInvite: PermissionCheckResult;
|
||||
canLeave: PermissionCheckResult;
|
||||
canLoad: PermissionCheckResult;
|
||||
canMoveToWorkspace: PermissionCheckResult;
|
||||
@@ -4850,6 +4851,7 @@ export type WorkspacePaymentMethod = typeof WorkspacePaymentMethod[keyof typeof
|
||||
export type WorkspacePermissionChecks = {
|
||||
__typename?: 'WorkspacePermissionChecks';
|
||||
canCreateProject: PermissionCheckResult;
|
||||
canInvite: PermissionCheckResult;
|
||||
canMoveProjectToWorkspace: PermissionCheckResult;
|
||||
};
|
||||
|
||||
@@ -8414,6 +8416,7 @@ export type ProjectPermissionChecksFieldArgs = {
|
||||
canCreateComment: {},
|
||||
canCreateModel: {},
|
||||
canDelete: {},
|
||||
canInvite: {},
|
||||
canLeave: {},
|
||||
canLoad: {},
|
||||
canMoveToWorkspace: ProjectPermissionChecksCanMoveToWorkspaceArgs,
|
||||
@@ -9016,6 +9019,7 @@ export type WorkspacePaidPlanPricesFieldArgs = {
|
||||
}
|
||||
export type WorkspacePermissionChecksFieldArgs = {
|
||||
canCreateProject: {},
|
||||
canInvite: {},
|
||||
canMoveProjectToWorkspace: WorkspacePermissionChecksCanMoveProjectToWorkspaceArgs,
|
||||
}
|
||||
export type WorkspacePlanFieldArgs = {
|
||||
|
||||
@@ -15,6 +15,7 @@ type ProjectPermissionChecks {
|
||||
canRequestRender: PermissionCheckResult!
|
||||
canPublish: PermissionCheckResult!
|
||||
canLoad: PermissionCheckResult!
|
||||
canInvite: PermissionCheckResult!
|
||||
}
|
||||
|
||||
type RootPermissionChecks {
|
||||
|
||||
@@ -4,5 +4,6 @@ extend type Workspace {
|
||||
|
||||
type WorkspacePermissionChecks {
|
||||
canCreateProject: PermissionCheckResult!
|
||||
canInvite: PermissionCheckResult!
|
||||
canMoveProjectToWorkspace(projectId: String): PermissionCheckResult!
|
||||
}
|
||||
|
||||
@@ -2609,6 +2609,7 @@ export type ProjectPermissionChecks = {
|
||||
canCreateComment: PermissionCheckResult;
|
||||
canCreateModel: PermissionCheckResult;
|
||||
canDelete: PermissionCheckResult;
|
||||
canInvite: PermissionCheckResult;
|
||||
canLeave: PermissionCheckResult;
|
||||
canLoad: PermissionCheckResult;
|
||||
canMoveToWorkspace: PermissionCheckResult;
|
||||
@@ -4873,6 +4874,7 @@ export type WorkspacePaymentMethod = typeof WorkspacePaymentMethod[keyof typeof
|
||||
export type WorkspacePermissionChecks = {
|
||||
__typename?: 'WorkspacePermissionChecks';
|
||||
canCreateProject: PermissionCheckResult;
|
||||
canInvite: PermissionCheckResult;
|
||||
canMoveProjectToWorkspace: PermissionCheckResult;
|
||||
};
|
||||
|
||||
@@ -6802,6 +6804,7 @@ export type ProjectPermissionChecksResolvers<ContextType = GraphQLContext, Paren
|
||||
canCreateComment?: Resolver<ResolversTypes['PermissionCheckResult'], ParentType, ContextType>;
|
||||
canCreateModel?: Resolver<ResolversTypes['PermissionCheckResult'], ParentType, ContextType>;
|
||||
canDelete?: Resolver<ResolversTypes['PermissionCheckResult'], ParentType, ContextType>;
|
||||
canInvite?: Resolver<ResolversTypes['PermissionCheckResult'], ParentType, ContextType>;
|
||||
canLeave?: Resolver<ResolversTypes['PermissionCheckResult'], ParentType, ContextType>;
|
||||
canLoad?: Resolver<ResolversTypes['PermissionCheckResult'], ParentType, ContextType>;
|
||||
canMoveToWorkspace?: Resolver<ResolversTypes['PermissionCheckResult'], ParentType, ContextType, Partial<ProjectPermissionChecksCanMoveToWorkspaceArgs>>;
|
||||
@@ -7550,6 +7553,7 @@ export type WorkspacePaidPlanPricesResolvers<ContextType = GraphQLContext, Paren
|
||||
|
||||
export type WorkspacePermissionChecksResolvers<ContextType = GraphQLContext, ParentType extends ResolversParentTypes['WorkspacePermissionChecks'] = ResolversParentTypes['WorkspacePermissionChecks']> = {
|
||||
canCreateProject?: Resolver<ResolversTypes['PermissionCheckResult'], ParentType, ContextType>;
|
||||
canInvite?: Resolver<ResolversTypes['PermissionCheckResult'], ParentType, ContextType>;
|
||||
canMoveProjectToWorkspace?: Resolver<ResolversTypes['PermissionCheckResult'], ParentType, ContextType, Partial<WorkspacePermissionChecksCanMoveProjectToWorkspaceArgs>>;
|
||||
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
|
||||
};
|
||||
|
||||
@@ -106,6 +106,13 @@ export default {
|
||||
userId: ctx.userId
|
||||
})
|
||||
return Authz.toGraphqlResult(canLoad)
|
||||
},
|
||||
canInvite: async (parent, _args, ctx) => {
|
||||
const canInvite = await ctx.authPolicies.project.canInvite({
|
||||
projectId: parent.projectId,
|
||||
userId: ctx.userId
|
||||
})
|
||||
return Authz.toGraphqlResult(canInvite)
|
||||
}
|
||||
},
|
||||
ModelPermissionChecks: {
|
||||
|
||||
@@ -2589,6 +2589,7 @@ export type ProjectPermissionChecks = {
|
||||
canCreateComment: PermissionCheckResult;
|
||||
canCreateModel: PermissionCheckResult;
|
||||
canDelete: PermissionCheckResult;
|
||||
canInvite: PermissionCheckResult;
|
||||
canLeave: PermissionCheckResult;
|
||||
canLoad: PermissionCheckResult;
|
||||
canMoveToWorkspace: PermissionCheckResult;
|
||||
@@ -4853,6 +4854,7 @@ export type WorkspacePaymentMethod = typeof WorkspacePaymentMethod[keyof typeof
|
||||
export type WorkspacePermissionChecks = {
|
||||
__typename?: 'WorkspacePermissionChecks';
|
||||
canCreateProject: PermissionCheckResult;
|
||||
canInvite: PermissionCheckResult;
|
||||
canMoveProjectToWorkspace: PermissionCheckResult;
|
||||
};
|
||||
|
||||
|
||||
@@ -15,6 +15,13 @@ export default {
|
||||
})
|
||||
return Authz.toGraphqlResult(canCreateProject)
|
||||
},
|
||||
canInvite: async (parent, _args, ctx) => {
|
||||
const canInvite = await ctx.authPolicies.workspace.canInvite({
|
||||
workspaceId: parent.workspaceId,
|
||||
userId: ctx.userId
|
||||
})
|
||||
return Authz.toGraphqlResult(canInvite)
|
||||
},
|
||||
canMoveProjectToWorkspace: async (parent, args, ctx) => {
|
||||
const canMoveProjectToWorkspace =
|
||||
await ctx.authPolicies.project.canMoveToWorkspace({
|
||||
|
||||
@@ -2590,6 +2590,7 @@ export type ProjectPermissionChecks = {
|
||||
canCreateComment: PermissionCheckResult;
|
||||
canCreateModel: PermissionCheckResult;
|
||||
canDelete: PermissionCheckResult;
|
||||
canInvite: PermissionCheckResult;
|
||||
canLeave: PermissionCheckResult;
|
||||
canLoad: PermissionCheckResult;
|
||||
canMoveToWorkspace: PermissionCheckResult;
|
||||
@@ -4854,6 +4855,7 @@ export type WorkspacePaymentMethod = typeof WorkspacePaymentMethod[keyof typeof
|
||||
export type WorkspacePermissionChecks = {
|
||||
__typename?: 'WorkspacePermissionChecks';
|
||||
canCreateProject: PermissionCheckResult;
|
||||
canInvite: PermissionCheckResult;
|
||||
canMoveProjectToWorkspace: PermissionCheckResult;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user