@zeniai/client-epic-state 5.0.36-betaRD12 → 5.0.36-betaRD13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,4 +10,11 @@ export interface ProjectMetadataPayload {
10
10
  zeni_project_customer_id: string | null;
11
11
  zeni_project_id: string;
12
12
  }
13
+ export interface ProjectBasePayload {
14
+ zeni_project_id: string;
15
+ accounting_provider_project_id?: string | null;
16
+ project_name?: string;
17
+ }
18
+ export declare const toProjectBasePayload: (project: Project | undefined) => ProjectBasePayload;
19
+ export declare const mapProjectBasePayloadToProject: (payload: ProjectBasePayload) => Project;
13
20
  export declare const mapProjectMetadataPayloadToProject: (payload: ProjectMetadataPayload) => Project;
@@ -1,7 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapProjectMetadataPayloadToProject = void 0;
3
+ exports.mapProjectMetadataPayloadToProject = exports.mapProjectBasePayloadToProject = exports.toProjectBasePayload = void 0;
4
4
  const zeniDayJS_1 = require("../../zeniDayJS");
5
+ const toProjectBasePayload = (project) => ({
6
+ zeni_project_id: project?.projectId ?? '',
7
+ accounting_provider_project_id: project?.accountingProviderProjectId ?? null,
8
+ project_name: project?.projectName ?? '',
9
+ });
10
+ exports.toProjectBasePayload = toProjectBasePayload;
11
+ const mapProjectBasePayloadToProject = (payload) => ({
12
+ projectId: payload.zeni_project_id,
13
+ projectName: payload.project_name ?? '',
14
+ ...(payload.accounting_provider_project_id != null
15
+ ? { accountingProviderProjectId: payload.accounting_provider_project_id }
16
+ : {}),
17
+ });
18
+ exports.mapProjectBasePayloadToProject = mapProjectBasePayloadToProject;
5
19
  const mapProjectMetadataPayloadToProject = (payload) => ({
6
20
  projectId: payload.zeni_project_id,
7
21
  projectName: payload.project_name,
@@ -2,6 +2,7 @@ import { Currency } from '../../../commonStateTypes/amount';
2
2
  import { AccountBasePayload } from '../../account/accountPayload';
3
3
  import { ClassBasePayload } from '../../class/classPayload';
4
4
  import { CustomerBasePayload } from '../../customer/customerPayload';
5
+ import { ProjectBasePayload } from '../../project/projectPayload';
5
6
  import { VendorBasePayload } from '../../vendor/vendorPayload';
6
7
  import Line, { BillableStatus, CategorizationStatusType, LineType, TransactionWithAccountAndClassLine } from '../stateTypes/transactionLine';
7
8
  import { AISummaries, AISummary } from '../stateTypes/transactionLine';
@@ -32,6 +33,7 @@ export interface LineDetailPayload {
32
33
  line_detail_type: string;
33
34
  billable_status?: BillableStatus;
34
35
  customer?: CustomerBasePayload;
36
+ project?: ProjectBasePayload;
35
37
  vendor?: VendorBasePayload;
36
38
  }
37
39
  /**
@@ -6,6 +6,7 @@ const amount_1 = require("../../../commonStateTypes/amount");
6
6
  const accountPayload_1 = require("../../account/accountPayload");
7
7
  const classPayload_1 = require("../../class/classPayload");
8
8
  const customerPayload_1 = require("../../customer/customerPayload");
9
+ const projectPayload_1 = require("../../project/projectPayload");
9
10
  const vendorPayload_1 = require("../../vendor/vendorPayload");
10
11
  const transactionLine_1 = require("../stateTypes/transactionLine");
11
12
  const transactionType_1 = require("../stateTypes/transactionType");
@@ -43,6 +44,11 @@ const toTransactionWithAccountAndClassLine = (payload, currency, type = 'transac
43
44
  payload.line_detail.vendor.vendor_id != null
44
45
  ? (0, vendorPayload_1.mapVendorBasePayloadToVendorBase)(payload.line_detail.vendor)
45
46
  : undefined,
47
+ project: payload.line_detail.project != null &&
48
+ payload.line_detail.project.zeni_project_id != null &&
49
+ payload.line_detail.project.zeni_project_id !== ''
50
+ ? (0, projectPayload_1.mapProjectBasePayloadToProject)(payload.line_detail.project)
51
+ : undefined,
46
52
  billable: payload.line_detail.billable_status ?? 'not_billable',
47
53
  isCategoryMiscategorized: payload.is_category_miscategorized ?? false,
48
54
  isClassMiscategorized: payload.is_class_miscategorized ?? false,
@@ -163,6 +169,9 @@ const toLineDetailPayload = (line) => ({
163
169
  : undefined,
164
170
  vendor: line.vendor?.id != null ? (0, vendorPayload_1.toVendorBasePayload)(line.vendor) : undefined,
165
171
  billable_status: line.billable,
172
+ ...(line.project != null
173
+ ? { project: (0, projectPayload_1.toProjectBasePayload)(line.project) }
174
+ : {}),
166
175
  });
167
176
  const toTransactionBaseLinePayload = (line) => ({
168
177
  line_id: line.id,
@@ -4,6 +4,7 @@ import { COTLineItemTracking } from '../../../commonStateTypes/recommendationBas
4
4
  import { AccountBase } from '../../account/accountState';
5
5
  import { ClassBase } from '../../class/classState';
6
6
  import { CustomerBase } from '../../customer/customerState';
7
+ import { Project } from '../../project/projectState';
7
8
  import { VendorBase } from '../../vendor/vendorState';
8
9
  import { TransactionID } from './transaction';
9
10
  import { TransactionCategory, TransactionType } from './transactionType';
@@ -39,6 +40,7 @@ export interface TransactionWithAccountAndClassLine extends TransactionLineBase
39
40
  isClassMiscategorized: boolean;
40
41
  class?: ClassBase;
41
42
  customer?: CustomerBase;
43
+ project?: Project;
42
44
  vendor?: VendorBase;
43
45
  }
44
46
  export interface TransactionWithAccountAndClassLineWithCOTTracking extends TransactionWithAccountAndClassLine {
@@ -1,4 +1,16 @@
1
1
  import { date } from '../../zeniDayJS';
2
+ export const toProjectBasePayload = (project) => ({
3
+ zeni_project_id: project?.projectId ?? '',
4
+ accounting_provider_project_id: project?.accountingProviderProjectId ?? null,
5
+ project_name: project?.projectName ?? '',
6
+ });
7
+ export const mapProjectBasePayloadToProject = (payload) => ({
8
+ projectId: payload.zeni_project_id,
9
+ projectName: payload.project_name ?? '',
10
+ ...(payload.accounting_provider_project_id != null
11
+ ? { accountingProviderProjectId: payload.accounting_provider_project_id }
12
+ : {}),
13
+ });
2
14
  export const mapProjectMetadataPayloadToProject = (payload) => ({
3
15
  projectId: payload.zeni_project_id,
4
16
  projectName: payload.project_name,
@@ -2,6 +2,7 @@ import { toAmountWC } from '../../../commonStateTypes/amount';
2
2
  import { mapAccountBasePayloadToAccountBase, toAccountPayload, } from '../../account/accountPayload';
3
3
  import { mapClassBasePayloadToClassBase, toClassBasePayload, } from '../../class/classPayload';
4
4
  import { toCustomerBase, toCustomerBasePayload, } from '../../customer/customerPayload';
5
+ import { mapProjectBasePayloadToProject, toProjectBasePayload, } from '../../project/projectPayload';
5
6
  import { mapVendorBasePayloadToVendorBase, toVendorBasePayload, } from '../../vendor/vendorPayload';
6
7
  import { toCategorizationStatusType, toPlatformLineDetailType, } from '../stateTypes/transactionLine';
7
8
  import { toTransactionCategory, toTransactionType, } from '../stateTypes/transactionType';
@@ -39,6 +40,11 @@ export const toTransactionWithAccountAndClassLine = (payload, currency, type = '
39
40
  payload.line_detail.vendor.vendor_id != null
40
41
  ? mapVendorBasePayloadToVendorBase(payload.line_detail.vendor)
41
42
  : undefined,
43
+ project: payload.line_detail.project != null &&
44
+ payload.line_detail.project.zeni_project_id != null &&
45
+ payload.line_detail.project.zeni_project_id !== ''
46
+ ? mapProjectBasePayloadToProject(payload.line_detail.project)
47
+ : undefined,
42
48
  billable: payload.line_detail.billable_status ?? 'not_billable',
43
49
  isCategoryMiscategorized: payload.is_category_miscategorized ?? false,
44
50
  isClassMiscategorized: payload.is_class_miscategorized ?? false,
@@ -156,6 +162,9 @@ const toLineDetailPayload = (line) => ({
156
162
  : undefined,
157
163
  vendor: line.vendor?.id != null ? toVendorBasePayload(line.vendor) : undefined,
158
164
  billable_status: line.billable,
165
+ ...(line.project != null
166
+ ? { project: toProjectBasePayload(line.project) }
167
+ : {}),
159
168
  });
160
169
  const toTransactionBaseLinePayload = (line) => ({
161
170
  line_id: line.id,
@@ -51,6 +51,7 @@ export const toTransactionUpdatesFromTransactionDetailLocalData = (transactionDe
51
51
  lineDescription: lineItem.lineDescription,
52
52
  class: lineItem.class,
53
53
  account: lineItem.account,
54
+ project: lineItem.project,
54
55
  recommendation: convertCOTRecommendationsToRegular(lineItem.recommendationsWithCOT),
55
56
  };
56
57
  if (line.type === 'journal_entry_transaction_line' ||
@@ -181,6 +181,9 @@ const toTransactionUpdatePayload = (updates, detail, cotTransactionTracking, ven
181
181
  if (lineUpdates.account != null) {
182
182
  lineTobeUpdated.account = lineUpdates.account;
183
183
  }
184
+ if (lineUpdates.project != null) {
185
+ lineTobeUpdated.project = lineUpdates.project;
186
+ }
184
187
  if (lineUpdates.customer != null) {
185
188
  lineTobeUpdated.customer = lineUpdates.customer;
186
189
  }