repzo 1.0.266 → 1.0.268

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.
package/lib/index.d.ts CHANGED
@@ -1045,6 +1045,7 @@ export default class Repzo {
1045
1045
  salesAnalyticsReport: {
1046
1046
  _path: "sales-analytics-report";
1047
1047
  find: (params?: Service.SalesAnalyticsReport.Find.Params) => Promise<Service.SalesAnalyticsReport.Find.Result>;
1048
+ create: (body: Service.SalesAnalyticsReport.CreateBody, params?: Service.SalesAnalyticsReport.Create.Params) => Promise<Service.SalesAnalyticsReport.Create.Result>;
1048
1049
  };
1049
1050
  workorderAgenda: {
1050
1051
  _path: "workorder-agenda";
package/lib/index.js CHANGED
@@ -2028,6 +2028,10 @@ class Repzo {
2028
2028
  let res = await this._fetch(this.svAPIEndpoint, this.salesAnalyticsReport._path, params);
2029
2029
  return res;
2030
2030
  },
2031
+ create: async (body, params) => {
2032
+ let res = await this._create(this.svAPIEndpoint, this.salesAnalyticsReport._path, body, params);
2033
+ return res;
2034
+ },
2031
2035
  };
2032
2036
  this.workorderAgenda = {
2033
2037
  _path: Repzo._end_points.WORKORDER_AGENDA,
@@ -1,4 +1,5 @@
1
1
  import { EndPoints } from "../index.js";
2
+ import { SalesAnalyticsFieldAccumulators, SalesAnalyticsReportProjectionKey, SalesAnalyticsReportFilter, SalesAnalyticsGroupByIDs, SalesAnalyticsReportSortedKey } from "./report-type.js";
2
3
  export interface Params {
3
4
  [key: string]: any;
4
5
  }
@@ -17,6 +18,80 @@ export interface Options {
17
18
  refresh_token?: string;
18
19
  reauthCallBackFn?: (res: Service.Reauth.Result) => void;
19
20
  }
21
+ interface ReportColumn {
22
+ _id?: string;
23
+ disabled: boolean;
24
+ key: string;
25
+ name: string;
26
+ report_types: ReportType[];
27
+ default_show: boolean;
28
+ selectable: boolean;
29
+ position: number;
30
+ show: "default" | "hide" | "show";
31
+ column_group?: StringId | string;
32
+ totals_key?: string;
33
+ createdAt?: Date;
34
+ updatedAt?: Date;
35
+ }
36
+ type QueryCriteriaCondition = {
37
+ [key: string]: any;
38
+ };
39
+ type QueryCriteriaValue = boolean | string | number | QueryCriteriaElement | QueryCriteriaLogical | null | Date;
40
+ type LogicalOperators = "and" | "or";
41
+ export type QueryCriteriaOperators = "gt" | "lt" | "gte" | "lte" | "in" | "nin" | "eq" | "between" | "last_seven_days" | "today" | "yesterday" | "last_thirty_days" | "last_month" | "last_three_months" | "last_six_months" | "last_twelve_months";
42
+ type QueryCriteriaElement = {
43
+ key: string;
44
+ operator: QueryCriteriaOperators;
45
+ value: QueryCriteriaValue;
46
+ conditions?: QueryCriteriaCondition[];
47
+ };
48
+ type QueryCriteriaLogical = {
49
+ operator: LogicalOperators;
50
+ value: QueryCriteriaValue[];
51
+ };
52
+ type BaseKey = string;
53
+ type BaseValue = any;
54
+ type FilterMap = SalesAnalyticsReportFilter;
55
+ type GroupByKeys = SalesAnalyticsGroupByIDs;
56
+ type FieldAccumulators = SalesAnalyticsFieldAccumulators;
57
+ type SortValue<Keys extends BaseKey> = {
58
+ field: Keys;
59
+ type: "asc" | "desc" | -1 | 1;
60
+ };
61
+ interface EnhancedQueryCriteriaElement<TKeys extends keyof FilterMap, TValue extends BaseValue = QueryCriteriaValue, TCondition = QueryCriteriaCondition> {
62
+ key: TKeys;
63
+ operator: FilterMap[TKeys][number];
64
+ value: TValue;
65
+ conditions?: TCondition[];
66
+ }
67
+ type GroupByType<TGroupID extends keyof GroupByKeys, TFieldAccumulators> = {
68
+ _id: TGroupID;
69
+ fields: {
70
+ [K in GroupByKeys[TGroupID]]: {
71
+ key: K;
72
+ acc: K extends keyof TFieldAccumulators ? TFieldAccumulators[K] : never;
73
+ };
74
+ }[GroupByKeys[TGroupID]][];
75
+ };
76
+ interface GenericQuery<TSortKey extends BaseKey, TFilterMap extends FilterMap, TGroupKey extends GroupByKeys, TFieldAccumulators extends FieldAccumulators, TProjectionKeys extends BaseKey, TMaxAnyOfLength extends number = 1> {
77
+ maxAnyOfLength: TMaxAnyOfLength;
78
+ anyOf: {
79
+ criteria: {
80
+ [K in keyof TFilterMap]: EnhancedQueryCriteriaElement<K & keyof FilterMap>;
81
+ }[keyof TFilterMap][];
82
+ }[];
83
+ options?: {
84
+ sort?: SortValue<TSortKey>[];
85
+ limit?: number;
86
+ page?: number;
87
+ totals_summary?: "none" | "all" | "page";
88
+ without_currency?: boolean;
89
+ };
90
+ group?: GroupByType<keyof TGroupKey & keyof GroupByKeys, TFieldAccumulators>[];
91
+ projection?: TProjectionKeys[];
92
+ columns?: ReportColumn[];
93
+ metadata?: any;
94
+ }
20
95
  export interface Headers {
21
96
  "api-key": string;
22
97
  "Content-Type": string;
@@ -174,6 +249,8 @@ export interface DefaultPaginationResult {
174
249
  prev_page_url: string | null;
175
250
  path: string;
176
251
  data: any[];
252
+ columns?: ReportColumn[];
253
+ keys?: ReportKey[];
177
254
  }
178
255
  export interface AgendaPaginationResult extends DefaultPaginationResult {
179
256
  meta?: {
@@ -1286,15 +1363,21 @@ export declare namespace Service {
1286
1363
  }
1287
1364
  namespace MeasureUnit {
1288
1365
  interface MeasureUnitSchema {
1289
- _id: string;
1366
+ _id: StringId;
1290
1367
  name: string;
1291
1368
  factor: number;
1292
1369
  local_name?: string;
1293
- parent?: string;
1370
+ parent?: StringId;
1294
1371
  disabled?: boolean;
1295
1372
  integration_meta?: {
1296
1373
  [key: string]: any;
1297
1374
  };
1375
+ aliases: string[];
1376
+ sellable: boolean;
1377
+ returnable: boolean;
1378
+ loadable: boolean;
1379
+ unloadable: boolean;
1380
+ receivable: boolean;
1298
1381
  company_namespace: string[];
1299
1382
  createdAt: string;
1300
1383
  updatedAt: string;
@@ -1304,13 +1387,20 @@ export declare namespace Service {
1304
1387
  name?: string;
1305
1388
  factor: number;
1306
1389
  local_name?: string;
1307
- parent?: string;
1390
+ parent?: StringId;
1391
+ aliases?: string[];
1392
+ sellable?: boolean;
1393
+ returnable?: boolean;
1394
+ loadable?: boolean;
1395
+ unloadable?: boolean;
1396
+ receivable?: boolean;
1308
1397
  company_namespace?: string[];
1309
1398
  disabled?: boolean;
1310
1399
  integration_meta?: {
1311
1400
  [key: string]: any;
1312
1401
  };
1313
1402
  }
1403
+ type UpdateBody = Partial<Data>;
1314
1404
  type Data = MeasureUnitSchema;
1315
1405
  namespace Find {
1316
1406
  type Params = DefaultPaginationQueryParams & {
@@ -1329,6 +1419,11 @@ export declare namespace Service {
1329
1419
  field: "_id";
1330
1420
  type: "asc" | "desc";
1331
1421
  }[];
1422
+ sellable?: boolean | boolean[];
1423
+ returnable?: boolean | boolean[];
1424
+ loadable?: boolean | boolean[];
1425
+ unloadable?: boolean | boolean[];
1426
+ receivable?: boolean | boolean[];
1332
1427
  [key: string]: any;
1333
1428
  };
1334
1429
  interface Result extends DefaultPaginationResult {
@@ -1348,14 +1443,9 @@ export declare namespace Service {
1348
1443
  type Result = MeasureUnitSchema;
1349
1444
  }
1350
1445
  namespace Update {
1351
- type ID = string;
1352
- interface Body extends MeasureUnitBody {
1353
- _id?: string;
1354
- createdAt?: string;
1355
- updatedAt?: string;
1356
- __v?: number;
1357
- }
1358
- type Result = MeasureUnitSchema;
1446
+ type ID = StringId;
1447
+ type Body = UpdateBody;
1448
+ type Result = Data;
1359
1449
  }
1360
1450
  namespace Remove {
1361
1451
  type ID = string;
@@ -15284,6 +15374,7 @@ export declare namespace Service {
15284
15374
  _id?: string;
15285
15375
  [key: string]: any;
15286
15376
  }
15377
+ type CreateBody = GenericQuery<SalesAnalyticsReportSortedKey, SalesAnalyticsReportFilter, SalesAnalyticsGroupByIDs, SalesAnalyticsFieldAccumulators, SalesAnalyticsReportProjectionKey, 1>;
15287
15378
  namespace Find {
15288
15379
  type Params = DefaultPaginationQueryParams & {
15289
15380
  from_issue_date?: string;
@@ -15350,6 +15441,75 @@ export declare namespace Service {
15350
15441
  data: Data[];
15351
15442
  }
15352
15443
  }
15444
+ namespace Create {
15445
+ type Params = DefaultPaginationQueryParams & {
15446
+ from_issue_date?: string;
15447
+ to_issue_date?: string;
15448
+ from_due_date?: string;
15449
+ to_due_date?: string;
15450
+ from_createdAt?: string;
15451
+ to_createdAt?: string;
15452
+ from_updatedAt?: string;
15453
+ to_updatedAt?: string;
15454
+ client?: StringId | StringId[];
15455
+ rep?: StringId | StringId[];
15456
+ creator?: StringId | StringId[];
15457
+ teams?: StringId | StringId[];
15458
+ status?: StatusOption | StatusOption[];
15459
+ promotion?: StringId | StringId[];
15460
+ product?: StringId | StringId[];
15461
+ variant?: StringId | StringId[];
15462
+ category?: StringId | StringId[];
15463
+ sub_category?: StringId | StringId[];
15464
+ brand?: StringId | StringId[];
15465
+ product_groups?: StringId | StringId[];
15466
+ class?: ClassOption | ClassOption[];
15467
+ with_brand?: boolean;
15468
+ with_category?: boolean;
15469
+ with_product_groups?: boolean;
15470
+ with_sub_category?: boolean;
15471
+ with_product_details?: boolean;
15472
+ with_variant_details?: boolean;
15473
+ with_teams?: boolean;
15474
+ with_promotions?: boolean;
15475
+ promotion_type?: PromotionTypeOption;
15476
+ with_balance?: boolean;
15477
+ groupBy?: GroupByOption | GroupByOption[];
15478
+ from_price?: number;
15479
+ to_price?: number;
15480
+ export?: string;
15481
+ chain?: StringId | StringId[];
15482
+ channel?: StringId | StringId[];
15483
+ CLIENT_TAGS?: StringId | StringId[];
15484
+ AREA_TAGS?: StringId | StringId[];
15485
+ tags?: StringId | StringId[];
15486
+ country?: string | string[];
15487
+ state?: string | string[];
15488
+ city?: string | string[];
15489
+ with_chain?: boolean;
15490
+ with_channel?: boolean;
15491
+ with_tags?: boolean;
15492
+ with_client_details?: boolean;
15493
+ admin?: StringId | StringId[];
15494
+ tax?: StringId | StringId[];
15495
+ with_original_price?: boolean;
15496
+ with_route?: boolean;
15497
+ route?: StringId | StringId[];
15498
+ with_external_serial_number?: boolean;
15499
+ with_workorder?: boolean;
15500
+ with_client_customFields?: boolean;
15501
+ with_rep_details?: boolean;
15502
+ with_rep_customFields?: boolean;
15503
+ sortBy?: SortByOption[];
15504
+ includeDocumentsCount?: boolean;
15505
+ };
15506
+ type Body = CreateBody;
15507
+ interface Result extends DefaultPaginationResult {
15508
+ data: Data[];
15509
+ columns: ReportColumn[];
15510
+ keys: ReportKey[];
15511
+ }
15512
+ }
15353
15513
  }
15354
15514
  namespace WorkorderAgenda {
15355
15515
  interface Workorder {
@@ -0,0 +1,207 @@
1
+ import type { QueryCriteriaOperators } from "./index";
2
+ type SalesAnalyticsReportFilterKeys = "is_void" | "client_id" | "rep" | "admin" | "creator._id" | "status" | "time" | "issue_date" | "due_date" | "createdAt" | "updatedAt" | "client.chain" | "client.channel" | "client.city" | "client.state" | "client.country" | "client.tags" | "client.CLIENT_TAGS" | "client.AREA_TAGS" | "product.brand" | "product.category" | "product.sub_category" | "product.product_groups" | "promotions._id" | "items.measureunit._id" | "items.return_reason" | "items.variant.variant_id" | "items.variant.product_id" | "items.promotion_type" | "items.class" | "items.discounted_price" | "items.tax._id" | "items.tax.name" | "items.tax.type" | "return_items.tax.name" | "return_items.tax.type" | "return_items.measureunit._id" | "return_items.return_reason" | "return_items.variant.variant_id" | "return_items.variant.product_id" | "return_items.promotion_type" | "return_items.class" | "return_items.discounted_price" | "return_items.tax._id" | "teams" | "route" | "custom_status";
3
+ interface SalesAnalyticsReportFilter extends Record<SalesAnalyticsReportFilterKeys, QueryCriteriaOperators[]> {
4
+ is_void: ["in"];
5
+ client_id: ["in", "nin"];
6
+ rep: ["in", "nin"];
7
+ admin: ["in", "nin"];
8
+ "creator._id": ["in", "nin"];
9
+ status: ["in", "nin"];
10
+ time: [
11
+ "between",
12
+ "last_seven_days",
13
+ "last_thirty_days",
14
+ "last_month",
15
+ "last_three_months",
16
+ "last_six_months",
17
+ "last_twelve_months",
18
+ "yesterday",
19
+ "today",
20
+ "gte",
21
+ "lte",
22
+ "lt",
23
+ "gt"
24
+ ];
25
+ issue_date: [
26
+ "between",
27
+ "last_seven_days",
28
+ "last_thirty_days",
29
+ "last_month",
30
+ "last_three_months",
31
+ "last_six_months",
32
+ "last_twelve_months",
33
+ "yesterday",
34
+ "today",
35
+ "gte",
36
+ "lte",
37
+ "lt",
38
+ "gt"
39
+ ];
40
+ due_date: [
41
+ "between",
42
+ "last_seven_days",
43
+ "last_thirty_days",
44
+ "last_month",
45
+ "last_three_months",
46
+ "last_six_months",
47
+ "last_twelve_months",
48
+ "yesterday",
49
+ "today",
50
+ "gte",
51
+ "lte",
52
+ "lt",
53
+ "gt"
54
+ ];
55
+ createdAt: [
56
+ "between",
57
+ "last_seven_days",
58
+ "last_thirty_days",
59
+ "last_month",
60
+ "last_three_months",
61
+ "last_six_months",
62
+ "last_twelve_months",
63
+ "yesterday",
64
+ "today",
65
+ "gte",
66
+ "lte",
67
+ "lt",
68
+ "gt"
69
+ ];
70
+ updatedAt: [
71
+ "between",
72
+ "last_seven_days",
73
+ "last_thirty_days",
74
+ "last_month",
75
+ "last_three_months",
76
+ "last_six_months",
77
+ "last_twelve_months",
78
+ "yesterday",
79
+ "today",
80
+ "gte",
81
+ "lte",
82
+ "lt",
83
+ "gt"
84
+ ];
85
+ "client.chain": ["in", "nin"];
86
+ "client.channel": ["in", "nin"];
87
+ "client.city": ["in", "nin"];
88
+ "client.state": ["in", "nin"];
89
+ "client.country": ["in", "nin"];
90
+ "client.tags": ["in", "nin"];
91
+ "client.CLIENT_TAGS": ["in", "nin"];
92
+ "client.AREA_TAGS": ["in", "nin"];
93
+ "product.brand": ["in", "nin"];
94
+ "product.category": ["in", "nin"];
95
+ "product.sub_category": ["in", "nin"];
96
+ "product.product_groups": ["in", "nin"];
97
+ "promotions._id": ["in", "nin"];
98
+ "items.promos": ["in", "nin"];
99
+ "items.measureunit._id": ["in", "nin"];
100
+ "items.return_reason": ["in", "nin"];
101
+ "items.variant.variant_id": ["in", "nin"];
102
+ "items.variant.product_id": ["in", "nin"];
103
+ "items.promotion_type": ["in", "nin"];
104
+ "items.class": ["in", "nin"];
105
+ "items.discounted_price": ["between"];
106
+ "items.tax._id": ["in", "nin"];
107
+ "items.tax.name": ["in", "nin"];
108
+ "items.tax.type": ["in", "nin"];
109
+ "return_items.tax.name": ["in", "nin"];
110
+ "return_items.tax.type": ["in", "nin"];
111
+ "return_items.measureunit._id": ["in", "nin"];
112
+ "return_items.return_reason": ["in", "nin"];
113
+ "return_items.variant.variant_id": ["in", "nin"];
114
+ "return_items.variant.product_id": ["in", "nin"];
115
+ "return_items.promotion_type": ["in", "nin"];
116
+ "return_items.class": ["in", "nin"];
117
+ "return_items.discounted_price": ["between"];
118
+ "return_items.tax._id": ["in", "nin"];
119
+ teams: ["in", "nin"];
120
+ route: ["in", "nin"];
121
+ custom_status: ["in", "nin"];
122
+ }
123
+ type SalesAnalyticsReportProjectionKey = "issue_date" | "due_date" | "serial_number" | "advanced_serial_number" | "external_serial_number" | "return_serial_number" | "client" | "client_code" | "creator" | "rep_username" | "teams" | "route" | "custom_status" | "workorder_serial_number" | "line_number" | "lines" | "status" | "product" | "product_local_name" | "product_sku" | "product_barcode" | "variant" | "variant_local_name" | "variant_sku" | "variant_barcode" | "category" | "sub_category" | "brand" | "product_groups" | "promotion" | "promotion_ref" | "promotion_type" | "class" | "class" | "return_reason" | "chain" | "channel" | "country" | "state" | "city" | "area_tags" | "client_tags" | "original_price" | "tax" | "visit_uuid" | "base_unit_qty" | "qty" | "measureunit" | "price" | "tax" | "line_total" | "lineTotalAfterDeduction" | "deduction" | "total_before_tax" | "discount_amount" | "tax_total" | "tax_total_after_deduction" | "pre_total" | "return_total" | "total" | "balance" | "tax_total_after_deduction" | `client_customFields.${string}` | `rep_customFields.${string}`;
124
+ type SalesAnalyticsReportSortedKey = "issue_date" | "due_date" | "createdAt" | "updatedAt" | "time" | "line_total" | "pre_total" | "return_total" | "total" | "balance" | "items.tax_total_after_deduction" | "items.lineTotalAfterDeduction" | "items.price" | "discount_amount" | "tax_total" | "items.base_unit_qty" | "items.qty" | "items.deduction";
125
+ type SalesAnalyticsGroupByIDs = {
126
+ client: "client_name" | "client_id" | "client_code" | "client_local_name" | "chain" | "channel" | "client_customFields" | "tags" | "country" | "state" | "city";
127
+ user: "creator_id" | "creator_type" | "creator_name" | "creator_customFields" | "creator_username";
128
+ issue_date: "issue_date";
129
+ due_date: "due_date";
130
+ serial_number: "serial_number" | "external_serial_number" | "return_serial_number";
131
+ product: "product_name" | "product_local_name" | "product" | "price" | "measureunit" | "base_unit_qty" | "qty" | "discount_amount" | "tax" | "return_reason" | "line_total" | "tax_total" | "total_before_tax" | "lineTotalAfterDeduction" | "deduction" | "tax_total_after_deduction" | "original_price" | "product_sku" | "product_barcode" | "sub_category" | "product_groups" | "category" | "brand";
132
+ variant: "variant_name" | "variant_local_name" | "variant_sku" | "variant_barcode" | "price" | "measureunit" | "base_unit_qty" | "qty" | "discount_amount" | "tax" | "return_reason" | "line_total" | "tax_total" | "total_before_tax" | "lineTotalAfterDeduction" | "deduction" | "tax_total_after_deduction" | "original_price";
133
+ brand: "brand" | "price" | "measureunit" | "base_unit_qty" | "qty" | "discount_amount" | "tax" | "return_reason" | "line_total" | "tax_total" | "total_before_tax" | "lineTotalAfterDeduction" | "deduction" | "tax_total_after_deduction" | "original_price";
134
+ category: "category" | "price" | "measureunit" | "base_unit_qty" | "qty" | "discount_amount" | "tax" | "return_reason" | "line_total" | "tax_total" | "total_before_tax" | "lineTotalAfterDeduction" | "deduction" | "tax_total_after_deduction" | "original_price";
135
+ status: "status";
136
+ promotion_type: "promotion_type" | "price" | "measureunit" | "base_unit_qty" | "qty" | "discount_amount" | "tax" | "return_reason" | "line_total" | "tax_total" | "total_before_tax" | "lineTotalAfterDeduction" | "deduction" | "tax_total_after_deduction" | "original_price";
137
+ class: "class" | "price" | "measureunit" | "base_unit_qty" | "qty" | "discount_amount" | "tax" | "return_reason" | "line_total" | "tax_total" | "total_before_tax" | "lineTotalAfterDeduction" | "deduction" | "tax_total_after_deduction" | "original_price";
138
+ measureunit: "measureunit" | "price" | "base_unit_qty" | "qty" | "discount_amount" | "tax" | "return_reason" | "line_total" | "tax_total" | "total_before_tax" | "lineTotalAfterDeduction" | "deduction" | "tax_total_after_deduction" | "original_price";
139
+ promotion: "promotions" | "promotion_ref" | "promotion_type" | "price" | "measureunit" | "base_unit_qty" | "qty" | "discount_amount" | "tax" | "return_reason" | "line_total" | "tax_total" | "total_before_tax" | "lineTotalAfterDeduction" | "deduction" | "tax_total_after_deduction" | "original_price";
140
+ chain: "client_name" | "chain";
141
+ channel: "client_name" | "channel";
142
+ city: "client_name" | "city";
143
+ state: "client_name" | "state";
144
+ country: "client_name" | "country";
145
+ route: "route";
146
+ custom_status: "custom_status";
147
+ teams: "teams";
148
+ };
149
+ type SalesAnalyticsFieldAccumulators = {
150
+ client_name: "first" | "last";
151
+ client_id: "first" | "last";
152
+ client_code: "first" | "last";
153
+ client_local_name: "first" | "last";
154
+ chain: "first" | "last";
155
+ channel: "first" | "last";
156
+ client_customFields: "first" | "last";
157
+ tags: "first" | "last";
158
+ country: "first" | "last";
159
+ state: "first" | "last";
160
+ city: "first" | "last";
161
+ creator_id: "first" | "last";
162
+ creator_type: "first" | "last";
163
+ creator_name: "first" | "last";
164
+ creator_customFields: "first" | "last";
165
+ creator_username: "first" | "last";
166
+ issue_date: "first" | "last";
167
+ due_date: "first" | "last";
168
+ serial_number: "first" | "last";
169
+ external_serial_number: "first" | "last";
170
+ return_serial_number: "first" | "last";
171
+ price: "sum" | "avg" | "max" | "min";
172
+ base_unit_qty: "sum" | "avg" | "max" | "min";
173
+ qty: "sum" | "avg" | "max" | "min";
174
+ discount_amount: "sum" | "avg" | "max" | "min";
175
+ line_total: "sum" | "avg" | "max" | "min";
176
+ tax_total: "sum" | "avg" | "max" | "min";
177
+ total_before_tax: "sum" | "avg" | "ma" | "min";
178
+ lineTotalAfterDeduction: "sum" | "avg" | "max" | "min";
179
+ deduction: "sum" | "avg" | "max" | "min";
180
+ tax_total_after_deduction: "sum" | "avg" | "max" | "min";
181
+ original_price: "avg" | "max" | "min" | "sum";
182
+ measureunit: "addToSet" | "first" | "last";
183
+ tax: "addToSet" | "first" | "last";
184
+ return_reason: "addToSet" | "first" | "last";
185
+ promotion_type: "addToSet" | "first" | "last";
186
+ product_name: "first" | "last";
187
+ product_local_name: "first" | "last";
188
+ product: "first" | "last";
189
+ product_sku: "first" | "last";
190
+ product_barcode: "first" | "last";
191
+ sub_category: "first" | "last";
192
+ product_groups: "first" | "last";
193
+ category: "first" | "last";
194
+ brand: "first" | "last";
195
+ variant_name: "first" | "last";
196
+ variant_local_name: "first" | "last";
197
+ variant_sku: "first" | "last";
198
+ variant_barcode: "first" | "last";
199
+ status: "first" | "last";
200
+ class: "first" | "last";
201
+ promotions: "first" | "last";
202
+ promotion_ref: "first" | "last";
203
+ route: "first" | "last";
204
+ custom_status: "first" | "last";
205
+ teams: "first" | "last";
206
+ };
207
+ export { SalesAnalyticsReportSortedKey, SalesAnalyticsGroupByIDs, SalesAnalyticsFieldAccumulators, SalesAnalyticsReportFilter, SalesAnalyticsReportProjectionKey, };
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repzo",
3
- "version": "1.0.266",
3
+ "version": "1.0.268",
4
4
  "description": "Repzo TypeScript SDK",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
package/src/index.ts CHANGED
@@ -5116,6 +5116,19 @@ export default class Repzo {
5116
5116
  );
5117
5117
  return res;
5118
5118
  },
5119
+
5120
+ create: async (
5121
+ body: Service.SalesAnalyticsReport.CreateBody,
5122
+ params?: Service.SalesAnalyticsReport.Create.Params,
5123
+ ): Promise<Service.SalesAnalyticsReport.Create.Result> => {
5124
+ let res = await this._create(
5125
+ this.svAPIEndpoint,
5126
+ this.salesAnalyticsReport._path,
5127
+ body,
5128
+ params,
5129
+ );
5130
+ return res;
5131
+ },
5119
5132
  };
5120
5133
 
5121
5134
  workorderAgenda = {
@@ -1,4 +1,11 @@
1
1
  import { EndPoints } from "../index.js";
2
+ import {
3
+ SalesAnalyticsFieldAccumulators,
4
+ SalesAnalyticsReportProjectionKey,
5
+ SalesAnalyticsReportFilter,
6
+ SalesAnalyticsGroupByIDs,
7
+ SalesAnalyticsReportSortedKey,
8
+ } from "./report-type.js";
2
9
 
3
10
  export interface Params {
4
11
  [key: string]: any;
@@ -19,6 +26,121 @@ export interface Options {
19
26
  refresh_token?: string;
20
27
  reauthCallBackFn?: (res: Service.Reauth.Result) => void;
21
28
  }
29
+ interface ReportColumn {
30
+ _id?: string;
31
+ disabled: boolean;
32
+ key: string;
33
+ name: string;
34
+ report_types: ReportType[];
35
+ default_show: boolean;
36
+ selectable: boolean;
37
+ position: number;
38
+ show: "default" | "hide" | "show";
39
+ column_group?: StringId | string;
40
+ totals_key?: string;
41
+ createdAt?: Date;
42
+ updatedAt?: Date;
43
+ }
44
+ type QueryCriteriaCondition = { [key: string]: any };
45
+ type QueryCriteriaValue =
46
+ | boolean
47
+ | string
48
+ | number
49
+ | QueryCriteriaElement
50
+ | QueryCriteriaLogical
51
+ | null
52
+ | Date;
53
+ type LogicalOperators = "and" | "or";
54
+ export type QueryCriteriaOperators =
55
+ | "gt"
56
+ | "lt"
57
+ | "gte"
58
+ | "lte"
59
+ | "in"
60
+ | "nin"
61
+ | "eq"
62
+ | "between"
63
+ | "last_seven_days"
64
+ | "today"
65
+ | "yesterday"
66
+ | "last_thirty_days"
67
+ | "last_month"
68
+ | "last_three_months"
69
+ | "last_six_months"
70
+ | "last_twelve_months";
71
+
72
+ type QueryCriteriaElement = {
73
+ key: string;
74
+ operator: QueryCriteriaOperators;
75
+ value: QueryCriteriaValue;
76
+ conditions?: QueryCriteriaCondition[];
77
+ };
78
+ type QueryCriteriaLogical = {
79
+ operator: LogicalOperators;
80
+ value: QueryCriteriaValue[];
81
+ };
82
+ type BaseKey = string;
83
+ type BaseValue = any;
84
+ type FilterMap = SalesAnalyticsReportFilter;
85
+ type GroupByKeys = SalesAnalyticsGroupByIDs;
86
+ type FieldAccumulators = SalesAnalyticsFieldAccumulators;
87
+ type SortValue<Keys extends BaseKey> = {
88
+ field: Keys;
89
+ type: "asc" | "desc" | -1 | 1;
90
+ };
91
+ interface EnhancedQueryCriteriaElement<
92
+ TKeys extends keyof FilterMap,
93
+ TValue extends BaseValue = QueryCriteriaValue,
94
+ TCondition = QueryCriteriaCondition,
95
+ > {
96
+ key: TKeys;
97
+ operator: FilterMap[TKeys][number];
98
+ value: TValue;
99
+ conditions?: TCondition[];
100
+ }
101
+
102
+ type GroupByType<TGroupID extends keyof GroupByKeys, TFieldAccumulators> = {
103
+ _id: TGroupID;
104
+ fields: {
105
+ [K in GroupByKeys[TGroupID]]: {
106
+ key: K;
107
+ acc: K extends keyof TFieldAccumulators ? TFieldAccumulators[K] : never;
108
+ };
109
+ }[GroupByKeys[TGroupID]][];
110
+ };
111
+
112
+ interface GenericQuery<
113
+ TSortKey extends BaseKey,
114
+ TFilterMap extends FilterMap,
115
+ TGroupKey extends GroupByKeys,
116
+ TFieldAccumulators extends FieldAccumulators,
117
+ TProjectionKeys extends BaseKey,
118
+ TMaxAnyOfLength extends number = 1,
119
+ > {
120
+ maxAnyOfLength: TMaxAnyOfLength;
121
+ anyOf: {
122
+ criteria: {
123
+ [K in keyof TFilterMap]: EnhancedQueryCriteriaElement<
124
+ K & keyof FilterMap
125
+ >;
126
+ }[keyof TFilterMap][];
127
+ }[];
128
+ options?: {
129
+ sort?: SortValue<TSortKey>[];
130
+ limit?: number;
131
+ page?: number;
132
+ totals_summary?: "none" | "all" | "page";
133
+ without_currency?: boolean;
134
+ };
135
+ group?: GroupByType<
136
+ keyof TGroupKey & keyof GroupByKeys,
137
+ TFieldAccumulators
138
+ >[];
139
+ projection?: TProjectionKeys[];
140
+ columns?: ReportColumn[];
141
+ metadata?: any;
142
+ }
143
+
22
144
  export interface Headers {
23
145
  "api-key": string;
24
146
  "Content-Type": string;
@@ -205,6 +327,8 @@ export interface DefaultPaginationResult {
205
327
  prev_page_url: string | null;
206
328
  path: string;
207
329
  data: any[];
330
+ columns?: ReportColumn[];
331
+ keys?: ReportKey[];
208
332
  }
209
333
  export interface AgendaPaginationResult extends DefaultPaginationResult {
210
334
  meta?: {
@@ -1554,13 +1678,19 @@ export namespace Service {
1554
1678
 
1555
1679
  export namespace MeasureUnit {
1556
1680
  export interface MeasureUnitSchema {
1557
- _id: string;
1681
+ _id: StringId;
1558
1682
  name: string;
1559
1683
  factor: number;
1560
1684
  local_name?: string;
1561
- parent?: string;
1685
+ parent?: StringId;
1562
1686
  disabled?: boolean;
1563
1687
  integration_meta?: { [key: string]: any };
1688
+ aliases: string[];
1689
+ sellable: boolean;
1690
+ returnable: boolean;
1691
+ loadable: boolean;
1692
+ unloadable: boolean;
1693
+ receivable: boolean;
1564
1694
  company_namespace: string[];
1565
1695
  createdAt: string;
1566
1696
  updatedAt: string;
@@ -1570,11 +1700,18 @@ export namespace Service {
1570
1700
  name?: string;
1571
1701
  factor: number;
1572
1702
  local_name?: string;
1573
- parent?: string;
1703
+ parent?: StringId;
1704
+ aliases?: string[];
1705
+ sellable?: boolean;
1706
+ returnable?: boolean;
1707
+ loadable?: boolean;
1708
+ unloadable?: boolean;
1709
+ receivable?: boolean;
1574
1710
  company_namespace?: string[];
1575
1711
  disabled?: boolean;
1576
1712
  integration_meta?: { [key: string]: any };
1577
1713
  }
1714
+ export type UpdateBody = Partial<Data>;
1578
1715
  export type Data = MeasureUnitSchema;
1579
1716
 
1580
1717
  export namespace Find {
@@ -1594,6 +1731,11 @@ export namespace Service {
1594
1731
  field: "_id";
1595
1732
  type: "asc" | "desc";
1596
1733
  }[];
1734
+ sellable?: boolean | boolean[];
1735
+ returnable?: boolean | boolean[];
1736
+ loadable?: boolean | boolean[];
1737
+ unloadable?: boolean | boolean[];
1738
+ receivable?: boolean | boolean[];
1597
1739
  [key: string]: any; // integration_meta.
1598
1740
  };
1599
1741
  export interface Result extends DefaultPaginationResult {
@@ -1602,30 +1744,21 @@ export namespace Service {
1602
1744
  })[];
1603
1745
  }
1604
1746
  }
1605
-
1606
1747
  export namespace Get {
1607
1748
  export type ID = string;
1608
1749
  export type Result = MeasureUnitSchema;
1609
1750
  }
1610
-
1611
1751
  export namespace Create {
1612
1752
  export interface Body extends MeasureUnitBody {
1613
1753
  name: string;
1614
1754
  }
1615
1755
  export type Result = MeasureUnitSchema;
1616
1756
  }
1617
-
1618
1757
  export namespace Update {
1619
- export type ID = string;
1620
- export interface Body extends MeasureUnitBody {
1621
- _id?: string;
1622
- createdAt?: string;
1623
- updatedAt?: string;
1624
- __v?: number;
1625
- }
1626
- export type Result = MeasureUnitSchema;
1758
+ export type ID = StringId;
1759
+ export type Body = UpdateBody;
1760
+ export type Result = Data;
1627
1761
  }
1628
-
1629
1762
  export namespace Remove {
1630
1763
  export type ID = string;
1631
1764
  export type Result = MeasureUnitSchema;
@@ -17109,6 +17242,15 @@ export namespace Service {
17109
17242
  [key: string]: any;
17110
17243
  }
17111
17244
 
17245
+ export type CreateBody = GenericQuery<
17246
+ SalesAnalyticsReportSortedKey,
17247
+ SalesAnalyticsReportFilter,
17248
+ SalesAnalyticsGroupByIDs,
17249
+ SalesAnalyticsFieldAccumulators,
17250
+ SalesAnalyticsReportProjectionKey,
17251
+ 1
17252
+ >;
17253
+
17112
17254
  export namespace Find {
17113
17255
  export type Params = DefaultPaginationQueryParams & {
17114
17256
  from_issue_date?: string;
@@ -17175,6 +17317,77 @@ export namespace Service {
17175
17317
  data: Data[];
17176
17318
  }
17177
17319
  }
17320
+
17321
+ export namespace Create {
17322
+ export type Params = DefaultPaginationQueryParams & {
17323
+ from_issue_date?: string;
17324
+ to_issue_date?: string;
17325
+ from_due_date?: string;
17326
+ to_due_date?: string;
17327
+ from_createdAt?: string;
17328
+ to_createdAt?: string;
17329
+ from_updatedAt?: string;
17330
+ to_updatedAt?: string;
17331
+ client?: StringId | StringId[];
17332
+ rep?: StringId | StringId[];
17333
+ creator?: StringId | StringId[];
17334
+ teams?: StringId | StringId[];
17335
+ status?: StatusOption | StatusOption[];
17336
+ promotion?: StringId | StringId[];
17337
+ product?: StringId | StringId[];
17338
+ variant?: StringId | StringId[];
17339
+ category?: StringId | StringId[];
17340
+ sub_category?: StringId | StringId[];
17341
+ brand?: StringId | StringId[];
17342
+ product_groups?: StringId | StringId[];
17343
+ class?: ClassOption | ClassOption[];
17344
+ with_brand?: boolean;
17345
+ with_category?: boolean;
17346
+ with_product_groups?: boolean;
17347
+ with_sub_category?: boolean;
17348
+ with_product_details?: boolean;
17349
+ with_variant_details?: boolean;
17350
+ with_teams?: boolean;
17351
+ with_promotions?: boolean;
17352
+ promotion_type?: PromotionTypeOption;
17353
+ with_balance?: boolean;
17354
+ groupBy?: GroupByOption | GroupByOption[];
17355
+ from_price?: number;
17356
+ to_price?: number;
17357
+ export?: string;
17358
+ chain?: StringId | StringId[];
17359
+ channel?: StringId | StringId[];
17360
+ CLIENT_TAGS?: StringId | StringId[];
17361
+ AREA_TAGS?: StringId | StringId[];
17362
+ tags?: StringId | StringId[];
17363
+ country?: string | string[];
17364
+ state?: string | string[];
17365
+ city?: string | string[];
17366
+ with_chain?: boolean;
17367
+ with_channel?: boolean;
17368
+ with_tags?: boolean;
17369
+ with_client_details?: boolean;
17370
+ admin?: StringId | StringId[];
17371
+ tax?: StringId | StringId[];
17372
+ with_original_price?: boolean;
17373
+ with_route?: boolean;
17374
+ route?: StringId | StringId[];
17375
+ with_external_serial_number?: boolean;
17376
+ with_workorder?: boolean;
17377
+ with_client_customFields?: boolean;
17378
+ with_rep_details?: boolean;
17379
+ with_rep_customFields?: boolean;
17380
+ sortBy?: SortByOption[];
17381
+ includeDocumentsCount?: boolean;
17382
+ };
17383
+
17384
+ export type Body = CreateBody;
17385
+ export interface Result extends DefaultPaginationResult {
17386
+ data: Data[];
17387
+ columns: ReportColumn[];
17388
+ keys: ReportKey[];
17389
+ }
17390
+ }
17178
17391
  }
17179
17392
 
17180
17393
  export namespace WorkorderAgenda {
@@ -0,0 +1,503 @@
1
+ import type { QueryCriteriaOperators } from "./index";
2
+
3
+ type SalesAnalyticsReportFilterKeys =
4
+ | "is_void"
5
+ | "client_id"
6
+ | "rep"
7
+ | "admin"
8
+ | "creator._id"
9
+ | "status"
10
+ | "time"
11
+ | "issue_date"
12
+ | "due_date"
13
+ | "createdAt"
14
+ | "updatedAt"
15
+ | "client.chain"
16
+ | "client.channel"
17
+ | "client.city"
18
+ | "client.state"
19
+ | "client.country"
20
+ | "client.tags"
21
+ | "client.CLIENT_TAGS"
22
+ | "client.AREA_TAGS"
23
+ | "product.brand"
24
+ | "product.category"
25
+ | "product.sub_category"
26
+ | "product.product_groups"
27
+ | "promotions._id"
28
+ | "items.measureunit._id"
29
+ | "items.return_reason"
30
+ | "items.variant.variant_id"
31
+ | "items.variant.product_id"
32
+ | "items.promotion_type"
33
+ | "items.class"
34
+ | "items.discounted_price"
35
+ | "items.tax._id"
36
+ | "items.tax.name"
37
+ | "items.tax.type"
38
+ | "return_items.tax.name"
39
+ | "return_items.tax.type"
40
+ | "return_items.measureunit._id"
41
+ | "return_items.return_reason"
42
+ | "return_items.variant.variant_id"
43
+ | "return_items.variant.product_id"
44
+ | "return_items.promotion_type"
45
+ | "return_items.class"
46
+ | "return_items.discounted_price"
47
+ | "return_items.tax._id"
48
+ | "teams"
49
+ | "route"
50
+ | "custom_status";
51
+
52
+ interface SalesAnalyticsReportFilter extends Record<
53
+ SalesAnalyticsReportFilterKeys,
54
+ QueryCriteriaOperators[]
55
+ > {
56
+ is_void: ["in"];
57
+ client_id: ["in", "nin"];
58
+ rep: ["in", "nin"];
59
+ admin: ["in", "nin"];
60
+ "creator._id": ["in", "nin"];
61
+ status: ["in", "nin"];
62
+ time: [
63
+ "between",
64
+ "last_seven_days",
65
+ "last_thirty_days",
66
+ "last_month",
67
+ "last_three_months",
68
+ "last_six_months",
69
+ "last_twelve_months",
70
+ "yesterday",
71
+ "today",
72
+ "gte",
73
+ "lte",
74
+ "lt",
75
+ "gt",
76
+ ];
77
+ issue_date: [
78
+ "between",
79
+ "last_seven_days",
80
+ "last_thirty_days",
81
+ "last_month",
82
+ "last_three_months",
83
+ "last_six_months",
84
+ "last_twelve_months",
85
+ "yesterday",
86
+ "today",
87
+ "gte",
88
+ "lte",
89
+ "lt",
90
+ "gt",
91
+ ];
92
+ due_date: [
93
+ "between",
94
+ "last_seven_days",
95
+ "last_thirty_days",
96
+ "last_month",
97
+ "last_three_months",
98
+ "last_six_months",
99
+ "last_twelve_months",
100
+ "yesterday",
101
+ "today",
102
+ "gte",
103
+ "lte",
104
+ "lt",
105
+ "gt",
106
+ ];
107
+ createdAt: [
108
+ "between",
109
+ "last_seven_days",
110
+ "last_thirty_days",
111
+ "last_month",
112
+ "last_three_months",
113
+ "last_six_months",
114
+ "last_twelve_months",
115
+ "yesterday",
116
+ "today",
117
+ "gte",
118
+ "lte",
119
+ "lt",
120
+ "gt",
121
+ ];
122
+ updatedAt: [
123
+ "between",
124
+ "last_seven_days",
125
+ "last_thirty_days",
126
+ "last_month",
127
+ "last_three_months",
128
+ "last_six_months",
129
+ "last_twelve_months",
130
+ "yesterday",
131
+ "today",
132
+ "gte",
133
+ "lte",
134
+ "lt",
135
+ "gt",
136
+ ];
137
+ "client.chain": ["in", "nin"];
138
+ "client.channel": ["in", "nin"];
139
+ "client.city": ["in", "nin"];
140
+ "client.state": ["in", "nin"];
141
+ "client.country": ["in", "nin"];
142
+ "client.tags": ["in", "nin"];
143
+ "client.CLIENT_TAGS": ["in", "nin"];
144
+ "client.AREA_TAGS": ["in", "nin"];
145
+ "product.brand": ["in", "nin"];
146
+ "product.category": ["in", "nin"];
147
+ "product.sub_category": ["in", "nin"];
148
+ "product.product_groups": ["in", "nin"];
149
+ "promotions._id": ["in", "nin"];
150
+ "items.promos": ["in", "nin"];
151
+ "items.measureunit._id": ["in", "nin"];
152
+ "items.return_reason": ["in", "nin"];
153
+ "items.variant.variant_id": ["in", "nin"];
154
+ "items.variant.product_id": ["in", "nin"];
155
+ "items.promotion_type": ["in", "nin"];
156
+ "items.class": ["in", "nin"];
157
+ "items.discounted_price": ["between"];
158
+ "items.tax._id": ["in", "nin"];
159
+ "items.tax.name": ["in", "nin"];
160
+ "items.tax.type": ["in", "nin"];
161
+ "return_items.tax.name": ["in", "nin"];
162
+ "return_items.tax.type": ["in", "nin"];
163
+ "return_items.measureunit._id": ["in", "nin"];
164
+ "return_items.return_reason": ["in", "nin"];
165
+ "return_items.variant.variant_id": ["in", "nin"];
166
+ "return_items.variant.product_id": ["in", "nin"];
167
+ "return_items.promotion_type": ["in", "nin"];
168
+ "return_items.class": ["in", "nin"];
169
+ "return_items.discounted_price": ["between"];
170
+ "return_items.tax._id": ["in", "nin"];
171
+ teams: ["in", "nin"];
172
+ route: ["in", "nin"];
173
+ custom_status: ["in", "nin"];
174
+ }
175
+
176
+ type SalesAnalyticsReportProjectionKey =
177
+ | "issue_date"
178
+ | "due_date"
179
+ | "serial_number"
180
+ | "advanced_serial_number"
181
+ | "external_serial_number"
182
+ | "return_serial_number"
183
+ | "client"
184
+ | "client_code"
185
+ | "creator"
186
+ | "rep_username"
187
+ | "teams"
188
+ | "route"
189
+ | "custom_status"
190
+ | "workorder_serial_number"
191
+ | "line_number"
192
+ | "lines"
193
+ | "status"
194
+ | "product"
195
+ | "product_local_name"
196
+ | "product_sku"
197
+ | "product_barcode"
198
+ | "variant"
199
+ | "variant_local_name"
200
+ | "variant_sku"
201
+ | "variant_barcode"
202
+ | "category"
203
+ | "sub_category"
204
+ | "brand"
205
+ | "product_groups"
206
+ | "promotion"
207
+ | "promotion_ref"
208
+ | "promotion_type"
209
+ | "class"
210
+ | "class"
211
+ | "return_reason"
212
+ | "chain"
213
+ | "channel"
214
+ | "country"
215
+ | "state"
216
+ | "city"
217
+ | "area_tags"
218
+ | "client_tags"
219
+ | "original_price"
220
+ | "tax"
221
+ | "visit_uuid"
222
+ | "base_unit_qty"
223
+ | "qty"
224
+ | "measureunit"
225
+ | "price"
226
+ | "tax"
227
+ | "line_total"
228
+ | "lineTotalAfterDeduction"
229
+ | "deduction"
230
+ | "total_before_tax"
231
+ | "discount_amount"
232
+ | "tax_total"
233
+ | "tax_total_after_deduction"
234
+ | "pre_total"
235
+ | "return_total"
236
+ | "total"
237
+ | "balance"
238
+ | "tax_total_after_deduction"
239
+ | `client_customFields.${string}`
240
+ | `rep_customFields.${string}`;
241
+
242
+ type SalesAnalyticsReportSortedKey =
243
+ | "issue_date"
244
+ | "due_date"
245
+ | "createdAt"
246
+ | "updatedAt"
247
+ | "time"
248
+ | "line_total"
249
+ | "pre_total"
250
+ | "return_total"
251
+ | "total"
252
+ | "balance"
253
+ | "items.tax_total_after_deduction"
254
+ | "items.lineTotalAfterDeduction"
255
+ | "items.price"
256
+ | "discount_amount"
257
+ | "tax_total"
258
+ | "items.base_unit_qty"
259
+ | "items.qty"
260
+ | "items.deduction";
261
+
262
+ type SalesAnalyticsGroupByIDs = {
263
+ client:
264
+ | "client_name"
265
+ | "client_id"
266
+ | "client_code"
267
+ | "client_local_name"
268
+ | "chain"
269
+ | "channel"
270
+ | "client_customFields"
271
+ | "tags"
272
+ | "country"
273
+ | "state"
274
+ | "city";
275
+ user:
276
+ | "creator_id"
277
+ | "creator_type"
278
+ | "creator_name"
279
+ | "creator_customFields"
280
+ | "creator_username";
281
+ issue_date: "issue_date";
282
+ due_date: "due_date";
283
+ serial_number:
284
+ | "serial_number"
285
+ | "external_serial_number"
286
+ | "return_serial_number";
287
+ product:
288
+ | "product_name"
289
+ | "product_local_name"
290
+ | "product"
291
+ | "price"
292
+ | "measureunit"
293
+ | "base_unit_qty"
294
+ | "qty"
295
+ | "discount_amount"
296
+ | "tax"
297
+ | "return_reason"
298
+ | "line_total"
299
+ | "tax_total"
300
+ | "total_before_tax"
301
+ | "lineTotalAfterDeduction"
302
+ | "deduction"
303
+ | "tax_total_after_deduction"
304
+ | "original_price"
305
+ | "product_sku"
306
+ | "product_barcode"
307
+ | "sub_category"
308
+ | "product_groups"
309
+ | "category"
310
+ | "brand";
311
+ variant:
312
+ | "variant_name"
313
+ | "variant_local_name"
314
+ | "variant_sku"
315
+ | "variant_barcode"
316
+ | "price"
317
+ | "measureunit"
318
+ | "base_unit_qty"
319
+ | "qty"
320
+ | "discount_amount"
321
+ | "tax"
322
+ | "return_reason"
323
+ | "line_total"
324
+ | "tax_total"
325
+ | "total_before_tax"
326
+ | "lineTotalAfterDeduction"
327
+ | "deduction"
328
+ | "tax_total_after_deduction"
329
+ | "original_price";
330
+ brand:
331
+ | "brand"
332
+ | "price"
333
+ | "measureunit"
334
+ | "base_unit_qty"
335
+ | "qty"
336
+ | "discount_amount"
337
+ | "tax"
338
+ | "return_reason"
339
+ | "line_total"
340
+ | "tax_total"
341
+ | "total_before_tax"
342
+ | "lineTotalAfterDeduction"
343
+ | "deduction"
344
+ | "tax_total_after_deduction"
345
+ | "original_price";
346
+ category:
347
+ | "category"
348
+ | "price"
349
+ | "measureunit"
350
+ | "base_unit_qty"
351
+ | "qty"
352
+ | "discount_amount"
353
+ | "tax"
354
+ | "return_reason"
355
+ | "line_total"
356
+ | "tax_total"
357
+ | "total_before_tax"
358
+ | "lineTotalAfterDeduction"
359
+ | "deduction"
360
+ | "tax_total_after_deduction"
361
+ | "original_price";
362
+ status: "status";
363
+ promotion_type:
364
+ | "promotion_type"
365
+ | "price"
366
+ | "measureunit"
367
+ | "base_unit_qty"
368
+ | "qty"
369
+ | "discount_amount"
370
+ | "tax"
371
+ | "return_reason"
372
+ | "line_total"
373
+ | "tax_total"
374
+ | "total_before_tax"
375
+ | "lineTotalAfterDeduction"
376
+ | "deduction"
377
+ | "tax_total_after_deduction"
378
+ | "original_price";
379
+ class:
380
+ | "class"
381
+ | "price"
382
+ | "measureunit"
383
+ | "base_unit_qty"
384
+ | "qty"
385
+ | "discount_amount"
386
+ | "tax"
387
+ | "return_reason"
388
+ | "line_total"
389
+ | "tax_total"
390
+ | "total_before_tax"
391
+ | "lineTotalAfterDeduction"
392
+ | "deduction"
393
+ | "tax_total_after_deduction"
394
+ | "original_price";
395
+ measureunit:
396
+ | "measureunit"
397
+ | "price"
398
+ | "base_unit_qty"
399
+ | "qty"
400
+ | "discount_amount"
401
+ | "tax"
402
+ | "return_reason"
403
+ | "line_total"
404
+ | "tax_total"
405
+ | "total_before_tax"
406
+ | "lineTotalAfterDeduction"
407
+ | "deduction"
408
+ | "tax_total_after_deduction"
409
+ | "original_price";
410
+ promotion:
411
+ | "promotions"
412
+ | "promotion_ref"
413
+ | "promotion_type"
414
+ | "price"
415
+ | "measureunit"
416
+ | "base_unit_qty"
417
+ | "qty"
418
+ | "discount_amount"
419
+ | "tax"
420
+ | "return_reason"
421
+ | "line_total"
422
+ | "tax_total"
423
+ | "total_before_tax"
424
+ | "lineTotalAfterDeduction"
425
+ | "deduction"
426
+ | "tax_total_after_deduction"
427
+ | "original_price";
428
+ chain: "client_name" | "chain";
429
+ channel: "client_name" | "channel";
430
+ city: "client_name" | "city";
431
+ state: "client_name" | "state";
432
+ country: "client_name" | "country";
433
+ route: "route";
434
+ custom_status: "custom_status";
435
+ teams: "teams";
436
+ };
437
+
438
+ type SalesAnalyticsFieldAccumulators = {
439
+ client_name: "first" | "last";
440
+ client_id: "first" | "last";
441
+ client_code: "first" | "last";
442
+ client_local_name: "first" | "last";
443
+ chain: "first" | "last";
444
+ channel: "first" | "last";
445
+ client_customFields: "first" | "last";
446
+ tags: "first" | "last";
447
+ country: "first" | "last";
448
+ state: "first" | "last";
449
+ city: "first" | "last";
450
+ creator_id: "first" | "last";
451
+ creator_type: "first" | "last";
452
+ creator_name: "first" | "last";
453
+ creator_customFields: "first" | "last";
454
+ creator_username: "first" | "last";
455
+ issue_date: "first" | "last";
456
+ due_date: "first" | "last";
457
+ serial_number: "first" | "last";
458
+ external_serial_number: "first" | "last";
459
+ return_serial_number: "first" | "last";
460
+ price: "sum" | "avg" | "max" | "min";
461
+ base_unit_qty: "sum" | "avg" | "max" | "min";
462
+ qty: "sum" | "avg" | "max" | "min";
463
+ discount_amount: "sum" | "avg" | "max" | "min";
464
+ line_total: "sum" | "avg" | "max" | "min";
465
+ tax_total: "sum" | "avg" | "max" | "min";
466
+ total_before_tax: "sum" | "avg" | "ma" | "min";
467
+ lineTotalAfterDeduction: "sum" | "avg" | "max" | "min";
468
+ deduction: "sum" | "avg" | "max" | "min";
469
+ tax_total_after_deduction: "sum" | "avg" | "max" | "min";
470
+ original_price: "avg" | "max" | "min" | "sum";
471
+ measureunit: "addToSet" | "first" | "last";
472
+ tax: "addToSet" | "first" | "last";
473
+ return_reason: "addToSet" | "first" | "last";
474
+ promotion_type: "addToSet" | "first" | "last";
475
+ product_name: "first" | "last";
476
+ product_local_name: "first" | "last";
477
+ product: "first" | "last";
478
+ product_sku: "first" | "last";
479
+ product_barcode: "first" | "last";
480
+ sub_category: "first" | "last";
481
+ product_groups: "first" | "last";
482
+ category: "first" | "last";
483
+ brand: "first" | "last";
484
+ variant_name: "first" | "last";
485
+ variant_local_name: "first" | "last";
486
+ variant_sku: "first" | "last";
487
+ variant_barcode: "first" | "last";
488
+ status: "first" | "last";
489
+ class: "first" | "last";
490
+ promotions: "first" | "last";
491
+ promotion_ref: "first" | "last";
492
+ route: "first" | "last";
493
+ custom_status: "first" | "last";
494
+ teams: "first" | "last";
495
+ };
496
+
497
+ export {
498
+ SalesAnalyticsReportSortedKey,
499
+ SalesAnalyticsGroupByIDs,
500
+ SalesAnalyticsFieldAccumulators,
501
+ SalesAnalyticsReportFilter,
502
+ SalesAnalyticsReportProjectionKey,
503
+ };