Skip to content

Commit 94b8275

Browse files
committed
Use orgFromId to validate organization
1 parent f0468e3 commit 94b8275

File tree

2 files changed

+6
-11
lines changed

2 files changed

+6
-11
lines changed

packages/app/src/cli/commands/app/init.test.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ vi.mock('../../services/init/init.js')
1616
vi.mock('../../utilities/developer-platform-client.js')
1717
vi.mock('../../services/context.js')
1818
vi.mock('../../prompts/dev.js')
19-
vi.mock('../../services/dev/fetch.js')
2019
vi.mock('../../services/init/validate.js')
2120
vi.mock('@shopify/cli-kit/node/fs')
2221
vi.mock('@shopify/cli-kit/node/node-package-manager')
@@ -76,9 +75,8 @@ describe('Init command', () => {
7675
vi.mocked(inferPackageManager).mockReturnValue('npm')
7776
vi.mocked(selectDeveloperPlatformClient).mockReturnValue(mockDeveloperPlatformClient)
7877

79-
// Mock fetchOrganizations to return the organization
80-
const {fetchOrganizations} = await import('../../services/dev/fetch.js')
81-
vi.mocked(fetchOrganizations).mockResolvedValue([mockOrganization])
78+
// Mock orgFromId to return the organization
79+
vi.mocked(mockDeveloperPlatformClient.orgFromId).mockResolvedValue(mockOrganization)
8280

8381
// Mock the orgAndApps method on the developer platform client
8482
vi.mocked(mockDeveloperPlatformClient.orgAndApps).mockResolvedValue({
@@ -129,9 +127,8 @@ describe('Init command', () => {
129127
vi.mocked(inferPackageManager).mockReturnValue('npm')
130128
vi.mocked(selectDeveloperPlatformClient).mockReturnValue(mockDeveloperPlatformClient)
131129

132-
// Mock fetchOrganizations to return only the valid organization
133-
const {fetchOrganizations} = await import('../../services/dev/fetch.js')
134-
vi.mocked(fetchOrganizations).mockResolvedValue([validOrg])
130+
// Mock orgFromId to return undefined for invalid organization
131+
vi.mocked(mockDeveloperPlatformClient.orgFromId).mockResolvedValue(undefined)
135132

136133
vi.mocked(initPrompt).mockResolvedValue({
137134
template: 'https://github.com/Shopify/shopify-app-template-remix',

packages/app/src/cli/commands/app/init.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import {validateFlavorValue, validateTemplateValue} from '../../services/init/va
77
import {MinimalOrganizationApp, Organization, OrganizationApp} from '../../models/organization.js'
88
import {appNamePrompt, createAsNewAppPrompt, selectAppPrompt} from '../../prompts/dev.js'
99
import {searchForAppsByNameFactory} from '../../services/dev/prompt-helpers.js'
10-
import {fetchOrganizations} from '../../services/dev/fetch.js'
1110
import {isValidName} from '../../models/app/validation/common.js'
1211
import {Flags} from '@oclif/core'
1312
import {globalFlags} from '@shopify/cli-kit/node/cli'
@@ -102,9 +101,8 @@ export default class Init extends AppLinkedCommand {
102101
} else {
103102
let org: Organization
104103
if (flags['organization-id']) {
105-
// If an organization-id is provided, fetch all organizations and find the matching one
106-
const orgs = await fetchOrganizations()
107-
const matchingOrg = orgs.find((organization) => organization.id === flags['organization-id'])
104+
// If an organization-id is provided, fetch the organization directly
105+
const matchingOrg = await developerPlatformClient.orgFromId(flags['organization-id'])
108106
if (!matchingOrg) {
109107
throw new AbortError(
110108
`Organization with ID ${flags['organization-id']} not found`,

0 commit comments

Comments
 (0)