@secondcloset/types 2.8.0-beta.8 → 2.8.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@secondcloset/types",
3
- "version": "2.8.0-beta.8",
3
+ "version": "2.8.0",
4
4
  "description": "secondcloset type declaration and definitions",
5
5
  "main": "src/index.ts",
6
6
  "scripts": {
@@ -6,7 +6,6 @@ import {
6
6
  BaseUser,
7
7
  Organization,
8
8
  File,
9
- Version,
10
9
  } from "../../_common";
11
10
  import { OrderItem } from "./orderItem";
12
11
 
@@ -45,43 +44,41 @@ export interface FulfillmentOrderAddress extends BaseAddress {
45
44
  updated_at: string;
46
45
  }
47
46
 
48
- export type Order<V extends Version = "V1"> = V extends "V1"
49
- ? {
50
- id: string;
51
- order_id: string;
52
- external_order_number: string;
53
- external_order_id: string | null;
54
- notes: string;
55
- internal_notes?: string;
56
- platform: OrderPlatform;
57
- external_platform_version: number | null;
58
- parcel_type: string;
59
- cancelled: boolean;
60
- fulfilled_from: FacilityCode;
61
- client_type: string | null;
62
- insurance_value: number;
63
- shipping_service: string | null;
64
- signature_required?: boolean;
65
- customer: Customer;
66
- address: FulfillmentOrderAddress;
67
- created_at: string;
68
- updated_at: string;
69
- organization: Organization;
70
- overdue: boolean;
71
- user: BaseUser;
72
- status?: string;
73
- shipment_tags: ShipmentTag[];
74
- shipments: Shipment<V>[];
75
- items: OrderItem<V>[];
76
- files: File[];
77
- stock_status:
78
- | "in_stock"
79
- | "partially_in_stock"
80
- | "out_of_stock"
81
- | "unknown_stock";
82
- on_hold: boolean;
83
- on_hold_at: string;
84
- selected_service_code?: ScServiceCode;
85
- has_errors: boolean;
86
- }
87
- : Omit<Order<"V1">, "items" | "shipments">;
47
+ export interface Order {
48
+ id: string;
49
+ order_id: string;
50
+ external_order_number: string;
51
+ external_order_id: string | null;
52
+ notes: string;
53
+ internal_notes?: string;
54
+ platform: OrderPlatform;
55
+ external_platform_version: number | null;
56
+ parcel_type: string;
57
+ cancelled: boolean;
58
+ fulfilled_from: FacilityCode;
59
+ client_type: string | null;
60
+ insurance_value: number;
61
+ shipping_service: string | null;
62
+ signature_required?: boolean;
63
+ customer: Customer;
64
+ address: FulfillmentOrderAddress;
65
+ created_at: string;
66
+ updated_at: string;
67
+ organization: Organization;
68
+ overdue: boolean;
69
+ user: BaseUser;
70
+ status?: string;
71
+ shipment_tags: ShipmentTag[];
72
+ shipments: Shipment[];
73
+ items: OrderItem[];
74
+ files: File[];
75
+ stock_status:
76
+ | "in_stock"
77
+ | "partially_in_stock"
78
+ | "out_of_stock"
79
+ | "unknown_stock";
80
+ on_hold: boolean;
81
+ on_hold_at: string;
82
+ requested_service_code?: ScServiceCode;
83
+ has_errors: boolean;
84
+ }
@@ -1,34 +1,16 @@
1
- import { Version } from "../../_common";
2
- import { BaseProduct, Product } from "../product";
1
+ import { Product } from "../product";
3
2
  import { ShipmentActionType } from "../shipment";
4
3
 
5
- export type OrderItem<V extends Version = "V1"> = V extends "V1"
6
- ? {
7
- id: string;
8
- product: Product;
9
- quantity: number;
10
- attributes: string[];
11
- return_reasons: string[];
12
- available_actions: ShipmentActionType[];
13
- actions_history: ShipmentActionType[];
14
- virtual_kit_id: null | string;
15
- available_quantity: number;
16
- removed: boolean;
17
- removed_reason: string;
18
- }
19
- : {
20
- product: BaseProduct & {
21
- available_quantity: OrderItem<"V1">["available_quantity"];
22
- base_products?: OrderItem<"V2">["product"][];
23
- required_parts?: Record<string, number>;
24
- };
25
- available_actions: {
26
- inventory_pick_up_item_ids: OrderItem<"V1">["id"][];
27
- inventory_warehouse_receiving_item_ids: OrderItem<"V1">["id"][];
28
- delivery_item_ids: OrderItem<"V1">["id"][];
29
- };
30
- removed_items: {
31
- removed_reason: string;
32
- quantity: number;
33
- }[];
34
- };
4
+ export interface OrderItem {
5
+ id: string;
6
+ product: Product;
7
+ quantity: number;
8
+ attributes: string[];
9
+ return_reasons: string[];
10
+ available_actions: ShipmentActionType[];
11
+ actions_history: ShipmentActionType[];
12
+ virtual_kit_id: null | string;
13
+ available_quantity: number;
14
+ removed: boolean;
15
+ removed_reason: string;
16
+ }
@@ -3,18 +3,14 @@ import { BaseImage } from "../../_common";
3
3
 
4
4
  export interface BaseProduct {
5
5
  id: string;
6
+ organization_id: string;
6
7
  scid: string;
7
- name: string;
8
8
  sku: string;
9
9
  upc: string;
10
- type: "base" | "kit";
11
- active: boolean;
12
- }
13
-
14
- export interface Product extends Omit<BaseProduct, "type"> {
15
- organization_id: string;
10
+ name: string;
16
11
  description: string;
17
12
  platform: string;
13
+ active: boolean;
18
14
  fragile: boolean;
19
15
  dangerous: boolean;
20
16
  liquid: boolean;
@@ -36,7 +32,7 @@ export interface Product extends Omit<BaseProduct, "type"> {
36
32
  customs_description: string | null;
37
33
  images: BaseImage[];
38
34
  packaging_criteria: string;
39
- product_type: BaseProduct["type"];
35
+ product_type: "base" | "kit";
40
36
  stocks?: Stock[];
41
37
  deleted_at: string;
42
38
  created_at: string;
@@ -60,14 +56,21 @@ export interface Product extends Omit<BaseProduct, "type"> {
60
56
  insurance_value: number | null;
61
57
  has_errors: boolean;
62
58
  under_conversion: boolean;
63
- base_products?: Product[];
59
+ }
60
+
61
+ export interface Product extends BaseProduct {
62
+ base_products?: BaseProduct[];
64
63
  }
65
64
 
66
65
  export interface PackagingLevel {
67
66
  id?: string;
68
67
  product_id?: string;
69
- product: BaseProduct & {
68
+ product: {
69
+ id: string;
70
+ sku: string;
70
71
  upc: string;
72
+ scid: string;
73
+ name: string;
71
74
  tracks_lot_numbers: boolean;
72
75
  };
73
76
  level: "single_item" | "inner_pack" | "master_pack" | "pallet";
@@ -1,11 +1,5 @@
1
1
  import { ShipmentItem } from "./shipmentItem";
2
- import {
3
- BaseUser,
4
- BaseNote,
5
- BaseOrganization,
6
- Facility,
7
- Version,
8
- } from "../../_common";
2
+ import { BaseUser, BaseNote, BaseOrganization, Facility } from "../../_common";
9
3
  import { Package } from "./package";
10
4
  import {
11
5
  SecondClosetShippingMethod,
@@ -41,41 +35,39 @@ export type ScServiceCode =
41
35
  | "second_closet_to_the_door_1_person"
42
36
  | ServiceCode;
43
37
 
44
- export type Shipment<V extends Version = "V1"> = V extends "V1"
45
- ? {
46
- id: string;
47
- organization_id: string;
48
- organization?: BaseOrganization;
49
- billed: boolean;
50
- user: BaseUser;
51
- notes: BaseNote[] | string;
52
- shipment_items: ShipmentItem<V>[];
53
- shipment_number: string;
54
- packages: Package[];
55
- external_order_id: string | null;
56
- external_order_type: string;
57
- external_shipment_id: string | null;
58
- carrier: Carrier | null;
59
- created_at: string;
60
- updated_at: string;
61
- action_summary: ShipmentActionType[];
62
- freight: boolean;
63
- shipping_method:
64
- | SecondClosetShippingMethod
65
- | ExternalCarrierShippingMethod
66
- | CustomerPickupShippingMethod;
67
- shipping_method_type:
68
- | "external_carrier_shipment"
69
- | "appointment"
70
- | "untracked_shipment"
71
- | "customer_pickup_shipment";
72
- external_order?: {
73
- id: string;
74
- external_order_number: string;
75
- external_order_id: string | null;
76
- created_at: string;
77
- updated_at: string;
78
- };
79
- facility?: Partial<Facility>;
80
- }
81
- : Omit<Shipment<"V1">, "shipment_items">;
38
+ export interface Shipment {
39
+ id: string;
40
+ organization_id: string;
41
+ organization?: BaseOrganization;
42
+ billed: boolean;
43
+ user: BaseUser;
44
+ notes: BaseNote[] | string;
45
+ shipment_items: ShipmentItem[];
46
+ shipment_number: string;
47
+ packages: Package[];
48
+ external_order_id: string | null;
49
+ external_order_type: string;
50
+ external_shipment_id: string | null;
51
+ carrier: Carrier | null;
52
+ created_at: string;
53
+ updated_at: string;
54
+ action_summary: ShipmentActionType[];
55
+ freight: boolean;
56
+ shipping_method:
57
+ | SecondClosetShippingMethod
58
+ | ExternalCarrierShippingMethod
59
+ | CustomerPickupShippingMethod;
60
+ shipping_method_type:
61
+ | "external_carrier_shipment"
62
+ | "appointment"
63
+ | "untracked_shipment"
64
+ | "customer_pickup_shipment";
65
+ external_order?: {
66
+ id: string;
67
+ external_order_number: string;
68
+ external_order_id: string | null;
69
+ created_at: string;
70
+ updated_at: string;
71
+ };
72
+ facility?: Partial<Facility>;
73
+ }
@@ -1,49 +1,42 @@
1
- import { Version } from "../../_common";
2
- import { BaseProduct } from "../product";
3
1
  import { ShipmentActionType } from "./shipment";
4
- export type ShipmentItem<V extends Version = "V1"> = V extends "V1"
5
- ? {
6
- id: string;
7
- order_item_id: string;
8
- description: string;
9
- item_identifier: string;
10
- item_identifier_type: string;
11
- item_identifier_value: string;
12
- product_id?: string;
13
- weight_value: string;
14
- weight_unit: string;
15
- length_value: string;
16
- length_unit: string;
17
- height_value: string;
18
- height_unit: string;
19
- width_value: string;
20
- width_unit: string;
21
- shipment_actions: ShipmentActionType[];
22
- shipment_actions_completion: Partial<
23
- {
24
- [key in ShipmentActionType]: boolean;
25
- }
26
- >;
27
- shipment_actions_status?: {
28
- [key in ShipmentActionType]: {
29
- completed: boolean;
30
- failed: boolean;
31
- failed_reason: string | null;
32
- };
33
- };
34
- shipment_item_group: {
35
- id: string;
36
- name: string;
37
- description: string;
38
- external_group_id: string;
39
- group_identifier_type: string;
40
- group_identifier_value: string;
41
- created_at: string;
42
- updated_at: string;
43
- group_identifier: string;
44
- } | null;
2
+ export interface ShipmentItem {
3
+ id: string;
4
+ order_item_id: string;
5
+ description: string;
6
+ item_identifier: string;
7
+ item_identifier_type: string;
8
+ item_identifier_value: string;
9
+ product_id?: string;
10
+ weight_value: string;
11
+ weight_unit: string;
12
+ length_value: string;
13
+ length_unit: string;
14
+ height_value: string;
15
+ height_unit: string;
16
+ width_value: string;
17
+ width_unit: string;
18
+ shipment_actions: ShipmentActionType[];
19
+ shipment_actions_completion: Partial<
20
+ {
21
+ [key in ShipmentActionType]: boolean;
45
22
  }
46
- : {
47
- product: BaseProduct;
48
- shipment_item_ids: ShipmentItem<"V1">["id"][];
23
+ >;
24
+ shipment_actions_status?: {
25
+ [key in ShipmentActionType]: {
26
+ completed: boolean;
27
+ failed: boolean;
28
+ failed_reason: string | null;
49
29
  };
30
+ };
31
+ shipment_item_group: {
32
+ id: string;
33
+ name: string;
34
+ description: string;
35
+ external_group_id: string;
36
+ group_identifier_type: string;
37
+ group_identifier_value: string;
38
+ created_at: string;
39
+ updated_at: string;
40
+ group_identifier: string;
41
+ } | null;
42
+ }
@@ -43,7 +43,7 @@ interface ShippingLabel extends Partial<ExternalCarrierShippingLabel> {
43
43
  created_at: string;
44
44
  updated_at: string;
45
45
  }
46
- interface PackageShipment extends Partial<Shipment<"V1">> {
46
+ interface PackageShipment extends Partial<Shipment> {
47
47
  user_id: string;
48
48
  shipping_method_id?: string;
49
49
  customer_scheduling_token?: string;
@@ -62,4 +62,4 @@ export interface PackageDetailsInfo extends PackageInfo {
62
62
  organization: Organization;
63
63
  carrier?: PackageCarrier;
64
64
  shipping_label?: ShippingLabel;
65
- }
65
+ }
package/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/types.iml" filepath="$PROJECT_DIR$/.idea/types.iml" />
6
- </modules>
7
- </component>
8
- </project>
package/.idea/types.iml DELETED
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$">
5
- <excludeFolder url="file://$MODULE_DIR$/temp" />
6
- <excludeFolder url="file://$MODULE_DIR$/.tmp" />
7
- <excludeFolder url="file://$MODULE_DIR$/tmp" />
8
- </content>
9
- <orderEntry type="inheritedJdk" />
10
- <orderEntry type="sourceFolder" forTests="false" />
11
- </component>
12
- </module>
package/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
- </component>
6
- </project>