Skip to content

Commit 27d6a77

Browse files
Read client steps from remote config
1 parent 028d41e commit 27d6a77

4 files changed

Lines changed: 11 additions & 0 deletions

File tree

packages/app/src/cli/api/graphql/app-management/generated/specifications.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export type FetchSpecificationsQuery = {
1313
identifier: string
1414
externalIdentifier: string
1515
features: string[]
16+
clientSteps?: string | null
1617
uidStrategy:
1718
| {appModuleLimit: number; isClientProvided: boolean}
1819
| {appModuleLimit: number; isClientProvided: boolean}
@@ -55,6 +56,7 @@ export const FetchSpecifications = {
5556
{kind: 'Field', name: {kind: 'Name', value: 'identifier'}},
5657
{kind: 'Field', name: {kind: 'Name', value: 'externalIdentifier'}},
5758
{kind: 'Field', name: {kind: 'Name', value: 'features'}},
59+
{kind: 'Field', name: {kind: 'Name', value: 'clientSteps'}},
5860
{
5961
kind: 'Field',
6062
name: {kind: 'Name', value: 'uidStrategy'},

packages/app/src/cli/api/graphql/app-management/queries/specifications.graphql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ query fetchSpecifications($organizationId: ID!) {
44
identifier
55
externalIdentifier
66
features
7+
clientSteps
78
uidStrategy {
89
appModuleLimit
910
isClientProvided

packages/app/src/cli/api/graphql/extension_specifications.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import {ClientSteps} from '../../services/build/client-steps.js'
12
import {gql} from 'graphql-request'
23

34
export const ExtensionSpecificationsQuery = gql`
@@ -36,6 +37,7 @@ export interface RemoteSpecification {
3637
gated: boolean
3738
externalIdentifier: string
3839
experience: 'extension' | 'configuration' | 'deprecated'
40+
clientSteps?: ClientSteps
3941
options: {
4042
managementExperience: 'cli' | 'custom' | 'dashboard'
4143
registrationLimit: number

packages/app/src/cli/utilities/developer-platform-client/app-management-client.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ import {
141141
AppLogsSubscribeMutationVariables,
142142
} from '../../api/graphql/app-management/generated/app-logs-subscribe.js'
143143
import {SourceExtension} from '../../api/graphql/app-management/generated/types.js'
144+
import {ClientSteps} from '../../services/build/client-steps.js'
144145
import {getPartnersToken} from '@shopify/cli-kit/node/environment'
145146
import {ensureAuthenticatedAppManagementAndBusinessPlatform, Session} from '@shopify/cli-kit/node/session'
146147
import {isUnitTest} from '@shopify/cli-kit/node/context/local'
@@ -456,6 +457,7 @@ export class AppManagementClient implements DeveloperPlatformClient {
456457
identifier: spec.identifier,
457458
externalIdentifier: spec.externalIdentifier,
458459
gated: false,
460+
clientSteps: parseClientSteps(spec.clientSteps),
459461
options: {
460462
managementExperience: 'cli',
461463
registrationLimit: spec.uidStrategy.appModuleLimit,
@@ -1426,3 +1428,7 @@ function toUserError(err: CreateAppVersionMutation['appVersionCreate']['userErro
14261428
function isStoreProvisionable(permissions: string[]) {
14271429
return permissions.includes('ondemand_access_to_stores')
14281430
}
1431+
function parseClientSteps(clientSteps: string | null | undefined): ClientSteps | undefined {
1432+
if (!clientSteps) return undefined
1433+
return JSON.parse(clientSteps)
1434+
}

0 commit comments

Comments
 (0)