From c1455c74ff5e5f1210acf9a7e602b266bb6bfbac Mon Sep 17 00:00:00 2001 From: Muzzaiyyan Hussain Date: Wed, 12 Nov 2025 18:22:42 +0530 Subject: [PATCH] feat(cli): allow using project name to resolve project ID (#2594) --- .../src/services/project/project-service.ts | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/backend/src/services/project/project-service.ts b/backend/src/services/project/project-service.ts index fb2eb70afc8..ae081058524 100644 --- a/backend/src/services/project/project-service.ts +++ b/backend/src/services/project/project-service.ts @@ -1976,9 +1976,48 @@ export const projectServiceFactory = ({ }); }; + const getProjectByName = async ({ + name, + actor, + actorId, + actorOrgId, + actorAuthMethod +}: { + name: string; + actor: ActorType; + actorId: string; + actorOrgId: string; + actorAuthMethod: ActorAuthMethod; +}) => { + const project = await projectDAL.findOne({ name, orgId: actorOrgId }); + if (!project) { + throw new NotFoundError({ + message: `Project with name '${name}' not found` + }); + } + + const { permission } = await permissionService.getProjectPermission({ + actor, + actorId, + projectId: project.id, + actorAuthMethod, + actorOrgId, + actionProjectType: ActionProjectType.Any + }); + + ForbiddenError.from(permission).throwUnlessCan( + ProjectPermissionActions.Read, + ProjectPermissionSub.Project + ); + + return project; +}; + + return { createProject, deleteProject, + getProjectByName, getProjects, updateProject, getProjectUpgradeStatus,