Skip to content

Commit 4a40ceb

Browse files
ComLockalansemenov
authored andcommitted
wip #1817 commiting to discuss something
1 parent ad541da commit 4a40ceb

Some content is hidden

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

44 files changed

+654
-576
lines changed

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ dependencies {
4141
include "com.enonic.xp:lib-io:${xpVersion}"
4242
include "com.enonic.lib:lib-admin-ui:${libAdminUiVersion}"
4343
devResources "com.enonic.lib:lib-admin-ui:${libAdminUiVersion}"
44-
include "com.enonic.lib:lib-graphql:2.0.1"
44+
include "com.enonic.lib:lib-graphql:2.1.0"
4545
include "com.enonic.lib:lib-mustache:2.1.0"
4646
include 'com.enonic.lib:lib-router:3.1.0'
4747
include 'com.enonic.lib:lib-static:1.0.3'

package.json

+2
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,10 @@
3131
"devDependencies": {
3232
"@enonic-types/global": "^7.13.2",
3333
"@enonic-types/lib-admin": "^7.13.2",
34+
"@enonic-types/lib-auth": "^7.13.2",
3435
"@enonic-types/lib-i18n": "^7.13.2",
3536
"@enonic-types/lib-io": "^7.13.2",
37+
"@enonic-types/lib-node": "^7.13.2",
3638
"@enonic-types/lib-portal": "^7.13.2",
3739
"@enonic/esbuild-plugin-copy-with-hash": "^0.0.1",
3840
"@enonic/eslint-config": "^1.2.0",

src/main/resources/lib/auth.js renamed to src/main/resources/lib/auth.ts

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
var authLib = require('/lib/xp/auth');
1+
import { hasRole } from '/lib/xp/auth';
22

3-
var Roles = {
3+
const Roles = {
44
ADMIN: 'system.admin',
55
EVERYONE: 'system.everyone',
66
AUTHENTICATED: 'system.authenticated',
@@ -31,7 +31,7 @@ function nullOrValue(value) {
3131
* @param {string} params.key IdProvider key.
3232
* @returns {object} the id provider specified, or null if it doesn't exist.
3333
*/
34-
exports.getIdProvider = function (params) {
34+
export function getIdProvider(params) {
3535
var bean = __.newBean('com.enonic.xp.app.users.lib.auth.GetIdProviderHandler');
3636
bean.setIdProviderKey(required(params, 'key'));
3737
return __.toNativeObject(bean.getIdProvider());
@@ -42,7 +42,7 @@ exports.getIdProvider = function (params) {
4242
*
4343
* @returns {object[]} Array of id providers.
4444
*/
45-
exports.getIdProviders = function () {
45+
export function getIdProviders() {
4646
var bean = __.newBean('com.enonic.xp.app.users.lib.auth.GetIdProvidersHandler');
4747
return __.toNativeObject(bean.getIdProviders());
4848
};
@@ -54,7 +54,7 @@ exports.getIdProviders = function () {
5454
* @param {string} params.key Application key of the ID Provider application.
5555
* @returns {string} The ID provider mode.
5656
*/
57-
exports.getIdProviderMode = function (params) {
57+
export function getIdProviderMode(params) {
5858
var bean = __.newBean('com.enonic.xp.app.users.lib.auth.GetIdProviderModeHandler');
5959
bean.setApplicationKey(required(params, 'key'));
6060
return bean.getIdProviderMode();
@@ -67,7 +67,7 @@ exports.getIdProviderMode = function (params) {
6767
* @param {string} params.key Key of the id provider to fetch permissions for.
6868
* @returns {object[]} Returns the list of principals with access level.
6969
*/
70-
exports.getPermissions = function (params) {
70+
export function getPermissions(params) {
7171
var bean = __.newBean('com.enonic.xp.app.users.lib.auth.GetPermissionsHandler');
7272
bean.setIdProviderKey(required(params, 'key'));
7373
return __.toNativeObject(bean.getPermissions());
@@ -78,7 +78,7 @@ exports.getPermissions = function (params) {
7878
*
7979
* @returns {object[]} Returns the list of principals with access level.
8080
*/
81-
exports.defaultPermissions = function () {
81+
export function defaultPermissions() {
8282
var bean = __.newBean('com.enonic.xp.app.users.lib.auth.DefaultPermissionsHandler');
8383
return __.toNativeObject(bean.defaultPermissions());
8484
};
@@ -92,7 +92,7 @@ exports.defaultPermissions = function () {
9292
* @param {object} [params.idProviderConfig] ID Provider configuration.
9393
* @param {object} [params.permissions] Id provider permissions.
9494
*/
95-
exports.createIdProvider = function (params) {
95+
export function createIdProvider(params) {
9696
var bean = __.newBean('com.enonic.xp.app.users.lib.auth.CreateIdProviderHandler');
9797

9898
bean.setName(required(params, 'name'));
@@ -113,7 +113,7 @@ exports.createIdProvider = function (params) {
113113
* @param {object} [params.permissions] Id provider permissions.
114114
* @returns {object} The updated id provider.
115115
*/
116-
exports.modifyIdProvider = function (params) {
116+
export function modifyIdProvider(params) {
117117
var bean = __.newBean('com.enonic.xp.app.users.lib.auth.ModifyIdProviderHandler');
118118

119119
bean.setIdProviderKey(required(params, 'key'));
@@ -130,12 +130,12 @@ exports.modifyIdProvider = function (params) {
130130
* @param {string} params.keys Array of id provider keys to delete.
131131
* @returns {object} the id providers specified, or null if it doesn't exist.
132132
*/
133-
exports.deleteIdProviders = function (params) {
133+
export function deleteIdProviders(params) {
134134
var bean = __.newBean('com.enonic.xp.app.users.lib.auth.DeleteIdProvidersHandler');
135135
bean.setIdProviderKeys(__.toScriptValue(required(params, 'keys')));
136136
return __.toNativeObject(bean.deleteIdProviders());
137137
};
138138

139-
exports.isAdmin = function() {
140-
return authLib.hasRole(Roles.ADMIN);
139+
export function isAdmin() {
140+
return hasRole(Roles.ADMIN);
141141
};

src/main/resources/lib/common.js renamed to src/main/resources/lib/common.ts

+52-54
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,49 @@
1-
var nodeLib = require('/lib/xp/node');
2-
var namePrettyfier = Java.type('com.enonic.xp.name.NamePrettyfier');
1+
import { connect } from '/lib/xp/node';
32

4-
var REPO_NAME = 'system-repo';
5-
var REPO_BRANCH = 'master';
6-
var MAX_COUNT = -1;
7-
var SYSTEM_ADMIN = 'role:system.admin';
3+
const namePrettyfier = Java.type('com.enonic.xp.name.NamePrettyfier');
84

9-
var UserItemType = exports.UserItemType = {
5+
const REPO_NAME = 'system-repo';
6+
const REPO_BRANCH = 'master';
7+
const MAX_COUNT = -1;
8+
const SYSTEM_ADMIN = 'role:system.admin';
9+
10+
export const UserItemType = {
1011
ROLE: 'ROLE',
1112
USER: 'USER',
1213
GROUP: 'GROUP',
13-
ID_PROVIDER: 'ID_PROVIDER'
14-
};
15-
exports.UserItemType.all = function () {
16-
return [
17-
UserItemType.ROLE,
18-
UserItemType.USER,
19-
UserItemType.GROUP,
20-
UserItemType.ID_PROVIDER
21-
];
14+
ID_PROVIDER: 'ID_PROVIDER',
15+
all: () => {
16+
return [
17+
UserItemType.ROLE,
18+
UserItemType.USER,
19+
UserItemType.GROUP,
20+
UserItemType.ID_PROVIDER
21+
];
22+
}
2223
};
2324

24-
var PrincipalType = exports.PrincipalType = {
25+
export const PrincipalType = {
2526
ROLE: 'ROLE',
2627
USER: 'USER',
27-
GROUP: 'GROUP'
28-
};
29-
exports.PrincipalType.all = function () {
30-
return [PrincipalType.ROLE, PrincipalType.USER, PrincipalType.GROUP];
28+
GROUP: 'GROUP',
29+
all: () => {
30+
return [PrincipalType.ROLE, PrincipalType.USER, PrincipalType.GROUP];
31+
}
3132
};
3233

33-
exports.singleOrArray = function (value) {
34+
export function singleOrArray(value) {
3435
return value && value.length === 1 ? value[0] : value;
3536
};
3637

37-
function isString(str) {
38+
export function isString(str) {
3839
return (typeof str === 'string') || (str instanceof String);
3940
}
4041

41-
exports.isString = isString;
42-
43-
exports.refresh = function (repo) {
42+
export function refresh(repo) {
4443
newConnection(repo).refresh('SEARCH');
4544
};
4645

47-
exports.required = function (params, name, skipTrimming) {
46+
export function required(params, name, skipTrimming?: boolean) {
4847
var value = params[name];
4948
if (value === undefined || value === null) {
5049
throw new Error("Parameter '" + name + "' is required");
@@ -55,23 +54,24 @@ exports.required = function (params, name, skipTrimming) {
5554
return value;
5655
};
5756

58-
exports.default = function (params, name, defaultValue) {
57+
export default function(params, name, defaultValue) {
5958
var value = params[name];
6059
if (value === undefined || value === null) {
6160
return defaultValue;
6261
}
6362
return value;
6463
};
6564

66-
exports.getByIds = function (ids, repo) {
65+
export function getByIds(ids, repo?: string) {
6766
return newConnection(repo).get(ids);
6867
};
6968

70-
exports.delete = function (ids, repo) {
69+
function _delete(ids, repo) {
7170
return newConnection(repo).delete(ids);
72-
};
71+
}
72+
export { _delete as delete };
7373

74-
exports.keysToPaths = function (keys) {
74+
export function keysToPaths(keys) {
7575
return keys.map(function (key) {
7676
if (isIdProvider(key)) {
7777
return '/identity/' + idProviderFromKey(key);
@@ -99,27 +99,27 @@ exports.keysToPaths = function (keys) {
9999
});
100100
};
101101

102-
exports.isUser = function isUser(key) {
103-
return exports.typeFromKey(key).toUpperCase() === PrincipalType.USER;
102+
export function isUser(key) {
103+
return typeFromKey(key).toUpperCase() === PrincipalType.USER;
104104
};
105105

106-
exports.isGroup = function isGroup(key) {
107-
return exports.typeFromKey(key).toUpperCase() === PrincipalType.GROUP;
106+
export function isGroup(key) {
107+
return typeFromKey(key).toUpperCase() === PrincipalType.GROUP;
108108
};
109109

110-
exports.isRole = function isRole(key) {
111-
return exports.typeFromKey(key).toUpperCase() === PrincipalType.ROLE;
110+
export function isRole(key) {
111+
return typeFromKey(key).toUpperCase() === PrincipalType.ROLE;
112112
};
113113

114-
exports.isIdProvider = function isIdProvider(key) {
114+
export function isIdProvider(key) {
115115
return splitKey(key).length === 1;
116116
};
117117

118-
exports.isSystemAdmin = function isSystemAdmin(key) {
118+
export function isSystemAdmin(key) {
119119
return key === SYSTEM_ADMIN;
120120
}
121121

122-
exports.createQueryByField = function (field, values) {
122+
export function createQueryByField(field, values) {
123123
if (!values || !field) {
124124
return null;
125125
}
@@ -137,7 +137,7 @@ function serializeValue(value) {
137137
return typeof value === 'string' ? '"' + value + '"' : value;
138138
}
139139

140-
exports.extensionFromMimeType = function (mimeType) {
140+
export function extensionFromMimeType (mimeType) {
141141
var ext = '';
142142
if (mimeType.indexOf('image/png') > -1) {
143143
ext = '.png';
@@ -167,7 +167,7 @@ function splitKey(key) {
167167
return parts;
168168
}
169169

170-
exports.idProviderFromKey = function idProviderFromKey(key) {
170+
export function idProviderFromKey(key) {
171171
var parts = splitKey(key);
172172
if (parts[0].toUpperCase() === PrincipalType.ROLE) {
173173
throw new Error(
@@ -177,27 +177,27 @@ exports.idProviderFromKey = function idProviderFromKey(key) {
177177
return parts.length === 1 ? parts[0] : parts[1];
178178
};
179179

180-
exports.nameFromKey = function nameFromKey(key) {
180+
export function nameFromKey(key) {
181181
var parts = splitKey(key);
182182
if (parts.length === 1) {
183183
throw new Error("Key don't have name [" + key + ']');
184184
}
185185
return parts[0].toUpperCase() !== PrincipalType.ROLE ? parts[2] : parts[1];
186186
};
187187

188-
exports.typeFromKey = function typeFromKey(key) {
188+
export function typeFromKey(key) {
189189
var parts = splitKey(key);
190190
if (parts.length === 1) {
191191
throw new Error("Key don't have type [" + key + ']');
192192
}
193193
return parts[0];
194194
};
195195

196-
exports.prettifyName = function (text) {
196+
export function prettifyName(text) {
197197
return namePrettyfier.create(text);
198198
};
199199

200-
exports.querySingle = function (query, repo) {
200+
export function querySingle(query, repo) {
201201
var results = queryAll({
202202
start: 0,
203203
count: 1,
@@ -207,15 +207,15 @@ exports.querySingle = function (query, repo) {
207207
return results.total === 1 ? results.hits[0] : null;
208208
};
209209

210-
exports.create = function (params, repo) {
210+
export function create(params, repo) {
211211
return newConnection(repo).create(params);
212212
};
213213

214-
exports.update = function (params, repo) {
214+
export function update(params, repo) {
215215
return newConnection(repo).modify(params);
216216
};
217217

218-
exports.queryAll = function queryAll(params, repo) {
218+
export function queryAll(params, repo?: string) {
219219
var start = params.start || 0;
220220
var count = params.count == null ? MAX_COUNT : params.count;
221221

@@ -245,11 +245,9 @@ exports.queryAll = function queryAll(params, repo) {
245245
};
246246
};
247247

248-
function newConnection(repo, branch) {
249-
return nodeLib.connect({
248+
export function newConnection(repo: string, branch?: string) {
249+
return connect({
250250
repoId: repo || REPO_NAME,
251251
branch: branch || REPO_BRANCH
252252
});
253253
}
254-
255-
exports.newConnection = newConnection;
File renamed without changes.

src/main/resources/lib/idproviders.js

-52
This file was deleted.

0 commit comments

Comments
 (0)