Skip to content

Commit

Permalink
handle integration
Browse files Browse the repository at this point in the history
  • Loading branch information
kliu-stripe committed Aug 12, 2024
1 parent 3d8d9d5 commit 567c0ce
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 6 deletions.
7 changes: 5 additions & 2 deletions src/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -623,12 +623,15 @@ export class Commands {
});
};

createStripeSample = async (stripeSamples: StripeSamples, sample?: string) => {
createStripeSample = async (stripeSamples: StripeSamples, sample?: string, integration?: string) => {
this.telemetry.sendEvent('createStripeSample');
if (typeof sample !== 'string') {
sample = '';
}
await stripeSamples.selectAndCloneSample(sample);
if (typeof integration !== 'string') {
integration = '';
}
await stripeSamples.selectAndCloneSample(sample, integration);
};

createWebhookEndpoint = async (
Expand Down
6 changes: 4 additions & 2 deletions src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ export function activate(this: any, context: ExtensionContext) {

const commandCallbackPairs: [string, (...args: any[]) => any][] = [
['stripe.createStripeSample',
(sampleName?: string) => stripeCommands.createStripeSample(stripeSamples, sampleName ?? ''),
(sampleName?: string, integration?: string) => stripeCommands.createStripeSample(stripeSamples, sampleName ?? '', integration ?? ''),
],
['stripe.login', () => stripeCommands.startLogin(stripeDaemon)],
['stripe.openCLI', stripeCommands.openCLI],
Expand Down Expand Up @@ -204,8 +204,10 @@ export function activate(this: any, context: ExtensionContext) {
if (uri.path === '/createStripeSample') {
const params = new URLSearchParams(uri.query);
const sampleName = params.get('sample');
const integration = params.get('integration');
console.log('Sample name:', sampleName);
vscode.commands.executeCommand('stripe.createStripeSample', sampleName);
console.log('Integration from URI:', integration);
vscode.commands.executeCommand('stripe.createStripeSample', sampleName, integration);
}
}
})
Expand Down
10 changes: 8 additions & 2 deletions src/stripeSamples.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export class StripeSamples {
* Show a menu with a list of Stripe samples, prompt for sample options, clone the sample, and
* prompt to open the sample.
*/
selectAndCloneSample = async (sample?: string) => {
selectAndCloneSample = async (sample?: string, integration?: string) => {
try {
this.daemonClient = await this.stripeDaemon.setupClient();
} catch (e: any) {
Expand All @@ -60,7 +60,13 @@ export class StripeSamples {

const sampleName = selectedSample.sampleData.name;

const selectedIntegration = await this.promptIntegration(selectedSample);
const integrationsList = await this.getConfigsForSample(sampleName);
let selectedIntegration: SampleConfigsResponse.Integration | undefined
if (integration) {
selectedIntegration = integrationsList.find((i) => i.getIntegrationName() === integration);
} else {
selectedIntegration = await this.promptIntegration(selectedSample);
}
if (!selectedIntegration) {
return;
}
Expand Down

0 comments on commit 567c0ce

Please sign in to comment.