ecomcoder-cli 1.3.0 → 1.3.2

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.
Files changed (56) hide show
  1. package/dist/cli.js +5 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/discount/create-basic.d.ts +6 -0
  4. package/dist/commands/discount/create-basic.d.ts.map +1 -0
  5. package/dist/commands/discount/create-basic.js +156 -0
  6. package/dist/commands/discount/create-basic.js.map +1 -0
  7. package/dist/commands/discount/create-bxgy.d.ts +17 -0
  8. package/dist/commands/discount/create-bxgy.d.ts.map +1 -0
  9. package/dist/commands/discount/create-bxgy.js +230 -0
  10. package/dist/commands/discount/create-bxgy.js.map +1 -0
  11. package/dist/commands/discount/create-shipping.d.ts +17 -0
  12. package/dist/commands/discount/create-shipping.d.ts.map +1 -0
  13. package/dist/commands/discount/create-shipping.js +170 -0
  14. package/dist/commands/discount/create-shipping.js.map +1 -0
  15. package/dist/commands/discount/delete.d.ts +6 -0
  16. package/dist/commands/discount/delete.d.ts.map +1 -0
  17. package/dist/commands/discount/delete.js +45 -0
  18. package/dist/commands/discount/delete.js.map +1 -0
  19. package/dist/commands/discount/index.d.ts +10 -0
  20. package/dist/commands/discount/index.d.ts.map +1 -0
  21. package/dist/commands/discount/index.js +98 -0
  22. package/dist/commands/discount/index.js.map +1 -0
  23. package/dist/commands/discount/list.d.ts +6 -0
  24. package/dist/commands/discount/list.d.ts.map +1 -0
  25. package/dist/commands/discount/list.js +84 -0
  26. package/dist/commands/discount/list.js.map +1 -0
  27. package/dist/commands/discount/queries.d.ts +14 -0
  28. package/dist/commands/discount/queries.d.ts.map +1 -0
  29. package/dist/commands/discount/queries.js +574 -0
  30. package/dist/commands/discount/queries.js.map +1 -0
  31. package/dist/commands/discount/service.d.ts +31 -0
  32. package/dist/commands/discount/service.d.ts.map +1 -0
  33. package/dist/commands/discount/service.js +684 -0
  34. package/dist/commands/discount/service.js.map +1 -0
  35. package/dist/commands/discount/types.d.ts +228 -0
  36. package/dist/commands/discount/types.d.ts.map +1 -0
  37. package/dist/commands/discount/types.js +5 -0
  38. package/dist/commands/discount/types.js.map +1 -0
  39. package/dist/commands/discount/utils.d.ts +51 -0
  40. package/dist/commands/discount/utils.d.ts.map +1 -0
  41. package/dist/commands/discount/utils.js +153 -0
  42. package/dist/commands/discount/utils.js.map +1 -0
  43. package/dist/commands/product/index.d.ts.map +1 -1
  44. package/dist/commands/product/index.js +10 -0
  45. package/dist/commands/product/index.js.map +1 -1
  46. package/dist/commands/product/service.d.ts +9 -1
  47. package/dist/commands/product/service.d.ts.map +1 -1
  48. package/dist/commands/product/service.js +36 -0
  49. package/dist/commands/product/service.js.map +1 -1
  50. package/dist/commands/product/types.d.ts +4 -0
  51. package/dist/commands/product/types.d.ts.map +1 -1
  52. package/dist/commands/product/update-title.d.ts +8 -0
  53. package/dist/commands/product/update-title.d.ts.map +1 -0
  54. package/dist/commands/product/update-title.js +94 -0
  55. package/dist/commands/product/update-title.js.map +1 -0
  56. package/package.json +2 -1
@@ -0,0 +1,574 @@
1
+ /**
2
+ * GraphQL Queries and Mutations for Discount Commands
3
+ */
4
+ export const DISCOUNT_CODE_BASIC_CREATE = `
5
+ mutation discountCodeBasicCreate($basicCodeDiscount: DiscountCodeBasicInput!) {
6
+ discountCodeBasicCreate(basicCodeDiscount: $basicCodeDiscount) {
7
+ codeDiscountNode {
8
+ id
9
+ codeDiscount {
10
+ ... on DiscountCodeBasic {
11
+ title
12
+ summary
13
+ status
14
+ codes(first: 1) {
15
+ edges {
16
+ node {
17
+ code
18
+ }
19
+ }
20
+ }
21
+ startsAt
22
+ endsAt
23
+ customerGets {
24
+ value {
25
+ ... on DiscountPercentage {
26
+ percentage
27
+ }
28
+ ... on DiscountAmount {
29
+ amount {
30
+ amount
31
+ }
32
+ appliesOnEachItem
33
+ }
34
+ }
35
+ items {
36
+ ... on AllDiscountItems {
37
+ allItems
38
+ }
39
+ }
40
+ }
41
+ minimumRequirement {
42
+ ... on DiscountMinimumSubtotal {
43
+ greaterThanOrEqualToSubtotal {
44
+ amount
45
+ }
46
+ }
47
+ ... on DiscountMinimumQuantity {
48
+ greaterThanOrEqualToQuantity
49
+ }
50
+ }
51
+ combinesWith {
52
+ orderDiscounts
53
+ productDiscounts
54
+ shippingDiscounts
55
+ }
56
+ usageLimit
57
+ appliesOncePerCustomer
58
+ }
59
+ }
60
+ }
61
+ userErrors {
62
+ field
63
+ message
64
+ }
65
+ }
66
+ }
67
+ `;
68
+ export const DISCOUNT_AUTOMATIC_BASIC_CREATE = `
69
+ mutation discountAutomaticBasicCreate($automaticBasicDiscount: DiscountAutomaticBasicInput!) {
70
+ discountAutomaticBasicCreate(automaticBasicDiscount: $automaticBasicDiscount) {
71
+ automaticDiscountNode {
72
+ id
73
+ automaticDiscount {
74
+ ... on DiscountAutomaticBasic {
75
+ title
76
+ summary
77
+ status
78
+ startsAt
79
+ endsAt
80
+ customerGets {
81
+ value {
82
+ ... on DiscountPercentage {
83
+ percentage
84
+ }
85
+ ... on DiscountAmount {
86
+ amount {
87
+ amount
88
+ }
89
+ appliesOnEachItem
90
+ }
91
+ }
92
+ items {
93
+ ... on AllDiscountItems {
94
+ allItems
95
+ }
96
+ }
97
+ }
98
+ minimumRequirement {
99
+ ... on DiscountMinimumSubtotal {
100
+ greaterThanOrEqualToSubtotal {
101
+ amount
102
+ }
103
+ }
104
+ ... on DiscountMinimumQuantity {
105
+ greaterThanOrEqualToQuantity
106
+ }
107
+ }
108
+ combinesWith {
109
+ orderDiscounts
110
+ productDiscounts
111
+ shippingDiscounts
112
+ }
113
+ }
114
+ }
115
+ }
116
+ userErrors {
117
+ field
118
+ message
119
+ }
120
+ }
121
+ }
122
+ `;
123
+ export const CODE_DISCOUNT_NODES = `
124
+ query codeDiscountNodes($first: Int!, $query: String, $after: String) {
125
+ codeDiscountNodes(first: $first, query: $query, after: $after) {
126
+ edges {
127
+ cursor
128
+ node {
129
+ id
130
+ codeDiscount {
131
+ __typename
132
+ ... on DiscountCodeBasic {
133
+ title
134
+ summary
135
+ status
136
+ codes(first: 5) {
137
+ edges {
138
+ node {
139
+ code
140
+ }
141
+ }
142
+ }
143
+ startsAt
144
+ endsAt
145
+ customerGets {
146
+ value {
147
+ ... on DiscountPercentage {
148
+ percentage
149
+ }
150
+ ... on DiscountAmount {
151
+ amount {
152
+ amount
153
+ }
154
+ appliesOnEachItem
155
+ }
156
+ }
157
+ }
158
+ }
159
+ ... on DiscountCodeBxgy {
160
+ title
161
+ summary
162
+ status
163
+ codes(first: 5) {
164
+ edges {
165
+ node {
166
+ code
167
+ }
168
+ }
169
+ }
170
+ startsAt
171
+ endsAt
172
+ }
173
+ ... on DiscountCodeFreeShipping {
174
+ title
175
+ summary
176
+ status
177
+ codes(first: 5) {
178
+ edges {
179
+ node {
180
+ code
181
+ }
182
+ }
183
+ }
184
+ startsAt
185
+ endsAt
186
+ }
187
+ }
188
+ }
189
+ }
190
+ pageInfo {
191
+ hasNextPage
192
+ endCursor
193
+ }
194
+ }
195
+ }
196
+ `;
197
+ export const AUTOMATIC_DISCOUNT_NODES = `
198
+ query automaticDiscountNodes($first: Int!, $query: String, $after: String) {
199
+ automaticDiscountNodes(first: $first, query: $query, after: $after) {
200
+ edges {
201
+ cursor
202
+ node {
203
+ id
204
+ automaticDiscount {
205
+ __typename
206
+ ... on DiscountAutomaticBasic {
207
+ title
208
+ summary
209
+ status
210
+ startsAt
211
+ endsAt
212
+ customerGets {
213
+ value {
214
+ ... on DiscountPercentage {
215
+ percentage
216
+ }
217
+ ... on DiscountAmount {
218
+ amount {
219
+ amount
220
+ }
221
+ appliesOnEachItem
222
+ }
223
+ }
224
+ }
225
+ }
226
+ ... on DiscountAutomaticBxgy {
227
+ title
228
+ summary
229
+ status
230
+ startsAt
231
+ endsAt
232
+ }
233
+ ... on DiscountAutomaticFreeShipping {
234
+ title
235
+ summary
236
+ status
237
+ startsAt
238
+ endsAt
239
+ }
240
+ }
241
+ }
242
+ }
243
+ pageInfo {
244
+ hasNextPage
245
+ endCursor
246
+ }
247
+ }
248
+ }
249
+ `;
250
+ export const DISCOUNT_CODE_DELETE = `
251
+ mutation discountCodeDelete($id: ID!) {
252
+ discountCodeDelete(id: $id) {
253
+ deletedCodeDiscountId
254
+ userErrors {
255
+ field
256
+ message
257
+ }
258
+ }
259
+ }
260
+ `;
261
+ export const DISCOUNT_AUTOMATIC_DELETE = `
262
+ mutation discountAutomaticDelete($id: ID!) {
263
+ discountAutomaticDelete(id: $id) {
264
+ deletedAutomaticDiscountId
265
+ userErrors {
266
+ field
267
+ message
268
+ }
269
+ }
270
+ }
271
+ `;
272
+ export const DISCOUNT_CODE_BXGY_CREATE = `
273
+ mutation discountCodeBxgyCreate($bxgyCodeDiscount: DiscountCodeBxgyInput!) {
274
+ discountCodeBxgyCreate(bxgyCodeDiscount: $bxgyCodeDiscount) {
275
+ codeDiscountNode {
276
+ id
277
+ codeDiscount {
278
+ ... on DiscountCodeBxgy {
279
+ title
280
+ summary
281
+ status
282
+ codes(first: 1) {
283
+ edges {
284
+ node {
285
+ code
286
+ }
287
+ }
288
+ }
289
+ startsAt
290
+ endsAt
291
+ customerBuys {
292
+ value {
293
+ ... on DiscountQuantity {
294
+ quantity
295
+ }
296
+ ... on DiscountPurchaseAmount {
297
+ amount
298
+ }
299
+ }
300
+ items {
301
+ ... on AllDiscountItems {
302
+ allItems
303
+ }
304
+ ... on DiscountProducts {
305
+ products(first: 10) {
306
+ edges {
307
+ node {
308
+ id
309
+ title
310
+ }
311
+ }
312
+ }
313
+ }
314
+ ... on DiscountCollections {
315
+ collections(first: 10) {
316
+ edges {
317
+ node {
318
+ id
319
+ title
320
+ }
321
+ }
322
+ }
323
+ }
324
+ }
325
+ }
326
+ customerGets {
327
+ value {
328
+ ... on DiscountOnQuantity {
329
+ quantity {
330
+ quantity
331
+ }
332
+ effect {
333
+ ... on DiscountPercentage {
334
+ percentage
335
+ }
336
+ }
337
+ }
338
+ }
339
+ items {
340
+ ... on DiscountProducts {
341
+ products(first: 10) {
342
+ edges {
343
+ node {
344
+ id
345
+ title
346
+ }
347
+ }
348
+ }
349
+ }
350
+ ... on DiscountCollections {
351
+ collections(first: 10) {
352
+ edges {
353
+ node {
354
+ id
355
+ title
356
+ }
357
+ }
358
+ }
359
+ }
360
+ }
361
+ }
362
+ combinesWith {
363
+ orderDiscounts
364
+ productDiscounts
365
+ shippingDiscounts
366
+ }
367
+ usesPerOrderLimit
368
+ }
369
+ }
370
+ }
371
+ userErrors {
372
+ field
373
+ message
374
+ }
375
+ }
376
+ }
377
+ `;
378
+ export const DISCOUNT_AUTOMATIC_BXGY_CREATE = `
379
+ mutation discountAutomaticBxgyCreate($automaticBxgyDiscount: DiscountAutomaticBxgyInput!) {
380
+ discountAutomaticBxgyCreate(automaticBxgyDiscount: $automaticBxgyDiscount) {
381
+ automaticDiscountNode {
382
+ id
383
+ automaticDiscount {
384
+ ... on DiscountAutomaticBxgy {
385
+ title
386
+ summary
387
+ status
388
+ startsAt
389
+ endsAt
390
+ customerBuys {
391
+ value {
392
+ ... on DiscountQuantity {
393
+ quantity
394
+ }
395
+ ... on DiscountPurchaseAmount {
396
+ amount
397
+ }
398
+ }
399
+ items {
400
+ ... on AllDiscountItems {
401
+ allItems
402
+ }
403
+ ... on DiscountProducts {
404
+ products(first: 10) {
405
+ edges {
406
+ node {
407
+ id
408
+ title
409
+ }
410
+ }
411
+ }
412
+ }
413
+ ... on DiscountCollections {
414
+ collections(first: 10) {
415
+ edges {
416
+ node {
417
+ id
418
+ title
419
+ }
420
+ }
421
+ }
422
+ }
423
+ }
424
+ }
425
+ customerGets {
426
+ value {
427
+ ... on DiscountOnQuantity {
428
+ quantity {
429
+ quantity
430
+ }
431
+ effect {
432
+ ... on DiscountPercentage {
433
+ percentage
434
+ }
435
+ }
436
+ }
437
+ }
438
+ items {
439
+ ... on DiscountProducts {
440
+ products(first: 10) {
441
+ edges {
442
+ node {
443
+ id
444
+ title
445
+ }
446
+ }
447
+ }
448
+ }
449
+ ... on DiscountCollections {
450
+ collections(first: 10) {
451
+ edges {
452
+ node {
453
+ id
454
+ title
455
+ }
456
+ }
457
+ }
458
+ }
459
+ }
460
+ }
461
+ combinesWith {
462
+ orderDiscounts
463
+ productDiscounts
464
+ shippingDiscounts
465
+ }
466
+ usesPerOrderLimit
467
+ }
468
+ }
469
+ }
470
+ userErrors {
471
+ field
472
+ message
473
+ }
474
+ }
475
+ }
476
+ `;
477
+ export const DISCOUNT_CODE_FREE_SHIPPING_CREATE = `
478
+ mutation discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) {
479
+ discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) {
480
+ codeDiscountNode {
481
+ id
482
+ codeDiscount {
483
+ ... on DiscountCodeFreeShipping {
484
+ title
485
+ summary
486
+ status
487
+ codes(first: 1) {
488
+ edges {
489
+ node {
490
+ code
491
+ }
492
+ }
493
+ }
494
+ startsAt
495
+ endsAt
496
+ minimumRequirement {
497
+ ... on DiscountMinimumSubtotal {
498
+ greaterThanOrEqualToSubtotal {
499
+ amount
500
+ }
501
+ }
502
+ ... on DiscountMinimumQuantity {
503
+ greaterThanOrEqualToQuantity
504
+ }
505
+ }
506
+ destinationSelection {
507
+ ... on DiscountCountryAll {
508
+ allCountries
509
+ }
510
+ ... on DiscountCountries {
511
+ countries
512
+ }
513
+ }
514
+ combinesWith {
515
+ orderDiscounts
516
+ productDiscounts
517
+ shippingDiscounts
518
+ }
519
+ }
520
+ }
521
+ }
522
+ userErrors {
523
+ field
524
+ message
525
+ }
526
+ }
527
+ }
528
+ `;
529
+ export const DISCOUNT_AUTOMATIC_FREE_SHIPPING_CREATE = `
530
+ mutation discountAutomaticFreeShippingCreate($freeShippingAutomaticDiscount: DiscountAutomaticFreeShippingInput!) {
531
+ discountAutomaticFreeShippingCreate(freeShippingAutomaticDiscount: $freeShippingAutomaticDiscount) {
532
+ automaticDiscountNode {
533
+ id
534
+ automaticDiscount {
535
+ ... on DiscountAutomaticFreeShipping {
536
+ title
537
+ summary
538
+ status
539
+ startsAt
540
+ endsAt
541
+ minimumRequirement {
542
+ ... on DiscountMinimumSubtotal {
543
+ greaterThanOrEqualToSubtotal {
544
+ amount
545
+ }
546
+ }
547
+ ... on DiscountMinimumQuantity {
548
+ greaterThanOrEqualToQuantity
549
+ }
550
+ }
551
+ destinationSelection {
552
+ ... on DiscountCountryAll {
553
+ allCountries
554
+ }
555
+ ... on DiscountCountries {
556
+ countries
557
+ }
558
+ }
559
+ combinesWith {
560
+ orderDiscounts
561
+ productDiscounts
562
+ shippingDiscounts
563
+ }
564
+ }
565
+ }
566
+ }
567
+ userErrors {
568
+ field
569
+ message
570
+ }
571
+ }
572
+ }
573
+ `;
574
+ //# sourceMappingURL=queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/commands/discount/queries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DzC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsD9C,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyElC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDvC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;CAUnC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;CAUxC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyGxC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkG7C,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDjD,CAAC;AAEF,MAAM,CAAC,MAAM,uCAAuC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CtD,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Discount Service Layer
3
+ * Business logic for discount operations
4
+ */
5
+ import type { ShopifyCredentials } from '../../lib/types.js';
6
+ import { CreateBasicDiscountInput, CreateBxgyDiscountInput, CreateFreeShippingDiscountInput, ListDiscountsInput, DiscountResult } from './types.js';
7
+ /**
8
+ * Create a basic discount (percentage or fixed amount)
9
+ */
10
+ export declare function createBasicDiscount(input: CreateBasicDiscountInput, credentials: ShopifyCredentials): Promise<DiscountResult>;
11
+ /**
12
+ * List discounts with filtering
13
+ */
14
+ export declare function listDiscounts(input: ListDiscountsInput, credentials: ShopifyCredentials): Promise<DiscountResult>;
15
+ /**
16
+ * Delete a discount by ID
17
+ */
18
+ export declare function deleteDiscount(discountId: string, credentials: ShopifyCredentials): Promise<DiscountResult>;
19
+ /**
20
+ * Create a BXGY (Buy X Get Y) discount
21
+ * Single Responsibility: Handles BXGY discount creation logic
22
+ * Dependency Inversion: Depends on ShopifyCredentials abstraction
23
+ */
24
+ export declare function createBxgyDiscount(input: CreateBxgyDiscountInput, credentials: ShopifyCredentials): Promise<DiscountResult>;
25
+ /**
26
+ * Create a free shipping discount
27
+ * Single Responsibility: Handles free shipping discount creation logic
28
+ * Dependency Inversion: Depends on ShopifyCredentials abstraction
29
+ */
30
+ export declare function createFreeShippingDiscount(input: CreateFreeShippingDiscountInput, credentials: ShopifyCredentials): Promise<DiscountResult>;
31
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/commands/discount/service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,+BAA+B,EAC/B,kBAAkB,EAClB,cAAc,EAWf,MAAM,YAAY,CAAC;AAwBpB;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,wBAAwB,EAC/B,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,cAAc,CAAC,CAmNzB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,cAAc,CAAC,CAoFzB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,cAAc,CAAC,CAkFzB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,uBAAuB,EAC9B,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,cAAc,CAAC,CAiMzB;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,+BAA+B,EACtC,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,cAAc,CAAC,CAqMzB"}