summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/import_entities/import_groups/utils.js
blob: 1d0ab75e1cbb14f1f957756cb2347426677ae248 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { STATUSES } from '../constants';
import { NEW_NAME_FIELD } from './constants';

export function isNameValid(importTarget, validationRegex) {
  return validationRegex.test(importTarget[NEW_NAME_FIELD]);
}

export function getInvalidNameValidationMessage(importTarget) {
  return importTarget.validationErrors?.find(({ field }) => field === NEW_NAME_FIELD)?.message;
}

export function isFinished(group) {
  return [STATUSES.FINISHED, STATUSES.FAILED].includes(group.progress?.status);
}

export function isAvailableForImport(group) {
  return !group.progress || isFinished(group);
}

export function isSameTarget(importTarget) {
  return (target) =>
    target !== importTarget &&
    target.newName.toLowerCase() === importTarget.newName.toLowerCase() &&
    target.targetNamespace.id === importTarget.targetNamespace.id;
}