@oxyhq/core 3.18.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/.tsbuildinfo +1 -1
- package/dist/cjs/OxyServices.js +3 -2
- package/dist/cjs/mixins/OxyServices.accounts.js +480 -0
- package/dist/cjs/mixins/OxyServices.connectedApps.js +73 -0
- package/dist/cjs/mixins/OxyServices.utility.js +3 -2
- package/dist/cjs/mixins/index.js +9 -6
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/OxyServices.js +3 -2
- package/dist/esm/mixins/OxyServices.accounts.js +477 -0
- package/dist/esm/mixins/OxyServices.connectedApps.js +70 -0
- package/dist/esm/mixins/OxyServices.utility.js +3 -2
- package/dist/esm/mixins/index.js +9 -6
- package/dist/types/.tsbuildinfo +1 -1
- package/dist/types/OxyServices.d.ts +3 -2
- package/dist/types/index.d.ts +2 -3
- package/dist/types/mixins/OxyServices.accounts.d.ts +642 -0
- package/dist/types/mixins/OxyServices.auth.d.ts +1 -1
- package/dist/types/mixins/OxyServices.connectedApps.d.ts +168 -0
- package/dist/types/mixins/OxyServices.utility.d.ts +6 -3
- package/dist/types/mixins/index.d.ts +3 -4
- package/package.json +1 -1
- package/src/OxyServices.ts +3 -2
- package/src/index.ts +33 -34
- package/src/mixins/OxyServices.accounts.ts +1079 -0
- package/src/mixins/OxyServices.auth.ts +1 -1
- package/src/mixins/OxyServices.connectedApps.ts +165 -0
- package/src/mixins/OxyServices.utility.ts +7 -4
- package/src/mixins/__tests__/accounts.test.ts +667 -0
- package/src/mixins/__tests__/connectedApps.test.ts +1 -1
- package/src/mixins/index.ts +11 -9
- package/dist/cjs/mixins/OxyServices.applications.js +0 -350
- package/dist/cjs/mixins/OxyServices.managedAccounts.js +0 -143
- package/dist/cjs/mixins/OxyServices.workspaces.js +0 -181
- package/dist/esm/mixins/OxyServices.applications.js +0 -347
- package/dist/esm/mixins/OxyServices.managedAccounts.js +0 -140
- package/dist/esm/mixins/OxyServices.workspaces.js +0 -178
- package/dist/types/mixins/OxyServices.applications.d.ts +0 -496
- package/dist/types/mixins/OxyServices.managedAccounts.d.ts +0 -145
- package/dist/types/mixins/OxyServices.workspaces.d.ts +0 -219
- package/src/mixins/OxyServices.applications.ts +0 -773
- package/src/mixins/OxyServices.managedAccounts.ts +0 -173
- package/src/mixins/OxyServices.workspaces.ts +0 -351
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import type { User, RefreshAllResponse, RefreshCookieResponse } from '../models/interfaces';
|
|
7
7
|
import type { SessionLoginResponse } from '../models/session';
|
|
8
8
|
import type { OxyServicesBase } from '../OxyServices.base';
|
|
9
|
-
import type { PublicApplication } from './OxyServices.
|
|
9
|
+
import type { PublicApplication } from './OxyServices.connectedApps';
|
|
10
10
|
export interface ChallengeResponse {
|
|
11
11
|
challenge: string;
|
|
12
12
|
expiresAt: string;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connected Apps (OAuth consent) Methods Mixin
|
|
3
|
+
*
|
|
4
|
+
* The user-facing OAuth-consent surface: resolving the PUBLIC identity of a
|
|
5
|
+
* requesting application (for consent/authorize/device-flow screens), and
|
|
6
|
+
* viewing/revoking the THIRD-PARTY applications the current user has authorized.
|
|
7
|
+
*
|
|
8
|
+
* This is deliberately separate from account ownership (`OxyServices.accounts.ts`):
|
|
9
|
+
* an account owns and manages its own applications, whereas this mixin is about a
|
|
10
|
+
* user granting/revoking another party's app access to their own data. None of
|
|
11
|
+
* these methods touch the account graph.
|
|
12
|
+
*
|
|
13
|
+
* Reference connected apps by their application `_id` (`applicationId`), NOT a
|
|
14
|
+
* credential/client id, so a grant — and its revocation — survive credential
|
|
15
|
+
* rotation.
|
|
16
|
+
*/
|
|
17
|
+
import type { OxyServicesBase } from '../OxyServices.base';
|
|
18
|
+
import type { ApplicationType } from './OxyServices.accounts';
|
|
19
|
+
/**
|
|
20
|
+
* Sanitized, PUBLIC application identity returned by the API when resolving a
|
|
21
|
+
* cross-app/OAuth client to a registered application.
|
|
22
|
+
*
|
|
23
|
+
* This shape carries NO sensitive or membership fields — it is safe to display
|
|
24
|
+
* unauthenticated in consent/authorize screens and device-flow approval UIs. The
|
|
25
|
+
* API resolves a `client_id` (OAuth credential public key) to the owning
|
|
26
|
+
* application and projects only the fields below. `id` is the application's
|
|
27
|
+
* `_id` as a string.
|
|
28
|
+
*/
|
|
29
|
+
export interface PublicApplication {
|
|
30
|
+
/** The application's Mongo `_id` as a string. */
|
|
31
|
+
id: string;
|
|
32
|
+
/** Human-readable application name shown to the user. */
|
|
33
|
+
name: string;
|
|
34
|
+
/** Optional short description of what the application does. */
|
|
35
|
+
description?: string;
|
|
36
|
+
/** Optional icon URL for the application. */
|
|
37
|
+
icon?: string;
|
|
38
|
+
/** Optional public website/homepage URL for the application. */
|
|
39
|
+
websiteUrl?: string;
|
|
40
|
+
/** Application classification (set by Oxy platform staff). */
|
|
41
|
+
type: ApplicationType;
|
|
42
|
+
/** Whether the application is an officially endorsed Oxy application. */
|
|
43
|
+
isOfficial: boolean;
|
|
44
|
+
/** Whether the application is an internal Oxy ecosystem application. */
|
|
45
|
+
isInternal: boolean;
|
|
46
|
+
/** OAuth scopes the application is configured to request. */
|
|
47
|
+
scopes: string[];
|
|
48
|
+
/** Optional display name of the developer/owner organisation. */
|
|
49
|
+
developerName?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* A connected (OAuth-authorized) application from the current user's point of
|
|
53
|
+
* view: an application the user has granted access to via the consent flow.
|
|
54
|
+
*
|
|
55
|
+
* Returned by `GET /auth/grants` and rendered in the user-facing "Connected
|
|
56
|
+
* apps" management surface. Keyed by `applicationId` (the application's Mongo
|
|
57
|
+
* `_id`) rather than a credential/client id, so the grant — and a subsequent
|
|
58
|
+
* {@link OxyServicesConnectedAppsMixin.revokeAppGrant} — survive credential
|
|
59
|
+
* rotation. This is a display shape: it carries the application's name/logo and
|
|
60
|
+
* the granted scopes, never any membership or credential material.
|
|
61
|
+
*/
|
|
62
|
+
export interface ConnectedApp {
|
|
63
|
+
/** The connected application's Mongo `_id`. Use this to revoke the grant. */
|
|
64
|
+
applicationId: string;
|
|
65
|
+
/** Human-readable application name shown to the user. */
|
|
66
|
+
name: string;
|
|
67
|
+
/** Optional logo URL for the application. */
|
|
68
|
+
logoUrl?: string;
|
|
69
|
+
/** OAuth scopes the user has granted to the application. */
|
|
70
|
+
scopes: string[];
|
|
71
|
+
/** ISO timestamp of when the user first authorized the application. */
|
|
72
|
+
firstGrantedAt: string;
|
|
73
|
+
/** ISO timestamp of when the grant was last exercised. */
|
|
74
|
+
lastUsedAt: string;
|
|
75
|
+
}
|
|
76
|
+
export declare function OxyServicesConnectedAppsMixin<T extends typeof OxyServicesBase>(Base: T): {
|
|
77
|
+
new (...args: any[]): {
|
|
78
|
+
/**
|
|
79
|
+
* Resolve an OAuth client identifier to the owning application's PUBLIC
|
|
80
|
+
* identity. No authentication required — the API returns only sanitized,
|
|
81
|
+
* display-safe metadata ({@link PublicApplication}). Use this to render the
|
|
82
|
+
* requesting application's name/icon in consent, authorize, and device-flow
|
|
83
|
+
* approval UIs before any session exists.
|
|
84
|
+
*
|
|
85
|
+
* @param clientId - The OAuth `client_id` (an active credential's public
|
|
86
|
+
* key). URL-encoded before being placed in the path.
|
|
87
|
+
*/
|
|
88
|
+
getPublicApplication(clientId: string): Promise<PublicApplication>;
|
|
89
|
+
/**
|
|
90
|
+
* List the OAuth-authorized applications the current user has connected —
|
|
91
|
+
* the third-party apps the user granted access to via the consent flow.
|
|
92
|
+
* Each entry is a {@link ConnectedApp} carrying the application's display
|
|
93
|
+
* identity, the granted scopes, and when the grant was first made and last
|
|
94
|
+
* exercised. Requires an authenticated session.
|
|
95
|
+
*
|
|
96
|
+
* Backed by `GET /auth/grants`. The response is briefly cached
|
|
97
|
+
* (identity-scoped); {@link revokeAppGrant} busts that cache so a revoke is
|
|
98
|
+
* reflected on the next read.
|
|
99
|
+
*/
|
|
100
|
+
listConnectedApps(): Promise<ConnectedApp[]>;
|
|
101
|
+
/**
|
|
102
|
+
* Revoke the current user's grant for a connected application, identified by
|
|
103
|
+
* its application `_id` (a {@link ConnectedApp.applicationId}, NOT a
|
|
104
|
+
* credential/client id — keyed by application so the revocation survives
|
|
105
|
+
* credential rotation). After this the application can no longer act on the
|
|
106
|
+
* user's behalf until it is re-authorized.
|
|
107
|
+
*
|
|
108
|
+
* Backed by `DELETE /auth/grants/:applicationId`. On success the cached
|
|
109
|
+
* connected-apps list (`GET:/auth/grants`) is invalidated so the next
|
|
110
|
+
* {@link listConnectedApps} read reflects the removal.
|
|
111
|
+
*
|
|
112
|
+
* @param applicationId - The connected application's Mongo `_id`.
|
|
113
|
+
*/
|
|
114
|
+
revokeAppGrant(applicationId: string): Promise<void>;
|
|
115
|
+
httpService: import("../HttpService").HttpService;
|
|
116
|
+
cloudURL: string;
|
|
117
|
+
config: import("../OxyServices.base").OxyConfig;
|
|
118
|
+
__resetTokensForTests(): void;
|
|
119
|
+
makeRequest<T_1>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../HttpService").RequestOptions): Promise<T_1>;
|
|
120
|
+
getBaseURL(): string;
|
|
121
|
+
getSessionBaseUrl(): string;
|
|
122
|
+
getClient(): import("../HttpService").HttpService;
|
|
123
|
+
createLinkedClient(config: import("../OxyServices.base").OxyConfig): import("..").LinkedHttpClient;
|
|
124
|
+
getMetrics(): {
|
|
125
|
+
totalRequests: number;
|
|
126
|
+
successfulRequests: number;
|
|
127
|
+
failedRequests: number;
|
|
128
|
+
cacheHits: number;
|
|
129
|
+
cacheMisses: number;
|
|
130
|
+
averageResponseTime: number;
|
|
131
|
+
};
|
|
132
|
+
clearCache(): void;
|
|
133
|
+
clearCacheEntry(key: string): void;
|
|
134
|
+
clearCacheByPrefix(prefix: string): number;
|
|
135
|
+
getCacheStats(): {
|
|
136
|
+
size: number;
|
|
137
|
+
hits: number;
|
|
138
|
+
misses: number;
|
|
139
|
+
hitRate: number;
|
|
140
|
+
};
|
|
141
|
+
getCloudURL(): string;
|
|
142
|
+
setTokens(accessToken: string): void;
|
|
143
|
+
clearTokens(): void;
|
|
144
|
+
onTokensChanged(listener: (accessToken: string | null) => void): () => void;
|
|
145
|
+
_cachedUserId: string | null | undefined;
|
|
146
|
+
_cachedAccessToken: string | null;
|
|
147
|
+
getCurrentUserId(): string | null;
|
|
148
|
+
hasValidToken(): boolean;
|
|
149
|
+
getAccessToken(): string | null;
|
|
150
|
+
getAccessTokenExpiry(): number | null;
|
|
151
|
+
setActingAs(userId: string | null): void;
|
|
152
|
+
getActingAs(): string | null;
|
|
153
|
+
waitForAuth(timeoutMs?: number): Promise<boolean>;
|
|
154
|
+
withAuthRetry<T_1>(operation: () => Promise<T_1>, operationName: string, options?: {
|
|
155
|
+
maxRetries?: number;
|
|
156
|
+
retryDelay?: number;
|
|
157
|
+
authTimeoutMs?: number;
|
|
158
|
+
}): Promise<T_1>;
|
|
159
|
+
validate(): Promise<boolean>;
|
|
160
|
+
handleError(error: unknown): Error;
|
|
161
|
+
healthCheck(): Promise<{
|
|
162
|
+
status: string;
|
|
163
|
+
users?: number;
|
|
164
|
+
timestamp?: string;
|
|
165
|
+
[key: string]: any;
|
|
166
|
+
}>;
|
|
167
|
+
};
|
|
168
|
+
} & T;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { ApiError, User } from '../models/interfaces';
|
|
2
2
|
import type { OxyServicesBase } from '../OxyServices.base';
|
|
3
3
|
/**
|
|
4
|
-
* Result from the
|
|
5
|
-
* Indicates whether a user is authorized to
|
|
4
|
+
* Result from the account acting-as verification endpoint
|
|
5
|
+
* (`GET /accounts/verify-acting-as`). Indicates whether a user is authorized to
|
|
6
|
+
* act as a given account. The `account:act_as` capability is granted only to the
|
|
7
|
+
* `owner`, `admin`, and `editor` account roles.
|
|
6
8
|
*/
|
|
7
9
|
interface ActingAsVerification {
|
|
8
10
|
authorized: boolean;
|
|
@@ -91,7 +93,8 @@ export declare function OxyServicesUtilityMixin<T extends typeof OxyServicesBase
|
|
|
91
93
|
expiresAt: number;
|
|
92
94
|
}>;
|
|
93
95
|
/**
|
|
94
|
-
* Verify that a user is authorized to act as
|
|
96
|
+
* Verify that a user is authorized to act as an account (direct membership
|
|
97
|
+
* or inherited via an ancestor). Backed by `GET /accounts/verify-acting-as`.
|
|
95
98
|
* Results are cached in-memory for 5 minutes to avoid repeated API calls.
|
|
96
99
|
*
|
|
97
100
|
* @internal Used by the auth() middleware — not part of the public API
|
|
@@ -17,8 +17,8 @@ import { OxyServicesLanguageMixin } from './OxyServices.language';
|
|
|
17
17
|
import { OxyServicesPaymentMixin } from './OxyServices.payment';
|
|
18
18
|
import { OxyServicesReputationMixin } from './OxyServices.reputation';
|
|
19
19
|
import { OxyServicesAssetsMixin } from './OxyServices.assets';
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
20
|
+
import { OxyServicesAccountsMixin } from './OxyServices.accounts';
|
|
21
|
+
import { OxyServicesConnectedAppsMixin } from './OxyServices.connectedApps';
|
|
22
22
|
import { OxyServicesLocationMixin } from './OxyServices.location';
|
|
23
23
|
import { OxyServicesAnalyticsMixin } from './OxyServices.analytics';
|
|
24
24
|
import { OxyServicesDevicesMixin } from './OxyServices.devices';
|
|
@@ -26,7 +26,6 @@ import { OxyServicesSecurityMixin } from './OxyServices.security';
|
|
|
26
26
|
import { OxyServicesUtilityMixin } from './OxyServices.utility';
|
|
27
27
|
import { OxyServicesFeaturesMixin } from './OxyServices.features';
|
|
28
28
|
import { OxyServicesTopicsMixin } from './OxyServices.topics';
|
|
29
|
-
import { OxyServicesManagedAccountsMixin } from './OxyServices.managedAccounts';
|
|
30
29
|
import { OxyServicesContactsMixin } from './OxyServices.contacts';
|
|
31
30
|
import { OxyServicesAppDataMixin } from './OxyServices.appData';
|
|
32
31
|
import { OxyServicesCivicMixin } from './OxyServices.civic';
|
|
@@ -41,7 +40,7 @@ import { OxyServicesLinksMixin } from './OxyServices.links';
|
|
|
41
40
|
* If you add a new mixin to `MIXIN_PIPELINE`, add it here too so its methods
|
|
42
41
|
* are visible without a cast.
|
|
43
42
|
*/
|
|
44
|
-
type AllMixinInstances = InstanceType<ReturnType<typeof OxyServicesAuthMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesFedCMMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesSilentAuthMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesRedirectAuthMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesSsoMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesUserMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesIdentityMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesPrivacyMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesLanguageMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesPaymentMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesReputationMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesAssetsMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof
|
|
43
|
+
type AllMixinInstances = InstanceType<ReturnType<typeof OxyServicesAuthMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesFedCMMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesSilentAuthMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesRedirectAuthMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesSsoMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesUserMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesIdentityMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesPrivacyMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesLanguageMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesPaymentMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesReputationMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesAssetsMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesAccountsMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesConnectedAppsMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesLocationMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesAnalyticsMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesDevicesMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesSecurityMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesFeaturesMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesTopicsMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesContactsMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesAppDataMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesCivicMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesNodesMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesLinksMixin<typeof OxyServicesBase>>> & InstanceType<ReturnType<typeof OxyServicesUtilityMixin<typeof OxyServicesBase>>>;
|
|
45
44
|
/**
|
|
46
45
|
* Constructor type for the fully composed mixin pipeline. Each mixin returns
|
|
47
46
|
* a new constructor that augments its input; reducing across the pipeline
|
package/package.json
CHANGED
package/src/OxyServices.ts
CHANGED
|
@@ -85,8 +85,9 @@ import { composeOxyServices } from './mixins';
|
|
|
85
85
|
* - **Payment**: Payment processing
|
|
86
86
|
* - **Reputation**: Reputation system (Oxy Trust)
|
|
87
87
|
* - **Assets**: File upload and asset management
|
|
88
|
-
* - **
|
|
89
|
-
*
|
|
88
|
+
* - **Accounts**: Unified account graph (tree, members, roles, bot credentials)
|
|
89
|
+
* and the applications owned within it (Application = OAuth client)
|
|
90
|
+
* - **Connected apps**: OAuth-consent surface (public app identity, grants)
|
|
90
91
|
* - **Location**: Location-based features
|
|
91
92
|
* - **Analytics**: Analytics tracking
|
|
92
93
|
* - **Devices**: Device management
|
package/src/index.ts
CHANGED
|
@@ -63,11 +63,6 @@ export type {
|
|
|
63
63
|
CommonsSignInActionResult,
|
|
64
64
|
} from './mixins/OxyServices.auth';
|
|
65
65
|
export type { ServiceApp, ServiceActingAsVerification } from './mixins/OxyServices.utility';
|
|
66
|
-
export type {
|
|
67
|
-
CreateManagedAccountInput,
|
|
68
|
-
ManagedAccountManager,
|
|
69
|
-
ManagedAccount,
|
|
70
|
-
} from './mixins/OxyServices.managedAccounts';
|
|
71
66
|
export type {
|
|
72
67
|
ContactDiscoveryMatch,
|
|
73
68
|
ContactDiscoveryResponse,
|
|
@@ -97,26 +92,49 @@ export { normalizeProfileLinks } from './utils/profileLinks';
|
|
|
97
92
|
export type { ProfileLink, ProfileLinkMetadata } from './utils/profileLinks';
|
|
98
93
|
|
|
99
94
|
// ---------------------------------------------------------------------------
|
|
100
|
-
//
|
|
95
|
+
// Connected apps (OAuth consent: public app identity + authorized-app grants)
|
|
101
96
|
// ---------------------------------------------------------------------------
|
|
102
97
|
export type {
|
|
103
|
-
Application,
|
|
104
98
|
PublicApplication,
|
|
105
99
|
ConnectedApp,
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
100
|
+
} from './mixins/OxyServices.connectedApps';
|
|
101
|
+
|
|
102
|
+
// ---------------------------------------------------------------------------
|
|
103
|
+
// Accounts (unified account graph: tree, membership, roles, bot credentials)
|
|
104
|
+
// plus the applications owned within it (Application = OAuth client).
|
|
105
|
+
// ---------------------------------------------------------------------------
|
|
106
|
+
export type {
|
|
107
|
+
AccountKind,
|
|
108
|
+
AccountRelationship,
|
|
109
|
+
AccountRole,
|
|
110
|
+
AccountMemberStatus,
|
|
111
|
+
AccountMemberSource,
|
|
112
|
+
AccountMember,
|
|
113
|
+
AccountNode,
|
|
114
|
+
AccountCredentialType,
|
|
115
|
+
AccountCredentialEnvironment,
|
|
116
|
+
AccountCredentialStatus,
|
|
117
|
+
AccountCredential,
|
|
118
|
+
AccountCredentialWithSecret,
|
|
119
|
+
RotateAccountCredentialResult,
|
|
120
|
+
ListAccountsOptions,
|
|
121
|
+
CreateAccountInput,
|
|
122
|
+
UpdateAccountInput,
|
|
123
|
+
InviteAccountMemberInput,
|
|
124
|
+
UpdateAccountMemberInput,
|
|
125
|
+
TransferAccountOwnershipInput,
|
|
126
|
+
CreateAccountCredentialInput,
|
|
127
|
+
AccountSuccessResult,
|
|
128
|
+
// Applications owned within the account graph (Application = OAuth client).
|
|
129
|
+
Application,
|
|
109
130
|
ApplicationType,
|
|
110
131
|
ApplicationStatus,
|
|
111
|
-
|
|
132
|
+
ApplicationCredential,
|
|
112
133
|
ApplicationCredentialType,
|
|
113
134
|
ApplicationCredentialStatus,
|
|
114
135
|
ApplicationEnvironment,
|
|
115
136
|
CreateApplicationInput,
|
|
116
137
|
UpdateApplicationInput,
|
|
117
|
-
InviteApplicationMemberInput,
|
|
118
|
-
UpdateApplicationMemberInput,
|
|
119
|
-
TransferApplicationOwnershipInput,
|
|
120
138
|
CreateApplicationCredentialInput,
|
|
121
139
|
ApplicationCredentialWithSecret,
|
|
122
140
|
RotateApplicationCredentialResult,
|
|
@@ -125,26 +143,7 @@ export type {
|
|
|
125
143
|
ApplicationUsageByDay,
|
|
126
144
|
ApplicationUsageByEndpoint,
|
|
127
145
|
ApplicationUsageStats,
|
|
128
|
-
|
|
129
|
-
} from './mixins/OxyServices.applications';
|
|
130
|
-
|
|
131
|
-
// ---------------------------------------------------------------------------
|
|
132
|
-
// Workspaces (multi-user containers: membership, roles)
|
|
133
|
-
// ---------------------------------------------------------------------------
|
|
134
|
-
export type {
|
|
135
|
-
Workspace,
|
|
136
|
-
WorkspaceMember,
|
|
137
|
-
WorkspaceRole,
|
|
138
|
-
WorkspaceType,
|
|
139
|
-
WorkspaceStatus,
|
|
140
|
-
WorkspaceMemberStatus,
|
|
141
|
-
CreateWorkspaceInput,
|
|
142
|
-
UpdateWorkspaceInput,
|
|
143
|
-
InviteWorkspaceMemberInput,
|
|
144
|
-
UpdateWorkspaceMemberInput,
|
|
145
|
-
TransferWorkspaceOwnershipInput,
|
|
146
|
-
WorkspaceSuccessResult,
|
|
147
|
-
} from './mixins/OxyServices.workspaces';
|
|
146
|
+
} from './mixins/OxyServices.accounts';
|
|
148
147
|
|
|
149
148
|
// ---------------------------------------------------------------------------
|
|
150
149
|
// Reputation (Oxy Trust: ledger, balances, disputes, rules, influence)
|