diff --git a/packages/services/api/src/modules/project/resolvers.ts b/packages/services/api/src/modules/project/resolvers.ts index 39e6c27bd..fa63081ac 100644 --- a/packages/services/api/src/modules/project/resolvers.ts +++ b/packages/services/api/src/modules/project/resolvers.ts @@ -8,6 +8,10 @@ import { z } from 'zod'; const ProjectNameModel = z.string().min(2).max(40); const URLModel = z.string().url().max(200); +const RepoOwnerWithNameModel = z + .string() + .regex(/^[^/]+\/[^/]+$/, 'Expected owner/name format') + .max(200); const MaybeModel = (value: T) => z.union([z.null(), z.undefined(), value]); export const resolvers: ProjectModule.Resolvers & { ProjectType: any } = { @@ -137,7 +141,7 @@ export const resolvers: ProjectModule.Resolvers & { ProjectType: any } = { }, async updateProjectGitRepository(_, { input }, { injector }) { const UpdateProjectGitRepositoryModel = z.object({ - gitRepository: MaybeModel(URLModel), + gitRepository: MaybeModel(RepoOwnerWithNameModel), }); const result = UpdateProjectGitRepositoryModel.safeParse(input);