diff --git a/app/javascript/dashboard/components-next/Contacts/ContactsSidebar/ContactCustomAttributes.vue b/app/javascript/dashboard/components-next/Contacts/ContactsSidebar/ContactCustomAttributes.vue index cb9a45ce3..f2a5c1ee8 100644 --- a/app/javascript/dashboard/components-next/Contacts/ContactsSidebar/ContactCustomAttributes.vue +++ b/app/javascript/dashboard/components-next/Contacts/ContactsSidebar/ContactCustomAttributes.vue @@ -16,10 +16,7 @@ const { t } = useI18n(); const searchQuery = ref(''); -const contactAttributes = computed(() => { - const attributes = useMapGetter('attributes/getAttributesByModelType'); - return attributes.value('contact_attribute') || []; -}); +const contactAttributes = useMapGetter('attributes/getContactAttributes') || []; const hasContactAttributes = computed( () => contactAttributes.value?.length > 0 diff --git a/app/javascript/dashboard/composables/useTransformKeys.js b/app/javascript/dashboard/composables/useTransformKeys.js index 6c5f72478..e1feaf1a7 100644 --- a/app/javascript/dashboard/composables/useTransformKeys.js +++ b/app/javascript/dashboard/composables/useTransformKeys.js @@ -23,16 +23,3 @@ export function useSnakeCase(payload) { const unrefPayload = unref(payload); return snakecaseKeys(unrefPayload); } - -/** - * Converts a string from snake_case to camelCase - * @param {string} str - String to convert (can contain letters, numbers, or both) - * Examples: 'hello_world', 'user_123', 'checkbox_2', 'test_string_99' - * @returns {string} Converted string in camelCase - * Examples: 'helloWorld', 'user123', 'checkbox2', 'testString99' - */ -export function toCamelCase(str) { - return str - .toLowerCase() - .replace(/_([a-z0-9])/g, (_, char) => char.toUpperCase()); -} diff --git a/app/javascript/dashboard/store/modules/attributes.js b/app/javascript/dashboard/store/modules/attributes.js index 3d0cd78bd..c7cb771a5 100644 --- a/app/javascript/dashboard/store/modules/attributes.js +++ b/app/javascript/dashboard/store/modules/attributes.js @@ -35,12 +35,6 @@ export const getters = { record => record.attribute_model === attributeModel ); }, - getAttributesByModelType: _state => attributeModel => { - const records = _state.records.filter( - record => record.attribute_model === attributeModel - ); - return camelcaseKeys(records, { deep: true }); - }, }; export const actions = { diff --git a/app/javascript/dashboard/store/modules/contacts/actions.js b/app/javascript/dashboard/store/modules/contacts/actions.js index be1a11790..80fe44beb 100644 --- a/app/javascript/dashboard/store/modules/contacts/actions.js +++ b/app/javascript/dashboard/store/modules/contacts/actions.js @@ -93,7 +93,7 @@ export const actions = { update: async ({ commit }, { id, isFormData = false, ...contactParams }) => { const { avatar, customAttributes, ...paramsToDecamelize } = contactParams; const decamelizedContactParams = { - ...snakecaseKeys(paramsToDecamelize), + ...snakecaseKeys(paramsToDecamelize, { deep: true }), ...(customAttributes && { custom_attributes: customAttributes }), ...(avatar && { avatar }), };