Skip to content

Commit e263303

Browse files
Merge remote-tracking branch 'origin/main' into beta-releases
2 parents e0a4d58 + 708287e commit e263303

File tree

85 files changed

+2610
-1848
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+2610
-1848
lines changed

THIRD-PARTY-NOTICES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
The following third-party software is used by and included in **Mongodb Compass**.
2-
This document was automatically generated on Mon Feb 26 2024.
2+
This document was automatically generated on Tue Feb 27 2024.
33

44
## List of dependencies
55

package-lock.json

Lines changed: 28 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/atlas-service/package.json

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,19 @@
2323
"main.js",
2424
"main.d.ts",
2525
"renderer.js",
26-
"renderer.d.ts"
26+
"renderer.d.ts",
27+
"provider.js"
2728
],
2829
"license": "SSPL",
2930
"exports": {
3031
"./main": "./main.js",
31-
"./renderer": "./renderer.js"
32+
"./renderer": "./renderer.js",
33+
"./provider": "./dist/provider.js"
3234
},
3335
"compass:exports": {
3436
"./main": "./src/main.ts",
35-
"./renderer": "./src/renderer.ts"
37+
"./renderer": "./src/renderer.ts",
38+
"./provider": "./src/provider.ts"
3639
},
3740
"scripts": {
3841
"bootstrap": "npm run compile",
@@ -57,31 +60,29 @@
5760
"@mongodb-js/prettier-config-compass": "^1.0.1",
5861
"@mongodb-js/tsconfig-compass": "^1.0.3",
5962
"@testing-library/react": "^12.1.4",
60-
"@testing-library/user-event": "^13.5.0",
6163
"@types/chai": "^4.2.21",
6264
"@types/mocha": "^9.0.0",
6365
"@types/sinon-chai": "^3.2.5",
6466
"chai": "^4.3.6",
6567
"depcheck": "^1.4.1",
6668
"eslint": "^7.25.0",
6769
"mocha": "^10.2.0",
68-
"mongodb": "^6.3.0",
69-
"mongodb-schema": "^12.1.0",
7070
"nyc": "^15.1.0",
7171
"prettier": "^2.7.1",
7272
"sinon": "^9.2.3",
7373
"typescript": "^5.0.4"
7474
},
7575
"dependencies": {
76-
"@mongodb-js/compass-user-data": "^0.1.15",
7776
"@mongodb-js/compass-components": "^1.21.3",
7877
"@mongodb-js/compass-logging": "^1.2.12",
78+
"@mongodb-js/compass-user-data": "^0.1.15",
7979
"@mongodb-js/compass-utils": "^0.5.11",
8080
"@mongodb-js/devtools-connect": "^2.4.2",
8181
"@mongodb-js/oidc-plugin": "^0.3.1",
8282
"compass-preferences-model": "^2.17.4",
8383
"electron": "^28.2.1",
8484
"hadron-ipc": "^3.2.10",
85+
"lodash": "^4.17.21",
8586
"node-fetch": "^2.7.0",
8687
"react": "^17.0.2",
8788
"react-redux": "^8.1.3",
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './dist/provider.d';
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
import { EventEmitter } from 'events';
2+
import type { AtlasUserConfig } from './user-config-store';
3+
import type { AtlasUserInfo } from './util';
4+
5+
export type ArgsWithSignal<T = Record<string, unknown>> = T & {
6+
signal?: AbortSignal;
7+
};
8+
export type SignInPrompt = 'none' | 'ai-promo-modal';
9+
10+
type AtlasAuthServiceEvents = {
11+
'signed-in': [];
12+
'signed-out': [];
13+
'token-refresh-failed': [];
14+
'user-config-changed': [AtlasUserConfig];
15+
};
16+
17+
type AtlasAuthEventNames = keyof AtlasAuthServiceEvents;
18+
type AtlasAuthEventListener<T extends AtlasAuthEventNames> = (
19+
...args: AtlasAuthServiceEvents[T]
20+
) => void;
21+
22+
export abstract class AtlasAuthService extends EventEmitter {
23+
abstract signIn(
24+
opts?: ArgsWithSignal<{ promptType?: SignInPrompt }>
25+
): Promise<AtlasUserInfo>;
26+
abstract signOut(): Promise<void>;
27+
abstract isAuthenticated(opts?: ArgsWithSignal): Promise<boolean>;
28+
abstract getAuthHeaders(
29+
opts?: ArgsWithSignal
30+
): Promise<Record<string, string>>;
31+
32+
abstract getUserInfo(opts?: ArgsWithSignal): Promise<AtlasUserInfo>;
33+
abstract updateUserConfig(config: AtlasUserConfig): Promise<void>;
34+
35+
on<T extends AtlasAuthEventNames>(
36+
evt: T,
37+
listener: AtlasAuthEventListener<T>
38+
): this;
39+
on(evt: string, listener: (...args: any[]) => void): this {
40+
return super.on(evt, listener);
41+
}
42+
43+
once<T extends AtlasAuthEventNames>(
44+
evt: T,
45+
listener: AtlasAuthEventListener<T>
46+
): this;
47+
once(evt: string, listener: (...args: any[]) => void): this {
48+
return super.once(evt, listener);
49+
}
50+
51+
off<T extends AtlasAuthEventNames>(
52+
evt: T,
53+
listener: AtlasAuthEventListener<T>
54+
): this;
55+
off(evt: string, listener: (...args: any[]) => void): this {
56+
return super.off(evt, listener);
57+
}
58+
59+
removeListener<T extends AtlasAuthEventNames>(
60+
evt: T,
61+
listener: AtlasAuthEventListener<T>
62+
): this;
63+
removeListener(evt: string, listener: (...args: any[]) => void): this {
64+
return super.removeListener(evt, listener);
65+
}
66+
67+
emit<T extends AtlasAuthEventNames>(
68+
evt: T,
69+
...args: AtlasAuthServiceEvents[T]
70+
): boolean;
71+
emit(evt: string, ...args: any[]): boolean {
72+
return super.emit(evt, ...args);
73+
}
74+
}

0 commit comments

Comments
 (0)