Skip to content

Commit 2468e7c

Browse files
committed
use custom staged upload mutation-
1 parent 46f46f5 commit 2468e7c

File tree

4 files changed

+50
-19
lines changed

4 files changed

+50
-19
lines changed

packages/store/src/apis/admin/index.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,24 @@
1-
import {Shop} from './types.js'
2-
import {StagedUploadsCreate} from '../../cli/api/graphql/admin/generated/staged_uploads_create.js'
1+
import {Shop, SQLiteStagedUploadsCreate} from './types.js'
32
import {ShopDetails} from '../../cli/api/graphql/admin/generated/shop_details.js'
43
import {adminRequestDoc} from '@shopify/cli-kit/node/api/admin'
54
import {ensureAuthenticatedAdmin} from '@shopify/cli-kit/node/session'
5+
import type {StagedUploadsCreateMutation} from '../../cli/api/graphql/admin/generated/staged_uploads_create.js'
66
import type {
7-
StagedUploadsCreateMutation,
8-
StagedUploadsCreateMutationVariables,
9-
} from '../../cli/api/graphql/admin/generated/staged_uploads_create.js'
10-
import type {StagedUploadInput} from '../../cli/api/graphql/admin/generated/types.js'
11-
7+
SQLiteStagedUploadInput,
8+
SQLiteStagedUploadsCreateMutationVariables,
9+
SQLiteStagedUploadsCreateMutation,
10+
} from './types.js'
1211
import type {ShopDetailsQuery, ShopDetailsQueryVariables} from '../../cli/api/graphql/admin/generated/shop_details.js'
1312

1413
export async function createStagedUploadAdmin(
1514
storeFqdn: string,
16-
input: StagedUploadInput[],
15+
input: SQLiteStagedUploadInput[],
1716
version?: string,
1817
): Promise<StagedUploadsCreateMutation> {
1918
const adminSession = await ensureAuthenticatedAdmin(storeFqdn)
2019

21-
return adminRequestDoc<StagedUploadsCreateMutation, StagedUploadsCreateMutationVariables>({
22-
query: StagedUploadsCreate,
20+
return adminRequestDoc<SQLiteStagedUploadsCreateMutation, SQLiteStagedUploadsCreateMutationVariables>({
21+
query: SQLiteStagedUploadsCreate,
2322
session: adminSession,
2423
variables: {
2524
input,
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,42 @@
1+
/* eslint-disable @typescript-eslint/consistent-type-definitions */
2+
3+
import {StagedUploadsCreate} from '../../cli/api/graphql/admin/generated/staged_uploads_create.js'
4+
import {TypedDocumentNode as DocumentNode} from '@graphql-typed-document-node/core'
5+
16
export interface Shop {
27
id: string
38
name: string
49
}
10+
export type SQLiteStagedUploadInput = {
11+
filename: string
12+
mimeType: 'application/x-sqlite3'
13+
httpMethod: 'POST'
14+
fileSize?: string
15+
resource: 'SQLITE_DATABASE'
16+
}
17+
export type SQLiteStagedUploadsCreateMutationVariables = {
18+
input: SQLiteStagedUploadInput[]
19+
}
20+
21+
export type SQLiteStagedUploadsCreateMutation = {
22+
stagedUploadsCreate?: {
23+
stagedTargets?:
24+
| {
25+
url?: string | null
26+
resourceUrl?: string | null
27+
parameters: {name: string; value: string}[]
28+
}[]
29+
| null
30+
userErrors: {field?: string[] | null; message: string}[]
31+
} | null
32+
}
33+
34+
export const SQLiteStagedUploadsCreate = {
35+
...StagedUploadsCreate,
36+
definitions: [
37+
{
38+
...StagedUploadsCreate.definitions[0],
39+
name: {kind: 'Name', value: 'SQLiteStagedUploadsCreate'},
40+
},
41+
],
42+
} as unknown as DocumentNode<SQLiteStagedUploadsCreateMutation, SQLiteStagedUploadsCreateMutationVariables>

packages/store/src/cli/api/graphql/admin/generated/types.d.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -232,10 +232,3 @@ export type StagedUploadTargetGenerateUploadResource =
232232
* [fileCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/fileCreate).
233233
*/
234234
| 'VIDEO'
235-
/**
236-
* A SQLite database file.
237-
*
238-
* For example, after uploading the database file, you can use the
239-
* bulkDataImportStart mutation to import the data into a Shopify store.
240-
*/
241-
| 'SQLITE_DATABASE'

packages/store/src/services/store/utils/file-uploader.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import {StagedUploadInput, createStagedUploadAdmin} from '../../../apis/admin/index.js'
1+
import {createStagedUploadAdmin} from '../../../apis/admin/index.js'
2+
import {SQLiteStagedUploadInput} from '../../../apis/admin/types.js'
23
import {ValidationError, OperationError, ErrorCodes} from '../errors/errors.js'
34
import {fetch} from '@shopify/cli-kit/node/http'
45
import {fileExistsSync, fileSize, isDirectory, readFileSync} from '@shopify/cli-kit/node/fs'
@@ -12,7 +13,7 @@ export class FileUploader {
1213

1314
const fileBuffer = readFileSync(filePath)
1415
const sizeOfFile = await fileSize(filePath)
15-
const uploadInput: StagedUploadInput = {
16+
const uploadInput: SQLiteStagedUploadInput = {
1617
resource: 'SQLITE_DATABASE',
1718
filename: 'database.sqlite',
1819
mimeType: 'application/x-sqlite3',

0 commit comments

Comments
 (0)