fix(repos): ssh url 校验规则修改,不强制要求仅有用户名时要求追加:分隔。

This commit is contained in:
Ivan Li 2021-02-27 22:55:00 +08:00
parent 1d8b99fe8e
commit 3b7c50438f
2 changed files with 5 additions and 2 deletions

View File

@ -3,6 +3,7 @@ import {
IsOptional, IsOptional,
IsString, IsString,
IsUrl, IsUrl,
Matches,
MaxLength, MaxLength,
MinLength, MinLength,
} from 'class-validator'; } from 'class-validator';
@ -19,7 +20,9 @@ export class CreateProjectInput {
@MinLength(2) @MinLength(2)
comment: string; comment: string;
@IsUrl({ protocols: ['ssh'] }) @Matches(
/^(?:ssh:\/\/)?(?:[\w\d-_]+@)(?:[\w\d-_]+\.)*\w{2,10}(?::\d{1,5})?(?:\/[\w\d-_.]+)*/,
)
@MaxLength(256) @MaxLength(256)
sshUrl: string; sshUrl: string;

View File

@ -31,7 +31,7 @@ export class ReposService {
// TODO: 获取锁,失败抛错。 // TODO: 获取锁,失败抛错。
} }
async getGit(project: Project, subDir?: string) { async getGit(project: Project, subDir = 'default') {
const workspaceRoot = this.getWorkspaceRoot(project, subDir); const workspaceRoot = this.getWorkspaceRoot(project, subDir);
await this.lockWorkspace(workspaceRoot); await this.lockWorkspace(workspaceRoot);