Skip to content

Commit

Permalink
Adds Azure Launchpad support and account/org/project caching (#3995)
Browse files Browse the repository at this point in the history
  • Loading branch information
axosoft-ramint authored Jan 30, 2025
1 parent 6c4d4fe commit c77c2ac
Show file tree
Hide file tree
Showing 7 changed files with 460 additions and 33 deletions.
5 changes: 5 additions & 0 deletions src/commands/quickCommand.buttons.ts
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,11 @@ export const OpenOnGitLabQuickInputButton: QuickInputButton = {
tooltip: 'Open on GitLab',
};

export const OpenOnAzureDevOpsQuickInputButton: QuickInputButton = {
iconPath: new ThemeIcon('globe'),
tooltip: 'Open on Azure DevOps',
};

export const OpenOnWebQuickInputButton: QuickInputButton = {
iconPath: new ThemeIcon('globe'),
tooltip: 'Open on gitkraken.dev',
Expand Down
26 changes: 26 additions & 0 deletions src/constants.storage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ export type GlobalStorage = {
[key in `gk:${string}:organizations`]: Stored<StoredOrganization[]>;
} & { [key in `jira:${string}:organizations`]: Stored<StoredJiraOrganization[] | undefined> } & {
[key in `jira:${string}:projects`]: Stored<StoredJiraProject[] | undefined>;
} & { [key in `azure:${string}:account`]: Stored<StoredAzureAccount | undefined> } & {
[key in `azure:${string}:organizations`]: Stored<StoredAzureOrganization[] | undefined>;
} & {
[key in `azure:${string}:projects`]: Stored<StoredAzureProject[] | undefined>;
};

export type StoredIntegrationConfigurations = Record<string, StoredConfiguredIntegrationDescriptor[] | undefined>;
Expand Down Expand Up @@ -203,6 +207,28 @@ export interface StoredJiraProject {
resourceId: string;
}

export interface StoredAzureAccount {
id: string;
name: string | undefined;
username: string | undefined;
email: string | undefined;
avatarUrl: string | undefined;
}

export interface StoredAzureOrganization {
key: string;
id: string;
name: string;
}

export interface StoredAzureProject {
key: string;
id: string;
name: string;
resourceId: string;
resourceName: string;
}

export interface StoredAvatar {
uri: string;
timestamp: number;
Expand Down
Loading

0 comments on commit c77c2ac

Please sign in to comment.