feat: add Links field type (#5176)
Closes #5113 --------- Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
import { isNonEmptyString } from '@sniptt/guards';
|
||||
|
||||
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
|
||||
import { FieldMetadataType } from '~/generated/graphql';
|
||||
import { FieldMetadataType } from '~/generated-metadata/graphql';
|
||||
|
||||
export const generateEmptyFieldValue = (
|
||||
fieldMetadataItem: FieldMetadataItem,
|
||||
@ -18,6 +18,9 @@ export const generateEmptyFieldValue = (
|
||||
url: '',
|
||||
};
|
||||
}
|
||||
case FieldMetadataType.Links: {
|
||||
return { primaryLinkUrl: '', primaryLinkLabel: '' };
|
||||
}
|
||||
case FieldMetadataType.FullName: {
|
||||
return {
|
||||
firstName: '',
|
||||
|
||||
@ -1,13 +0,0 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
export const sanitizeLink = (url: string) =>
|
||||
getUrlHostName(url) || getUrlHostName(`https://${url}`);
|
||||
|
||||
const getUrlHostName = (url: string) => {
|
||||
const urlSchema = z.string().url();
|
||||
const validation = urlSchema.safeParse(url);
|
||||
|
||||
return validation.success
|
||||
? new URL(validation.data).hostname.replace(/^www\./i, '')
|
||||
: '';
|
||||
};
|
||||
@ -4,9 +4,9 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi
|
||||
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
||||
import { isFieldRelationValue } from '@/object-record/record-field/types/guards/isFieldRelationValue';
|
||||
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
|
||||
import { sanitizeLink } from '@/object-record/utils/sanitizeLinkRecordInput';
|
||||
import { FieldMetadataType } from '~/generated/graphql';
|
||||
import { isDefined } from '~/utils/isDefined';
|
||||
import { getUrlHostName } from '~/utils/url/getUrlHostName';
|
||||
|
||||
export const sanitizeRecordInput = ({
|
||||
objectMetadataItem,
|
||||
@ -54,6 +54,6 @@ export const sanitizeRecordInput = ({
|
||||
|
||||
return {
|
||||
...filteredResultRecord,
|
||||
domainName: sanitizeLink(filteredResultRecord.domainName),
|
||||
domainName: getUrlHostName(filteredResultRecord.domainName),
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user