twenty / packages /twenty-server /src /engine /metadata-modules /flat-field-metadata /utils /nullify-empty-address-default-value.util.ts
Jules
Initial clean CRM deployment with prebuilt assets
d9494a5
Raw
History Blame Contribute Delete
1.98 kB
import { type FieldMetadataDefaultValueForAnyType } from 'twenty-shared/types';
import { isDefined } from 'twenty-shared/utils';
import { isNullEquivalentTextDefaultValue } from './is-null-equivalent-text-default-value.util';
export const nullifyEmptyAddressDefaultValue = (
defaultValue: FieldMetadataDefaultValueForAnyType,
): FieldMetadataDefaultValueForAnyType => {
if (!isDefined(defaultValue)) {
return null;
}
const v = defaultValue as {
addressStreet1?: string | null;
addressStreet2?: string | null;
addressCity?: string | null;
addressState?: string | null;
addressCountry?: string | null;
addressPostcode?: string | null;
addressLat?: number | null;
addressLng?: number | null;
};
const addressStreet1 = isNullEquivalentTextDefaultValue(v.addressStreet1)
? null
: (v.addressStreet1 ?? null);
const addressStreet2 = isNullEquivalentTextDefaultValue(v.addressStreet2)
? null
: (v.addressStreet2 ?? null);
const addressCity = isNullEquivalentTextDefaultValue(v.addressCity)
? null
: (v.addressCity ?? null);
const addressState = isNullEquivalentTextDefaultValue(v.addressState)
? null
: (v.addressState ?? null);
const addressCountry = isNullEquivalentTextDefaultValue(v.addressCountry)
? null
: (v.addressCountry ?? null);
const addressPostcode = isNullEquivalentTextDefaultValue(v.addressPostcode)
? null
: (v.addressPostcode ?? null);
const addressLat = v.addressLat ?? null;
const addressLng = v.addressLng ?? null;
if (
addressStreet1 === null &&
addressStreet2 === null &&
addressCity === null &&
addressState === null &&
addressCountry === null &&
addressPostcode === null &&
addressLat === null &&
addressLng === null
) {
return null;
}
return {
addressStreet1,
addressStreet2,
addressCity,
addressState,
addressCountry,
addressPostcode,
addressLat,
addressLng,
};
};