ecomcoder-cli 1.3.2 → 1.3.4
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 +0 -23
- package/dist/cli.js +32 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/product/__tests__/update-description.test.js +1 -0
- package/dist/commands/product/__tests__/update-description.test.js.map +1 -1
- package/dist/commands/product/create-variants.d.ts +8 -0
- package/dist/commands/product/create-variants.d.ts.map +1 -0
- package/dist/commands/product/create-variants.js +160 -0
- package/dist/commands/product/create-variants.js.map +1 -0
- package/dist/commands/product/create.d.ts +8 -0
- package/dist/commands/product/create.d.ts.map +1 -0
- package/dist/commands/product/create.js +166 -0
- package/dist/commands/product/create.js.map +1 -0
- package/dist/commands/product/delete-variants.d.ts +8 -0
- package/dist/commands/product/delete-variants.d.ts.map +1 -0
- package/dist/commands/product/delete-variants.js +105 -0
- package/dist/commands/product/delete-variants.js.map +1 -0
- package/dist/commands/product/get-metafield.d.ts +8 -0
- package/dist/commands/product/get-metafield.d.ts.map +1 -0
- package/dist/commands/product/get-metafield.js +131 -0
- package/dist/commands/product/get-metafield.js.map +1 -0
- package/dist/commands/product/index.d.ts.map +1 -1
- package/dist/commands/product/index.js +62 -0
- package/dist/commands/product/index.js.map +1 -1
- package/dist/commands/product/queries.d.ts +31 -2
- package/dist/commands/product/queries.d.ts.map +1 -1
- package/dist/commands/product/queries.js +184 -0
- package/dist/commands/product/queries.js.map +1 -1
- package/dist/commands/product/service.d.ts +67 -1
- package/dist/commands/product/service.d.ts.map +1 -1
- package/dist/commands/product/service.js +363 -1
- package/dist/commands/product/service.js.map +1 -1
- package/dist/commands/product/set-metafield.d.ts +8 -0
- package/dist/commands/product/set-metafield.d.ts.map +1 -0
- package/dist/commands/product/set-metafield.js +174 -0
- package/dist/commands/product/set-metafield.js.map +1 -0
- package/dist/commands/product/types.d.ts +162 -0
- package/dist/commands/product/types.d.ts.map +1 -1
- package/dist/commands/product/update-status.d.ts +8 -0
- package/dist/commands/product/update-status.d.ts.map +1 -0
- package/dist/commands/product/update-status.js +105 -0
- package/dist/commands/product/update-status.js.map +1 -0
- package/dist/commands/product/utils.d.ts.map +1 -1
- package/dist/commands/product/utils.js +1 -0
- package/dist/commands/product/utils.js.map +1 -1
- package/dist/commands/products/index.d.ts.map +1 -1
- package/dist/commands/products/index.js +0 -10
- package/dist/commands/products/index.js.map +1 -1
- package/dist/commands/shop/get-metafield.d.ts +8 -0
- package/dist/commands/shop/get-metafield.d.ts.map +1 -0
- package/dist/commands/shop/get-metafield.js +117 -0
- package/dist/commands/shop/get-metafield.js.map +1 -0
- package/dist/commands/shop/index.d.ts +10 -0
- package/dist/commands/shop/index.d.ts.map +1 -0
- package/dist/commands/shop/index.js +61 -0
- package/dist/commands/shop/index.js.map +1 -0
- package/dist/commands/shop/queries.d.ts +24 -0
- package/dist/commands/shop/queries.d.ts.map +1 -0
- package/dist/commands/shop/queries.js +83 -0
- package/dist/commands/shop/queries.js.map +1 -0
- package/dist/commands/shop/service.d.ts +30 -0
- package/dist/commands/shop/service.d.ts.map +1 -0
- package/dist/commands/shop/service.js +131 -0
- package/dist/commands/shop/service.js.map +1 -0
- package/dist/commands/shop/set-metafield.d.ts +8 -0
- package/dist/commands/shop/set-metafield.d.ts.map +1 -0
- package/dist/commands/shop/set-metafield.js +174 -0
- package/dist/commands/shop/set-metafield.js.map +1 -0
- package/dist/commands/shop/types.d.ts +84 -0
- package/dist/commands/shop/types.d.ts.map +1 -0
- package/dist/commands/shop/types.js +6 -0
- package/dist/commands/shop/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -16,6 +16,12 @@ export interface ShopifyProduct {
|
|
|
16
16
|
tags: string[];
|
|
17
17
|
status: 'ACTIVE' | 'ARCHIVED' | 'DRAFT';
|
|
18
18
|
templateSuffix: string | null;
|
|
19
|
+
options: Array<{
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
position: number;
|
|
23
|
+
values: string[];
|
|
24
|
+
}>;
|
|
19
25
|
variants: {
|
|
20
26
|
edges: Array<{
|
|
21
27
|
node: ShopifyVariant;
|
|
@@ -64,6 +70,12 @@ export interface FormattedProduct {
|
|
|
64
70
|
vendor: string;
|
|
65
71
|
template: string;
|
|
66
72
|
tags: string[];
|
|
73
|
+
options: Array<{
|
|
74
|
+
id: string;
|
|
75
|
+
name: string;
|
|
76
|
+
position: number;
|
|
77
|
+
values: string[];
|
|
78
|
+
}>;
|
|
67
79
|
priceRange: {
|
|
68
80
|
min: ShopifyMoney;
|
|
69
81
|
max: ShopifyMoney;
|
|
@@ -110,6 +122,68 @@ export interface UpdateTemplateInput {
|
|
|
110
122
|
id: string;
|
|
111
123
|
template: string;
|
|
112
124
|
}
|
|
125
|
+
export interface UpdateTitleInput {
|
|
126
|
+
id: string;
|
|
127
|
+
title: string;
|
|
128
|
+
}
|
|
129
|
+
export interface UpdateStatusInput {
|
|
130
|
+
id: string;
|
|
131
|
+
status: 'ACTIVE' | 'DRAFT' | 'ARCHIVED' | 'UNLISTED';
|
|
132
|
+
}
|
|
133
|
+
export interface SetMetafieldInput {
|
|
134
|
+
id: string;
|
|
135
|
+
namespace: string;
|
|
136
|
+
key: string;
|
|
137
|
+
value: string;
|
|
138
|
+
type: string;
|
|
139
|
+
}
|
|
140
|
+
export interface GetMetafieldInput {
|
|
141
|
+
id: string;
|
|
142
|
+
namespace?: string;
|
|
143
|
+
key?: string;
|
|
144
|
+
}
|
|
145
|
+
export interface DeleteVariantsInput {
|
|
146
|
+
productId: string;
|
|
147
|
+
variantIds: string[];
|
|
148
|
+
}
|
|
149
|
+
export interface CreateVariantsInput {
|
|
150
|
+
productId: string;
|
|
151
|
+
variants: VariantInput[];
|
|
152
|
+
}
|
|
153
|
+
export interface VariantInput {
|
|
154
|
+
optionValues?: Array<{
|
|
155
|
+
optionName: string;
|
|
156
|
+
name: string;
|
|
157
|
+
}>;
|
|
158
|
+
price: string;
|
|
159
|
+
compareAtPrice?: string;
|
|
160
|
+
barcode?: string;
|
|
161
|
+
inventoryItem?: {
|
|
162
|
+
sku?: string;
|
|
163
|
+
tracked?: boolean;
|
|
164
|
+
};
|
|
165
|
+
inventoryQuantities?: Array<{
|
|
166
|
+
availableQuantity: number;
|
|
167
|
+
locationId: string;
|
|
168
|
+
}>;
|
|
169
|
+
taxable?: boolean;
|
|
170
|
+
}
|
|
171
|
+
export interface CreateProductInput {
|
|
172
|
+
title: string;
|
|
173
|
+
descriptionHtml?: string;
|
|
174
|
+
productType?: string;
|
|
175
|
+
vendor?: string;
|
|
176
|
+
status?: 'ACTIVE' | 'DRAFT' | 'ARCHIVED';
|
|
177
|
+
handle?: string;
|
|
178
|
+
tags?: string[];
|
|
179
|
+
variants?: Array<{
|
|
180
|
+
price?: string;
|
|
181
|
+
compareAtPrice?: string;
|
|
182
|
+
inventoryItem?: {
|
|
183
|
+
sku?: string;
|
|
184
|
+
};
|
|
185
|
+
}>;
|
|
186
|
+
}
|
|
113
187
|
/**
|
|
114
188
|
* Shopify GraphQL response types
|
|
115
189
|
*/
|
|
@@ -144,6 +218,94 @@ export interface VariantsBulkUpdateResponse {
|
|
|
144
218
|
userErrors: ShopifyUserError[];
|
|
145
219
|
};
|
|
146
220
|
}
|
|
221
|
+
export interface VariantsBulkDeleteResponse {
|
|
222
|
+
productVariantsBulkDelete: {
|
|
223
|
+
product: {
|
|
224
|
+
id: string;
|
|
225
|
+
title: string;
|
|
226
|
+
variants: {
|
|
227
|
+
edges: Array<{
|
|
228
|
+
node: {
|
|
229
|
+
id: string;
|
|
230
|
+
title: string;
|
|
231
|
+
sku: string;
|
|
232
|
+
price: string;
|
|
233
|
+
};
|
|
234
|
+
}>;
|
|
235
|
+
};
|
|
236
|
+
} | null;
|
|
237
|
+
userErrors: ShopifyUserError[];
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
export interface VariantsBulkCreateResponse {
|
|
241
|
+
productVariantsBulkCreate: {
|
|
242
|
+
productVariants: Array<{
|
|
243
|
+
id: string;
|
|
244
|
+
title: string;
|
|
245
|
+
sku: string;
|
|
246
|
+
price: string;
|
|
247
|
+
compareAtPrice: string | null;
|
|
248
|
+
inventoryQuantity: number;
|
|
249
|
+
}>;
|
|
250
|
+
userErrors: ShopifyUserError[];
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
export interface ProductCreateResponse {
|
|
254
|
+
productCreate: {
|
|
255
|
+
product: ShopifyProduct | null;
|
|
256
|
+
userErrors: ShopifyUserError[];
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
export interface MetafieldsSetResponse {
|
|
260
|
+
metafieldsSet: {
|
|
261
|
+
metafields: Array<{
|
|
262
|
+
id: string;
|
|
263
|
+
namespace: string;
|
|
264
|
+
key: string;
|
|
265
|
+
value: string;
|
|
266
|
+
type: string;
|
|
267
|
+
createdAt: string;
|
|
268
|
+
updatedAt: string;
|
|
269
|
+
}>;
|
|
270
|
+
userErrors: Array<{
|
|
271
|
+
field: string[] | null;
|
|
272
|
+
message: string;
|
|
273
|
+
code?: string;
|
|
274
|
+
}>;
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
export interface ProductMetafieldResponse {
|
|
278
|
+
product: {
|
|
279
|
+
id: string;
|
|
280
|
+
metafield: {
|
|
281
|
+
id: string;
|
|
282
|
+
namespace: string;
|
|
283
|
+
key: string;
|
|
284
|
+
value: string;
|
|
285
|
+
type: string;
|
|
286
|
+
createdAt: string;
|
|
287
|
+
updatedAt: string;
|
|
288
|
+
} | null;
|
|
289
|
+
} | null;
|
|
290
|
+
}
|
|
291
|
+
export interface ProductMetafieldsResponse {
|
|
292
|
+
product: {
|
|
293
|
+
id: string;
|
|
294
|
+
metafields: {
|
|
295
|
+
edges: Array<{
|
|
296
|
+
node: {
|
|
297
|
+
id: string;
|
|
298
|
+
namespace: string;
|
|
299
|
+
key: string;
|
|
300
|
+
value: string;
|
|
301
|
+
type: string;
|
|
302
|
+
createdAt: string;
|
|
303
|
+
updatedAt: string;
|
|
304
|
+
};
|
|
305
|
+
}>;
|
|
306
|
+
};
|
|
307
|
+
} | null;
|
|
308
|
+
}
|
|
147
309
|
export interface ShopifyUserError {
|
|
148
310
|
field: string[] | null;
|
|
149
311
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/product/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/product/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-status.d.ts","sourceRoot":"","sources":["../../../src/commands/product/update-status.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiDH,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,iBA4D/D"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Update Product Status Command
|
|
3
|
+
*
|
|
4
|
+
* Following Command Pattern - thin orchestration layer
|
|
5
|
+
* Delegates business logic to ProductService
|
|
6
|
+
*/
|
|
7
|
+
import { getCredentials, getSessionId } from '../../lib/api-client.js';
|
|
8
|
+
import { parseArgs, hasHelpFlag } from '../../lib/args-parser.js';
|
|
9
|
+
import { ProductService } from './service.js';
|
|
10
|
+
function showHelp() {
|
|
11
|
+
console.log(`
|
|
12
|
+
Update Product Status
|
|
13
|
+
|
|
14
|
+
USAGE:
|
|
15
|
+
ecomcoder product update-status [OPTIONS]
|
|
16
|
+
|
|
17
|
+
REQUIRED OPTIONS:
|
|
18
|
+
--id <id> Product ID (numeric or GID)
|
|
19
|
+
--status <status> Product status: ACTIVE, DRAFT, ARCHIVED, or UNLISTED
|
|
20
|
+
|
|
21
|
+
OPTIONAL:
|
|
22
|
+
--session-id Session ID (auto-provided via SESSION_ID env var)
|
|
23
|
+
--help, -h Show this help message
|
|
24
|
+
|
|
25
|
+
STATUS VALUES:
|
|
26
|
+
ACTIVE Product is ready to sell (can be published to channels)
|
|
27
|
+
DRAFT Product not ready to sell (hidden from customers)
|
|
28
|
+
ARCHIVED Product no longer sold (hidden from customers)
|
|
29
|
+
UNLISTED Active but requires direct link (no search/collections)
|
|
30
|
+
|
|
31
|
+
EXAMPLES:
|
|
32
|
+
# Publish product (make it active)
|
|
33
|
+
ecomcoder product update-status --id=123456789 --status=ACTIVE
|
|
34
|
+
|
|
35
|
+
# Set to draft (hide from customers)
|
|
36
|
+
ecomcoder product update-status --id=123 --status=DRAFT
|
|
37
|
+
|
|
38
|
+
# Archive product (no longer sold)
|
|
39
|
+
ecomcoder product update-status --id=123 --status=ARCHIVED
|
|
40
|
+
|
|
41
|
+
# Unlisted (active but requires direct link)
|
|
42
|
+
ecomcoder product update-status --id=123 --status=UNLISTED
|
|
43
|
+
|
|
44
|
+
NOTES:
|
|
45
|
+
- Status change is immediate
|
|
46
|
+
- ACTIVE status does NOT automatically publish to channels
|
|
47
|
+
- Use Shopify Admin to manage channel publishing separately
|
|
48
|
+
- UNLISTED is available in API version 2025-10 and later
|
|
49
|
+
`);
|
|
50
|
+
process.exit(0);
|
|
51
|
+
}
|
|
52
|
+
export async function run(argv = process.argv.slice(2)) {
|
|
53
|
+
if (hasHelpFlag(argv)) {
|
|
54
|
+
showHelp();
|
|
55
|
+
}
|
|
56
|
+
const args = parseArgs(argv);
|
|
57
|
+
// Validate required arguments
|
|
58
|
+
if (!args.id) {
|
|
59
|
+
console.error(JSON.stringify({
|
|
60
|
+
success: false,
|
|
61
|
+
error: 'Missing required argument: --id'
|
|
62
|
+
}));
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
if (!args.status) {
|
|
66
|
+
console.error(JSON.stringify({
|
|
67
|
+
success: false,
|
|
68
|
+
error: 'Missing required argument: --status'
|
|
69
|
+
}));
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
// Validate status value
|
|
73
|
+
const validStatuses = ['ACTIVE', 'DRAFT', 'ARCHIVED', 'UNLISTED'];
|
|
74
|
+
const statusUpper = args.status.toUpperCase();
|
|
75
|
+
if (!validStatuses.includes(statusUpper)) {
|
|
76
|
+
console.error(JSON.stringify({
|
|
77
|
+
success: false,
|
|
78
|
+
error: `Invalid status. Must be one of: ${validStatuses.join(', ')}`
|
|
79
|
+
}));
|
|
80
|
+
process.exit(1);
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
// Get credentials
|
|
84
|
+
const sessionId = getSessionId(args.sessionId);
|
|
85
|
+
const credentials = await getCredentials(sessionId, args.backendUrl, args.jwt);
|
|
86
|
+
// Execute update via service
|
|
87
|
+
const result = await ProductService.updateStatus(credentials, {
|
|
88
|
+
id: args.id,
|
|
89
|
+
status: statusUpper
|
|
90
|
+
});
|
|
91
|
+
// Output result
|
|
92
|
+
console.log(JSON.stringify(result, null, 2));
|
|
93
|
+
if (!result.success) {
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
console.error(JSON.stringify({
|
|
99
|
+
success: false,
|
|
100
|
+
error: error.message || 'Unknown error occurred'
|
|
101
|
+
}));
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=update-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-status.js","sourceRoot":"","sources":["../../../src/commands/product/update-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/commands/product/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAa3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAa3D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUrE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAK9E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/commands/product/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAa3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAa3D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUrE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAK9E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,gBAAgB,CAiCvE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAOnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAQ1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAYpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAYpD"}
|
|
@@ -86,6 +86,7 @@ export function formatProduct(product) {
|
|
|
86
86
|
vendor: product.vendor,
|
|
87
87
|
template: formatTemplateForDisplay(product.templateSuffix),
|
|
88
88
|
tags: product.tags,
|
|
89
|
+
options: product.options || [],
|
|
89
90
|
priceRange: {
|
|
90
91
|
min: product.priceRangeV2.minVariantPrice,
|
|
91
92
|
max: product.priceRangeV2.maxVariantPrice
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/product/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/product/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/products/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/products/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CA2C/C"}
|
|
@@ -22,7 +22,6 @@ USAGE:
|
|
|
22
22
|
SUBCOMMANDS:
|
|
23
23
|
create Create dummy Shopify products for testing
|
|
24
24
|
list List products in your Shopify store
|
|
25
|
-
set-rating Set rating metafields on a product
|
|
26
25
|
|
|
27
26
|
EXAMPLES:
|
|
28
27
|
# Create 10 dummy products
|
|
@@ -31,9 +30,6 @@ EXAMPLES:
|
|
|
31
30
|
# List 50 products
|
|
32
31
|
ecomcoder products list --limit=50
|
|
33
32
|
|
|
34
|
-
# Set product rating
|
|
35
|
-
ecomcoder products set-rating --product-id="gid://shopify/Product/123" --rating=4.5 --count=127
|
|
36
|
-
|
|
37
33
|
For detailed help on a specific subcommand:
|
|
38
34
|
ecomcoder products <subcommand> --help
|
|
39
35
|
`);
|
|
@@ -52,11 +48,5 @@ For detailed help on a specific subcommand:
|
|
|
52
48
|
description: 'List products in your Shopify store',
|
|
53
49
|
handler: async () => await import('../list-products.js')
|
|
54
50
|
});
|
|
55
|
-
registry.register({
|
|
56
|
-
command: 'products',
|
|
57
|
-
subcommand: 'set-rating',
|
|
58
|
-
description: 'Set rating metafields on a product',
|
|
59
|
-
handler: async () => await import('../set-product-rating.js')
|
|
60
|
-
});
|
|
61
51
|
}
|
|
62
52
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/products/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,yBAAyB;IACzB,QAAQ,CAAC,aAAa,CAAC;QACrB,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,oDAAoD;QACjE,QAAQ,EAAE,GAAG,EAAE;YACb,OAAO,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/products/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,yBAAyB;IACzB,QAAQ,CAAC,aAAa,CAAC;QACrB,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,oDAAoD;QACjE,QAAQ,EAAE,GAAG,EAAE;YACb,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;CAmBjB,CAAC,CAAC;QACC,CAAC;KACF,CAAC,CAAC;IAEH,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,2CAA2C;QACxD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,6BAA6B,CAAC;KACjE,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,qBAAqB,CAAC;KACzD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-metafield.d.ts","sourceRoot":"","sources":["../../../src/commands/shop/get-metafield.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8EH,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,iBAwC/D"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get Shop Metafield Command
|
|
3
|
+
*
|
|
4
|
+
* Following Command Pattern - thin orchestration layer
|
|
5
|
+
* Delegates business logic to ShopService
|
|
6
|
+
*/
|
|
7
|
+
import { getCredentials, getSessionId } from '../../lib/api-client.js';
|
|
8
|
+
import { parseArgs, hasHelpFlag } from '../../lib/args-parser.js';
|
|
9
|
+
import { ShopService } from './service.js';
|
|
10
|
+
function showHelp() {
|
|
11
|
+
console.log(`
|
|
12
|
+
Get Shop Metafield
|
|
13
|
+
|
|
14
|
+
USAGE:
|
|
15
|
+
ecomcoder shop get-metafield [OPTIONS]
|
|
16
|
+
|
|
17
|
+
QUERY OPTIONS (choose one):
|
|
18
|
+
--namespace <ns> --key <key> Get specific metafield
|
|
19
|
+
--namespace <ns> Get all metafields in namespace
|
|
20
|
+
(no namespace/key) Get all metafields for shop
|
|
21
|
+
|
|
22
|
+
OPTIONAL:
|
|
23
|
+
--session-id Session ID (auto-provided via SESSION_ID env var)
|
|
24
|
+
--help, -h Show this help message
|
|
25
|
+
|
|
26
|
+
EXAMPLES:
|
|
27
|
+
# Get specific metafield by namespace and key
|
|
28
|
+
ecomcoder shop get-metafield \\
|
|
29
|
+
--namespace=custom \\
|
|
30
|
+
--key=announcement
|
|
31
|
+
|
|
32
|
+
# Get all metafields in a namespace
|
|
33
|
+
ecomcoder shop get-metafield \\
|
|
34
|
+
--namespace=custom
|
|
35
|
+
|
|
36
|
+
# Get all metafields for shop (all namespaces)
|
|
37
|
+
ecomcoder shop get-metafield
|
|
38
|
+
|
|
39
|
+
OUTPUT FORMATS:
|
|
40
|
+
Specific metafield (namespace + key):
|
|
41
|
+
{
|
|
42
|
+
"success": true,
|
|
43
|
+
"data": {
|
|
44
|
+
"metafield": {
|
|
45
|
+
"id": "gid://shopify/Metafield/123",
|
|
46
|
+
"namespace": "custom",
|
|
47
|
+
"key": "announcement",
|
|
48
|
+
"value": "Black Friday Sale!",
|
|
49
|
+
"type": "single_line_text_field",
|
|
50
|
+
"createdAt": "2024-01-20T10:30:00Z",
|
|
51
|
+
"updatedAt": "2024-01-20T15:45:00Z"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
Multiple metafields (namespace or all):
|
|
57
|
+
{
|
|
58
|
+
"success": true,
|
|
59
|
+
"data": {
|
|
60
|
+
"metafields": [...],
|
|
61
|
+
"count": 5
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
Not found:
|
|
66
|
+
{
|
|
67
|
+
"success": true,
|
|
68
|
+
"data": {
|
|
69
|
+
"metafield": null
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
NOTES:
|
|
74
|
+
- Returns up to 250 metafields when querying multiple
|
|
75
|
+
- Namespace filter is optional (omit to get all namespaces)
|
|
76
|
+
- Key requires namespace (cannot query by key alone)
|
|
77
|
+
- Metafield values are always strings (parse JSON for complex types)
|
|
78
|
+
`);
|
|
79
|
+
process.exit(0);
|
|
80
|
+
}
|
|
81
|
+
export async function run(argv = process.argv.slice(2)) {
|
|
82
|
+
if (hasHelpFlag(argv)) {
|
|
83
|
+
showHelp();
|
|
84
|
+
}
|
|
85
|
+
const args = parseArgs(argv);
|
|
86
|
+
// Validate key requires namespace
|
|
87
|
+
if (args.key && !args.namespace) {
|
|
88
|
+
console.error(JSON.stringify({
|
|
89
|
+
success: false,
|
|
90
|
+
error: 'Key requires namespace. Use --namespace with --key'
|
|
91
|
+
}));
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
try {
|
|
95
|
+
// Get credentials
|
|
96
|
+
const sessionId = getSessionId(args.sessionId);
|
|
97
|
+
const credentials = await getCredentials(sessionId, args.backendUrl, args.jwt);
|
|
98
|
+
// Execute get metafield via service
|
|
99
|
+
const result = await ShopService.getMetafield(credentials, {
|
|
100
|
+
namespace: args.namespace,
|
|
101
|
+
key: args.key
|
|
102
|
+
});
|
|
103
|
+
// Output result
|
|
104
|
+
console.log(JSON.stringify(result, null, 2));
|
|
105
|
+
if (!result.success) {
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
console.error(JSON.stringify({
|
|
111
|
+
success: false,
|
|
112
|
+
error: error.message || 'Unknown error occurred'
|
|
113
|
+
}));
|
|
114
|
+
process.exit(1);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=get-metafield.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-metafield.js","sourceRoot":"","sources":["../../../src/commands/shop/get-metafield.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEb,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,kCAAkC;IAClC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,oDAAoD;SAC5D,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,kBAAkB;QAClB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAE/E,oCAAoC;QACpC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE;YACzD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;QAEH,gBAAgB;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,wBAAwB;SACjD,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/shop/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAoD3C"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shop Commands Registration
|
|
3
|
+
*
|
|
4
|
+
* Following Open/Closed Principle - commands register themselves
|
|
5
|
+
*/
|
|
6
|
+
import { registry } from '../../lib/command-registry.js';
|
|
7
|
+
/**
|
|
8
|
+
* Register all shop commands
|
|
9
|
+
*/
|
|
10
|
+
export function registerShopCommands() {
|
|
11
|
+
// Register command group
|
|
12
|
+
registry.registerGroup({
|
|
13
|
+
command: 'shop',
|
|
14
|
+
description: 'Manage shop-level (store-wide) settings and metafields',
|
|
15
|
+
showHelp: () => {
|
|
16
|
+
console.log(`
|
|
17
|
+
Shop Commands - Manage store-wide settings and metafields
|
|
18
|
+
|
|
19
|
+
USAGE:
|
|
20
|
+
ecomcoder shop <subcommand> [options]
|
|
21
|
+
|
|
22
|
+
SUBCOMMANDS:
|
|
23
|
+
set-metafield Set or update shop metafield values
|
|
24
|
+
get-metafield View shop metafield values
|
|
25
|
+
|
|
26
|
+
EXAMPLES:
|
|
27
|
+
# Set store-wide announcement
|
|
28
|
+
ecomcoder shop set-metafield --namespace=custom --key=announcement --value="Sale!" --type=single_line_text_field
|
|
29
|
+
|
|
30
|
+
# Get announcement metafield
|
|
31
|
+
ecomcoder shop get-metafield --namespace=custom --key=announcement
|
|
32
|
+
|
|
33
|
+
# Get all metafields in 'custom' namespace
|
|
34
|
+
ecomcoder shop get-metafield --namespace=custom
|
|
35
|
+
|
|
36
|
+
# Set free shipping threshold
|
|
37
|
+
ecomcoder shop set-metafield --namespace=shipping --key=min_amount --value="50.00" --type=number_decimal
|
|
38
|
+
|
|
39
|
+
# Set featured products (global)
|
|
40
|
+
ecomcoder shop set-metafield --namespace=products --key=featured --value='["gid://shopify/Product/123"]' --type=list.product_reference
|
|
41
|
+
|
|
42
|
+
For detailed help on a specific subcommand:
|
|
43
|
+
ecomcoder shop <subcommand> --help
|
|
44
|
+
`);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
// Register individual subcommands
|
|
48
|
+
registry.register({
|
|
49
|
+
command: 'shop',
|
|
50
|
+
subcommand: 'set-metafield',
|
|
51
|
+
description: 'Set or update shop metafield values',
|
|
52
|
+
handler: async () => await import('./set-metafield.js')
|
|
53
|
+
});
|
|
54
|
+
registry.register({
|
|
55
|
+
command: 'shop',
|
|
56
|
+
subcommand: 'get-metafield',
|
|
57
|
+
description: 'View shop metafield values',
|
|
58
|
+
handler: async () => await import('./get-metafield.js')
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/shop/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,yBAAyB;IACzB,QAAQ,CAAC,aAAa,CAAC;QACrB,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,wDAAwD;QACrE,QAAQ,EAAE,GAAG,EAAE;YACb,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BjB,CAAC,CAAC;QACC,CAAC;KACF,CAAC,CAAC;IAEH,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC;KACxD,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC;QAChB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC;KACxD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GraphQL Queries and Mutations for Shop Operations
|
|
3
|
+
*
|
|
4
|
+
* Following Single Responsibility Principle - this module only contains GraphQL strings
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Get shop ID (needed for metafield mutations)
|
|
8
|
+
*/
|
|
9
|
+
export declare const GET_SHOP_ID = "\n query getShopId {\n shop {\n id\n }\n }\n";
|
|
10
|
+
/**
|
|
11
|
+
* Get specific shop metafield by namespace and key
|
|
12
|
+
*/
|
|
13
|
+
export declare const GET_SHOP_METAFIELD = "\n query getShopMetafield($namespace: String!, $key: String!) {\n shop {\n id\n metafield(namespace: $namespace, key: $key) {\n id\n namespace\n key\n value\n type\n createdAt\n updatedAt\n }\n }\n }\n";
|
|
14
|
+
/**
|
|
15
|
+
* Get shop metafields (multiple)
|
|
16
|
+
* Used for querying all metafields or by namespace
|
|
17
|
+
*/
|
|
18
|
+
export declare const GET_SHOP_METAFIELDS = "\n query getShopMetafields($namespace: String, $first: Int) {\n shop {\n id\n metafields(namespace: $namespace, first: $first) {\n edges {\n node {\n id\n namespace\n key\n value\n type\n createdAt\n updatedAt\n }\n }\n }\n }\n }\n";
|
|
19
|
+
/**
|
|
20
|
+
* Set metafield values for shop
|
|
21
|
+
* Maximum 25 metafields per request, atomic operation
|
|
22
|
+
*/
|
|
23
|
+
export declare const METAFIELDS_SET = "\n mutation metafieldsSet($metafields: [MetafieldsSetInput!]!) {\n metafieldsSet(metafields: $metafields) {\n metafields {\n id\n namespace\n key\n value\n type\n createdAt\n updatedAt\n }\n userErrors {\n field\n message\n code\n }\n }\n }\n";
|
|
24
|
+
//# sourceMappingURL=queries.d.ts.map
|