1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { require } from './require';
6 import { maxLength } from './max-length';
7 import { isRsaKey } from './is-rsa-key';
8 import { isRemoteHost } from "./is-remote-host";
9 import { validFilePath, validName, validNameAllowSlash } from "./valid-name";
11 export const TAG_KEY_VALIDATION = [require, maxLength(255)];
12 export const TAG_VALUE_VALIDATION = [require, maxLength(255)];
14 export const PROJECT_NAME_VALIDATION = [require, validName, maxLength(255)];
15 export const PROJECT_NAME_VALIDATION_ALLOW_SLASH = [require, validNameAllowSlash, maxLength(255)];
17 export const COLLECTION_NAME_VALIDATION = [require, validName, maxLength(255)];
18 export const COLLECTION_NAME_VALIDATION_ALLOW_SLASH = [require, validNameAllowSlash, maxLength(255)];
19 export const COLLECTION_DESCRIPTION_VALIDATION = [maxLength(255)];
20 export const COLLECTION_PROJECT_VALIDATION = [require];
22 export const COPY_NAME_VALIDATION = [require, maxLength(255)];
23 export const COPY_FILE_VALIDATION = [require];
24 export const RENAME_FILE_VALIDATION = [require, validFilePath];
26 export const MOVE_TO_VALIDATION = [require];
28 export const PROCESS_NAME_VALIDATION = [require, maxLength(255)];
29 export const PROCESS_DESCRIPTION_VALIDATION = [maxLength(255)];
31 export const REPOSITORY_NAME_VALIDATION = [require, maxLength(255)];
33 export const USER_EMAIL_VALIDATION = [require, maxLength(255)];
34 export const USER_LENGTH_VALIDATION = [maxLength(255)];
36 export const SSH_KEY_PUBLIC_VALIDATION = [require, isRsaKey, maxLength(1024)];
37 export const SSH_KEY_NAME_VALIDATION = [require, maxLength(255)];
39 export const SITE_MANAGER_REMOTE_HOST_VALIDATION = [require, isRemoteHost, maxLength(255)];
41 export const MY_ACCOUNT_VALIDATION = [require];
43 export const CHOOSE_VM_VALIDATION = [require];