@isoftdata/ebay-utility 1.4.0 → 1.4.1
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/Readme.md +115 -115
- package/lib/infrastructure/HttpToRepoConverter.js +1 -1
- package/lib/infrastructure/HttpToRepoConverter.js.map +1 -1
- package/lib/repositories/ebay/ImageUploadRepo.js +5 -5
- package/lib/repositories/ebay/ImageUploadRepo.js.map +1 -1
- package/lib/repositories/ebay/InventoryItemRepo.js +1 -1
- package/lib/repositories/ebay/InventoryItemRepo.js.map +1 -1
- package/lib/repositories/ebay/ListingRepo.js +1 -1
- package/lib/repositories/ebay/ListingRepo.js.map +1 -1
- package/package.json +56 -58
- package/lib/adapters/AuthServerRepo.d.ts +0 -13
- package/lib/adapters/AuthServerRepo.d.ts.map +0 -1
- package/lib/adapters/AuthServerRepo.js +0 -23
- package/lib/adapters/AuthServerRepo.js.map +0 -1
- package/lib/repositories/ebay/CompanyRepo.d.ts +0 -5
- package/lib/repositories/ebay/CompanyRepo.d.ts.map +0 -1
- package/lib/repositories/ebay/CompanyRepo.js +0 -15
- package/lib/repositories/ebay/CompanyRepo.js.map +0 -1
- package/lib/repositories/itrack/CompanyRepo.d.ts +0 -5
- package/lib/repositories/itrack/CompanyRepo.d.ts.map +0 -1
- package/lib/repositories/itrack/CompanyRepo.js +0 -8
- package/lib/repositories/itrack/CompanyRepo.js.map +0 -1
- package/lib/repositories/itrack/EbayInventoryItemRowRepo_deprecated.d.ts +0 -27
- package/lib/repositories/itrack/EbayInventoryItemRowRepo_deprecated.d.ts.map +0 -1
- package/lib/repositories/itrack/EbayInventoryItemRowRepo_deprecated.js +0 -2
- package/lib/repositories/itrack/EbayInventoryItemRowRepo_deprecated.js.map +0 -1
- package/lib/repositories/itrack/ItrackEbayInventoryListingDetailRepo_deprecated.d.ts +0 -8
- package/lib/repositories/itrack/ItrackEbayInventoryListingDetailRepo_deprecated.d.ts.map +0 -1
- package/lib/repositories/itrack/ItrackEbayInventoryListingDetailRepo_deprecated.js +0 -66
- package/lib/repositories/itrack/ItrackEbayInventoryListingDetailRepo_deprecated.js.map +0 -1
package/Readme.md
CHANGED
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
# eBay Utility
|
|
2
|
-
|
|
3
|
-
A TypeScript utility library for eBay API operations including inventory management and listings
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install ebay-utility
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Features
|
|
12
|
-
|
|
13
|
-
- **eBay API Integration**: Complete TypeScript interfaces for eBay's Inventory API
|
|
14
|
-
<!-- - **Inventory Management**: Push and sync inventory items to eBay
|
|
15
|
-
- **Policy Management**: Handle fulfillment, payment, and return policies
|
|
16
|
-
- **Offer Management**: Create and manage eBay offers
|
|
17
|
-
- **Location Management**: Manage inventory locations -->
|
|
18
|
-
- **Type Safety**: Full TypeScript support with comprehensive type definitions
|
|
19
|
-
|
|
20
|
-
## Quick Start
|
|
21
|
-
|
|
22
|
-
```typescript
|
|
23
|
-
import { EbayAdapter, TokenManager, pushInventoryToEbay } from 'ebay-utility'
|
|
24
|
-
|
|
25
|
-
// Initialize the eBay adapter
|
|
26
|
-
const tokenManager = new TokenManager(/* your config */)
|
|
27
|
-
const ebayAdapter = new EbayAdapter(tokenManager)
|
|
28
|
-
|
|
29
|
-
// Push inventory to eBay
|
|
30
|
-
const result = await pushInventoryToEbay({
|
|
31
|
-
ebayAdapter,
|
|
32
|
-
inventoryItem: {
|
|
33
|
-
// your inventory item data
|
|
34
|
-
},
|
|
35
|
-
sku: 'your-sku',
|
|
36
|
-
})
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Main Exports
|
|
40
|
-
|
|
41
|
-
### Adapters
|
|
42
|
-
|
|
43
|
-
- `EbayAdapter` - Main adapter for eBay API operations
|
|
44
|
-
- `ItrackAdapter` - Adapter for iTrack integration
|
|
45
|
-
|
|
46
|
-
### Core Functions
|
|
47
|
-
|
|
48
|
-
- `pushInventoryToEbay` - Push inventory items to eBay
|
|
49
|
-
- `syncInventoryToEbay` - Sync inventory between systems
|
|
50
|
-
- `convertItrackListingToEbayOffer` - Convert iTrack listings to eBay offers
|
|
51
|
-
|
|
52
|
-
### Types and Interfaces
|
|
53
|
-
|
|
54
|
-
- `InventoryItem` - eBay inventory item interface
|
|
55
|
-
- `Offer` - eBay offer interface
|
|
56
|
-
- `FulfillmentPolicy`, `PaymentPolicy`, `ReturnPolicy` - Policy interfaces
|
|
57
|
-
- `MarketplaceEnum`, `ConditionEnum`, `ListingDurationEnum` - Enums for eBay values
|
|
58
|
-
|
|
59
|
-
### Infrastructure
|
|
60
|
-
|
|
61
|
-
- `TokenManager` - Handles eBay API authentication
|
|
62
|
-
|
|
63
|
-
## API Documentation
|
|
64
|
-
|
|
65
|
-
### pushInventoryToEbay
|
|
66
|
-
|
|
67
|
-
Validates and sends converted inventory item to eBay.
|
|
68
|
-
|
|
69
|
-
```typescript
|
|
70
|
-
interface PushInventoryInput {
|
|
71
|
-
ebayAdapter: EbayAdapter;
|
|
72
|
-
inventoryItem: InventoryItem;
|
|
73
|
-
sku: string;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
const result = await pushInventoryToEbay(params: PushInventoryInput);
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### syncInventoryToEbay
|
|
80
|
-
|
|
81
|
-
Convert and send inventory item to eBay with full synchronization.
|
|
82
|
-
|
|
83
|
-
```typescript
|
|
84
|
-
interface SyncInventoryToEbayInput {
|
|
85
|
-
ebayAdapter: EbayAdapter;
|
|
86
|
-
tokenManager: TokenManager;
|
|
87
|
-
sku: string;
|
|
88
|
-
inventoryItem: InventoryItem;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const result = await syncInventoryToEbay(params: SyncInventoryToEbayInput);
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## Requirements
|
|
95
|
-
|
|
96
|
-
- Node.js 14+
|
|
97
|
-
- TypeScript 4.5+
|
|
98
|
-
|
|
99
|
-
## Dependencies
|
|
100
|
-
|
|
101
|
-
This package includes the following key dependencies:
|
|
102
|
-
|
|
103
|
-
- `axios` - HTTP client
|
|
104
|
-
- `mysql` - Database connectivity
|
|
105
|
-
- `uuid` - UUID generation
|
|
106
|
-
- `validator` - Data validation
|
|
107
|
-
- `yup` & `zod` - Schema validation
|
|
108
|
-
|
|
109
|
-
## License
|
|
110
|
-
|
|
111
|
-
ISC
|
|
112
|
-
|
|
113
|
-
## Contributing
|
|
114
|
-
|
|
115
|
-
Please ensure all TypeScript code follows the project's coding standards and includes appropriate type definitions.
|
|
1
|
+
# eBay Utility
|
|
2
|
+
|
|
3
|
+
A TypeScript utility library for eBay API operations including inventory management and listings
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install ebay-utility
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- **eBay API Integration**: Complete TypeScript interfaces for eBay's Inventory API
|
|
14
|
+
<!-- - **Inventory Management**: Push and sync inventory items to eBay
|
|
15
|
+
- **Policy Management**: Handle fulfillment, payment, and return policies
|
|
16
|
+
- **Offer Management**: Create and manage eBay offers
|
|
17
|
+
- **Location Management**: Manage inventory locations -->
|
|
18
|
+
- **Type Safety**: Full TypeScript support with comprehensive type definitions
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { EbayAdapter, TokenManager, pushInventoryToEbay } from 'ebay-utility'
|
|
24
|
+
|
|
25
|
+
// Initialize the eBay adapter
|
|
26
|
+
const tokenManager = new TokenManager(/* your config */)
|
|
27
|
+
const ebayAdapter = new EbayAdapter(tokenManager)
|
|
28
|
+
|
|
29
|
+
// Push inventory to eBay
|
|
30
|
+
const result = await pushInventoryToEbay({
|
|
31
|
+
ebayAdapter,
|
|
32
|
+
inventoryItem: {
|
|
33
|
+
// your inventory item data
|
|
34
|
+
},
|
|
35
|
+
sku: 'your-sku',
|
|
36
|
+
})
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Main Exports
|
|
40
|
+
|
|
41
|
+
### Adapters
|
|
42
|
+
|
|
43
|
+
- `EbayAdapter` - Main adapter for eBay API operations
|
|
44
|
+
- `ItrackAdapter` - Adapter for iTrack integration
|
|
45
|
+
|
|
46
|
+
### Core Functions
|
|
47
|
+
|
|
48
|
+
- `pushInventoryToEbay` - Push inventory items to eBay
|
|
49
|
+
- `syncInventoryToEbay` - Sync inventory between systems
|
|
50
|
+
- `convertItrackListingToEbayOffer` - Convert iTrack listings to eBay offers
|
|
51
|
+
|
|
52
|
+
### Types and Interfaces
|
|
53
|
+
|
|
54
|
+
- `InventoryItem` - eBay inventory item interface
|
|
55
|
+
- `Offer` - eBay offer interface
|
|
56
|
+
- `FulfillmentPolicy`, `PaymentPolicy`, `ReturnPolicy` - Policy interfaces
|
|
57
|
+
- `MarketplaceEnum`, `ConditionEnum`, `ListingDurationEnum` - Enums for eBay values
|
|
58
|
+
|
|
59
|
+
### Infrastructure
|
|
60
|
+
|
|
61
|
+
- `TokenManager` - Handles eBay API authentication
|
|
62
|
+
|
|
63
|
+
## API Documentation
|
|
64
|
+
|
|
65
|
+
### pushInventoryToEbay
|
|
66
|
+
|
|
67
|
+
Validates and sends converted inventory item to eBay.
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
interface PushInventoryInput {
|
|
71
|
+
ebayAdapter: EbayAdapter;
|
|
72
|
+
inventoryItem: InventoryItem;
|
|
73
|
+
sku: string;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const result = await pushInventoryToEbay(params: PushInventoryInput);
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### syncInventoryToEbay
|
|
80
|
+
|
|
81
|
+
Convert and send inventory item to eBay with full synchronization.
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
interface SyncInventoryToEbayInput {
|
|
85
|
+
ebayAdapter: EbayAdapter;
|
|
86
|
+
tokenManager: TokenManager;
|
|
87
|
+
sku: string;
|
|
88
|
+
inventoryItem: InventoryItem;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const result = await syncInventoryToEbay(params: SyncInventoryToEbayInput);
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Requirements
|
|
95
|
+
|
|
96
|
+
- Node.js 14+
|
|
97
|
+
- TypeScript 4.5+
|
|
98
|
+
|
|
99
|
+
## Dependencies
|
|
100
|
+
|
|
101
|
+
This package includes the following key dependencies:
|
|
102
|
+
|
|
103
|
+
- `axios` - HTTP client
|
|
104
|
+
- `mysql` - Database connectivity
|
|
105
|
+
- `uuid` - UUID generation
|
|
106
|
+
- `validator` - Data validation
|
|
107
|
+
- `yup` & `zod` - Schema validation
|
|
108
|
+
|
|
109
|
+
## License
|
|
110
|
+
|
|
111
|
+
ISC
|
|
112
|
+
|
|
113
|
+
## Contributing
|
|
114
|
+
|
|
115
|
+
Please ensure all TypeScript code follows the project's coding standards and includes appropriate type definitions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpToRepoConverter.js","sourceRoot":"","sources":["../../src/infrastructure/HttpToRepoConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"HttpToRepoConverter.js","sourceRoot":"","sources":["../../src/infrastructure/HttpToRepoConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAChD,YAA6B,EAC7B,OAAoB,EACF,EAAE;IACpB,yFAAyF;IACzF,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC,mBAAmB,CAAC,CAAA;IAC9F,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;IAE/B,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,IAAI;YACb,OAAO;YACP,IAAI,EAAE,YAAY,CAAC,IAAI;SACvB,CAAA;IACF,CAAC;SAAM,CAAC;QACP,wDAAwD;QACxD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAW,CAAA;QAC1C,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,KAAK;YACd,OAAO;YACP,IAAI,EAAE,SAAS,EAAE,MAAM,IAAI,YAAY,CAAC,IAAI;YAC5C,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,UAAU,EAAE,YAAY,CAAC,UAAU;SACnC,CAAA;IACF,CAAC;AACF,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseRepo } from './BaseRepo.js';
|
|
2
2
|
import { MethodEnum } from '../../entities/http/HttpMethod.js';
|
|
3
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
3
|
+
import { v4 as uuidv4 } from '@lukeed/uuid';
|
|
4
4
|
import { EbayResponseParser } from '../../utils/ebayResponseParser.js';
|
|
5
5
|
/**
|
|
6
6
|
* Repository for uploading images to eBay's EPS (eBay Picture Services)
|
|
@@ -21,10 +21,10 @@ export class ImageUploadRepo extends BaseRepo {
|
|
|
21
21
|
async uploadImage(token, options) {
|
|
22
22
|
const { pictureName, fileData, pictureSet = 'Standard' } = options;
|
|
23
23
|
// Create XML payload for UploadSiteHostedPictures
|
|
24
|
-
const xmlPayload = `<?xml version="1.0" encoding="utf-8"?>
|
|
25
|
-
<UploadSiteHostedPicturesRequest xmlns="urn:ebay:apis:eBLBaseComponents">
|
|
26
|
-
<PictureName>${pictureName}</PictureName>
|
|
27
|
-
<PictureSet>${pictureSet}</PictureSet>
|
|
24
|
+
const xmlPayload = `<?xml version="1.0" encoding="utf-8"?>
|
|
25
|
+
<UploadSiteHostedPicturesRequest xmlns="urn:ebay:apis:eBLBaseComponents">
|
|
26
|
+
<PictureName>${pictureName}</PictureName>
|
|
27
|
+
<PictureSet>${pictureSet}</PictureSet>
|
|
28
28
|
</UploadSiteHostedPicturesRequest>`;
|
|
29
29
|
const request = {
|
|
30
30
|
url: this.baseUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageUploadRepo.js","sourceRoot":"","sources":["../../../src/repositories/ebay/ImageUploadRepo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ImageUploadRepo.js","sourceRoot":"","sources":["../../../src/repositories/ebay/ImageUploadRepo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAEtE;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAM5C,YACC,KAA0D,EAC1D,UAAmB,EACnB,gBAE+E;QAE/E,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QACxB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,yCAAyC,CAAA;IAC1G,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,OAA2B;QAClE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,OAAO,CAAA;QAElE,kDAAkD;QAClD,MAAM,UAAU,GAAG;;iBAEJ,WAAW;gBACZ,UAAU;mCACS,CAAA;QAEjC,MAAM,OAAO,GAAqB;YACjC,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACR,mBAAmB,EAAE,GAAG;gBACxB,gCAAgC,EAAE,MAAM;gBACxC,sBAAsB,EAAE,0BAA0B;gBAClD,sBAAsB,EAAE,KAAK;gBAC7B,eAAe,EAAE,UAAU;gBAC3B,yBAAyB,EAAE,GAAG;gBAC9B,8BAA8B,EAAE,KAAK;aACrC;YACD,MAAM,EAAE;gBACP;oBACC,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,UAAU;oBACjB,WAAW,EAAE,UAAU;iBACvB;aACD;YACD,KAAK,EAAE;gBACN;oBACC,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,YAAY,EAAE,8CAA8C;iBACzE;aACD;SACD,CAAA;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAA;QAErB,oDAAoD;QACpD,MAAM,WAAW,GAAgB;YAChC,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,MAAM,EAAE,UAAU,CAAC,IAAI;YACvB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,IAAI;SACV,CAAA;QAED,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAS,OAAO,CAAC,CAAA;YAE7D,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACvB,OAAO;oBACN,IAAI;oBACJ,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,WAAW;oBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACnB,CAAA;YACF,CAAC;YAED,gDAAgD;YAChD,uDAAuD;YACvD,IAAI,CAAC;gBACJ,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAE9E,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;oBACtD,8CAA8C;oBAC9C,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;oBACnE,MAAM,aAAa,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAA;oBAEzE,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;oBAE/C,OAAO;wBACN,IAAI;wBACJ,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE,WAAW;wBACpB,MAAM,EAAE,GAAG,EAAE,6CAA6C;wBAC1D,UAAU,EAAE,mBAAmB,YAAY,EAAE;wBAC7C,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,gCAAgC;qBACrD,CAAA;gBACF,CAAC;gBAED,wEAAwE;gBACxE,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAA;gBACvF,CAAC;gBAED,OAAO;oBACN,IAAI;oBACJ,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,WAAW;oBACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACnB,CAAA;YACF,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACrB,+EAA+E;gBAC/E,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,UAAU,CAAC,CAAA;gBAC/D,OAAO;oBACN,IAAI;oBACJ,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,WAAW;oBACpB,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,kCAAkC,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,EAAE;oBAC1H,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACnB,CAAA;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO;gBACN,IAAI;gBACJ,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE,GAAG;gBACX,UAAU,EAAE,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;aACzF,CAAA;QACF,CAAC;IACF,CAAC;CACD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseRepo } from './BaseRepo.js';
|
|
2
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
+
import { v4 as uuidv4 } from '@lukeed/uuid';
|
|
3
3
|
import { HttpHeaders as H } from '../../entities/http/HttpHeaders.js';
|
|
4
4
|
import { MethodEnum } from '../../entities/http/HttpMethod.js';
|
|
5
5
|
import { getDomain } from '../../entities/ebay/url.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InventoryItemRepo.js","sourceRoot":"","sources":["../../../src/repositories/ebay/InventoryItemRepo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"InventoryItemRepo.js","sourceRoot":"","sources":["../../../src/repositories/ebay/InventoryItemRepo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,WAAW,IAAI,CAAC,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAatD,MAAM,OAAO,iBAAkB,SAAQ,QAAQ;IAA/C;;QACQ,oBAAe,GAAG,KAAK,EAAE,IAAmB,EAAE,GAAQ,EAAE,KAAa,EAA+B,EAAE;YAC5G,MAAM,IAAI,GAAG,MAAM,EAAE,CAAA;YACrB,MAAM,OAAO,GAAG,iBAAiB,CAAC,yCAAyC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAE9G,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAO,OAAO,CAAC,CAAA;gBAChD,OAAO;oBACN,IAAI;oBACJ,OAAO,EAAE,IAAI;oBACb,OAAO;oBACP,IAAI,EAAE,SAAS;iBACf,CAAA;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO;oBACN,IAAI;oBACJ,OAAO,EAAE,KAAK;oBACd,OAAO;oBACP,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,UAAU,EAAE,GAAG,CAAC,UAAU;iBAC1B,CAAA;YACF,CAAC;QACF,CAAC,CAAA;IA6BF,CAAC;;AA3BA,mHAAmH;AAC5G,2DAAyC,GAAG,CAClD,UAAmB,EACnB,KAAa,EACb,GAAW,EACX,IAAmB,EACmB,EAAE;IACxC,MAAM,OAAO,GAAG;QACf,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;QACzB,GAAG,CAAC,CAAC,eAAe;QACpB,GAAG,CAAC,CAAC,WAAW,EAAE,oCAAoC;QACtD,iBAAiB,EAAE,OAAO,EAAE,EAAE;QAC9B,aAAa;QACb,qCAAqC;QACrC,6BAA6B;KAC7B,CAAA;IAED,kBAAkB;IAClB,2CAA2C;IAE3C,OAAO;QACN,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,UAAU,CAAC,GAAG;QACtB,GAAG,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,qCAAqC,GAAG,EAAE;QACvE,OAAO;KACP,CAAA;AACF,CAAC,AAzB+C,CAyB/C"}
|
|
@@ -2,7 +2,7 @@ import { HttpHeaders as H } from '../../entities/http/HttpHeaders.js';
|
|
|
2
2
|
import { MethodEnum } from '../../entities/http/HttpMethod.js';
|
|
3
3
|
import { getDomain } from '../../entities/ebay/url.js';
|
|
4
4
|
import { BaseRepo } from './BaseRepo.js';
|
|
5
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
5
|
+
import { v4 as uuidv4 } from '@lukeed/uuid';
|
|
6
6
|
/**
|
|
7
7
|
* Otherwise known as a 'Published Offer'
|
|
8
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListingRepo.js","sourceRoot":"","sources":["../../../src/repositories/ebay/ListingRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,CAAC,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ListingRepo.js","sourceRoot":"","sources":["../../../src/repositories/ebay/ListingRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,CAAC,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAgB,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAe3C;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,QAAQ;IAAzC;;QACQ,WAAM,GAAG,KAAK,EAAE,OAAe,EAAE,KAAa,EAA+C,EAAE;YACrG,MAAM,IAAI,GAAG,MAAM,EAAE,CAAA;YACrB,MAAM,OAAO,GAAG,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YACtF,OAAO,MAAM,IAAI,CAAC,KAAK,CAAuB,OAAO,CAAC,CAAA;QACvD,CAAC,CAAA;QAEM,WAAM,GAAG,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;YAClD,MAAM,OAAO,GAAG,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YACvF,OAAO,IAAI,CAAC,KAAK,CAAwB,OAAO,CAAC,CAAA;QAClD,CAAC,CAAA;IAuBF,CAAC;;AArBA,0FAA0F;AACnF,qCAAyB,GAAG,CAAC,UAAmB,EAAE,KAAa,EAAE,OAAe,EAAuB,EAAE,CAAC,CAAC;IACjH,OAAO,EAAE;QACR,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;QACzB,GAAG,CAAC,CAAC,eAAe;QACpB,GAAG,CAAC,CAAC,WAAW;QAChB,iBAAiB,EAAE,OAAO,EAAE,EAAE;KAC9B;IACD,MAAM,EAAE,UAAU,CAAC,IAAI;IACvB,GAAG,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,4BAA4B,OAAO,UAAU;CAC1E,CAAC,AAT8B,CAS9B;AAEF,2FAA2F;AACpF,sCAA0B,GAAG,CAAC,UAAmB,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE,CAAC,CAAC;IAC7F,MAAM,EAAE,UAAU,CAAC,IAAI;IACvB,GAAG,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,4BAA4B,OAAO,WAAW;IAC3E,OAAO,EAAE;QACR,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;QACzB,GAAG,CAAC,CAAC,WAAW;KAChB;CACD,CAAC,AAP+B,CAO/B"}
|
package/package.json
CHANGED
|
@@ -1,58 +1,56 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"prettier": "@isoftdata/prettier-config-base"
|
|
58
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@isoftdata/ebay-utility",
|
|
3
|
+
"version": "1.4.1",
|
|
4
|
+
"main": "lib/index.js",
|
|
5
|
+
"types": "lib/index.d.ts",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./lib/index.js",
|
|
10
|
+
"types": "./lib/index.d.ts"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"lib/**/*",
|
|
15
|
+
"README.md"
|
|
16
|
+
],
|
|
17
|
+
"keywords": [
|
|
18
|
+
"ebay",
|
|
19
|
+
"api",
|
|
20
|
+
"inventory",
|
|
21
|
+
"listing",
|
|
22
|
+
"ecommerce"
|
|
23
|
+
],
|
|
24
|
+
"author": "Your Name <your.email@example.com>",
|
|
25
|
+
"license": "ISC",
|
|
26
|
+
"description": "A TypeScript utility library for eBay API operations including inventory management, listings, and policy handling",
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@lukeed/uuid": "^2.0.1",
|
|
29
|
+
"@types/xml2js": "^0.4.14",
|
|
30
|
+
"csrf": "^3.1.0",
|
|
31
|
+
"dataloader": "^2.2.2",
|
|
32
|
+
"dotenv": "^16.4.5",
|
|
33
|
+
"fs": "^0.0.1-security",
|
|
34
|
+
"mysql2": "^3.16.0",
|
|
35
|
+
"qs": "^6.13.0",
|
|
36
|
+
"query-string": "^9.3.1",
|
|
37
|
+
"uvu": "^0.5.6",
|
|
38
|
+
"validator": "^13.12.0",
|
|
39
|
+
"xml2js": "^0.6.2",
|
|
40
|
+
"yup": "^1.4.0",
|
|
41
|
+
"zod": "^3.23.8"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@isoftdata/prettier-config-base": "^1.0.3",
|
|
45
|
+
"@types/node": "^20.0.0",
|
|
46
|
+
"@types/validator": "^13.0.0",
|
|
47
|
+
"ts-node": "^10.9.2",
|
|
48
|
+
"typescript": "^5.0.0"
|
|
49
|
+
},
|
|
50
|
+
"prettier": "@isoftdata/prettier-config-base",
|
|
51
|
+
"scripts": {
|
|
52
|
+
"test": "npm run build && uvu lib/tests",
|
|
53
|
+
"build": "tsc --version && tsc",
|
|
54
|
+
"build-start": "tsc --version && tsc && node lib/tests"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
interface ResponsePayload {
|
|
2
|
-
access_token: string;
|
|
3
|
-
expires_in: string;
|
|
4
|
-
refresh_token: string;
|
|
5
|
-
}
|
|
6
|
-
export declare class AuthServerRepo {
|
|
7
|
-
private readonly fetch;
|
|
8
|
-
constructor(fetch: <T>(req: any) => Promise<T>);
|
|
9
|
-
get: (token: string) => Promise<ResponsePayload | null>;
|
|
10
|
-
private formatRequest;
|
|
11
|
-
}
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=AuthServerRepo.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AuthServerRepo.d.ts","sourceRoot":"","sources":["../../src/adapters/AuthServerRepo.ts"],"names":[],"mappings":"AAGA,UAAU,eAAe;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACtB;AAGD,qBAAa,cAAc;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC;IAExD,GAAG,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAKlE;IAGD,OAAO,CAAC,aAAa,CAQnB;CACF"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { MethodEnum } from "../entities/http/HttpMethod.js";
|
|
2
|
-
// I believe this requires the generated token
|
|
3
|
-
export class AuthServerRepo {
|
|
4
|
-
constructor(fetch) {
|
|
5
|
-
this.fetch = fetch;
|
|
6
|
-
this.get = async (token) => {
|
|
7
|
-
const req = this.formatRequest(token);
|
|
8
|
-
const res = await this.fetch(req);
|
|
9
|
-
const parsed = JSON.parse(res);
|
|
10
|
-
return parsed ?? null;
|
|
11
|
-
};
|
|
12
|
-
// TODO: move url to ENV
|
|
13
|
-
this.formatRequest = (state) => ({
|
|
14
|
-
method: MethodEnum.Get,
|
|
15
|
-
url: "https://ebay-redirect-server-puq6ph6rnq-uc.a.run.app/token",
|
|
16
|
-
//url: "https://localhost:3000/token",
|
|
17
|
-
params: {
|
|
18
|
-
state,
|
|
19
|
-
},
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=AuthServerRepo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AuthServerRepo.js","sourceRoot":"","sources":["../../src/adapters/AuthServerRepo.ts"],"names":[],"mappings":"AACA,OAAO,EAAG,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAQ5D,8CAA8C;AAC9C,MAAM,OAAO,cAAc;IAC1B,YAA6B,KAAkC;QAAlC,UAAK,GAAL,KAAK,CAA6B;QAExD,QAAG,GAAG,KAAK,EAAE,KAAa,EAAmC,EAAE;YACrE,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAS,GAAG,CAAC,CAAA;YACzC,MAAM,MAAM,GAAoB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC/C,OAAO,MAAM,IAAI,IAAI,CAAA;QACtB,CAAC,CAAA;QAEE,wBAAwB;QACnB,kBAAa,GAAG,CAAC,KAAa,EAAe,EAAE,CAAC,CAAC;YACxD,MAAM,EAAE,UAAU,CAAC,GAAG;YACtB,GAAG,EAAE,4DAA4D;YACjE,sCAAsC;YAEtC,MAAM,EAAE;gBACP,KAAK;aACL;SACD,CAAC,CAAA;IAlBgE,CAAC;CAmBnE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CompanyRepo.d.ts","sourceRoot":"","sources":["../../../src/repositories/ebay/CompanyRepo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAM7D,qBAAa,WAAW;IACvB,MAAM,CAAC,GAAG,GAAI,IAAI,SAAS,qBAIW;CAEtC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export class CompanyRepo {
|
|
2
|
-
}
|
|
3
|
-
CompanyRepo.get = (db) => db.query({
|
|
4
|
-
sql: "SELECT f_get_setting('Global', -1, 'Company Info', 'Product Code', '', 'False', 'Important Configuration')"
|
|
5
|
-
+ " AS `companyId`",
|
|
6
|
-
values: [],
|
|
7
|
-
}).then(result => result[0].companyId);
|
|
8
|
-
// export class CompanyRepo {
|
|
9
|
-
// static get = (db: MysqlDatastore) => db.query<Row[]>({
|
|
10
|
-
// sql: "SELECT f_get_setting('Global', -1, 'Company Info', 'Product Code', '', 'False', 'Important Configuration')"
|
|
11
|
-
// + " AS `companyId`",
|
|
12
|
-
// values: [],
|
|
13
|
-
// }).then(result => result[0].companyId)
|
|
14
|
-
// }
|
|
15
|
-
//# sourceMappingURL=CompanyRepo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CompanyRepo.js","sourceRoot":"","sources":["../../../src/repositories/ebay/CompanyRepo.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,WAAW;;AAChB,eAAG,GAAG,CAAC,EAAa,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAQ;IAC/C,GAAG,EAAE,4GAA4G;UAC7G,iBAAiB;IACrB,MAAM,EAAE,EAAE;CACV,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAIvC,6BAA6B;AAC7B,0DAA0D;AAC1D,sHAAsH;AACtH,2BAA2B;AAC3B,gBAAgB;AAChB,0CAA0C;AAE1C,IAAI"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CompanyRepo.d.ts","sourceRoot":"","sources":["../../../src/repositories/itrack/CompanyRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAM7D,qBAAa,WAAW;IACvB,MAAM,CAAC,GAAG,GAAI,IAAI,SAAS,qBAIW;CAEtC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export class CompanyRepo {
|
|
2
|
-
}
|
|
3
|
-
CompanyRepo.get = (db) => db.query({
|
|
4
|
-
sql: "SELECT f_get_setting('Global', -1, 'Company Info', 'Product Code', '', 'False', 'Important Configuration')"
|
|
5
|
-
+ " AS `companyId`",
|
|
6
|
-
values: [],
|
|
7
|
-
}).then(result => result[0].companyId);
|
|
8
|
-
//# sourceMappingURL=CompanyRepo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CompanyRepo.js","sourceRoot":"","sources":["../../../src/repositories/itrack/CompanyRepo.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,WAAW;;AAChB,eAAG,GAAG,CAAC,EAAa,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAQ;IAC/C,GAAG,EAAE,4GAA4G;UAC7G,iBAAiB;IACrB,MAAM,EAAE,EAAE;CACV,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ShouldBeOnEbayEnum } from "../../entities/itrack/ShouldBeOnEbayEnum.js";
|
|
2
|
-
import * as AvailabilityEntity from "../../entities/ebay/Availability.js";
|
|
3
|
-
export interface ItrackEbayInventoryItemRow {
|
|
4
|
-
id: number;
|
|
5
|
-
should_be_on_ebay: ShouldBeOnEbayEnum;
|
|
6
|
-
storeid: number;
|
|
7
|
-
tagnumber: string;
|
|
8
|
-
datemodified: Date;
|
|
9
|
-
inventoryid: number;
|
|
10
|
-
quantity_available: number;
|
|
11
|
-
quantity_on_order: number;
|
|
12
|
-
ebay_sku: string;
|
|
13
|
-
ebay_merchant_location_key: string;
|
|
14
|
-
ebay_availability_type: AvailabilityEntity.AvailabilityTypeEnum;
|
|
15
|
-
ebay_category_id: string | null;
|
|
16
|
-
ebay_condition: string | null;
|
|
17
|
-
ebay_condition_description: string;
|
|
18
|
-
ebay_marketplace: string;
|
|
19
|
-
ebay_price: number;
|
|
20
|
-
ebay_title: string;
|
|
21
|
-
ebay_description: string;
|
|
22
|
-
ebay_subtitle: string;
|
|
23
|
-
ebay_fulfillment_policy: string;
|
|
24
|
-
ebay_payment_policy: string;
|
|
25
|
-
ebay_return_policy: string;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=EbayInventoryItemRowRepo_deprecated.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EbayInventoryItemRowRepo_deprecated.d.ts","sourceRoot":"","sources":["../../../src/repositories/itrack/EbayInventoryItemRowRepo_deprecated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,KAAK,kBAAkB,MAAM,qCAAqC,CAAA;AAIzE,MAAM,WAAW,0BAA0B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B,EAAE,MAAM,CAAC;IACnC,sBAAsB,EAAE,kBAAkB,CAAC,oBAAoB,CAAC;IAChE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,0BAA0B,EAAE,MAAM,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EbayInventoryItemRowRepo_deprecated.js","sourceRoot":"","sources":["../../../src/repositories/itrack/EbayInventoryItemRowRepo_deprecated.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { MysqlDatastore } from "../../infrastructure/mysql/MysqlDatastore";
|
|
2
|
-
import { ItrackEbayListingRow } from "../../entities/itrack/ItrackEbayListing_deprecated.js";
|
|
3
|
-
export declare class ItrackEbayInventoryListingDetailRepo {
|
|
4
|
-
private readonly dataloader;
|
|
5
|
-
constructor(db: MysqlDatastore);
|
|
6
|
-
get: (id: number) => Promise<ItrackEbayListingRow>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=ItrackEbayInventoryListingDetailRepo_deprecated.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ItrackEbayInventoryListingDetailRepo_deprecated.d.ts","sourceRoot":"","sources":["../../../src/repositories/itrack/ItrackEbayInventoryListingDetailRepo_deprecated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAA;AAI5F,qBAAa,oCAAoC;IAEzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsD;gBAgBrE,EAAE,EAAE,cAAc;IA+C3B,GAAG,GAAS,IAAI,MAAM,KAAG,OAAO,CAAC,oBAAoB,CAAC,CAG5D;CAIJ"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import Dataloader from "dataloader";
|
|
2
|
-
export class ItrackEbayInventoryListingDetailRepo {
|
|
3
|
-
// We'll need a default for category, if no match in category map
|
|
4
|
-
// We'll need a default for description if empty which may involve a template
|
|
5
|
-
// We'll need a way to get the preferred sku format and/or a default
|
|
6
|
-
//
|
|
7
|
-
// Whichever thing consumes this itrack inventory item will be responsible for figuring out
|
|
8
|
-
// overrides and defaults
|
|
9
|
-
// Note: The eBay sync utility uses f_ebay_availability_type which involves quantity on order to adjust the value
|
|
10
|
-
// As far as I can tell, SHIP_TO_STORE is intended for the seller's
|
|
11
|
-
// own warehouse locations, not vendors...especially since using it requires supplying one's merchant location key
|
|
12
|
-
// With that in mind, I will not be using it unless we can confirm a customer is using
|
|
13
|
-
// a location in the way eBay thinks of as a warehouse.
|
|
14
|
-
// TODO: a list of image urls is required but that should likely come from a separate step.
|
|
15
|
-
constructor(db) {
|
|
16
|
-
this.get = async (id) => {
|
|
17
|
-
// Not really sure a dataloader is necessary here but Mark uses it elsewhere
|
|
18
|
-
return await this.dataloader.load(id);
|
|
19
|
-
};
|
|
20
|
-
// TODO: this will need to be a view at some point
|
|
21
|
-
// TODO: join against an override table which doesn't exist yet
|
|
22
|
-
this.dataloader = new Dataloader(async (ids) => {
|
|
23
|
-
return db.query({
|
|
24
|
-
sql: `
|
|
25
|
-
SELECT
|
|
26
|
-
inventory.innodb_inventoryid AS id,
|
|
27
|
-
ebayconditionmap.ebaycondition AS ebay_condition,
|
|
28
|
-
inventory.condition AS condition_description,
|
|
29
|
-
COALESCE(inventorylistingoverride.description, IFNULL(inventory.description, '')) AS ebay_description,
|
|
30
|
-
inventory.inventoryid AS inventoryid,
|
|
31
|
-
inventory.public AS public,
|
|
32
|
-
f_quantityavailable(inventory.inventoryid, inventory.storeid) AS quantity_available,
|
|
33
|
-
COALESCE(inventorylistingoverride.price,inventory.retailprice) AS ebay_price,
|
|
34
|
-
inventory.shippingwidth AS shippingwidth,
|
|
35
|
-
inventory.shippinglength AS shippinglength,
|
|
36
|
-
inventory.shippingheight AS shippingheight,
|
|
37
|
-
inventory.shippingmeasurementunit AS shippingmeasurementunit,
|
|
38
|
-
inventory.storeid AS storeid,
|
|
39
|
-
inventory.tagnumber AS tagnumber,
|
|
40
|
-
inventory.upc AS upc,
|
|
41
|
-
inventory.weight AS weight,
|
|
42
|
-
inventory.weightunit AS weightunit,
|
|
43
|
-
ebaycategorymap.ebaycategoryid AS ebay_category_id,
|
|
44
|
-
'EBAY_MOTORS' AS ebay_marketplace,
|
|
45
|
-
manufacturer.name AS manufacturername,
|
|
46
|
-
model.name AS model
|
|
47
|
-
FROM
|
|
48
|
-
inventory
|
|
49
|
-
LEFT JOIN
|
|
50
|
-
ebayconditionmap ON inventory.category = ebayconditionmap.itrackcondition
|
|
51
|
-
LEFT JOIN
|
|
52
|
-
ebaycategorymap USING (inventorytypeid)
|
|
53
|
-
LEFT JOIN
|
|
54
|
-
manufacturer USING (manufacturerid)
|
|
55
|
-
LEFT JOIN
|
|
56
|
-
model USING (modelid)
|
|
57
|
-
LEFT JOIN
|
|
58
|
-
inventorylistingoverride ON inventory.innodb_inventoryid = inventorylistingoverride.id
|
|
59
|
-
WHERE inventory.innodb_inventoryid IN (?)
|
|
60
|
-
`,
|
|
61
|
-
values: [ids],
|
|
62
|
-
}).then(rows => ids.map(id => rows.find(row => row.id === id)));
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=ItrackEbayInventoryListingDetailRepo_deprecated.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ItrackEbayInventoryListingDetailRepo_deprecated.js","sourceRoot":"","sources":["../../../src/repositories/itrack/ItrackEbayInventoryListingDetailRepo_deprecated.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAGnC,MAAM,OAAO,oCAAoC;IAIzC,iEAAiE;IACjE,6EAA6E;IAC7E,oEAAoE;IACpE,GAAG;IACH,2FAA2F;IAC3F,yBAAyB;IAEzB,iHAAiH;IACjH,mEAAmE;IACnE,mHAAmH;IACnH,uFAAuF;IACvF,uDAAuD;IAEvD,2FAA2F;IAC3F,YAAY,EAAkB;QA+C3B,QAAG,GAAG,KAAK,EAAC,EAAU,EAAiC,EAAE;YAC5D,4EAA4E;YAC5E,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzC,CAAC,CAAA;QAjDO,kDAAkD;QAClD,+DAA+D;QAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACzC,OAAO,EAAE,CAAC,KAAK,CAAyB;gBACpC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAoCJ;gBACD,MAAM,EAAE,CAAE,GAAG,CAAE;aAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;QACnE,CAAC,CAAC,CAAA;IACN,CAAC;CASR"}
|