mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-03 14:26:02 +00:00
fix: removed projectMembershipId entirely
This commit is contained in:
@@ -84,7 +84,6 @@ export const registerIdentityProjectAdditionalPrivilegeRouter = async (server: F
|
|||||||
privilege: {
|
privilege: {
|
||||||
...privilege,
|
...privilege,
|
||||||
identityId: req.body.identityId,
|
identityId: req.body.identityId,
|
||||||
projectMembershipId: privilege.projectMembershipId || req.body.projectId,
|
|
||||||
projectId: req.body.projectId,
|
projectId: req.body.projectId,
|
||||||
slug: privilege.name
|
slug: privilege.name
|
||||||
}
|
}
|
||||||
@@ -168,7 +167,6 @@ export const registerIdentityProjectAdditionalPrivilegeRouter = async (server: F
|
|||||||
privilege: {
|
privilege: {
|
||||||
...privilege,
|
...privilege,
|
||||||
identityId: privilegeDoc.actorIdentityId as string,
|
identityId: privilegeDoc.actorIdentityId as string,
|
||||||
projectMembershipId: privilege.projectMembershipId || (privilegeDoc.projectId as string),
|
|
||||||
projectId: privilegeDoc.projectId as string,
|
projectId: privilegeDoc.projectId as string,
|
||||||
slug: privilege.name
|
slug: privilege.name
|
||||||
}
|
}
|
||||||
@@ -222,7 +220,6 @@ export const registerIdentityProjectAdditionalPrivilegeRouter = async (server: F
|
|||||||
privilege: {
|
privilege: {
|
||||||
...privilege,
|
...privilege,
|
||||||
identityId: privilegeDoc.actorIdentityId as string,
|
identityId: privilegeDoc.actorIdentityId as string,
|
||||||
projectMembershipId: privilege.projectMembershipId || (privilegeDoc.projectId as string),
|
|
||||||
projectId: privilegeDoc.projectId as string,
|
projectId: privilegeDoc.projectId as string,
|
||||||
slug: privilege.name
|
slug: privilege.name
|
||||||
}
|
}
|
||||||
@@ -276,7 +273,6 @@ export const registerIdentityProjectAdditionalPrivilegeRouter = async (server: F
|
|||||||
privilege: {
|
privilege: {
|
||||||
...privilege,
|
...privilege,
|
||||||
identityId: privilegeDoc.actorIdentityId as string,
|
identityId: privilegeDoc.actorIdentityId as string,
|
||||||
projectMembershipId: privilege.projectMembershipId || (privilegeDoc.projectId as string),
|
|
||||||
projectId: privilegeDoc.projectId as string,
|
projectId: privilegeDoc.projectId as string,
|
||||||
slug: privilege.name
|
slug: privilege.name
|
||||||
}
|
}
|
||||||
@@ -339,7 +335,6 @@ export const registerIdentityProjectAdditionalPrivilegeRouter = async (server: F
|
|||||||
privilege: {
|
privilege: {
|
||||||
...privilege,
|
...privilege,
|
||||||
identityId: req.query.identityId,
|
identityId: req.query.identityId,
|
||||||
projectMembershipId: privilege.projectMembershipId || (privilege.projectId as string),
|
|
||||||
projectId,
|
projectId,
|
||||||
slug: privilege.name
|
slug: privilege.name
|
||||||
}
|
}
|
||||||
@@ -391,7 +386,6 @@ export const registerIdentityProjectAdditionalPrivilegeRouter = async (server: F
|
|||||||
privileges: privileges.map((privilege) => ({
|
privileges: privileges.map((privilege) => ({
|
||||||
...privilege,
|
...privilege,
|
||||||
identityId: req.query.identityId,
|
identityId: req.query.identityId,
|
||||||
projectMembershipId: privilege.projectMembershipId || (privilege.projectId as string),
|
|
||||||
projectId: req.query.projectId,
|
projectId: req.query.projectId,
|
||||||
slug: privilege.name
|
slug: privilege.name
|
||||||
}))
|
}))
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ import { IdentityProjectAdditionalPrivilegeSchema } from "@app/db/schemas";
|
|||||||
|
|
||||||
import { UnpackedPermissionSchema } from "./permission";
|
import { UnpackedPermissionSchema } from "./permission";
|
||||||
|
|
||||||
export const SanitizedIdentityPrivilegeSchema = IdentityProjectAdditionalPrivilegeSchema.extend({
|
export const SanitizedIdentityPrivilegeSchema = IdentityProjectAdditionalPrivilegeSchema.omit({
|
||||||
|
projectMembershipId: true
|
||||||
|
}).extend({
|
||||||
permissions: UnpackedPermissionSchema.array()
|
permissions: UnpackedPermissionSchema.array()
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -58,21 +58,6 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
const scope = factory.getScopeField(dto.scopeData);
|
const scope = factory.getScopeField(dto.scopeData);
|
||||||
const dbActorField = data.actorType === ActorType.IDENTITY ? "actorIdentityId" : "actorUserId";
|
const dbActorField = data.actorType === ActorType.IDENTITY ? "actorIdentityId" : "actorUserId";
|
||||||
|
|
||||||
let projectMembershipId: string | undefined;
|
|
||||||
if (scope.key === "projectId") {
|
|
||||||
const projectMembership = await membershipDAL.findOne({
|
|
||||||
[dbActorField]: data.actorId,
|
|
||||||
scopeProjectId: scope.value,
|
|
||||||
scope: AccessScope.Project
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!projectMembership) {
|
|
||||||
throw new NotFoundError({ message: `Project membership for ${data.actorType} ${data.actorId} not found` });
|
|
||||||
}
|
|
||||||
|
|
||||||
projectMembershipId = projectMembership.id;
|
|
||||||
}
|
|
||||||
|
|
||||||
const existingSlug = await additionalPrivilegeDAL.findOne({
|
const existingSlug = await additionalPrivilegeDAL.findOne({
|
||||||
name: data.name,
|
name: data.name,
|
||||||
[dbActorField]: data.actorId,
|
[dbActorField]: data.actorId,
|
||||||
@@ -96,8 +81,7 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
return {
|
return {
|
||||||
additionalPrivilege: {
|
additionalPrivilege: {
|
||||||
...additionalPrivilege,
|
...additionalPrivilege,
|
||||||
permissions: unpackPermissions(additionalPrivilege.permissions),
|
permissions: unpackPermissions(additionalPrivilege.permissions)
|
||||||
projectMembershipId
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -124,8 +108,7 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
return {
|
return {
|
||||||
additionalPrivilege: {
|
additionalPrivilege: {
|
||||||
...additionalPrivilege,
|
...additionalPrivilege,
|
||||||
permissions: unpackPermissions(additionalPrivilege.permissions),
|
permissions: unpackPermissions(additionalPrivilege.permissions)
|
||||||
projectMembershipId
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -137,21 +120,6 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
const scope = factory.getScopeField(dto.scopeData);
|
const scope = factory.getScopeField(dto.scopeData);
|
||||||
const dbActorField = dto.selector.actorType === ActorType.IDENTITY ? "actorIdentityId" : "actorUserId";
|
const dbActorField = dto.selector.actorType === ActorType.IDENTITY ? "actorIdentityId" : "actorUserId";
|
||||||
|
|
||||||
let projectMembershipId: string | undefined;
|
|
||||||
if (scope.key === "projectId") {
|
|
||||||
const projectMembership = await membershipDAL.findOne({
|
|
||||||
[dbActorField]: dto.selector.actorId,
|
|
||||||
scopeProjectId: scope.value,
|
|
||||||
scope: AccessScope.Project
|
|
||||||
});
|
|
||||||
if (!projectMembership) {
|
|
||||||
throw new NotFoundError({
|
|
||||||
message: `Project membership for ${dto.selector.actorType} ${dto.selector.actorId} not found`
|
|
||||||
});
|
|
||||||
}
|
|
||||||
projectMembershipId = projectMembership.id;
|
|
||||||
}
|
|
||||||
|
|
||||||
const existingPrivilege = await additionalPrivilegeDAL.findOne({
|
const existingPrivilege = await additionalPrivilegeDAL.findOne({
|
||||||
[dbActorField]: dto.selector.actorId,
|
[dbActorField]: dto.selector.actorId,
|
||||||
id: dto.selector.id,
|
id: dto.selector.id,
|
||||||
@@ -176,8 +144,7 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
return {
|
return {
|
||||||
additionalPrivilege: {
|
additionalPrivilege: {
|
||||||
...additionalPrivilege,
|
...additionalPrivilege,
|
||||||
permissions: unpackPermissions(additionalPrivilege.permissions),
|
permissions: unpackPermissions(additionalPrivilege.permissions)
|
||||||
projectMembershipId
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -202,8 +169,7 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
return {
|
return {
|
||||||
additionalPrivilege: {
|
additionalPrivilege: {
|
||||||
...additionalPrivilege,
|
...additionalPrivilege,
|
||||||
permissions: unpackPermissions(additionalPrivilege.permissions),
|
permissions: unpackPermissions(additionalPrivilege.permissions)
|
||||||
projectMembershipId
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -215,21 +181,6 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
const scope = factory.getScopeField(dto.scopeData);
|
const scope = factory.getScopeField(dto.scopeData);
|
||||||
const dbActorField = dto.selector.actorType === ActorType.IDENTITY ? "actorIdentityId" : "actorUserId";
|
const dbActorField = dto.selector.actorType === ActorType.IDENTITY ? "actorIdentityId" : "actorUserId";
|
||||||
|
|
||||||
let projectMembershipId: string | undefined;
|
|
||||||
if (scope.key === "projectId") {
|
|
||||||
const projectMembership = await membershipDAL.findOne({
|
|
||||||
[dbActorField]: dto.selector.actorId,
|
|
||||||
scopeProjectId: scope.value,
|
|
||||||
scope: AccessScope.Project
|
|
||||||
});
|
|
||||||
if (!projectMembership) {
|
|
||||||
throw new NotFoundError({
|
|
||||||
message: `Project membership for ${dto.selector.actorType} ${dto.selector.actorId} not found`
|
|
||||||
});
|
|
||||||
}
|
|
||||||
projectMembershipId = projectMembership.id;
|
|
||||||
}
|
|
||||||
|
|
||||||
const existingPrivilege = await additionalPrivilegeDAL.findOne({
|
const existingPrivilege = await additionalPrivilegeDAL.findOne({
|
||||||
id: selector.id,
|
id: selector.id,
|
||||||
[dbActorField]: dto.selector.actorId,
|
[dbActorField]: dto.selector.actorId,
|
||||||
@@ -242,8 +193,7 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
return {
|
return {
|
||||||
additionalPrivilege: {
|
additionalPrivilege: {
|
||||||
...additionalPrivilege,
|
...additionalPrivilege,
|
||||||
permissions: unpackPermissions(additionalPrivilege.permissions),
|
permissions: unpackPermissions(additionalPrivilege.permissions)
|
||||||
projectMembershipId
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -255,21 +205,6 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
const scope = factory.getScopeField(dto.scopeData);
|
const scope = factory.getScopeField(dto.scopeData);
|
||||||
const dbActorField = dto.selector.actorType === ActorType.IDENTITY ? "actorIdentityId" : "actorUserId";
|
const dbActorField = dto.selector.actorType === ActorType.IDENTITY ? "actorIdentityId" : "actorUserId";
|
||||||
|
|
||||||
let projectMembershipId: string | undefined;
|
|
||||||
if (scope.key === "projectId") {
|
|
||||||
const projectMembership = await membershipDAL.findOne({
|
|
||||||
[dbActorField]: dto.selector.actorId,
|
|
||||||
scopeProjectId: scope.value,
|
|
||||||
scope: AccessScope.Project
|
|
||||||
});
|
|
||||||
if (!projectMembership) {
|
|
||||||
throw new NotFoundError({
|
|
||||||
message: `Project membership for ${dto.selector.actorType} ${dto.selector.actorId} not found`
|
|
||||||
});
|
|
||||||
}
|
|
||||||
projectMembershipId = projectMembership.id;
|
|
||||||
}
|
|
||||||
|
|
||||||
const additionalPrivilege = await additionalPrivilegeDAL.findOne({
|
const additionalPrivilege = await additionalPrivilegeDAL.findOne({
|
||||||
id: selector.id,
|
id: selector.id,
|
||||||
[dbActorField]: dto.selector.actorId,
|
[dbActorField]: dto.selector.actorId,
|
||||||
@@ -281,8 +216,7 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
return {
|
return {
|
||||||
additionalPrivilege: {
|
additionalPrivilege: {
|
||||||
...additionalPrivilege,
|
...additionalPrivilege,
|
||||||
permissions: unpackPermissions(additionalPrivilege.permissions),
|
permissions: unpackPermissions(additionalPrivilege.permissions)
|
||||||
projectMembershipId
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -294,21 +228,6 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
const dbActorField = dto.selector.actorType === ActorType.IDENTITY ? "actorIdentityId" : "actorUserId";
|
const dbActorField = dto.selector.actorType === ActorType.IDENTITY ? "actorIdentityId" : "actorUserId";
|
||||||
const scope = factory.getScopeField(dto.scopeData);
|
const scope = factory.getScopeField(dto.scopeData);
|
||||||
|
|
||||||
let projectMembershipId: string | undefined;
|
|
||||||
if (scope.key === "projectId") {
|
|
||||||
const projectMembership = await membershipDAL.findOne({
|
|
||||||
[dbActorField]: dto.selector.actorId,
|
|
||||||
scopeProjectId: scope.value,
|
|
||||||
scope: AccessScope.Project
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!projectMembership) {
|
|
||||||
throw new NotFoundError({
|
|
||||||
message: `Project membership for ${dto.selector.actorType} ${dto.selector.actorId} not found`
|
|
||||||
});
|
|
||||||
}
|
|
||||||
projectMembershipId = projectMembership.id;
|
|
||||||
}
|
|
||||||
const additionalPrivilege = await additionalPrivilegeDAL.findOne({
|
const additionalPrivilege = await additionalPrivilegeDAL.findOne({
|
||||||
name: selector.name,
|
name: selector.name,
|
||||||
[dbActorField]: dto.selector.actorId,
|
[dbActorField]: dto.selector.actorId,
|
||||||
@@ -320,8 +239,7 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
return {
|
return {
|
||||||
additionalPrivilege: {
|
additionalPrivilege: {
|
||||||
...additionalPrivilege,
|
...additionalPrivilege,
|
||||||
permissions: unpackPermissions(additionalPrivilege.permissions),
|
permissions: unpackPermissions(additionalPrivilege.permissions)
|
||||||
projectMembershipId
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -333,21 +251,6 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
const scope = factory.getScopeField(dto.scopeData);
|
const scope = factory.getScopeField(dto.scopeData);
|
||||||
const dbActorField = dto.selector.actorType === ActorType.IDENTITY ? "actorIdentityId" : "actorUserId";
|
const dbActorField = dto.selector.actorType === ActorType.IDENTITY ? "actorIdentityId" : "actorUserId";
|
||||||
|
|
||||||
let projectMembershipId: string | undefined;
|
|
||||||
if (scope.key === "projectId") {
|
|
||||||
const projectMembership = await membershipDAL.findOne({
|
|
||||||
[dbActorField]: dto.selector.actorId,
|
|
||||||
scopeProjectId: scope.value,
|
|
||||||
scope: AccessScope.Project
|
|
||||||
});
|
|
||||||
if (!projectMembership) {
|
|
||||||
throw new NotFoundError({
|
|
||||||
message: `Project membership for ${dto.selector.actorType} ${dto.selector.actorId} not found`
|
|
||||||
});
|
|
||||||
}
|
|
||||||
projectMembershipId = projectMembership.id;
|
|
||||||
}
|
|
||||||
|
|
||||||
const additionalPrivileges = await additionalPrivilegeDAL.find({
|
const additionalPrivileges = await additionalPrivilegeDAL.find({
|
||||||
[dbActorField]: dto.selector.actorId,
|
[dbActorField]: dto.selector.actorId,
|
||||||
[scope.key]: scope.value
|
[scope.key]: scope.value
|
||||||
@@ -356,7 +259,6 @@ export const additionalPrivilegeServiceFactory = ({
|
|||||||
return {
|
return {
|
||||||
additionalPrivileges: additionalPrivileges.map((el) => ({
|
additionalPrivileges: additionalPrivileges.map((el) => ({
|
||||||
...el,
|
...el,
|
||||||
projectMembershipId,
|
|
||||||
permissions: unpackPermissions(el.permissions)
|
permissions: unpackPermissions(el.permissions)
|
||||||
}))
|
}))
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user