Skip to content

Commit 23ec4ff

Browse files
Read client steps from remote config
1 parent 7dc49dc commit 23ec4ff

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'
@@ -454,6 +455,7 @@ export class AppManagementClient implements DeveloperPlatformClient {
454455
identifier: spec.identifier,
455456
externalIdentifier: spec.externalIdentifier,
456457
gated: false,
458+
clientSteps: parseClientSteps(spec.clientSteps),
457459
options: {
458460
managementExperience: 'cli',
459461
registrationLimit: spec.uidStrategy.appModuleLimit,
@@ -1431,3 +1433,7 @@ function toUserError(err: CreateAppVersionMutation['appVersionCreate']['userErro
14311433
function isStoreProvisionable(permissions: string[]) {
14321434
return permissions.includes('ondemand_access_to_stores')
14331435
}
1436+
function parseClientSteps(clientSteps: string | null | undefined): ClientSteps | undefined {
1437+
if (!clientSteps) return undefined
1438+
return JSON.parse(clientSteps)
1439+
}

0 commit comments

Comments
 (0)