@adminide-stack/core 7.0.3-alpha.21 → 7.0.3-alpha.25
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/types.js +13 -13
- package/lib/constants/types.js.map +1 -1
- package/lib/constants/urls.js +3 -3
- package/lib/constants/urls.js.map +1 -1
- package/lib/core/configurations/configuration.js +444 -546
- package/lib/core/configurations/configuration.js.map +1 -1
- package/lib/core/configurations/events/ConfigurationChangeEvent.js +49 -52
- package/lib/core/configurations/events/ConfigurationChangeEvent.js.map +1 -1
- package/lib/core/configurations/helpers/configuration.js +149 -138
- package/lib/core/configurations/helpers/configuration.js.map +1 -1
- package/lib/core/configurations/models/ConfigurationModel.js +190 -186
- package/lib/core/configurations/models/ConfigurationModel.js.map +1 -1
- package/lib/core/disposable.js +67 -66
- package/lib/core/disposable.js.map +1 -1
- package/lib/core/event.js +235 -239
- package/lib/core/event.js.map +1 -1
- package/lib/core/organization/configuration.js +15 -15
- package/lib/core/organization/configuration.js.map +1 -1
- package/lib/core/organization/helpers/organization-helpers.js +14 -7
- package/lib/core/organization/helpers/organization-helpers.js.map +1 -1
- package/lib/core/organization/organization.js +113 -132
- package/lib/core/organization/organization.js.map +1 -1
- package/lib/core/path.js +158 -154
- package/lib/core/path.js.map +1 -1
- package/lib/enums/connection-status.js +4 -4
- package/lib/enums/connection-status.js.map +1 -1
- package/lib/enums/integration-configuration-status.js +3 -3
- package/lib/enums/integration-configuration-status.js.map +1 -1
- package/lib/enums/integrations-configuration-steps.js +6 -6
- package/lib/enums/integrations-configuration-steps.js.map +1 -1
- package/lib/enums/integrations-connection-names.js +10 -10
- package/lib/enums/integrations-connection-names.js.map +1 -1
- package/lib/enums/integrations.js +8 -8
- package/lib/enums/integrations.js.map +1 -1
- package/lib/enums/permissions.js +5 -5
- package/lib/enums/permissions.js.map +1 -1
- package/lib/enums/team-member-status.js +2 -2
- package/lib/enums/team-member-status.js.map +1 -1
- package/lib/errors/auth-error-messages.js +22 -22
- package/lib/errors/auth-error-messages.js.map +1 -1
- package/lib/errors/auth-error.js +5 -9
- package/lib/errors/auth-error.js.map +1 -1
- package/lib/interfaces/configuration/configuration.js +30 -30
- package/lib/interfaces/configuration/configuration.js.map +1 -1
- package/lib/interfaces/generated/generated-models.js +919 -15741
- package/lib/interfaces/generated/generated-models.js.map +1 -1
- package/lib/interfaces/organization/organization-context.js +17 -12
- package/lib/interfaces/organization/organization-context.js.map +1 -1
- package/lib/modules/account-api/enums/index.js +64 -64
- package/lib/modules/account-api/enums/index.js.map +1 -1
- package/lib/modules/billing-api/enums/index.js +18 -18
- package/lib/modules/billing-api/enums/index.js.map +1 -1
- package/lib/modules/inbox/enums/index.js +23 -23
- package/lib/modules/inbox/enums/index.js.map +1 -1
- package/lib/services/abstract-configuration.js +116 -113
- package/lib/services/abstract-configuration.js.map +1 -1
- package/lib/services/abstract-organization-context-service.js +93 -97
- package/lib/services/abstract-organization-context-service.js.map +1 -1
- package/lib/utils/configuration-utils.js +8 -8
- package/lib/utils/configuration-utils.js.map +1 -1
- package/lib/utils/date-utils.js +2 -2
- package/lib/utils/date-utils.js.map +1 -1
- package/lib/utils/flatten-utils.js +39 -35
- package/lib/utils/flatten-utils.js.map +1 -1
- package/lib/utils/generate-uri.js +15 -25
- package/lib/utils/generate-uri.js.map +1 -1
- package/lib/utils/generated-settings-id.js +4 -4
- package/lib/utils/generated-settings-id.js.map +1 -1
- package/lib/utils/omit-deep.js +7 -7
- package/lib/utils/omit-deep.js.map +1 -1
- package/lib/utils/roles-utils.js +2 -6
- package/lib/utils/roles-utils.js.map +1 -1
- package/lib/utils/uri.js +12 -10
- package/lib/utils/uri.js.map +1 -1
- package/lib/utils/utils.js +14 -19
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils/validations.js +2 -2
- package/lib/utils/validations.js.map +1 -1
- package/package.json +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"configuration.js","sources":["../../../../src/core/configurations/helpers/configuration.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"configuration.js","sources":["../../../../src/core/configurations/helpers/configuration.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
@@ -1,193 +1,197 @@
|
|
1
|
-
import*as objects from'@vscode-alt/monaco-editor/esm/vs/base/common/objects
|
1
|
+
import*as objects from'@vscode-alt/monaco-editor/esm/vs/base/common/objects';import*as arrays from'@vscode-alt/monaco-editor/esm/vs/base/common/arrays';import*as types from'@vscode-alt/monaco-editor/esm/vs/base/common/types';import {getConfigurationValue,addToValueTree,removeFromValueTree}from'../helpers/configuration.js';// https://github.com/microsoft/vscode/blob/1562a35c863c312eec35c161b9ceac9921afa50e/src/vs/platform/configuration/common/configurationModels.ts
|
2
2
|
class ConfigurationModel {
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
3
|
+
_contents;
|
4
|
+
_keys;
|
5
|
+
_overrides;
|
6
|
+
frozen = false;
|
7
|
+
overrideConfigurations = new Map();
|
8
|
+
constructor(_contents = {}, _keys = [], _overrides = []) {
|
9
|
+
this._contents = _contents;
|
10
|
+
this._keys = _keys;
|
11
|
+
this._overrides = _overrides;
|
12
|
+
}
|
13
|
+
get contents() {
|
14
|
+
return this.checkAndFreeze(this._contents);
|
15
|
+
}
|
16
|
+
get overrides() {
|
17
|
+
return this.checkAndFreeze(this._overrides);
|
18
|
+
}
|
19
|
+
get keys() {
|
20
|
+
return this.checkAndFreeze(this._keys);
|
21
|
+
}
|
22
|
+
isEmpty() {
|
23
|
+
return this._keys.length === 0 && Object.keys(this._contents).length === 0 && this._overrides.length === 0;
|
24
|
+
}
|
25
|
+
isFrozen() {
|
26
|
+
return this.frozen;
|
27
|
+
}
|
28
|
+
getValue(section) {
|
29
|
+
return section ? getConfigurationValue(this.contents, section) : this.contents;
|
30
|
+
}
|
31
|
+
getOverrideValue(section, overrideIdentifier) {
|
32
|
+
const overrideContents = this.getContentsForOverrideIdentifer(overrideIdentifier);
|
33
|
+
return overrideContents
|
34
|
+
? section ? getConfigurationValue(overrideContents, section) : overrideContents
|
35
|
+
: undefined;
|
36
|
+
}
|
37
|
+
getKeysForOverrideIdentifier(identifier) {
|
38
|
+
const keys = [];
|
39
|
+
for (const override of this.overrides) {
|
40
|
+
if (override.identifiers.includes(identifier)) {
|
41
|
+
keys.push(...override.keys);
|
42
|
+
}
|
43
|
+
}
|
44
|
+
return arrays.distinct(keys);
|
45
|
+
}
|
46
|
+
getAllOverrideIdentifiers() {
|
47
|
+
const result = [];
|
48
|
+
for (const override of this.overrides) {
|
49
|
+
result.push(...override.identifiers);
|
50
|
+
}
|
51
|
+
return arrays.distinct(result);
|
52
|
+
}
|
53
|
+
override(identifier) {
|
54
|
+
let overrideConfigurationModel = this.overrideConfigurations.get(identifier);
|
55
|
+
if (!overrideConfigurationModel) {
|
56
|
+
overrideConfigurationModel = this.createOverrideConfigurationModel(identifier);
|
57
|
+
this.overrideConfigurations.set(identifier, overrideConfigurationModel);
|
58
|
+
}
|
59
|
+
return overrideConfigurationModel;
|
60
|
+
}
|
61
|
+
merge(...others) {
|
62
|
+
const contents = objects.deepClone(this.contents);
|
63
|
+
const overrides = objects.deepClone(this.overrides);
|
64
|
+
const keys = [...this.keys];
|
65
|
+
for (const other of others) {
|
66
|
+
if (other.isEmpty()) {
|
67
|
+
continue;
|
68
|
+
}
|
69
|
+
this.mergeContents(contents, other.contents);
|
70
|
+
for (const otherOverride of (other.overrides || [])) {
|
71
|
+
const [override] = overrides.filter(o => arrays.equals(o.identifiers, otherOverride.identifiers));
|
72
|
+
if (override) {
|
73
|
+
this.mergeContents(override.contents, otherOverride.contents);
|
74
|
+
override.keys.push(...otherOverride.keys);
|
75
|
+
override.keys = arrays.distinct(override.keys);
|
76
|
+
}
|
77
|
+
else {
|
78
|
+
overrides.push(objects.deepClone(otherOverride));
|
79
|
+
}
|
80
|
+
}
|
81
|
+
for (const key of other.keys) {
|
82
|
+
if (keys.indexOf(key) === -1) {
|
83
|
+
keys.push(key);
|
84
|
+
}
|
85
|
+
}
|
86
|
+
}
|
87
|
+
return new ConfigurationModel(contents, keys, overrides);
|
88
|
+
}
|
89
|
+
freeze() {
|
90
|
+
this.frozen = true;
|
91
|
+
return this;
|
92
|
+
}
|
93
|
+
clone() {
|
94
|
+
return new ConfigurationModel(objects.deepClone(this.contents), [...this.keys], objects.deepClone(this.overrides));
|
95
|
+
}
|
96
|
+
createOverrideConfigurationModel(identifier) {
|
97
|
+
const overrideContents = this.getContentsForOverrideIdentifer(identifier);
|
98
|
+
if (!overrideContents || typeof overrideContents !== 'object' || !Object.keys(overrideContents).length) {
|
99
|
+
// If there are no valid overrides, return self
|
100
|
+
return this;
|
76
101
|
}
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
102
|
+
const contents = {};
|
103
|
+
for (const key of arrays.distinct([...Object.keys(this.contents), ...Object.keys(overrideContents)])) {
|
104
|
+
let contentsForKey = this.contents[key];
|
105
|
+
const overrideContentsForKey = overrideContents[key];
|
106
|
+
// If there are override contents for the key, clone and merge otherwise use base contents
|
107
|
+
if (overrideContentsForKey) {
|
108
|
+
// Clone and merge only if base contents and override contents are of type object otherwise just override
|
109
|
+
if (typeof contentsForKey === 'object' && typeof overrideContentsForKey === 'object') {
|
110
|
+
contentsForKey = objects.deepClone(contentsForKey);
|
111
|
+
this.mergeContents(contentsForKey, overrideContentsForKey);
|
112
|
+
}
|
113
|
+
else {
|
114
|
+
contentsForKey = overrideContentsForKey;
|
115
|
+
}
|
116
|
+
}
|
117
|
+
contents[key] = contentsForKey;
|
81
118
|
}
|
82
|
-
|
83
|
-
}
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
createOverrideConfigurationModel(identifier) {
|
94
|
-
const overrideContents = this.getContentsForOverrideIdentifer(identifier);
|
95
|
-
if (!overrideContents || typeof overrideContents !== 'object' || !Object.keys(overrideContents).length) {
|
96
|
-
// If there are no valid overrides, return self
|
97
|
-
return this;
|
98
|
-
}
|
99
|
-
const contents = {};
|
100
|
-
for (const key of arrays.distinct([...Object.keys(this.contents), ...Object.keys(overrideContents)])) {
|
101
|
-
let contentsForKey = this.contents[key];
|
102
|
-
const overrideContentsForKey = overrideContents[key];
|
103
|
-
// If there are override contents for the key, clone and merge otherwise use base contents
|
104
|
-
if (overrideContentsForKey) {
|
105
|
-
// Clone and merge only if base contents and override contents are of type object otherwise just override
|
106
|
-
if (typeof contentsForKey === 'object' && typeof overrideContentsForKey === 'object') {
|
107
|
-
contentsForKey = objects.deepClone(contentsForKey);
|
108
|
-
this.mergeContents(contentsForKey, overrideContentsForKey);
|
109
|
-
} else {
|
110
|
-
contentsForKey = overrideContentsForKey;
|
119
|
+
return new ConfigurationModel(contents, this.keys, this.overrides);
|
120
|
+
}
|
121
|
+
mergeContents(source, target) {
|
122
|
+
for (const key of Object.keys(target)) {
|
123
|
+
if (key in source) {
|
124
|
+
if (types.isObject(source[key]) && types.isObject(target[key])) {
|
125
|
+
this.mergeContents(source[key], target[key]);
|
126
|
+
continue;
|
127
|
+
}
|
128
|
+
}
|
129
|
+
source[key] = objects.deepClone(target[key]);
|
111
130
|
}
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
}
|
117
|
-
mergeContents(source, target) {
|
118
|
-
for (const key of Object.keys(target)) {
|
119
|
-
if (key in source) {
|
120
|
-
if (types.isObject(source[key]) && types.isObject(target[key])) {
|
121
|
-
this.mergeContents(source[key], target[key]);
|
122
|
-
continue;
|
131
|
+
}
|
132
|
+
checkAndFreeze(data) {
|
133
|
+
if (this.frozen && !Object.isFrozen(data)) {
|
134
|
+
return objects.deepFreeze(data);
|
123
135
|
}
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
136
|
+
return data;
|
137
|
+
}
|
138
|
+
getContentsForOverrideIdentifer(identifier) {
|
139
|
+
let contentsForIdentifierOnly = null;
|
140
|
+
let contents = null;
|
141
|
+
const mergeContents = (contentsToMerge) => {
|
142
|
+
if (contentsToMerge) {
|
143
|
+
if (contents) {
|
144
|
+
this.mergeContents(contents, contentsToMerge);
|
145
|
+
}
|
146
|
+
else {
|
147
|
+
contents = objects.deepClone(contentsToMerge);
|
148
|
+
}
|
149
|
+
}
|
150
|
+
};
|
151
|
+
for (const override of this.overrides) {
|
152
|
+
if (arrays.equals(override.identifiers, [identifier])) {
|
153
|
+
contentsForIdentifierOnly = override.contents;
|
154
|
+
}
|
155
|
+
else if (override.identifiers.includes(identifier)) {
|
156
|
+
mergeContents(override.contents);
|
157
|
+
}
|
143
158
|
}
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
}
|
183
|
-
this.keys.splice(index, 1, key);
|
184
|
-
}
|
185
|
-
removeKey(key) {
|
186
|
-
let index = this.keys.indexOf(key);
|
187
|
-
if (index !== -1) {
|
188
|
-
this.keys.splice(index, 1);
|
189
|
-
return true;
|
190
|
-
}
|
191
|
-
return false;
|
192
|
-
}
|
159
|
+
// Merge contents of the identifier only at the end to take precedence.
|
160
|
+
mergeContents(contentsForIdentifierOnly);
|
161
|
+
return contents;
|
162
|
+
}
|
163
|
+
toJSON() {
|
164
|
+
return {
|
165
|
+
contents: this.contents,
|
166
|
+
overrides: this.overrides,
|
167
|
+
keys: this.keys
|
168
|
+
};
|
169
|
+
}
|
170
|
+
// Update methods
|
171
|
+
setValue(key, value) {
|
172
|
+
this.addKey(key);
|
173
|
+
addToValueTree(this.contents, key, value, e => { throw new Error(e); });
|
174
|
+
}
|
175
|
+
removeValue(key) {
|
176
|
+
if (this.removeKey(key)) {
|
177
|
+
removeFromValueTree(this.contents, key);
|
178
|
+
}
|
179
|
+
}
|
180
|
+
addKey(key) {
|
181
|
+
let index = this.keys.length;
|
182
|
+
for (let i = 0; i < index; i++) {
|
183
|
+
if (key.indexOf(this.keys[i]) === 0) {
|
184
|
+
index = i;
|
185
|
+
}
|
186
|
+
}
|
187
|
+
this.keys.splice(index, 1, key);
|
188
|
+
}
|
189
|
+
removeKey(key) {
|
190
|
+
let index = this.keys.indexOf(key);
|
191
|
+
if (index !== -1) {
|
192
|
+
this.keys.splice(index, 1);
|
193
|
+
return true;
|
194
|
+
}
|
195
|
+
return false;
|
196
|
+
}
|
193
197
|
}export{ConfigurationModel};//# sourceMappingURL=ConfigurationModel.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ConfigurationModel.js","sources":["../../../../src/core/configurations/models/ConfigurationModel.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"ConfigurationModel.js","sources":["../../../../src/core/configurations/models/ConfigurationModel.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|