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