-
Notifications
You must be signed in to change notification settings - Fork 141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Record business_platform_id not partner_id in remaining cases #5138
base: main
Are you sure you want to change the base?
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Coverage report
Show new covered files 🐣
Show files with reduced coverage 🔻
Test suite run success1994 tests passing in 902 suites. Report generated by 🧪jest coverage report action from 52e68e1 |
We detected some changes at packages/*/src and there are no updates in the .changeset. |
9ebb294
to
e746586
Compare
4a65bd2
to
4861084
Compare
e746586
to
71e4c8e
Compare
4861084
to
52e68e1
Compare
Differences in type declarationsWe detected differences in the type declarations generated by Typescript for this branch compared to the baseline ('main' branch). Please, review them to ensure they are backward-compatible. Here are some important things to keep in mind:
New type declarationsWe found no new type declarations in this PR Existing type declarationspackages/cli-kit/dist/public/node/monorail.d.ts@@ -16,6 +16,7 @@ export interface Schemas {
env_plugin_installed_all?: Optional<string>;
};
public: {
+ business_platform_id?: Optional<number>;
partner_id?: Optional<number>;
command: string;
project_type?: Optional<string>;
packages/cli-kit/dist/public/node/plugins.d.ts@@ -16,7 +16,7 @@ import { Config, Interfaces } from '@oclif/core';
* @returns A dictionary of plug-in names to the response from the hook.
*/
export declare function fanoutHooks<TPluginMap extends HookReturnsPerPlugin, TEvent extends string & keyof TPluginMap>(config: Interfaces.Config, event: TEvent, options: TPluginMap[typeof event]['options'], timeout?: number): Promise<Partial<TPluginMap[typeof event]['pluginReturns']>>;
-type AppSpecificMonorailFields = PickByPrefix<MonorailEventPublic, 'app_', 'project_type' | 'api_key' | 'partner_id'> & PickByPrefix<MonorailEventPublic, 'cmd_extensions_'> & PickByPrefix<MonorailEventPublic, 'cmd_scaffold_'>;
+type AppSpecificMonorailFields = PickByPrefix<MonorailEventPublic, 'app_', 'project_type' | 'api_key' | 'partner_id' | 'business_platform_id'> & PickByPrefix<MonorailEventPublic, 'cmd_extensions_'> & PickByPrefix<MonorailEventPublic, 'cmd_scaffold_'>;
type AppSpecificSensitiveMonorailFields = PickByPrefix<MonorailEventSensitive, 'app_'>;
export interface HookReturnsPerPlugin extends HookReturnPerTunnelPlugin {
public_command_metadata: {
|
apiKey: configuration.client_id, | ||
organizationId: configuration.organization_id || '0', | ||
}, | ||
configuration.organization_id ? OrganizationSource.BusinessPlatform : OrganizationSource.Partners, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have the org or any info we can pass to this function to not rely on checking if there is an ID in the config?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I'm not really thrilled with this, but all we have to work with is the app configuration itself. We might eventually move to a system where we remove the organization_id
and instead hit the backends to find which is the correct one, but for now I think this is what we've got.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, I think we can remove this "logMetadata" completely.
The config use
command will call linkedAppContext
after this, which already handles the metadata for org+app.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's also used in getAppConfigurationState
here, will that be a problem?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No that's ok, the linkedAppContext
handles the metadata after loading the app, so is safe to rely on that as a single place for all api-key/org metadata
WHY are these changes introduced?
Fixes https://github.com/Shopify/develop-app-inner-loop/issues/2025
Prerequisite here
WHAT is this pull request doing?
How to test your changes?
shopify app env pull
with both Partners and Business Platform appsshopify app info
with both Partners and Business Platform appsMeasuring impact
Checklist