@adminide-stack/core 10.2.3-alpha.0 → 10.2.3-alpha.4

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.
@@ -5,36 +5,36 @@
5
5
  * handling resources with the cdecode protocol.
6
6
  */
7
7
  export declare const enum Scheme {
8
- HTTP = "http",
9
- HTTPS = "https",
10
- FILE = "file",
11
- MAILTO = "mailto",
8
+ http = "http",
9
+ https = "https",
10
+ file = "file",
11
+ mailto = "mailto",
12
12
  /**
13
13
  * Main scheme for cdecode resources.
14
14
  * This is used as the primary identifier for any resource that
15
15
  * adheres to the cdecode-specific protocol.
16
16
  */
17
- CDECODE = "cdecode",
17
+ cdecode = "cdecode",
18
18
  /**
19
19
  * Scheme for referencing cdecode resources.
20
20
  * Useful when distinguishing between different contexts of cdecode-based assets.
21
21
  */
22
- CDECODE_RESOURCE = "cde-resource",
22
+ cdeResource = "cde-resource",
23
23
  /**
24
24
  * Scheme for file resources processed using the cdecode protocol.
25
25
  */
26
- CDECODE_FILE = "cdecode-file",
26
+ cdecodeFile = "cdecode-file",
27
27
  /**
28
28
  * Scheme for cde extensions.
29
29
  * This identifies resources that relate to extensions within the cdecode ecosystem.
30
30
  */
31
- CDE_EXTENSION = "cde-extention",
31
+ cdeExtension = "cde-extention",
32
32
  /**
33
33
  * Scheme for remote cdecode resource access.
34
34
  */
35
- CDECODE_REMOTE = "cdecode-remote",
35
+ cdecodeRemote = "cdecode-remote",
36
36
  /**
37
37
  * Scheme for MongoDB file references used within the cdecode system.
38
38
  */
39
- MONGO_DB_FILE = "mongo-db-file"
39
+ mongoDbFile = "mongo-db-file"
40
40
  }
@@ -7,37 +7,37 @@
7
7
  var Scheme;
8
8
  (function (Scheme) {
9
9
  /* Standard URI schemes */
10
- Scheme["HTTP"] = "http";
11
- Scheme["HTTPS"] = "https";
12
- Scheme["FILE"] = "file";
13
- Scheme["MAILTO"] = "mailto";
10
+ Scheme["http"] = "http";
11
+ Scheme["https"] = "https";
12
+ Scheme["file"] = "file";
13
+ Scheme["mailto"] = "mailto";
14
14
  /* Custom cdecode schemes */
15
15
  /**
16
16
  * Main scheme for cdecode resources.
17
17
  * This is used as the primary identifier for any resource that
18
18
  * adheres to the cdecode-specific protocol.
19
19
  */
20
- Scheme["CDECODE"] = "cdecode";
20
+ Scheme["cdecode"] = "cdecode";
21
21
  /**
22
22
  * Scheme for referencing cdecode resources.
23
23
  * Useful when distinguishing between different contexts of cdecode-based assets.
24
24
  */
25
- Scheme["CDECODE_RESOURCE"] = "cde-resource";
25
+ Scheme["cdeResource"] = "cde-resource";
26
26
  /**
27
27
  * Scheme for file resources processed using the cdecode protocol.
28
28
  */
29
- Scheme["CDECODE_FILE"] = "cdecode-file";
29
+ Scheme["cdecodeFile"] = "cdecode-file";
30
30
  /**
31
31
  * Scheme for cde extensions.
32
32
  * This identifies resources that relate to extensions within the cdecode ecosystem.
33
33
  */
34
- Scheme["CDE_EXTENSION"] = "cde-extention";
34
+ Scheme["cdeExtension"] = "cde-extention";
35
35
  /**
36
36
  * Scheme for remote cdecode resource access.
37
37
  */
38
- Scheme["CDECODE_REMOTE"] = "cdecode-remote";
38
+ Scheme["cdecodeRemote"] = "cdecode-remote";
39
39
  /**
40
40
  * Scheme for MongoDB file references used within the cdecode system.
41
41
  */
42
- Scheme["MONGO_DB_FILE"] = "mongo-db-file";
42
+ Scheme["mongoDbFile"] = "mongo-db-file";
43
43
  })(Scheme || (Scheme = {}));export{Scheme};//# sourceMappingURL=scheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheme.js","sources":["../../src/constants/scheme.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;IACe;AAAlB,CAAA,UAAkB,MAAM,EAAA;;AAEpB,EAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAA;AACA,EAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAA;AACA,EAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAA;AACA,EAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAA;;AAGA;;;;AAIG;AACH,EAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAA;AAEA;;;AAGG;AACH,EAAA,MAAA,CAAA,kBAAA,CAAA,GAAA,cAAA;AAEA;;AAEG;AACH,EAAA,MAAA,CAAA,cAAA,CAAA,GAAA,cAAA;AAEA;;;AAGG;AACH,EAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAAA;AAEA;;AAEG;AACH,EAAA,MAAA,CAAA,gBAAA,CAAA,GAAA,gBAAA;AAEA;;AAEG;AACH,EAAA,MAAA,CAAA,eAAA,CAAA,GAAA,eAAA;AACJ,CAAC,EAzCiB,MAAM,KAAN,MAAM,GAyCvB,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"scheme.js","sources":["../../src/constants/scheme.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;IACe;AAAlB,CAAA,UAAkB,MAAM,EAAA;;AAEpB,EAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAA;AACA,EAAA,MAAA,CAAA,OAAA,CAAA,GAAA,OAAA;AACA,EAAA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAA;AACA,EAAA,MAAA,CAAA,QAAA,CAAA,GAAA,QAAA;;AAGA;;;;AAIG;AACH,EAAA,MAAA,CAAA,SAAA,CAAA,GAAA,SAAA;AAEA;;;AAGG;AACH,EAAA,MAAA,CAAA,aAAA,CAAA,GAAA,cAAA;AAEA;;AAEG;AACH,EAAA,MAAA,CAAA,aAAA,CAAA,GAAA,cAAA;AAEA;;;AAGG;AACH,EAAA,MAAA,CAAA,cAAA,CAAA,GAAA,eAAA;AAEA;;AAEG;AACH,EAAA,MAAA,CAAA,eAAA,CAAA,GAAA,gBAAA;AAEA;;AAEG;AACH,EAAA,MAAA,CAAA,aAAA,CAAA,GAAA,eAAA;AACJ,CAAC,EAzCiB,MAAM,KAAN,MAAM,GAyCvB,EAAA,CAAA,CAAA"}
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- export{NATS_HEMERA_ADMINIDE_WORKSPACE,NATS_HEMERA_ADMINIDE_WORKSPACE_UPDATER}from'./constants/constants.js';export{DEFAULT_CPU,DEFAULT_HDD,DEFAULT_RAM}from'./constants/default-workspace-config.js';export{DEFAULT_TENANT_ID,GLOBAL_CONFIGURATION_FILE,OVERRIDE_IDENTIFIER_PATTERN,OVERRIDE_PATTERN_WITH_SUBSTITUTION,OVERRIDE_PROPERTY,OVERRIDE_PROPERTY_PATTERN,SETTINGS_OVERRRIDE_NODE_ID,USER_CONFIGURATION_FILE}from'./constants/configuration.js';export{CommonTypes,PlatformClientTypes,ServerTypes}from'./constants/types.js';export{ASANA_WEBHOOK_ENDPOINT,ORG_BASE_PATH,ORG_STD_ROUTES}from'./constants/urls.js';export{IntegrationConfigurationRoute}from'./constants/routes.js';export{BillingPlan}from'./constants/billing-plan.js';export{Scheme}from'./constants/scheme.js';export{LOCAL_MACHINE_SCOPES,ORGANIZATION_SCOPES,REMOTE_MACHINE_SCOPES,RESOURCE_SCOPES,USER_SCOPES}from'./interfaces/configuration/configuration.js';export{ApplicationState,IOrganizationContext,IOrganizationResource}from'./interfaces/organization/organization-context.js';export{Extensions}from'@workbench-stack/core/lib/constants/extensions.js';export{LifecyclePhase,ShutdownReason,StartupKind}from'@workbench-stack/core/lib/interfaces/lifecycle/lifecycle.js';export{PermissionBehavior}from'./interfaces/permissions.js';export*from'common/lib/generated/generated-models.js';export{getFilteredRoutes,getFilteredTabs,getTtl}from'./utils/utils.js';export{convertToResourceUri,resourcePath}from'./utils/resourceUriConversion.js';export{generateApplicationUri,generateMachineUri,generateOrgUri,generateProxyUserUri,generateResourceUri,generateUri,generateUserUri}from'./utils/generate-uri.js';export{determineConfigurationTarget,generateCdecodeUri,parseCdecodeUri}from'./utils/cdecodeUri.js';export{generateApplicationRoleResource,generateRegisteredRoleURI}from'./utils/roles-utils.js';export{getScopes}from'./utils/configuration-utils.js';export{omitDeep}from'./utils/omit-deep.js';export{generateSettingsId}from'./utils/generated-settings-id.js';export{validateEmail}from'./utils/validations.js';export{toMilliSeconds}from'./utils/date-utils.js';export{expand,flatten,flattenObject}from'./utils/flatten-utils.js';export{generateUserAlias}from'./utils/generateUserAlias.js';export{getUserAlias}from'./utils/getUserAlias.js';export{getLogger}from'./utils/getLogger.js';export{getDefaultSettingsURI,getEditableSettingsURI,getOpenSettings,parseExtensionFromDefaultSettingsUri}from'./utils/preferenceUri.js';export{reviveUri}from'./utils/reviveUri.js';export{buildNodeContext,buildPermissionNodeContext,buildPolicyNodeContext,buildRoleNodeContext}from'./utils/nodeContext.js';export{splitCdecodeUri}from'./utils/splitCdecodeUri.js';export{Disposable,DisposableCollection}from'./core/disposable.js';export{Emitter,Event,WaitUntilEvent}from'./core/event.js';export{Path}from'./core/path.js';export{OrganizationContext,OrganizationResource,toOrganizationResource,toOrganizationResources,toUri}from'./core/organization/organization.js';export{OrganizationConfiguration}from'./core/organization/configuration.js';export{isOrganizationIdentifier,isRawFileOrganizationResource,isRawUriOrganizationResource,isSingleResourceOrganizationIdentifier,isSingleResourceOrganizationInitializationPayload}from'./core/organization/helpers/organization-helpers.js';export{ConfigurationTargetConfigurationMapper,ConfigurationTargetToString,SettingsTypeToConfiguraitonTarget,addToValueTree,getConfigurationValue,getMigratedSettingValue,isConfigurationOverrides,keyFromOverrideIdentifier,merge,overrideIdentifierFromKey,removeFromValueTree,toValuesTree}from'./core/configurations/helpers/configuration.js';export{ConfigurationModel}from'./core/configurations/models/ConfigurationModel.js';export{Configuration,OVERRIDE_PROPERTY_REGEX,compare,overrideIdentifiersFromKey}from'./core/configurations/configuration.js';export{ConfigurationChangeEvent}from'./core/configurations/events/ConfigurationChangeEvent.js';export{CdeCodeProvider}from'./core/in-memory-providers/cde-code-provider.js';export{AuthError}from'./errors/auth-error.js';export{AbstractOrganizationContextService}from'./services/abstract-organization-context-service.js';export{AbstractOrganizationConfigurationClientService}from'./services/abstract-configuration.js';export{PreDefineAccountPermissions}from'./modules/account-api/enums/index.js';export{BillingModules,PreDefineBillingPermissions}from'./modules/billing-api/enums/index.js';export{PreDefineInboxPermissions}from'./modules/inbox/enums/index.js';export{PermissionTypes}from'./enums/permissions.js';export{IntegrationConnections}from'./enums/integrations-connection-names.js';export{ConnectionStatus}from'./enums/connection-status.js';export{IntegrationsConfigSteps}from'./enums/integrations-configuration-steps.js';export{IntegrationConfigStatus}from'./enums/integration-configuration-status.js';export{Integrations}from'./enums/integrations.js';export{URI,uriToFsPath}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';export{ConfigurationScope}from'common';//# sourceMappingURL=index.js.map
1
+ export{NATS_HEMERA_ADMINIDE_WORKSPACE,NATS_HEMERA_ADMINIDE_WORKSPACE_UPDATER}from'./constants/constants.js';export{DEFAULT_CPU,DEFAULT_HDD,DEFAULT_RAM}from'./constants/default-workspace-config.js';export{DEFAULT_TENANT_ID,GLOBAL_CONFIGURATION_FILE,OVERRIDE_IDENTIFIER_PATTERN,OVERRIDE_PATTERN_WITH_SUBSTITUTION,OVERRIDE_PROPERTY,OVERRIDE_PROPERTY_PATTERN,SETTINGS_OVERRRIDE_NODE_ID,USER_CONFIGURATION_FILE}from'./constants/configuration.js';export{CommonTypes,PlatformClientTypes,ServerTypes}from'./constants/types.js';export{ASANA_WEBHOOK_ENDPOINT,ORG_BASE_PATH,ORG_STD_ROUTES}from'./constants/urls.js';export{IntegrationConfigurationRoute}from'./constants/routes.js';export{BillingPlan}from'./constants/billing-plan.js';export{Scheme}from'./constants/scheme.js';export{LOCAL_MACHINE_SCOPES,ORGANIZATION_SCOPES,REMOTE_MACHINE_SCOPES,RESOURCE_SCOPES,USER_SCOPES}from'./interfaces/configuration/configuration.js';export{ApplicationState,IOrganizationContext,IOrganizationResource}from'./interfaces/organization/organization-context.js';export{Extensions}from'@workbench-stack/core/lib/constants/extensions.js';export{LifecyclePhase,ShutdownReason,StartupKind}from'@workbench-stack/core/lib/interfaces/lifecycle/lifecycle.js';export{PermissionBehavior}from'./interfaces/permissions.js';export*from'common/lib/generated/generated-models.js';export{getFilteredRoutes,getFilteredTabs,getTtl}from'./utils/utils.js';export{convertToResourceUri,resourcePath}from'./utils/resourceUriConversion.js';export{generateApplicationUri,generateMachineUri,generateOrgUri,generateProxyUserUri,generateResourceUri,generateUri,generateUserUri}from'./utils/generate-uri.js';export{determineConfigurationTarget,generateCdecodeUri,parseCdecodeUri}from'./utils/cdecodeUri.js';export{generateApplicationRoleResource,generateRegisteredRoleURI}from'./utils/roles-utils.js';export{getScopes}from'./utils/configuration-utils.js';export{omitDeep}from'./utils/omit-deep.js';export{generateSettingsId}from'./utils/generated-settings-id.js';export{validateEmail}from'./utils/validations.js';export{toMilliSeconds}from'./utils/date-utils.js';export{expand,flatten,flattenObject}from'./utils/flatten-utils.js';export{generateUserAlias}from'./utils/generateUserAlias.js';export{getUserAlias}from'./utils/getUserAlias.js';export{getLogger}from'./utils/getLogger.js';export{getDefaultSettingsURI,getEditableSettingsURI,getOpenSettings,parseExtensionFromDefaultSettingsUri}from'./utils/preferenceUri.js';export{reviveUri}from'./utils/reviveUri.js';export{buildNodeContext,buildPermissionNodeContext,buildPolicyNodeContext,buildRoleNodeContext}from'./utils/nodeContext.js';export{splitCdecodeUri,splitOrgUri}from'./utils/splitCdecodeUri.js';export{Disposable,DisposableCollection}from'./core/disposable.js';export{Emitter,Event,WaitUntilEvent}from'./core/event.js';export{Path}from'./core/path.js';export{OrganizationContext,OrganizationResource,toOrganizationResource,toOrganizationResources,toUri}from'./core/organization/organization.js';export{OrganizationConfiguration}from'./core/organization/configuration.js';export{isOrganizationIdentifier,isRawFileOrganizationResource,isRawUriOrganizationResource,isSingleResourceOrganizationIdentifier,isSingleResourceOrganizationInitializationPayload}from'./core/organization/helpers/organization-helpers.js';export{ConfigurationTargetConfigurationMapper,ConfigurationTargetToString,SettingsTypeToConfiguraitonTarget,addToValueTree,getConfigurationValue,getMigratedSettingValue,isConfigurationOverrides,keyFromOverrideIdentifier,merge,overrideIdentifierFromKey,removeFromValueTree,toValuesTree}from'./core/configurations/helpers/configuration.js';export{ConfigurationModel}from'./core/configurations/models/ConfigurationModel.js';export{Configuration,OVERRIDE_PROPERTY_REGEX,compare,overrideIdentifiersFromKey}from'./core/configurations/configuration.js';export{ConfigurationChangeEvent}from'./core/configurations/events/ConfigurationChangeEvent.js';export{CdeCodeProvider}from'./core/in-memory-providers/cde-code-provider.js';export{AuthError}from'./errors/auth-error.js';export{AbstractOrganizationContextService}from'./services/abstract-organization-context-service.js';export{AbstractOrganizationConfigurationClientService}from'./services/abstract-configuration.js';export{PreDefineAccountPermissions}from'./modules/account-api/enums/index.js';export{BillingModules,PreDefineBillingPermissions}from'./modules/billing-api/enums/index.js';export{PreDefineInboxPermissions}from'./modules/inbox/enums/index.js';export{PermissionTypes}from'./enums/permissions.js';export{IntegrationConnections}from'./enums/integrations-connection-names.js';export{ConnectionStatus}from'./enums/connection-status.js';export{IntegrationsConfigSteps}from'./enums/integrations-configuration-steps.js';export{IntegrationConfigStatus}from'./enums/integration-configuration-status.js';export{Integrations}from'./enums/integrations.js';export{URI,uriToFsPath}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';export{ConfigurationScope}from'common';//# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  import { URI } from '@vscode-alt/monaco-editor/esm/vs/base/common/uri';
2
- import type { ISettingsSubject, IViewerSettingsInput, IPreferenceRoleInput, IPermissionSubject, IViewerSettingsSubject, IPolicySubject, IViewerPoliciesInput, IConfigurationOverrides, ICdecodeUriInput, IPageResourceSetting, IConfigurationNodeContextInput, IPreferences, IPreferencesInput, IPreferencesOpenOptionsInput as IPreferencesOpenOptions, IContributionSettings } from 'common';
2
+ import type { ISettingsSubject, IViewerSettingsInput, IPreferenceRoleInput, IPermissionSubject, IViewerSettingsSubject, IPolicySubject, IViewerPoliciesInput, IConfigurationOverrides, ICdecodeUriInput, IPageResourceSetting, IConfigurationNodeContextInput, IPreferences, IPreferencesInput, IPreferencesOpenOptionsInput as IPreferencesOpenOptions, IContributionSettings, IIConfigurationModel } from 'common';
3
3
  import { ConfigurationTarget } from 'common/lib/generated/generated-models.js';
4
4
  export type IPrefFragment = {
5
5
  fragmentName?: string;
@@ -24,7 +24,7 @@ export interface IPreferencesService {
24
24
  viewerSettings2<T = IPreferences>(input: ICdecodeUriInput, context: IConfigurationNodeContextInput): Promise<IPageResourceSettingWithTarget<T>>;
25
25
  viewerPolicies<T = IPolicySubject>(input: IViewerPoliciesInput, context: IConfigurationNodeContextInput): Promise<T>;
26
26
  viewerPermissions<T = IPermissionSubject>(input: IPreferenceRoleInput, context: IConfigurationNodeContextInput): Promise<T>;
27
- writeSettings(cdecodeUri: URI, settings: Record<string, any>, arg3: IConfigurationOverrides, arg4: ConfigurationTarget, donotNotifyError?: boolean): Promise<IPageResourceSetting>;
27
+ writeSettings(cdecodeUri: URI, settings: Record<string, any>, arg3: IConfigurationOverrides, arg4: ConfigurationTarget, donotNotifyError?: boolean): Promise<IIConfigurationModel>;
28
28
  }
29
29
  export interface IPreferenceClientService {
30
30
  readonly defaultKeybindingsResource: URI;
@@ -1,4 +1,4 @@
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 {ConfigCollectionName}from'common/lib/generated/generated-models.js';/* eslint-disable prefer-destructuring */
1
+ import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import sortKeys from'sort-keys';import queryString from'query-string';import {ConfigCollectionName}from'common/lib/generated/generated-models.js';/* eslint-disable prefer-destructuring */
2
2
  /* eslint-disable default-param-last */
3
3
  const generateCdecodeUri = (authority, params, query = {}, fragment) => {
4
4
  let authorityString;
@@ -44,7 +44,7 @@ const generateCdecodeUri = (authority, params, query = {}, fragment) => {
44
44
  // Conditionally include the leading slash
45
45
  const path = pathSegments.length > 0 ? `/${pathSegments.join('/')}` : '/';
46
46
  return URI.from({
47
- scheme: Schemas.cdecode,
47
+ scheme: "cdecode" /* Scheme.cdecode */,
48
48
  authority: authorityString,
49
49
  path,
50
50
  query: queryInString,
@@ -89,9 +89,27 @@ function parseCdecodeUri(uriString) {
89
89
  if (uri?.fragment?.includes('=')) {
90
90
  fragmentData = queryString.parse(uri.fragment);
91
91
  }
92
- // Handle empty or invalid path segments
93
- if (pathSegmentsArray.length === 0 || pathSegmentsArray.length === 1 && (pathSegmentsArray[0] === 'null' || pathSegmentsArray[0] === 'undefined')) {
94
- // Handle the case with no path segments or null/undefined path
92
+ if (uri.scheme === "cde-resource" /* Scheme.cdeResource */) {
93
+ // Remove leading slash and get resource type
94
+ const resourceType = path.substring(1);
95
+ if (resourceType === ConfigCollectionName.Organizations) {
96
+ // Organization URI format: /organizations?name=orgName
97
+ pathSegments.organization = queryData.name || '';
98
+ } else if (resourceType === ConfigCollectionName.Projects) {
99
+ // Project URI format: /projects?orgName=org&resourceGroup=group
100
+ pathSegments.organization = queryData.orgName || '';
101
+ } else {
102
+ // Resource URI format: /resourceType?_id=id&orgName=org
103
+ // or: /resourceType?field=value&orgName=org
104
+ pathSegments.resourceType = resourceType;
105
+ pathSegments.organization = queryData.orgName || '';
106
+ // Handle different ID fields (_id, name, email, etc)
107
+ if (queryData._id) {
108
+ pathSegments.resourceId = queryData._id;
109
+ } else if (queryData.name) {
110
+ pathSegments.resourceId = `name:${queryData.name}`;
111
+ }
112
+ }
95
113
  return {
96
114
  scheme: uri.scheme,
97
115
  authority: uri.authority,
@@ -99,70 +117,82 @@ function parseCdecodeUri(uriString) {
99
117
  queryData,
100
118
  fragmentData
101
119
  };
102
- }
103
- // Handle empty segments (like `//accounts/resourceId`)
104
- if (pathSegmentsArray.length >= 2 && pathSegmentsArray[0] === '') {
105
- // Empty organization segment
106
- if (pathSegmentsArray.length >= 3 && pathSegmentsArray[1] === '') {
107
- // Empty resourceGroup segment also
120
+ } else if (uri.scheme === "cdecode" /* Scheme.cdecode */) {
121
+ // Handle empty or invalid path segments
122
+ if (pathSegmentsArray.length === 0 || pathSegmentsArray.length === 1 && (pathSegmentsArray[0] === 'null' || pathSegmentsArray[0] === 'undefined')) {
123
+ // Handle the case with no path segments or null/undefined path
124
+ return {
125
+ scheme: uri.scheme,
126
+ authority: uri.authority,
127
+ pathSegments,
128
+ queryData,
129
+ fragmentData
130
+ };
131
+ }
132
+ // Handle empty segments (like `//accounts/resourceId`)
133
+ if (pathSegmentsArray.length >= 2 && pathSegmentsArray[0] === '') {
134
+ // Empty organization segment
135
+ if (pathSegmentsArray.length >= 3 && pathSegmentsArray[1] === '') {
136
+ // Empty resourceGroup segment also
137
+ const possibleResourceType = pathSegmentsArray[2];
138
+ const resourceId = pathSegmentsArray[3];
139
+ // Validate resourceType exists in ConfigCollectionName
140
+ const isResourceType = Object.values(ConfigCollectionName).includes(possibleResourceType);
141
+ if (isResourceType && resourceId) {
142
+ pathSegments.resourceType = possibleResourceType;
143
+ pathSegments.resourceId = resourceId;
144
+ return {
145
+ scheme: uri.scheme,
146
+ authority: uri.authority,
147
+ pathSegments,
148
+ queryData,
149
+ fragmentData
150
+ };
151
+ }
152
+ }
153
+ }
154
+ // Non-empty first segment is the organization
155
+ if (pathSegmentsArray[0] !== '') {
156
+ pathSegments.organization = pathSegmentsArray[0];
157
+ }
158
+ if (pathSegmentsArray.length === 3) {
159
+ // Case: organization/resourceType/resourceId
160
+ const possibleResourceType = pathSegmentsArray[1];
161
+ const resourceId = pathSegmentsArray[2];
162
+ // Validate the resourceType against ConfigCollectionName
163
+ const isResourceType = Object.values(ConfigCollectionName).includes(possibleResourceType);
164
+ if (!isResourceType) {
165
+ throw new Error(`Invalid URI structure: The resourceType "${possibleResourceType}" is not included in ConfigCollectionName.`);
166
+ }
167
+ // Assign resourceType and resourceId
168
+ pathSegments.resourceType = possibleResourceType;
169
+ pathSegments.resourceId = resourceId;
170
+ } else if (pathSegmentsArray.length === 2) {
171
+ // Case: organization/project or organization/resourceType
172
+ const possibleResourceTypeOrProject = pathSegmentsArray[1];
173
+ // Check if it's a valid resourceType
174
+ const isResourceType = Object.values(ConfigCollectionName).includes(possibleResourceTypeOrProject);
175
+ if (isResourceType) {
176
+ // If it's a valid resourceType, validate further
177
+ throw new Error(`Invalid URI structure: The resourceType "${possibleResourceTypeOrProject}" is missing the resourceId.`);
178
+ }
179
+ // Otherwise, treat it as a project
180
+ pathSegments.resourceGroup = possibleResourceTypeOrProject;
181
+ } else if (pathSegmentsArray.length > 3) {
182
+ // Case: organization/project/resourceType/resourceId
183
+ pathSegments.resourceGroup = pathSegmentsArray[1];
108
184
  const possibleResourceType = pathSegmentsArray[2];
109
185
  const resourceId = pathSegmentsArray[3];
110
- // Validate resourceType exists in ConfigCollectionName
186
+ // Validate the resourceType
111
187
  const isResourceType = Object.values(ConfigCollectionName).includes(possibleResourceType);
112
- if (isResourceType && resourceId) {
113
- pathSegments.resourceType = possibleResourceType;
114
- pathSegments.resourceId = resourceId;
115
- return {
116
- scheme: uri.scheme,
117
- authority: uri.authority,
118
- pathSegments,
119
- queryData,
120
- fragmentData
121
- };
188
+ if (!isResourceType) {
189
+ throw new Error(`Invalid URI structure: The resourceType "${possibleResourceType}" is not included in ConfigCollectionName.`);
122
190
  }
191
+ // Assign resourceType and resourceId
192
+ pathSegments.resourceType = possibleResourceType;
193
+ pathSegments.resourceId = resourceId;
123
194
  }
124
195
  }
125
- // Non-empty first segment is the organization
126
- if (pathSegmentsArray[0] !== '') {
127
- pathSegments.organization = pathSegmentsArray[0];
128
- }
129
- if (pathSegmentsArray.length === 3) {
130
- // Case: organization/resourceType/resourceId
131
- const possibleResourceType = pathSegmentsArray[1];
132
- const resourceId = pathSegmentsArray[2];
133
- // Validate the resourceType against ConfigCollectionName
134
- const isResourceType = Object.values(ConfigCollectionName).includes(possibleResourceType);
135
- if (!isResourceType) {
136
- throw new Error(`Invalid URI structure: The resourceType "${possibleResourceType}" is not included in ConfigCollectionName.`);
137
- }
138
- // Assign resourceType and resourceId
139
- pathSegments.resourceType = possibleResourceType;
140
- pathSegments.resourceId = resourceId;
141
- } else if (pathSegmentsArray.length === 2) {
142
- // Case: organization/project or organization/resourceType
143
- const possibleResourceTypeOrProject = pathSegmentsArray[1];
144
- // Check if it's a valid resourceType
145
- const isResourceType = Object.values(ConfigCollectionName).includes(possibleResourceTypeOrProject);
146
- if (isResourceType) {
147
- // If it's a valid resourceType, validate further
148
- throw new Error(`Invalid URI structure: The resourceType "${possibleResourceTypeOrProject}" is missing the resourceId.`);
149
- }
150
- // Otherwise, treat it as a project
151
- pathSegments.resourceGroup = possibleResourceTypeOrProject;
152
- } else if (pathSegmentsArray.length > 3) {
153
- // Case: organization/project/resourceType/resourceId
154
- pathSegments.resourceGroup = pathSegmentsArray[1];
155
- const possibleResourceType = pathSegmentsArray[2];
156
- const resourceId = pathSegmentsArray[3];
157
- // Validate the resourceType
158
- const isResourceType = Object.values(ConfigCollectionName).includes(possibleResourceType);
159
- if (!isResourceType) {
160
- throw new Error(`Invalid URI structure: The resourceType "${possibleResourceType}" is not included in ConfigCollectionName.`);
161
- }
162
- // Assign resourceType and resourceId
163
- pathSegments.resourceType = possibleResourceType;
164
- pathSegments.resourceId = resourceId;
165
- }
166
196
  return {
167
197
  scheme: uri.scheme,
168
198
  authority: uri.authority,
@@ -1 +1 @@
1
- {"version":3,"file":"cdecodeUri.js","sources":["../../src/utils/cdecodeUri.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdecodeUri.js","sources":["../../src/utils/cdecodeUri.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
1
  import { URI } from '@vscode-alt/monaco-editor/esm/vs/base/common/uri';
2
2
  import { ConfigCollectionName, ConfigFragmentName } from 'common/lib/generated/generated-models.js';
3
+ import { Scheme } from '../constants';
4
+ declare const defaultOptions: {
5
+ flatten: boolean;
6
+ scheme: Scheme;
7
+ };
3
8
  /**
4
9
  * Generate URI, it sorts the params in order to generate URI.
5
10
  * @param collectionName Schema Name to be used
@@ -9,9 +14,7 @@ import { ConfigCollectionName, ConfigFragmentName } from 'common/lib/generated/g
9
14
  */
10
15
  export declare const generateUri: (collectionName: ConfigCollectionName, params: {
11
16
  [key: string]: any;
12
- }, fragment: string, authority?: string, options?: {
13
- flatten: boolean;
14
- }) => URI;
17
+ }, fragment: string, authority?: string, options?: Partial<typeof defaultOptions>) => URI;
15
18
  /**
16
19
  * Generates URI for User with `_id` as `self` if the user logged in otherwise `guest`
17
20
  */
@@ -31,8 +34,7 @@ export declare const generateResourceUri: (collectionName: ConfigCollectionName,
31
34
  [key: string]: any;
32
35
  name?: string;
33
36
  orgName: string;
34
- }, fragment: string, authority?: string, options?: {
35
- flatten: boolean;
36
- }) => URI;
37
+ }, fragment: string, authority?: string, options?: Partial<typeof defaultOptions>) => URI;
37
38
  export declare const generateOrgUri: (name: string, fragment: string, authority?: string) => URI;
38
39
  export declare const generateMachineUri: (name: string, fragment: string, authority?: string) => URI;
40
+ export {};
@@ -1,17 +1,19 @@
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 {ConfigFragmentName,ConfigCollectionName}from'common/lib/generated/generated-models.js';import {flatten}from'./flatten-utils.js';function hasNestedObject(obj) {
1
+ import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import sortKeys from'sort-keys';import queryString from'query-string';import {ConfigFragmentName,ConfigCollectionName}from'common/lib/generated/generated-models.js';import {flatten}from'./flatten-utils.js';function hasNestedObject(obj) {
2
2
  // Not an object or null? No nesting to worry about.
3
3
  if (typeof obj !== 'object' || obj === null) {
4
4
  return false;
5
5
  }
6
- // Treat arrays as acceptable—e.g., { alias: ["some"] } is fine.
6
+ // Treat arrays as acceptable
7
7
  if (Array.isArray(obj)) {
8
8
  return false;
9
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));
10
+ // Only consider it nested if any value is a non-null, non-array object
11
+ return Object.values(obj).some(val => val !== null && typeof val === 'object' && !Array.isArray(val) && !(val instanceof Date));
14
12
  }
13
+ const defaultOptions = {
14
+ flatten: false,
15
+ scheme: "mongo-db-file" /* Scheme.mongoDbFile */
16
+ };
15
17
  /**
16
18
  * Generate URI, it sorts the params in order to generate URI.
17
19
  * @param collectionName Schema Name to be used
@@ -19,18 +21,22 @@ import {Schemas}from'@workbench-stack/core/lib/core/network.js';import {URI}from
19
21
  * @param fragment
20
22
  * @param authority
21
23
  */
22
- const generateUri = (collectionName, params, fragment, authority = '', options = {
23
- flatten: false
24
- }) => {
24
+ const generateUri = (collectionName, params, fragment, authority = '', options) => {
25
+ options = {
26
+ ...defaultOptions,
27
+ ...options
28
+ };
25
29
  // If we are NOT flattening, but detect nested objects, throw an error
26
30
  if (!options.flatten && hasNestedObject(params)) {
27
31
  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
32
  }
33
+ console.log('---params---', params);
29
34
  params = options.flatten ? flatten(params) : params;
35
+ console.log('---params after flatten---', params);
30
36
  const orderedParams = sortKeys(params);
31
37
  const queryString$1 = queryString.stringify(orderedParams);
32
38
  return URI.file(`/${collectionName}`).with({
33
- scheme: Schemas.mongoDbFile,
39
+ scheme: options.scheme,
34
40
  authority,
35
41
  fragment,
36
42
  query: queryString$1
@@ -58,9 +64,7 @@ const generateUserUri = (params, fragment = ConfigFragmentName.Settings, authori
58
64
  const generateApplicationUri = (orgName, fragment = ConfigFragmentName.Settings, authority = '') => generateUri(ConfigCollectionName.Organizations, {
59
65
  orgName
60
66
  }, fragment, authority);
61
- const generateResourceUri = (collectionName, params, fragment, authority = '', options = {
62
- flatten: false
63
- }) => generateUri(collectionName, params, fragment, authority, options);
67
+ const generateResourceUri = (collectionName, params, fragment, authority = '', options) => generateUri(collectionName, params, fragment, authority, options);
64
68
  const generateOrgUri = (name, fragment, authority = '') => generateUri(ConfigCollectionName.Organizations, {
65
69
  name
66
70
  }, fragment, authority);
@@ -1 +1 @@
1
- {"version":3,"file":"generate-uri.js","sources":["../../src/utils/generate-uri.ts"],"sourcesContent":[null],"names":["queryString","querystring"],"mappings":"oVAOA,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,cAAoC,EACpC,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,kBAAA,CAAA,QAAA,EAAA,SAAA,GAAA,EAAA,KAAA;AACD,EAAA,IAAA,MAAkB,CAAA,SAAA,EAAqB;AAC3C,IAAE,MAAA,CAAA,KAAA,GAAA,CAAA,MAAA,CAAA,SAAA,CAAA;AAEF,IAAA,OAAA,MAAA,CAAA,SAAA;;AAEG,EAAA,OAAA,WAAA,CAAA,oBAAA,CAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,CAAA;AACH;AAGA;AAQA;AAGA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"generate-uri.js","sources":["../../src/utils/generate-uri.ts"],"sourcesContent":[null],"names":["queryString","querystring"],"mappings":"oRAOA,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;;;AAGJ,EAAA,OAAA,aAAc,CAAA,GAAO,CAAA,CAAG,IAAE,CAAA,GACrB,IAAK,GAAE,KAAI,IAAK,IAAI,OAAI,GAAA,KAAU,YAAa,CAAI,KAAM,CAAA,WAAQ,CAAC,IAAI,EAAA,GAAK,gBAAgB,CAAI,CAAA;AAExG;AAEA,MAAM,cAAc,GAAG;AAEvB,EAAA,OAAA,EAAA,KAAA;;;;;;AAMG;AACH;;;AASgB,MAAA,WAAQ,GAAA,CAAI,gBAAgB,MAAM,EAAC,QAAG,EAAA,SAAA,GAAA,EAAA,EAAA,OAAA,KAAA;AAC9C,EAAA,OAAA,GAAA;IAKJ,GAAC,cAAA;AACD,IAAA,GAAA;AACA,GAAA;AACA;AACA,EAAA,IAAA,CAAA,mBAAsB,eAAe,CAAC,MAAC,CAAA,EAAA;IACvC,MAAM,IAAA,KAAA,CAAA,CAAW,wBAAwB,IAAC,CAAA,SAAa,CAAC,MAAC,CAAA,CAAA,wGAAA,CAAA,CAAA;;SAG/C,CAAA,GAAA,CAAA,cAAgB,EAAA,MAAA,CAAA;QACtB,GAAS,OAAA,CAAA,OAAA,GAAA,OAAA,CAAA,MAAA,CAAA,GAAA,MAAA;SACD,CAAA,GAAA,CAAA,4BAAA,EAAA,MAAA,CAAA;AACR,EAAA,MAAA,aAAkB,GAAA,QAAA,CAAA,MAAA,CAAA;AACrB,EAAA,MAAEA,aAAA,GAAAC,WAAA,CAAA,SAAA,CAAA,aAAA,CAAA;AACP,EAAE,OAAA,GAAA,CAAA,IAAA,CAAA,CAAA,CAAA,EAAA,cAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA;AAEF,IAAA,MAAA,EAAA,OAAA,CAAA,MAAA;;AAEG,IAAA,QAAA;AACH,IAAA,KAAO,EAAAD;AAMP,GAAA,CAAA;;AAEG;AACH;AAKI;AACmC,MAAA,oBAAiB,GAAA,CAAA,WAAW,EAAA,QAAA,GAAA,kBAAA,CAAA,QAAA,EAAA,SAAA,GAAA,EAAA,KAAA,WAAA,CAAA,oBAAA,CAAA,QAAA,EAAA;;WAE9D,EAAA,SAAA;AACD;AACJ;AAEA;;AAEG,EAAA,IAAA,MAAA,CAAA,SAAA,EAAA;AACH,IAAA,MAAO,CAAA,KAA4B,GAAA,CAAA,MAAA,CAAA,SAAA,CAAA;AAGnC,IAAA,OAAO,MAAyB,CAAA,SAAA;AAQhC;AAGA,EAAA,OAAO,WAAwB,CAAA,oBAAkB,CAAA,QAAkB,EAAA,MAAA,EAAS,QAAO,EAC/E,SAAA,CAAA;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- import { AuthStrategy } from 'common/lib/generated/generated-models';
1
+ import { AuthStrategy } from 'common/lib/generated/generated-models.js';
2
2
  export declare const getUserAlias: (alias: string[], strategy: AuthStrategy) => any;
@@ -1,5 +1,5 @@
1
1
  import { URI } from '@vscode-alt/monaco-editor/esm/vs/base/common/uri';
2
- import { IPreferencesOpenOptionsInput, ConfigurationTarget } from 'common/lib/generated/generated-models';
2
+ import { IPreferencesOpenOptionsInput, ConfigurationTarget } from 'common/lib/generated/generated-models.js';
3
3
  export declare function getOpenSettings(target: ConfigurationTarget, resource: URI, options: IPreferencesOpenOptionsInput): {
4
4
  editableSettingsInput: URI;
5
5
  defaultPreferencesInput: URI;
@@ -1,5 +1,4 @@
1
- import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import queryString from'query-string';import {ConfigCollectionName}from'common/lib/generated/generated-models.js';import {parseCdecodeUri}from'./cdecodeUri.js';import {reviveUri}from'./reviveUri.js';// moved to `@workbench-stack/core`
2
- const resourcePath = resource => {
1
+ import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import queryString from'query-string';import {ConfigCollectionName}from'common/lib/generated/generated-models.js';import {parseCdecodeUri}from'./cdecodeUri.js';import {reviveUri}from'./reviveUri.js';const resourcePath = resource => {
3
2
  if (typeof resource === 'string') {
4
3
  return resource;
5
4
  }
@@ -15,7 +14,7 @@ function convertToResourceUri(resource, scope) {
15
14
  const isValidUri = uri => 'scheme' in uri && 'path' in uri;
16
15
  if (resource instanceof URI) {
17
16
  if (isValidUri(resource)) {
18
- if (resource.scheme === "cdecode" /* Scheme.CDECODE */) {
17
+ if (resource.scheme === "cdecode" /* Scheme.cdecode */) {
19
18
  // Use parseCdecodeUri for cdecode URIs.
20
19
  const parsedUri = parseCdecodeUri(resource);
21
20
  // console.log('parsedUri---hehehrhe', parsedUri, '---scope', scope);
@@ -57,7 +56,7 @@ function convertToResourceUri(resource, scope) {
57
56
  } else {
58
57
  // if no organization like in pubngo we still return
59
58
  return URI.from({
60
- scheme: "cde-resource" /* Scheme.CDECODE_RESOURCE */,
59
+ scheme: "cde-resource" /* Scheme.cdeResource */,
61
60
  authority: parsedUri.authority,
62
61
  path,
63
62
  query: queryString.stringify(queryData),
@@ -67,7 +66,7 @@ function convertToResourceUri(resource, scope) {
67
66
  }
68
67
  // Regardless of the input, always use the "cde-resource" scheme for converted URIs.
69
68
  return URI.from({
70
- scheme: "cde-resource" /* Scheme.CDECODE_RESOURCE */,
69
+ scheme: "cde-resource" /* Scheme.cdeResource */,
71
70
  authority: parsedUri.authority,
72
71
  path,
73
72
  query: queryString.stringify(queryData),
@@ -80,14 +79,14 @@ function convertToResourceUri(resource, scope) {
80
79
  }
81
80
  if (typeof resource === 'string') {
82
81
  const parsedUri = URI.parse(resource);
83
- if (parsedUri.scheme === "cdecode" /* Scheme.CDECODE */) {
82
+ if (parsedUri.scheme === "cdecode" /* Scheme.cdecode */) {
84
83
  return convertToResourceUri(parsedUri); // Reuse the logic for URI instances.
85
84
  }
86
85
  return parsedUri;
87
86
  }
88
87
  if (typeof resource === 'object') {
89
88
  const revivedUri = reviveUri(resource);
90
- if (revivedUri.scheme === "cdecode" /* Scheme.CDECODE */) {
89
+ if (revivedUri.scheme === "cdecode" /* Scheme.cdecode */) {
91
90
  return convertToResourceUri(revivedUri); // Reuse the logic for URI instances.
92
91
  }
93
92
  return revivedUri;
@@ -1 +1 @@
1
- {"version":3,"file":"resourceUriConversion.js","sources":["../../src/utils/resourceUriConversion.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resourceUriConversion.js","sources":["../../src/utils/resourceUriConversion.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -11,6 +11,27 @@ export interface SplitCedcodeUriResult {
11
11
  */
12
12
  resourceUri?: URI;
13
13
  }
14
+ export interface SplitOrgUriResult {
15
+ /**
16
+ * The base organization URI, containing only the organization segment.
17
+ */
18
+ baseOrgUri: URI;
19
+ /**
20
+ * The resource group URI if a resource group segment exists.
21
+ * If not present, this value will be undefined.
22
+ */
23
+ resourceGroupUri?: URI;
24
+ /**
25
+ * The resource group type if a resource group segment exists.
26
+ * If not present, this value will be undefined.
27
+ */
28
+ resourceGroupType?: string;
29
+ /**
30
+ * The resource group ID if a resource group segment exists.
31
+ * If not present, this value will be undefined.
32
+ */
33
+ resourceGroupId?: string;
34
+ }
14
35
  /**
15
36
  * Splits a given cdecode URI ino an organization URI (orgUri) and, if available, a resource-specific URI (resourceUri).
16
37
  *
@@ -23,3 +44,10 @@ export interface SplitCedcodeUriResult {
23
44
  * @return An object containing the orgUri and, optionally, the resourceUri.
24
45
  */
25
46
  export declare function splitCdecodeUri(cdecodeUri: URI): SplitCedcodeUriResult;
47
+ /**
48
+ * Splits an organization URI into a base organization URI and, if available, a resource group URI.
49
+ *
50
+ * @param orgUri The organization URI that may contain both organization and resource group segments
51
+ * @returns An object containing the baseOrgUri and optionally the resourceGroupUri
52
+ */
53
+ export declare function splitOrgUri(orgUri: URI): SplitOrgUriResult;
@@ -1,4 +1,4 @@
1
- import {parseCdecodeUri,generateCdecodeUri}from'./cdecodeUri.js';import {convertToResourceUri}from'./resourceUriConversion.js';/**
1
+ import {URI}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';import {ConfigCollectionName}from'common';import {parseCdecodeUri,generateCdecodeUri}from'./cdecodeUri.js';import {convertToResourceUri}from'./resourceUriConversion.js';/**
2
2
  * Splits a given cdecode URI ino an organization URI (orgUri) and, if available, a resource-specific URI (resourceUri).
3
3
  *
4
4
  * - If the incoming URI contains resource-specific segments (i.e. resourceType and resourceId), the organization URI
@@ -10,6 +10,7 @@ import {parseCdecodeUri,generateCdecodeUri}from'./cdecodeUri.js';import {convert
10
10
  * @return An object containing the orgUri and, optionally, the resourceUri.
11
11
  */
12
12
  function splitCdecodeUri(cdecodeUri) {
13
+ console.log('---cdecodeUri---->>>>>>>>', cdecodeUri);
13
14
  const parsedUri = parseCdecodeUri(cdecodeUri);
14
15
  // Check if resource-specific segments exist.
15
16
  if (parsedUri.pathSegments.resourceType && parsedUri.pathSegments.resourceId) {
@@ -36,4 +37,48 @@ function splitCdecodeUri(cdecodeUri) {
36
37
  return {
37
38
  orgUri: cdecodeUri
38
39
  };
39
- }export{splitCdecodeUri};//# sourceMappingURL=splitCdecodeUri.js.map
40
+ }
41
+ /**
42
+ * Splits an organization URI into a base organization URI and, if available, a resource group URI.
43
+ *
44
+ * @param orgUri The organization URI that may contain both organization and resource group segments
45
+ * @returns An object containing the baseOrgUri and optionally the resourceGroupUri
46
+ */
47
+ function splitOrgUri(orgUri) {
48
+ const parsedUri = parseCdecodeUri(orgUri);
49
+ const {
50
+ organization,
51
+ resourceGroup
52
+ } = parsedUri.pathSegments;
53
+ // Generate the base organization URI
54
+ const baseOrgUri = URI.from({
55
+ scheme: "cde-resource" /* Scheme.cdeResource */,
56
+ authority: orgUri.authority,
57
+ path: `/${ConfigCollectionName.Organizations}`,
58
+ fragment: parsedUri.fragmentData,
59
+ query: `name=${organization}`
60
+ });
61
+ // If there's no resource group, return just the base org URI
62
+ if (!resourceGroup) {
63
+ return {
64
+ baseOrgUri
65
+ };
66
+ }
67
+ // Handle resource group with type:id format
68
+ const colonIndex = resourceGroup.indexOf(':');
69
+ const [resourceGroupType, resourceGroupId] = colonIndex !== -1 ? [resourceGroup.substring(0, colonIndex), resourceGroup.substring(colonIndex + 1)] : [ConfigCollectionName.Projects, resourceGroup];
70
+ // Generate the resource group URI using the type as the path segment
71
+ const resourceGroupUri = URI.from({
72
+ scheme: "cde-resource" /* Scheme.cdeResource */,
73
+ authority: orgUri.authority,
74
+ path: `/${resourceGroupType}`,
75
+ query: `orgName=${organization}&_id=${resourceGroupId}`,
76
+ fragment: parsedUri.fragmentData
77
+ });
78
+ return {
79
+ baseOrgUri,
80
+ resourceGroupUri,
81
+ resourceGroupType,
82
+ resourceGroupId
83
+ };
84
+ }export{splitCdecodeUri,splitOrgUri};//# sourceMappingURL=splitCdecodeUri.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"splitCdecodeUri.js","sources":["../../src/utils/splitCdecodeUri.ts"],"sourcesContent":[null],"names":[],"mappings":"+HAgBA;;;;;;;;;;AAUG;AACG,SAAU,eAAe,CAAC,UAAe,EAAA;AAC3C,EAAA,MAAA,YAAkB,eAAA,CAAA,UAAgB,CAAA;;AAGlC,EAAA,IAAA,SAAa,CAAA,YAAa,CAAA,YAAa,IAAA,SAAa,CAAA,YAAa,CAAA,UAAW,EAAA;;AAExE,IAAA,MAAA;AACI,MAAA,YAAA,EAAA,SAAc,CAAA,YAAU,CAAA;;;AAI5B,IAAA,IAAA,sBAAc,CAAA,aAAa,EAAA;eACd,CAAA,yBAAiB,CAAA,YAAsB,CAAA;;;AAIpD,IAAA,MAAA,MAAY,GAAA,kBAAqB,CAAA,UACnB,CAAA,SAAU,EAAA,SACX,EAAA,EAAA;;aAKsD,CAAA,YAAA,CAAA;AACnE;AAEA,IAAA,MAAA,WAAS,GAAQ,oBAAc,CAAA,UAAA,CAAA;IACnC,OAAC;MAE4F,MAAA;AAC7F,MAAA;AACJ,KAAC;;;;;;"}
1
+ {"version":3,"file":"splitCdecodeUri.js","sources":["../../src/utils/splitCdecodeUri.ts"],"sourcesContent":[null],"names":[],"mappings":"+OAyCA;;;;;;;;;;AAUG;AACG,SAAU,eAAe,CAAC,UAAe,EAAA;AAC3C,EAAA,OAAA,CAAA,GAAW,CAAA,6BAA4B,UAAE,CAAA;AACzC,EAAA,MAAA,YAAkB,eAAA,CAAA,UAAgB,CAAA;;AAGlC,EAAA,IAAA,SAAa,CAAA,YAAa,CAAA,YAAa,IAAA,SAAa,CAAA,YAAa,CAAA,UAAW,EAAA;;AAExE,IAAA,MAAA;AACI,MAAA,YAAA,EAAA,SAAc,CAAA,YAAU,CAAA;;;AAI5B,IAAA,IAAA,sBAAc,CAAA,aAAa,EAAA;eACd,CAAA,yBAAiB,CAAA,YAAsB,CAAA;;;AAIpD,IAAA,MAAA,MAAY,GAAA,kBAAqB,CAAA,UACnB,CAAA,SAAU,EAAA,SACX,EAAA,EAAA;;aAKsD,CAAA,YAAA,CAAA;AACnE;AAEA,IAAA,MAAA,WAAS,GAAQ,oBAAc,CAAA,UAAA,CAAA;IACnC,OAAC;MAE4F,MAAA;AAC7F,MAAA;AACJ,KAAC;AAED;;;;;AAKG;AACH;AACI;;;AAIA;AACI;SACS,WAAkB,CAAA,MAAA,EAAA;AAC3B,EAAA,MAAA,SAAM,GAAwB,eAAA,CAAA;QAC9B;gBACe;AAClB,IAAA;MAE4D,SAAA,CAAA,YAAA;;QAEzD,UAAmB,GAAA,GAAA,CAAA,IAAE,CAAC;IAC1B,MAAC,EAAA,cAAA;IAED,SAA4C,EAAA,MAAA,CAAA,SAAA;IAC5C,IAAM,EAAA,CAAA,CAAA,EAAA,oBAA0B,CAAA,aAAY,CAAC,CAAC;IAC9C,gCAA0B;AAElB,IAAA,KAAC,EAAE,CAAA,KAAA,EAAA,YAAuB,CAAA;;;AAIlC,EAAA,IAAA,CAAA,aAAsB,EAAA;AAClB,IAAA,OAAA;;;AAGA;;AAEH,EAAA,MAAE,UAAA,GAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA;QAEI,CAAA,iBAAA,EAAA,eAAA,CAAA,GAAA,UAAA,KAAA,EAAA,GAAA,CAAA,aAAA,CAAA,SAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,aAAA,CAAA,SAAA,CAAA,UAAA,GAAA,CAAA,CAAA,CAAA,GAAA,CAAA,oBAAA,CAAA,QAAA,EAAA,aAAA,CAAA;;QAEH,gBAAgB,GAAA,GAAA,CAAA,IAAA,CAAA;UACC,EAAA,cAAA;aACF,EAAA,MAAA,CAAA,SAAA;QACjB,EAAA,CAAA,CAAA,EAAA,iBAAA,CAAA,CAAA;AACN,IAAC,KAAA,EAAA,CAAA,QAAA,EAAA,YAAA,CAAA,KAAA,EAAA,eAAA,CAAA,CAAA;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adminide-stack/core",
3
- "version": "10.2.3-alpha.0",
3
+ "version": "10.2.3-alpha.4",
4
4
  "description": "AdminIDE core for higher packages to depend on",
5
5
  "license": "UNLICENSED",
6
6
  "author": "CDMBase LLC",
@@ -23,7 +23,7 @@
23
23
  "dependencies": {
24
24
  "@vscode-alt/monaco-editor": "^0.21.4",
25
25
  "@workbench-stack/core": "3.9.7",
26
- "common": "10.2.3-alpha.0",
26
+ "common": "10.2.3-alpha.4",
27
27
  "query-string": "^9.0.0",
28
28
  "sort-keys": "^5.0.0",
29
29
  "vscode-uri": "^3.0.8"
@@ -35,7 +35,7 @@
35
35
  "publishConfig": {
36
36
  "access": "public"
37
37
  },
38
- "gitHead": "225a278a85f98955f6885f2ae68d147bce041e36",
38
+ "gitHead": "251b4d407eab67f865f1d44386314f756bcc1835",
39
39
  "typescript": {
40
40
  "definition": "lib/index.d.ts"
41
41
  }