@adminide-stack/core 9.2.1-alpha.9 → 10.0.1-alpha.2
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/lib/constants/configuration.d.ts +1 -0
- package/lib/constants/configuration.js +2 -1
- package/lib/constants/configuration.js.map +1 -1
- package/lib/core/configurations/configuration.d.ts +14 -13
- package/lib/core/configurations/configuration.js +100 -100
- package/lib/core/configurations/configuration.js.map +1 -1
- package/lib/core/configurations/events/ConfigurationChangeEvent.d.ts +3 -3
- package/lib/core/configurations/events/ConfigurationChangeEvent.js +2 -2
- package/lib/core/configurations/events/ConfigurationChangeEvent.js.map +1 -1
- package/lib/core/configurations/helpers/configuration.d.ts +2 -1
- package/lib/core/configurations/helpers/configuration.js +1 -1
- package/lib/core/configurations/helpers/configuration.js.map +1 -1
- package/lib/core/configurations/models/ConfigurationModel.d.ts +5 -4
- package/lib/core/configurations/models/ConfigurationModel.js +26 -19
- package/lib/core/configurations/models/ConfigurationModel.js.map +1 -1
- package/lib/core/organization/configuration.d.ts +2 -1
- package/lib/core/organization/configuration.js +1 -1
- package/lib/core/organization/configuration.js.map +1 -1
- package/lib/core/organization/helpers/organization-helpers.d.ts +2 -1
- package/lib/core/organization/helpers/organization-helpers.js +2 -2
- package/lib/core/organization/helpers/organization-helpers.js.map +1 -1
- package/lib/core/organization/organization.d.ts +15 -14
- package/lib/core/organization/organization.js +48 -44
- package/lib/core/organization/organization.js.map +1 -1
- package/lib/errors/auth-error.d.ts +2 -2
- package/lib/errors/auth-error.js +1 -1
- package/lib/errors/auth-error.js.map +1 -1
- package/lib/errors/index.d.ts +0 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -1
- package/lib/interfaces/apollo-context.d.ts +2 -1
- package/lib/interfaces/configuration/configuration-file-service.d.ts +1 -1
- package/lib/interfaces/configuration/configuration-server-service.d.ts +3 -3
- package/lib/interfaces/configuration/configuration.d.ts +8 -57
- package/lib/interfaces/configuration/configuration.js +1 -34
- package/lib/interfaces/configuration/configuration.js.map +1 -1
- package/lib/interfaces/configuration/configurationRegistry.d.ts +66 -46
- package/lib/interfaces/configuration/configuraton-service.d.ts +2 -2
- package/lib/interfaces/configuration/defaultSettingSnapshot.d.ts +9 -0
- package/lib/interfaces/configuration/event.d.ts +3 -3
- package/lib/interfaces/configuration/index.d.ts +1 -0
- package/lib/interfaces/contex-key-service.d.ts +2 -2
- package/lib/interfaces/environment/environment-service.d.ts +1 -1
- package/lib/interfaces/index.d.ts +0 -1
- package/lib/interfaces/organization/organization-context-service.d.ts +1 -1
- package/lib/interfaces/organization/organization-context.d.ts +1 -1
- package/lib/interfaces/organization/organization-context.js.map +1 -1
- package/lib/interfaces/organization/organizations-context.d.ts +1 -1
- package/lib/interfaces/organization-key-context.d.ts +1 -1
- package/lib/interfaces/permissions.d.ts +1 -2
- package/lib/interfaces/permissions.js.map +1 -1
- package/lib/interfaces/policy.d.ts +1 -1
- package/lib/interfaces/preferences-service.d.ts +8 -6
- package/lib/interfaces/reduxStore.d.ts +1 -1
- package/lib/interfaces/workbench-exports.d.ts +1 -1
- package/lib/schema/route-schema.graphql +31 -0
- package/lib/services/abstract-configuration.d.ts +12 -10
- package/lib/services/abstract-configuration.js +40 -39
- package/lib/services/abstract-configuration.js.map +1 -1
- package/lib/services/abstract-organization-context-service.d.ts +5 -4
- package/lib/services/abstract-organization-context-service.js +2 -2
- package/lib/services/abstract-organization-context-service.js.map +1 -1
- package/lib/utils/cdecodeUri.d.ts +9 -18
- package/lib/utils/cdecodeUri.js +71 -7
- package/lib/utils/cdecodeUri.js.map +1 -1
- package/lib/utils/configuration-utils.d.ts +11 -3
- package/lib/utils/configuration-utils.js +12 -2
- package/lib/utils/configuration-utils.js.map +1 -1
- package/lib/utils/flatten-utils.d.ts +1 -0
- package/lib/utils/flatten-utils.js +19 -1
- package/lib/utils/flatten-utils.js.map +1 -1
- package/lib/utils/generate-uri.d.ts +6 -4
- package/lib/utils/generate-uri.js +22 -2
- package/lib/utils/generate-uri.js.map +1 -1
- package/lib/utils/generate-uri.test.d.ts +1 -0
- package/lib/utils/generated-settings-id.d.ts +1 -1
- package/lib/utils/generated-settings-id.js +3 -3
- package/lib/utils/generated-settings-id.js.map +1 -1
- package/lib/utils/getLogger.d.ts +1 -0
- package/lib/utils/getLogger.js +8 -0
- package/lib/utils/getLogger.js.map +1 -0
- package/lib/utils/getUserAlias.d.ts +2 -0
- package/lib/utils/getUserAlias.js +9 -0
- package/lib/utils/getUserAlias.js.map +1 -0
- package/lib/utils/index.d.ts +6 -1
- package/lib/utils/nodeContext.d.ts +8 -0
- package/lib/utils/nodeContext.js +18 -0
- package/lib/utils/nodeContext.js.map +1 -0
- package/lib/utils/preferenceUri.d.ts +18 -0
- package/lib/utils/preferenceUri.js +107 -0
- package/lib/utils/preferenceUri.js.map +1 -0
- package/lib/utils/preferenceUri.test.d.ts +1 -0
- package/lib/utils/resourceUriConversion.js +67 -0
- package/lib/utils/resourceUriConversion.js.map +1 -0
- package/lib/utils/resourceUriConversion.test.d.ts +1 -0
- package/lib/utils/reviveUri.d.ts +2 -0
- package/lib/utils/reviveUri.js +13 -0
- package/lib/utils/reviveUri.js.map +1 -0
- package/lib/utils/roles-utils.d.ts +1 -1
- package/lib/utils/roles-utils.js +1 -1
- package/lib/utils/roles-utils.js.map +1 -1
- package/package.json +5 -4
- package/lib/errors/auth-error-messages.d.ts +0 -25
- package/lib/errors/auth-error-messages.js +0 -27
- package/lib/errors/auth-error-messages.js.map +0 -1
- package/lib/interfaces/generated/generated-models.d.ts +0 -13308
- package/lib/interfaces/generated/generated-models.js +0 -18845
- package/lib/interfaces/generated/generated-models.js.map +0 -1
- package/lib/interfaces/generated/index.d.ts +0 -1
- package/lib/utils/uri.js +0 -24
- package/lib/utils/uri.js.map +0 -1
- /package/lib/utils/{uri.d.ts → resourceUriConversion.d.ts} +0 -0
@@ -3,11 +3,11 @@ import { Event, Emitter } from '@vscode-alt/monaco-editor/esm/vs/base/common/eve
|
|
3
3
|
import { Disposable } from '@workbench-stack/core/lib/services/lifecycle/disposable.js';
|
4
4
|
import { Barrier } from '@vscode-alt/monaco-editor/esm/vs/base/common/async';
|
5
5
|
import { CdmLogger } from '@cdm-logger/core';
|
6
|
+
import { IOrganizationIdentifier, IOrganizationData } from 'common/lib/generated/generated-models.js';
|
6
7
|
import { OrganizationContext } from '../core';
|
7
|
-
import { IConfigurationChangeEvent,
|
8
|
+
import { IConfigurationChangeEvent, IClientOrganizationContextService, ApplicationState, IOrganizationResource, IOrganizationResourceCreationData, IOrganizationResourcesChangeEvent, ISingleResourceOrganizationIdentifier } from '../interfaces';
|
8
9
|
type ILogger = CdmLogger.ILogger;
|
9
10
|
export declare abstract class AbstractOrganizationContextService extends Disposable implements IClientOrganizationContextService {
|
10
|
-
protected _organizationContext: OrganizationContext;
|
11
11
|
protected completeOrganizationBarrier: Barrier;
|
12
12
|
protected updateOrganizationBarrier: Barrier;
|
13
13
|
protected logger: ILogger;
|
@@ -20,11 +20,12 @@ export declare abstract class AbstractOrganizationContextService extends Disposa
|
|
20
20
|
protected readonly _onDidChangeApplicationState: Emitter<ApplicationState>;
|
21
21
|
readonly onDidChangeApplicationState: Event<ApplicationState>;
|
22
22
|
constructor(logger: ILogger);
|
23
|
+
protected _organizationContext: OrganizationContext;
|
24
|
+
get organizationContext(): OrganizationContext;
|
25
|
+
set organizationContext(context: OrganizationContext);
|
23
26
|
abstract initialize(args: any): any;
|
24
27
|
abstract hydrate(apolloState: any): any;
|
25
28
|
abstract toJSON(): any;
|
26
|
-
get organizationContext(): OrganizationContext;
|
27
|
-
set organizationContext(context: OrganizationContext);
|
28
29
|
getCompleteOrganization(): Promise<OrganizationContext>;
|
29
30
|
getOrganization(): OrganizationContext;
|
30
31
|
getApplicationState(): ApplicationState;
|
@@ -1,5 +1,4 @@
|
|
1
|
-
import {__decorate,__param,__metadata}from'tslib';import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import {Emitter}from'@vscode-alt/monaco-editor/esm/vs/base/common/event.js';import {Disposable}from'@workbench-stack/core/lib/services/lifecycle/disposable.js';import {Barrier}from'@vscode-alt/monaco-editor/esm/vs/base/common/async.js';import {injectable,inject}from'inversify';import {CommonType}from'@common-stack/core';import {isEqual}from'@vscode-alt/monaco-editor/esm/vs/base/common/resources.js';import'../core/disposable.js';import'../core/event.js';import {OrganizationResource,OrganizationContext}from'../core/organization/organization.js';import'@vscode-alt/monaco-editor/esm/vs/base/common/types.js';import'
|
2
|
-
_organizationContext;
|
1
|
+
import {__decorate,__param,__metadata}from'tslib';import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import {Emitter}from'@vscode-alt/monaco-editor/esm/vs/base/common/event.js';import {Disposable}from'@workbench-stack/core/lib/services/lifecycle/disposable.js';import {Barrier}from'@vscode-alt/monaco-editor/esm/vs/base/common/async.js';import {injectable,inject}from'inversify';import {CommonType}from'@common-stack/core';import {isEqual}from'@vscode-alt/monaco-editor/esm/vs/base/common/resources.js';import'../core/disposable.js';import'../core/event.js';import {OrganizationResource,OrganizationContext}from'../core/organization/organization.js';import'@vscode-alt/monaco-editor/esm/vs/base/common/types.js';import'common/lib/generated/generated-models.js';import'@vscode-alt/monaco-editor/esm/vs/base/common/objects.js';import'@vscode-alt/monaco-editor/esm/vs/base/common/arrays.js';import'@vscode-alt/monaco-editor/esm/vs/base/common/map.js';import'../constants/types.js';import'../constants/urls.js';import'../constants/routes.js';import'@workbench-stack/core/lib/interfaces/configuration/configuration.js';import'../interfaces/organization/organization-context.js';import'@workbench-stack/core/lib/constants/extensions.js';import'@workbench-stack/core/lib/interfaces/lifecycle/lifecycle.js';import'../interfaces/permissions.js';import {isOrganizationIdentifier,isSingleResourceOrganizationIdentifier}from'../core/organization/helpers/organization-helpers.js';let AbstractOrganizationContextService = class AbstractOrganizationContextService extends Disposable {
|
3
2
|
completeOrganizationBarrier;
|
4
3
|
updateOrganizationBarrier;
|
5
4
|
logger;
|
@@ -18,6 +17,7 @@ import {__decorate,__param,__metadata}from'tslib';import {URI}from'@vscode-alt/m
|
|
18
17
|
});
|
19
18
|
this.completeOrganizationBarrier = new Barrier();
|
20
19
|
}
|
20
|
+
_organizationContext;
|
21
21
|
get organizationContext() {
|
22
22
|
return this._organizationContext;
|
23
23
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"abstract-organization-context-service.js","sources":["../../src/services/abstract-organization-context-service.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"abstract-organization-context-service.js","sources":["../../src/services/abstract-organization-context-service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
@@ -1,25 +1,11 @@
|
|
1
1
|
import { URI } from '@vscode-alt/monaco-editor/esm/vs/base/common/uri';
|
2
|
-
import {
|
3
|
-
|
4
|
-
|
5
|
-
organization: string;
|
6
|
-
project?: string;
|
7
|
-
resourceType?: IConfigCollectionName;
|
8
|
-
resourceId?: string;
|
9
|
-
}
|
10
|
-
export interface ICdecodeParsedUri {
|
11
|
-
scheme: string;
|
12
|
-
authority: string;
|
13
|
-
pathSegments: ICdecodeURIPathSegments;
|
14
|
-
queryData: Record<string, string>;
|
15
|
-
fragmentData: string | ParsedQuery<string>;
|
16
|
-
}
|
17
|
-
export declare const generateCdecodeUri: (authority: string, params: ICdecodeURIPathSegments, query?: {
|
18
|
-
[key: string]: any;
|
2
|
+
import { ICdecodeUriPathSegment, IAuthorityComponent, ConfigurationTarget, ICdecodeParsedUri } from 'common/lib/generated/generated-models.js';
|
3
|
+
export declare const generateCdecodeUri: (authority: string | IAuthorityComponent, params: ICdecodeUriPathSegment, query?: {
|
4
|
+
[key: string]: string | number;
|
19
5
|
}, fragment?: string) => URI;
|
20
6
|
/**
|
21
7
|
* valid
|
22
|
-
* `cdecode
|
8
|
+
* `cdecode://<tenantId>.us-west-2.clockbook.com/rranrn/${IConfigCollectionName.Teams}/JohnDoe`
|
23
9
|
* `cdecode://us-west-2/rranrn/${IConfigCollectionName.Teams}/JohnDoe?param1=1¶m2=2`
|
24
10
|
* `cdecode://us-west-2/rranrn?param1=1`
|
25
11
|
* `cdecode://us-west-2/`
|
@@ -37,3 +23,8 @@ export declare const generateCdecodeUri: (authority: string, params: ICdecodeURI
|
|
37
23
|
* @returns
|
38
24
|
*/
|
39
25
|
export declare function parseCdecodeUri(uriString: string | URI): ICdecodeParsedUri;
|
26
|
+
/**
|
27
|
+
* Decide a ConfigurationTarget based on whether the cdecode URI
|
28
|
+
* includes an organization name, resourceGroup/resourceType, etc.
|
29
|
+
*/
|
30
|
+
export declare function determineConfigurationTarget(parsedUri: ICdecodeParsedUri): ConfigurationTarget;
|
package/lib/utils/cdecodeUri.js
CHANGED
@@ -1,10 +1,51 @@
|
|
1
|
-
import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import {Schemas}from'@workbench-stack/core/lib/core/network.js';import sortKeys from'sort-keys';import queryString from'query-string';import {IConfigCollectionName}from'
|
1
|
+
import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import {Schemas}from'@workbench-stack/core/lib/core/network.js';import sortKeys from'sort-keys';import queryString from'query-string';import {IConfigCollectionName}from'common/lib/generated/generated-models.js';/* eslint-disable prefer-destructuring */
|
2
|
+
/* eslint-disable default-param-last */
|
3
|
+
const generateCdecodeUri = (authority, params, query = {}, fragment) => {
|
4
|
+
let authorityString;
|
5
|
+
// Determine if authority is a string or an object
|
6
|
+
if (typeof authority === 'string') {
|
7
|
+
authorityString = authority;
|
8
|
+
} else {
|
9
|
+
const {
|
10
|
+
domain,
|
11
|
+
region,
|
12
|
+
bucketOrAppName
|
13
|
+
} = authority;
|
14
|
+
if (!domain || !region || !bucketOrAppName) {
|
15
|
+
throw new Error('Authority object must include domain, region, and bucketOrAppName.');
|
16
|
+
}
|
17
|
+
// Construct the authority string
|
18
|
+
authorityString = `${bucketOrAppName}.${region}.${domain}`.toLowerCase();
|
19
|
+
}
|
20
|
+
// Sort query parameters for consistent ordering
|
2
21
|
const orderedParams = sortKeys(query ?? {});
|
3
22
|
const queryInString = queryString.stringify(orderedParams);
|
4
|
-
|
23
|
+
// Build the path from the provided parameters
|
24
|
+
const pathSegments = [];
|
25
|
+
// Organization is optional but reserved as the first path segment
|
26
|
+
if (params.organization !== undefined && params.organization !== null && params.organization !== '') {
|
27
|
+
pathSegments.push(params.organization);
|
28
|
+
} else {
|
29
|
+
const hasAdditionalSegments = params.resourceGroup && params.resourceGroup !== '' || params.resourceType && params.resourceType !== undefined && params.resourceType !== '' || params.resourceId && params.resourceId !== '';
|
30
|
+
if (hasAdditionalSegments) {
|
31
|
+
// Add an empty string to represent the missing organization
|
32
|
+
pathSegments.push('');
|
33
|
+
}
|
34
|
+
}
|
35
|
+
if (params.resourceGroup !== undefined && params.resourceGroup !== null && params.resourceGroup !== '') {
|
36
|
+
pathSegments.push(params.resourceGroup);
|
37
|
+
}
|
38
|
+
if (params.resourceType !== undefined && params.resourceType !== null && params.resourceType !== '') {
|
39
|
+
pathSegments.push(params.resourceType);
|
40
|
+
}
|
41
|
+
if (params.resourceId !== undefined && params.resourceId !== null && params.resourceId !== '') {
|
42
|
+
pathSegments.push(params.resourceId);
|
43
|
+
}
|
44
|
+
// Conditionally include the leading slash
|
45
|
+
const path = pathSegments.length > 0 ? `/${pathSegments.join('/')}` : '/';
|
5
46
|
return URI.from({
|
6
47
|
scheme: Schemas.cdecode,
|
7
|
-
authority,
|
48
|
+
authority: authorityString,
|
8
49
|
path,
|
9
50
|
query: queryInString,
|
10
51
|
fragment
|
@@ -12,7 +53,7 @@ import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import {Sc
|
|
12
53
|
};
|
13
54
|
/**
|
14
55
|
* valid
|
15
|
-
* `cdecode
|
56
|
+
* `cdecode://<tenantId>.us-west-2.clockbook.com/rranrn/${IConfigCollectionName.Teams}/JohnDoe`
|
16
57
|
* `cdecode://us-west-2/rranrn/${IConfigCollectionName.Teams}/JohnDoe?param1=1¶m2=2`
|
17
58
|
* `cdecode://us-west-2/rranrn?param1=1`
|
18
59
|
* `cdecode://us-west-2/`
|
@@ -67,10 +108,10 @@ function parseCdecodeUri(uriString) {
|
|
67
108
|
throw new Error(`Invalid URI structure: The resourceType "${possibleResourceTypeOrProject}" is missing the resourceId.`);
|
68
109
|
}
|
69
110
|
// Otherwise, treat it as a project
|
70
|
-
pathSegments.
|
111
|
+
pathSegments.resourceGroup = possibleResourceTypeOrProject;
|
71
112
|
} else if (pathSegmentsArray.length > 3) {
|
72
113
|
// Case: organization/project/resourceType/resourceId
|
73
|
-
pathSegments.
|
114
|
+
pathSegments.resourceGroup = pathSegmentsArray[1];
|
74
115
|
const possibleResourceType = pathSegmentsArray[2];
|
75
116
|
const resourceId = pathSegmentsArray[3];
|
76
117
|
// Validate the resourceType
|
@@ -95,4 +136,27 @@ function parseCdecodeUri(uriString) {
|
|
95
136
|
queryData,
|
96
137
|
fragmentData
|
97
138
|
};
|
98
|
-
}
|
139
|
+
}
|
140
|
+
/**
|
141
|
+
* Decide a ConfigurationTarget based on whether the cdecode URI
|
142
|
+
* includes an organization name, resourceGroup/resourceType, etc.
|
143
|
+
*/
|
144
|
+
function determineConfigurationTarget(parsedUri) {
|
145
|
+
const {
|
146
|
+
organization,
|
147
|
+
resourceType
|
148
|
+
} = parsedUri.pathSegments;
|
149
|
+
// If resourceType is present, it implies ORGANIZATION_RESOURCE
|
150
|
+
if (resourceType) {
|
151
|
+
return 5 /* ConfigurationTarget.ORGANIZATION_RESOURCE */;
|
152
|
+
}
|
153
|
+
// If there's an organization but no resourceType, treat it as ORGANIZATION
|
154
|
+
if (organization) {
|
155
|
+
return 4 /* ConfigurationTarget.ORGANIZATION */;
|
156
|
+
}
|
157
|
+
// Otherwise, no organization => fallback to USER or APPLICATION
|
158
|
+
// You can add logic here to differentiate user vs. application
|
159
|
+
// For example, if you have a special authority or naming convention for applications
|
160
|
+
// For now, default to USER
|
161
|
+
return 1 /* ConfigurationTarget.USER */;
|
162
|
+
}export{determineConfigurationTarget,generateCdecodeUri,parseCdecodeUri};//# sourceMappingURL=cdecodeUri.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cdecodeUri.js","sources":["../../src/utils/cdecodeUri.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"cdecodeUri.js","sources":["../../src/utils/cdecodeUri.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
@@ -1,4 +1,12 @@
|
|
1
|
-
import { ConfigurationScope,
|
2
|
-
|
1
|
+
import { ConfigurationScope, IConfigurationNode } from 'common/lib/generated/generated-models.js';
|
2
|
+
/**
|
3
|
+
* Retrieves the scope (ConfigurationScope) for each registered property.
|
4
|
+
* If tenantId is provided, retrieves only that tenant's properties.
|
5
|
+
*
|
6
|
+
* @param configurationRegistry - An IConfigurationRegistry that supports getConfigurationProperties(tenantId).
|
7
|
+
* @param tenantId - (Optional) the tenant whose properties you want.
|
8
|
+
* @returns A record of property key -> ConfigurationScope.
|
9
|
+
*/
|
10
|
+
export declare function getScopes(configurationProperties: IConfigurationNode): Promise<{
|
3
11
|
[key: string]: ConfigurationScope;
|
4
|
-
}
|
12
|
+
}>;
|
@@ -1,9 +1,19 @@
|
|
1
|
-
|
1
|
+
/**
|
2
|
+
* Retrieves the scope (ConfigurationScope) for each registered property.
|
3
|
+
* If tenantId is provided, retrieves only that tenant's properties.
|
4
|
+
*
|
5
|
+
* @param configurationRegistry - An IConfigurationRegistry that supports getConfigurationProperties(tenantId).
|
6
|
+
* @param tenantId - (Optional) the tenant whose properties you want.
|
7
|
+
* @returns A record of property key -> ConfigurationScope.
|
8
|
+
*/
|
9
|
+
async function getScopes(configurationProperties) {
|
2
10
|
const scopes = {};
|
3
|
-
|
11
|
+
// Gather the scope for each property
|
4
12
|
for (const key of Object.keys(configurationProperties)) {
|
5
13
|
scopes[key] = configurationProperties[key].scope;
|
6
14
|
}
|
15
|
+
// These might be special keys (launch, task) that are always considered RESOURCE,
|
16
|
+
// depending on your project conventions. Keep or remove as necessary.
|
7
17
|
scopes['launch'] = 4 /* ConfigurationScope.RESOURCE */;
|
8
18
|
scopes['task'] = 4 /* ConfigurationScope.RESOURCE */;
|
9
19
|
return scopes;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"configuration-utils.js","sources":["../../src/utils/configuration-utils.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"configuration-utils.js","sources":["../../src/utils/configuration-utils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;;;;AAOG;AACI,eAAe,SAAS,CAC3B,uBAA2C,EAAA;QAErC,MAAA,GAAgD,EAAA;;OAGjD,MAAA,GAAS,IAAA,MAAU,CAAA,4BAAM,CAAA,EAAwB;UAC5C,CAAA,GAAA,CAAC,GAAG,uBAAI,CAAA,GAAuB,CAAC,CAAG,KAAE;;;;AAK/C,EAAA,MAAA,CAAA,QAAO,CAAA,GAAS,CAAA;AAChB,EAAA,MAAA,CAAA,MAAO,CAAA,GAAO,CAAA;AAEd,EAAA,OAAA;AACJ"}
|
@@ -7,3 +7,4 @@ export declare function flatten<T extends Record<string, any>>(object: T, path?:
|
|
7
7
|
* @return Object The expanded object.
|
8
8
|
*/
|
9
9
|
export declare function expand(object: any, options: any): {};
|
10
|
+
export declare function flattenObject(obj: Record<string, any>): Record<string, any>;
|
@@ -45,4 +45,22 @@ function expand(object, options) {
|
|
45
45
|
pointer[parts.shift()] = value;
|
46
46
|
}
|
47
47
|
return expanded;
|
48
|
-
}
|
48
|
+
}
|
49
|
+
function flattenObject(obj) {
|
50
|
+
const flattened = {};
|
51
|
+
function flatten(prefix, target) {
|
52
|
+
if (!target || typeof target !== 'object') {
|
53
|
+
throw new Error('A valid object is required to flatten');
|
54
|
+
}
|
55
|
+
for (const [key, value] of Object.entries(target)) {
|
56
|
+
const newKey = prefix ? `${prefix}.${key}` : key;
|
57
|
+
if (value && typeof value === 'object') {
|
58
|
+
flatten(newKey, value);
|
59
|
+
} else {
|
60
|
+
flattened[newKey] = value;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}
|
64
|
+
flatten('', obj);
|
65
|
+
return flattened;
|
66
|
+
}export{expand,flatten,flattenObject};//# sourceMappingURL=flatten-utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"flatten-utils.js","sources":["../../src/utils/flatten-utils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACM,SAAU,OAAO,CAAgC,MAAS,EAAE,OAAsB,IAAI,EAAE,SAAS,GAAG,GAAG,EAAA;AACzG,EAAA,OAAA,MAAa,CAAA,IAAK,CAAA,QAAO,MAAQ,CAAA,CAAA,GAAE,EAAM,GAAE,KAAkB;AACzD,IAAA,MAAA,cAAc,CAAA,GAAM,CAAC;AAErB,IAAA,MAAA,WAAa,IAAI,EAAI,GAAA,CAAE,OAAW,CAAA,aAAU,UAAK,CAAA;AAEjD,IAAA,MAAA,YAAc,OAAG,KAAA,KAAA,QAAA,EAAA,KAAA,KAAA,IAAA,EAAA,EAAA,KAAA,YAAA,IAAA,CAAA,EAAA,EAAA,KAAA,YAAA,MAAA,CAAA,EAAA,EAAA,KAAA,CAAA,OAAA,CAAA,KAAA,CAAA,IAAA,KAAA,CAAA,MAAA,KAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,OAAA,CAAA;mBACN,GAAA;AACP,MAAA,GAAA,GAAA;AACA,MAAA,GAAA,OAAE,CAAA,KAAiB,EAAA,OAAA,EAAA,SAAK;AACxB,KAAA,GAAA;AACA,MAAA,GAAA,GAAA;AACH,MAAA,CAAA,OAAM,GAAQ;AAEf,KAAA;KACH,EAAE,CAAO;AACd;AAEA;;;;;;AAMG;AACa,SAAA,MAAM,CAAC,MAAM,EAAE,OAAO,EAAA;QAC5B,QAAA,GAAW,EAAA;AACjB,EAAA,IAAA,OAAW,GAAA,OAAU,IAAA,EAAI;AACzB,EAAA,MAAA,YAAkB,OAAA,CAAA,SAAiB,IAAA;AACnC,EAAA,MAAA,QAAc,OAAA,CAAA,KAAa,GAAC,SAAE,UAAmB,CAAA,QAAS,SAAA,GAAU;AAEpE,EAAA,KAAA,IAAS,IAAA,IAAQ,MAAA,EAAM;AACnB,IAAA,MAAA,cAAc,CAAA,IAAO,CAAA;QACrB,OAAI,GAAA,QAAU;QAEd,IAAI,CAAA,OAAY,CAAA,GAAA,CAAC,IAAI,CAAA,EAAA;AACjB,MAAA,IAAA,GAAA,YAAmB,CAAA,KAAA,MAAM,CAAE,CAAA,cAAc,EAAA,CAAA;;AAE7C,IAAA,MAAA,YAAc,CAAA,KAAU,CAAA,eAAY,CAAI,gBAAa,CAAC;AAEtD,IAAA,OAAA,YAAa,GAAA,CAAM,EAAG;AAClB,MAAA,IAAA,GAAA,GAAI,KAAM,CAAA,KAAK,EAAC;aACZ,CAAA,KAAG,CAAC,CAAA,CAAA,CAAA,KAAQ,GAAC,EAAA;iBACV,CAAA,KAAM,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA;gBACf,GAAO,CAAA,GAAA,KAAK,CAAG,OAAK,CAAC,OAAO,CAAC,GAAO,CAAA,CAAA,GAAC,OAAO,CAAC,GAAA,CAAA,GAAO,EAAC;aACxD;mBAAO,CAAA,GAAA,OAAA,CAAA,GAAA,CAAA,KAAA,IAAA,IAAA,OAAA,OAAA,CAAA,GAAA,CAAA,KAAA,QAAA,IAAA,OAAA,CAAA,GAAA,CAAA,CAAA,WAAA,KAAA,MAAA,GAAA,OAAA,CAAA,GAAA,CAAA,GAAA,EAAA;;uBAEO,CAAA,GAAA,CAAC;AACJ;yBACC,CAAC,GAAG,KAAA;;AAEjB,EAAA,OAAA,QAAA;"}
|
1
|
+
{"version":3,"file":"flatten-utils.js","sources":["../../src/utils/flatten-utils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { URI } from '@vscode-alt/monaco-editor/esm/vs/base/common/uri';
|
2
|
-
import { IConfigCollectionName, IConfigFragmentName } from '
|
2
|
+
import { IConfigCollectionName, IConfigFragmentName } from 'common/lib/generated/generated-models.js';
|
3
3
|
/**
|
4
4
|
* Generate URI, it sorts the params in order to generate URI.
|
5
5
|
* @param collectionName Schema Name to be used
|
@@ -31,6 +31,8 @@ export declare const generateResourceUri: (collectionName: IConfigCollectionName
|
|
31
31
|
[key: string]: any;
|
32
32
|
name?: string;
|
33
33
|
orgName: string;
|
34
|
-
}, fragment: string, authority?: string
|
35
|
-
|
36
|
-
|
34
|
+
}, fragment: string, authority?: string, options?: {
|
35
|
+
flatten: boolean;
|
36
|
+
}) => URI;
|
37
|
+
export declare const generateOrgUri: (name: string, fragment: string, authority?: string) => URI;
|
38
|
+
export declare const generateMachineUri: (name: string, fragment: string, authority?: string) => URI;
|
@@ -1,4 +1,18 @@
|
|
1
|
-
import {Schemas}from'@workbench-stack/core/lib/core/network.js';import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import sortKeys from'sort-keys';import queryString from'query-string';import {IConfigCollectionName,IConfigFragmentName}from'
|
1
|
+
import {Schemas}from'@workbench-stack/core/lib/core/network.js';import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import sortKeys from'sort-keys';import queryString from'query-string';import {IConfigCollectionName,IConfigFragmentName}from'common/lib/generated/generated-models.js';import {flatten}from'./flatten-utils.js';function hasNestedObject(obj) {
|
2
|
+
// Not an object or null? No nesting to worry about.
|
3
|
+
if (typeof obj !== 'object' || obj === null) {
|
4
|
+
return false;
|
5
|
+
}
|
6
|
+
// Treat arrays as acceptable—e.g., { alias: ["some"] } is fine.
|
7
|
+
if (Array.isArray(obj)) {
|
8
|
+
return false;
|
9
|
+
}
|
10
|
+
// If any direct property is itself an object (and not an array), we have nesting.
|
11
|
+
// For deeper checks, this could recurse further, but for now we only forbid
|
12
|
+
// direct child objects. E.g. { name: { name: 'tet' } } triggers an error.
|
13
|
+
return Object.values(obj).some(val => typeof val === 'object' && val !== null && !Array.isArray(val));
|
14
|
+
}
|
15
|
+
/**
|
2
16
|
* Generate URI, it sorts the params in order to generate URI.
|
3
17
|
* @param collectionName Schema Name to be used
|
4
18
|
* @param params Params to use as query
|
@@ -8,6 +22,10 @@ import {Schemas}from'@workbench-stack/core/lib/core/network.js';import {URI}from
|
|
8
22
|
const generateUri = (collectionName, params, fragment, authority = '', options = {
|
9
23
|
flatten: false
|
10
24
|
}) => {
|
25
|
+
// If we are NOT flattening, but detect nested objects, throw an error
|
26
|
+
if (!options.flatten && hasNestedObject(params)) {
|
27
|
+
throw new Error(`generateUri: "params: ${JSON.stringify(params)}" contains nested object(s), but "options.flatten" is false. Please flatten your data or enable flatten.`);
|
28
|
+
}
|
11
29
|
params = options.flatten ? flatten(params) : params;
|
12
30
|
const orderedParams = sortKeys(params);
|
13
31
|
const queryString$1 = queryString.stringify(orderedParams);
|
@@ -40,7 +58,9 @@ const generateUserUri = (params, fragment = IConfigFragmentName.Settings, author
|
|
40
58
|
const generateApplicationUri = (orgName, fragment = IConfigFragmentName.Settings, authority = '') => generateUri(IConfigCollectionName.Organizations, {
|
41
59
|
orgName
|
42
60
|
}, fragment, authority);
|
43
|
-
const generateResourceUri = (collectionName, params, fragment, authority = ''
|
61
|
+
const generateResourceUri = (collectionName, params, fragment, authority = '', options = {
|
62
|
+
flatten: false
|
63
|
+
}) => generateUri(collectionName, params, fragment, authority, options);
|
44
64
|
const generateOrgUri = (name, fragment, authority = '') => generateUri(IConfigCollectionName.Organizations, {
|
45
65
|
name
|
46
66
|
}, fragment, authority);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generate-uri.js","sources":["../../src/utils/generate-uri.ts"],"sourcesContent":[null],"names":["queryString","querystring"],"mappings":"
|
1
|
+
{"version":3,"file":"generate-uri.js","sources":["../../src/utils/generate-uri.ts"],"sourcesContent":[null],"names":["queryString","querystring"],"mappings":"sVAOA,SAAS,eAAe,CAAC,GAAQ,EAAA;;MAEzB,OAAA,QAAe,QAAA,OAAe,KAAA,IAAS,EAAA;AACvC,IAAA,OAAA;;;AAGJ,EAAA,IAAA,aAAU,CAAA,GAAW,CAAA,EAAC;AAClB,IAAA,OAAA;;;;;AAKJ,EAAA,OAAA,MAAa,CAAA,MAAO,CAAA,GAAI,CAAA,CAAA,IAAE,CAAA,GAAM,IAAG,OAAK,GAAA,KAAU,QAAa,IAAA,GAAA,KAAO,IAAK,IAAI,CAAI,KAAM,CAAA,OAAQ,CAAA,GAAA,CAAC,CAAG;AACzG;AACA;;;;;;AAMG;MACU,WAAW,GAAG,CACvB,cAAqC,EACrC,MAA8B,EAC9B,QAAgB,EAChB,SAAS,GAAG,EAAE,EACd,OAAO,GAAG;SAE4D,EAAA;MAClE;AACA;MAKH,CAAA,OAAA,CAAA,OAAA,IAAA,eAAA,CAAA,MAAA,CAAA,EAAA;AACD,IAAA,MAAM,IAAG,KAAA,CAAO,CAAC,wBAAwB,IAAI,UAAO,CAAA,MAAA,CAAA,CAAA,wGAAA,CAAA,CAAA;AACpD;QACM,GAAA,OAAA,CAAA,OAAyB,GAAA,OAAC,WAAU,MAAA;QAEnC,aAAS,GAAI,eAAgB,CAAA;QAChCA,aAAe,GAAAC,WAAY,CAAA,SAAA,CAAA,aAAA,CAAA;SAClB,GAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA,cAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA;UACD,EAAA,OAAA,CAAA,WAAA;AACR,IAAA,SAAK;AACR,IAAA,QAAE;AACP,IAAE,KAAA,EAAAD;AAEF,GAAA,CAAA;;AAEG;AACH;AAMA;;AAEG,EAAA,GAAA,EAAA;AACH,CAAA,EAAA,QAAa,EAAA,SAAA;AAKT;;;AAGC,MAAA,eAAA,GAAA,CAAA,MAAA,EAAA,QAAA,GAAA,mBAAA,CAAA,QAAA,EAAA,SAAA,GAAA,EAAA,KAAA;AACD,EAAA,IAAA,MAAkB,CAAA,SAAA,EAAsB;AAC5C,IAAE,MAAA,CAAA,KAAA,GAAA,CAAA,MAAA,CAAA,SAAA,CAAA;AAEF,IAAA,OAAA,MAAA,CAAA,SAAA;;AAEG,EAAA,OAAA,WAAA,CAAA,qBAAA,CAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,CAAA;AACH;AAGA;AAQA;AAGA;;;;;;;;;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import { ConfigurationTarget } from '
|
1
|
+
import { ConfigurationTarget } from 'common/lib/index.js';
|
2
2
|
export declare const generateSettingsId: (target: ConfigurationTarget, nativeId?: string) => string;
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import {IConfigurationContributionNames}from'
|
2
|
-
const generateSettingsId = (target, nativeId = IConfigurationContributionNames.
|
1
|
+
import {IConfigurationContributionNames}from'common/lib/generated/generated-models.js';// not used anymore
|
2
|
+
const generateSettingsId = (target, nativeId = IConfigurationContributionNames.Settings) => {
|
3
3
|
if (!nativeId) {
|
4
|
-
nativeId = IConfigurationContributionNames.
|
4
|
+
nativeId = IConfigurationContributionNames.Settings;
|
5
5
|
}
|
6
6
|
return `${nativeId}_${target}`;
|
7
7
|
};export{generateSettingsId};//# sourceMappingURL=generated-settings-id.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generated-settings-id.js","sources":["../../src/utils/generated-settings-id.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"generated-settings-id.js","sources":["../../src/utils/generated-settings-id.ts"],"sourcesContent":[null],"names":[],"mappings":"uFAGA;AACO,MAAM,kBAAkB,GAAG,CAC9B,MAA2B,EAC3B,QAAA,GAAmB,+BAA+B,CAAC,QAAQ,KAC3D;MACI,CAAA,QAAS,EAAA;AACT,IAAA,QAAA,GAAA,+BAAW,CAAA,QAAgC;;AAE/C,EAAA,OAAA,CAAA,EAAU,QAAA,CAAA,CAAQ,EAAI,MAAA,CAAA,CAAM;AAChC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const getLogger: (req: any) => any;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
const getLogger = req => req?.logger || {
|
2
|
+
info: console.log,
|
3
|
+
warn: console.warn,
|
4
|
+
error: console.error,
|
5
|
+
debug: console.log,
|
6
|
+
// Fallback to console.log for debug
|
7
|
+
trace: console.trace // Fallback to console.trace for trace
|
8
|
+
};export{getLogger};//# sourceMappingURL=getLogger.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getLogger.js","sources":["../../src/utils/getLogger.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAO,MAAM,SAAS,GAAG,GAAC,IAAU,GAChC,EAAG,MAAE,IAAU;MACP,EAAA,OAAS,CAAA,GAAI;MACb,EAAA,OAAS,CAAA,IAAK;OACb,EAAA,OAAS,CAAA,KAAM;AACpB,EAAA,KAAA,EAAK,OAAE,CAAA,GAAQ;AACf;EACF,KAAA,EAAA,OAAA,CAAA,KAAA;"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import {IAuthStrategyEnum}from'common/lib/generated/generated-models.js';const getUserAlias = (alias, strategy) => {
|
2
|
+
let id;
|
3
|
+
if (strategy === IAuthStrategyEnum.Keycloak) {
|
4
|
+
id = alias.find(x => x.includes(IAuthStrategyEnum.Keycloak));
|
5
|
+
return id.split(`${IAuthStrategyEnum.Keycloak}|`)[1];
|
6
|
+
}
|
7
|
+
id = alias.find(x => !x.includes(IAuthStrategyEnum.Keycloak));
|
8
|
+
return id.split(`${IAuthStrategyEnum.Auth0}|`)[1];
|
9
|
+
};export{getUserAlias};//# sourceMappingURL=getUserAlias.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getUserAlias.js","sources":["../../src/utils/getUserAlias.ts"],"sourcesContent":[null],"names":[],"mappings":"+EAEa,YAAY,GAAG,CAAC,KAAe,EAAE,QAA2B,KAAI;AACzE,EAAA,IAAA,EAAI;AACJ,EAAA,IAAA,aAAiB,iBAAA,CAAA,QAAkB,EAAQ;AACvC,IAAA,EAAA,GAAA,KAAU,CAAA,IAAC,MAAM,CAAC,CAAE,0BAAc,CAAA,QAA0B,CAAA,CAAA;AAC5D,IAAA,OAAA,EAAA,CAAA,KAAe,CAAA,CAAA,EAAA,iBAAI,CAAA,QAAkB,CAAA,CAAA,CAAA,CAAQ,CAAG,CAAA,CAAA;;IAEpD,GAAE,UAAS,CAAA,CAAI,KAAK,CAAE,CAAA,0BAAa,CAAA,QAA0B,CAAA,CAAA;AAC7D,EAAA,OAAA,EAAO,CAAE,KAAM,CAAA,CAAA,EAAI,iBAAA,CAAA,KAAkB,CAAA,CAAK,CAAG,CAAA,CAAA,CAAC,CAAC;AACnD"}
|
package/lib/utils/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
export * from './utils';
|
2
|
-
export * from './
|
2
|
+
export * from './resourceUriConversion';
|
3
3
|
export * from './generate-uri';
|
4
4
|
export * from './cdecodeUri';
|
5
5
|
export * from './roles-utils';
|
@@ -10,3 +10,8 @@ export * from './validations';
|
|
10
10
|
export * from './date-utils';
|
11
11
|
export * from './flatten-utils';
|
12
12
|
export * from './generateUserAlias';
|
13
|
+
export * from './getUserAlias';
|
14
|
+
export * from './getLogger';
|
15
|
+
export * from './preferenceUri';
|
16
|
+
export * from './reviveUri';
|
17
|
+
export * from './nodeContext';
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { IConfigurationNodeContextInput, IRegistryExtensions, IConfigurationSchemaId } from 'common/lib/generated/generated-models.js';
|
2
|
+
import { ServerContext } from 'common';
|
3
|
+
type UserContext = Pick<ServerContext['userContext'], 'userAlias' | 'orgId' | 'tenantId'>;
|
4
|
+
export declare function buildNodeContext(userContext: UserContext, schemaId?: IConfigurationSchemaId, extensionName?: IRegistryExtensions): IConfigurationNodeContextInput;
|
5
|
+
export declare function buildPermissionNodeContext(userContext: UserContext): IConfigurationNodeContextInput;
|
6
|
+
export declare function buildPolicyNodeContext(userContext: UserContext): IConfigurationNodeContextInput;
|
7
|
+
export declare function buildRoleNodeContext(userContext: UserContext): IConfigurationNodeContextInput;
|
8
|
+
export {};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import {IConfigurationSchemaId,IRegistryExtensions}from'common/lib/generated/generated-models.js';function buildNodeContext(userContext, schemaId = IConfigurationSchemaId.Configuration, extensionName = IRegistryExtensions.DefaultConfiguration) {
|
2
|
+
return {
|
3
|
+
schemaId: schemaId,
|
4
|
+
tenantId: userContext?.tenantId,
|
5
|
+
extensionName,
|
6
|
+
orgId: userContext?.orgId,
|
7
|
+
userAlias: userContext?.userAlias
|
8
|
+
};
|
9
|
+
}
|
10
|
+
function buildPermissionNodeContext(userContext) {
|
11
|
+
return buildNodeContext(userContext, IConfigurationSchemaId.Permission, IRegistryExtensions.DefaultConfiguration);
|
12
|
+
}
|
13
|
+
function buildPolicyNodeContext(userContext) {
|
14
|
+
return buildNodeContext(userContext, IConfigurationSchemaId.Policy, IRegistryExtensions.DefaultConfiguration);
|
15
|
+
}
|
16
|
+
function buildRoleNodeContext(userContext) {
|
17
|
+
return buildNodeContext(userContext, IConfigurationSchemaId.UserRole, IRegistryExtensions.DefaultConfiguration);
|
18
|
+
}export{buildNodeContext,buildPermissionNodeContext,buildPolicyNodeContext,buildRoleNodeContext};//# sourceMappingURL=nodeContext.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nodeContext.js","sources":["../../src/utils/nodeContext.ts"],"sourcesContent":[null],"names":[],"mappings":"kGAQgB,SAAA,gBAAgB,CAC5B,WAAwB,EACxB,QAAQ,GAAG,sBAAsB,CAAC,aAAa,EAC/C,aAAqC,GAAA,mBAAmB,CAAC,oBAAoB,EAAA;SAEtE;AACH,IAAA,QAAA,EAAA,QAAkB;YACV,EAAA,WAAa,EAAA,QAAU;iBAClB;SACR,EAAA,WAAa,EAAA,KAAO;aAChB,EAAA,WAAa,EAAA;;AAE9B;AAEM,SAAU,0BAA0B,CAAC,WAAwB,EAAA;AAC/D,EAAA,OAAA,gBAAuB,CAAA,WAAY,EAAA,sBAAwB,CAAA,UAAW,EAAA,mBAAqB,CAAA,oBAAqB,CAAA;AACpH;AACM,SAAU,sBAAsB,CAAC,WAAwB,EAAA;AAC3D,EAAA,OAAA,gBAAuB,CAAA,WAAY,EAAA,sBAAwB,CAAA,MAAO,EAAA,mBAAqB,CAAA,oBAAqB,CAAA;AAChH;AAEM,SAAU,oBAAoB,CAAC,WAAwB,EAAA;AACzD,EAAA,OAAA,gBAAuB,CAAA,WAAY,EAAA,sBAAwB,CAAA,QAAS,EAAA,mBAAqB,CAAA,oBAAqB,CAAA;AAClH"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { URI } from '@vscode-alt/monaco-editor/esm/vs/base/common/uri';
|
2
|
+
import { IPreferencesOpenOptionsInput, ConfigurationTarget } from 'common/lib/generated/generated-models';
|
3
|
+
export declare function getOpenSettings(target: ConfigurationTarget, resource: URI, options: IPreferencesOpenOptionsInput): {
|
4
|
+
editableSettingsInput: URI;
|
5
|
+
defaultPreferencesInput: URI;
|
6
|
+
};
|
7
|
+
/**
|
8
|
+
* Tries to parse the “extension name” from a URI path that might look like:
|
9
|
+
* /myExtension/settings.json
|
10
|
+
* /defaultsettings/resourceSettings.json
|
11
|
+
* /someFolder/myExtension/organizationSettings.json
|
12
|
+
*
|
13
|
+
* If the last path segment is one of the “known” settings files, return
|
14
|
+
* the second-to-last segment as the extension name. Otherwise, return “settings” by default.
|
15
|
+
*/
|
16
|
+
export declare function parseExtensionFromDefaultSettingsUri(resource: URI): string;
|
17
|
+
export declare function getDefaultSettingsURI(target: ConfigurationTarget, options: IPreferencesOpenOptionsInput): URI;
|
18
|
+
export declare function getEditableSettingsURI(resource: URI, options?: IPreferencesOpenOptionsInput): URI;
|