refactor(pipedrive): make filterProvidedFields func reusable
This commit is contained in:
@@ -1,13 +1,5 @@
|
||||
import defineAction from '../../../../helpers/define-action';
|
||||
|
||||
function filterProvidedFields(body: Record<string, unknown>) {
|
||||
return Object.keys(body).reduce<Record<string, unknown>>((result, key) => {
|
||||
if (body[key]) {
|
||||
result[key] = body[key];
|
||||
}
|
||||
return result;
|
||||
}, {});
|
||||
}
|
||||
import { filterProvidedFields } from '../../common/filter-provided-fields';
|
||||
|
||||
export default defineAction({
|
||||
name: 'Create activity',
|
||||
|
@@ -1,13 +1,5 @@
|
||||
import defineAction from '../../../../helpers/define-action';
|
||||
|
||||
function filterProvidedFields(body: Record<string, unknown>) {
|
||||
return Object.keys(body).reduce<Record<string, unknown>>((result, key) => {
|
||||
if (body[key]) {
|
||||
result[key] = body[key];
|
||||
}
|
||||
return result;
|
||||
}, {});
|
||||
}
|
||||
import { filterProvidedFields } from '../../common/filter-provided-fields';
|
||||
|
||||
export default defineAction({
|
||||
name: 'Create deal',
|
||||
|
@@ -1,18 +1,10 @@
|
||||
import defineAction from '../../../../helpers/define-action';
|
||||
import { filterProvidedFields } from '../../common/filter-provided-fields';
|
||||
|
||||
type LabelIds = { __id: string; leadLabelId: string }[];
|
||||
|
||||
type LabelValue = { amount?: number; currency?: string };
|
||||
|
||||
function filterProvidedFields(body: Record<string, unknown>) {
|
||||
return Object.keys(body).reduce<Record<string, unknown>>((result, key) => {
|
||||
if (body[key]) {
|
||||
result[key] = body[key];
|
||||
}
|
||||
return result;
|
||||
}, {});
|
||||
}
|
||||
|
||||
export default defineAction({
|
||||
name: 'Create lead',
|
||||
key: 'createLead',
|
||||
@@ -176,18 +168,12 @@ export default defineAction({
|
||||
organization_id: Number(organizationId),
|
||||
owner_id: Number(ownerId),
|
||||
expected_close_date: expectedCloseDate as string,
|
||||
label_ids: onlyLabelIds,
|
||||
value: labelValue,
|
||||
};
|
||||
|
||||
const body = filterProvidedFields(fields);
|
||||
|
||||
if (onlyLabelIds.length) {
|
||||
body.label_ids = onlyLabelIds;
|
||||
}
|
||||
|
||||
if (Object.keys(labelValue).length) {
|
||||
body.value = labelValue;
|
||||
}
|
||||
|
||||
const {
|
||||
data: { data },
|
||||
} = await $.http.post('/api/v1/leads', body);
|
||||
|
@@ -1,13 +1,5 @@
|
||||
import defineAction from '../../../../helpers/define-action';
|
||||
|
||||
function filterProvidedFields(body: Record<string, unknown>) {
|
||||
return Object.keys(body).reduce<Record<string, unknown>>((result, key) => {
|
||||
if (body[key]) {
|
||||
result[key] = body[key];
|
||||
}
|
||||
return result;
|
||||
}, {});
|
||||
}
|
||||
import { filterProvidedFields } from '../../common/filter-provided-fields';
|
||||
|
||||
export default defineAction({
|
||||
name: 'Create note',
|
||||
|
@@ -1,13 +1,5 @@
|
||||
import defineAction from '../../../../helpers/define-action';
|
||||
|
||||
function filterProvidedFields(body: Record<string, unknown>) {
|
||||
return Object.keys(body).reduce<Record<string, unknown>>((result, key) => {
|
||||
if (body[key]) {
|
||||
result[key] = body[key];
|
||||
}
|
||||
return result;
|
||||
}, {});
|
||||
}
|
||||
import { filterProvidedFields } from '../../common/filter-provided-fields';
|
||||
|
||||
export default defineAction({
|
||||
name: 'Create organization',
|
||||
|
@@ -1,4 +1,5 @@
|
||||
import defineAction from '../../../../helpers/define-action';
|
||||
import { filterProvidedFields } from '../../common/filter-provided-fields';
|
||||
|
||||
type TEmail = {
|
||||
__id: string;
|
||||
@@ -10,15 +11,6 @@ type TPhone = {
|
||||
phone: string;
|
||||
}[];
|
||||
|
||||
function filterProvidedFields(body: Record<string, unknown>) {
|
||||
return Object.keys(body).reduce<Record<string, unknown>>((result, key) => {
|
||||
if (body[key]) {
|
||||
result[key] = body[key];
|
||||
}
|
||||
return result;
|
||||
}, {});
|
||||
}
|
||||
|
||||
export default defineAction({
|
||||
name: 'Create person',
|
||||
key: 'createPerson',
|
||||
|
@@ -0,0 +1,18 @@
|
||||
import isObject from 'lodash/isObject';
|
||||
|
||||
export function filterProvidedFields(body: Record<string, unknown>) {
|
||||
return Object.keys(body).reduce<Record<string, unknown>>((result, key) => {
|
||||
const value = body[key];
|
||||
if (isObject(value)) {
|
||||
const filteredNestedObj = filterProvidedFields(
|
||||
value as Record<string, unknown>
|
||||
);
|
||||
if (Object.keys(filteredNestedObj).length > 0) {
|
||||
result[key] = filteredNestedObj;
|
||||
}
|
||||
} else if (body[key]) {
|
||||
result[key] = value;
|
||||
}
|
||||
return result;
|
||||
}, {});
|
||||
}
|
Reference in New Issue
Block a user