Refactor functions that check typed text in lookups

This commit is contained in:
mabashian 2021-05-27 11:09:06 -04:00
parent 4ec7ba0107
commit 50de068a02
6 changed files with 80 additions and 74 deletions

View File

@ -57,16 +57,17 @@ function ApplicationLookup({ onChange, value, label, fieldName, validate }) {
const checkApplicationName = useCallback(
async name => {
if (name && name !== '') {
try {
const {
data: { results: nameMatchResults, count: nameMatchCount },
} = await ApplicationsAPI.read({ name });
onChange(nameMatchCount ? nameMatchResults[0] : null);
} catch {
onChange(null);
}
} else {
if (!name) {
onChange(null);
return;
}
try {
const {
data: { results: nameMatchResults, count: nameMatchCount },
} = await ApplicationsAPI.read({ name });
onChange(nameMatchCount ? nameMatchResults[0] : null);
} catch {
onChange(null);
}
},

View File

@ -114,31 +114,32 @@ function CredentialLookup({
const checkCredentialName = useCallback(
async name => {
if (name && name !== '') {
try {
const typeIdParams = credentialTypeId
? { credential_type: credentialTypeId }
: {};
const typeKindParams = credentialTypeKind
? { credential_type__kind: credentialTypeKind }
: {};
const typeNamespaceParams = credentialTypeNamespace
? { credential_type__namespace: credentialTypeNamespace }
: {};
if (!name) {
onChange(null);
return;
}
const {
data: { results: nameMatchResults, count: nameMatchCount },
} = await CredentialsAPI.read({
name,
...typeIdParams,
...typeKindParams,
...typeNamespaceParams,
});
onChange(nameMatchCount ? nameMatchResults[0] : null);
} catch {
onChange(null);
}
} else {
try {
const typeIdParams = credentialTypeId
? { credential_type: credentialTypeId }
: {};
const typeKindParams = credentialTypeKind
? { credential_type__kind: credentialTypeKind }
: {};
const typeNamespaceParams = credentialTypeNamespace
? { credential_type__namespace: credentialTypeNamespace }
: {};
const {
data: { results: nameMatchResults, count: nameMatchCount },
} = await CredentialsAPI.read({
name,
...typeIdParams,
...typeKindParams,
...typeNamespaceParams,
});
onChange(nameMatchCount ? nameMatchResults[0] : null);
} catch {
onChange(null);
}
},

View File

@ -116,16 +116,17 @@ function ExecutionEnvironmentLookup({
const checkExecutionEnvironmentName = useCallback(
async name => {
if (name && name !== '') {
try {
const {
data: { results: nameMatchResults, count: nameMatchCount },
} = await ExecutionEnvironmentsAPI.read({ name });
onChange(nameMatchCount ? nameMatchResults[0] : null);
} catch {
onChange(null);
}
} else {
if (!name) {
onChange(null);
return;
}
try {
const {
data: { results: nameMatchResults, count: nameMatchCount },
} = await ExecutionEnvironmentsAPI.read({ name });
onChange(nameMatchCount ? nameMatchResults[0] : null);
} catch {
onChange(null);
}
},

View File

@ -76,16 +76,17 @@ function InventoryLookup({
const checkInventoryName = useCallback(
async name => {
if (name && name !== '') {
try {
const {
data: { results: nameMatchResults, count: nameMatchCount },
} = await InventoriesAPI.read({ name });
onChange(nameMatchCount ? nameMatchResults[0] : null);
} catch {
onChange(null);
}
} else {
if (!name) {
onChange(null);
return;
}
try {
const {
data: { results: nameMatchResults, count: nameMatchCount },
} = await InventoriesAPI.read({ name });
onChange(nameMatchCount ? nameMatchResults[0] : null);
} catch {
onChange(null);
}
},

View File

@ -71,16 +71,17 @@ function OrganizationLookup({
const checkOrganizationName = useCallback(
async name => {
if (name && name !== '') {
try {
const {
data: { results: nameMatchResults, count: nameMatchCount },
} = await OrganizationsAPI.read({ name });
onChange(nameMatchCount ? nameMatchResults[0] : null);
} catch {
onChange(null);
}
} else {
if (!name) {
onChange(null);
return;
}
try {
const {
data: { results: nameMatchResults, count: nameMatchCount },
} = await OrganizationsAPI.read({ name });
onChange(nameMatchCount ? nameMatchResults[0] : null);
} catch {
onChange(null);
}
},

View File

@ -75,16 +75,17 @@ function ProjectLookup({
const checkProjectName = useCallback(
async name => {
if (name && name !== '') {
try {
const {
data: { results: nameMatchResults, count: nameMatchCount },
} = await ProjectsAPI.read({ name });
onChange(nameMatchCount ? nameMatchResults[0] : null);
} catch {
onChange(null);
}
} else {
if (!name) {
onChange(null);
return;
}
try {
const {
data: { results: nameMatchResults, count: nameMatchCount },
} = await ProjectsAPI.read({ name });
onChange(nameMatchCount ? nameMatchResults[0] : null);
} catch {
onChange(null);
}
},