larvituser 0.19.0 → 0.20.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.
- package/README.md +74 -99
- package/dbmigration/2.js +18 -57
- package/dist/dataWriter.d.ts +27 -0
- package/dist/dataWriter.d.ts.map +1 -0
- package/dist/dataWriter.js +204 -0
- package/dist/dataWriter.js.map +1 -0
- package/dist/helpers.d.ts +19 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +60 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +156 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +418 -0
- package/dist/index.js.map +1 -0
- package/dist/userBase.d.ts +53 -0
- package/dist/userBase.d.ts.map +1 -0
- package/dist/userBase.js +120 -0
- package/dist/userBase.js.map +1 -0
- package/dist/users.d.ts +43 -0
- package/dist/users.d.ts.map +1 -0
- package/dist/users.js +186 -0
- package/dist/users.js.map +1 -0
- package/package.json +28 -12
- package/.eslintignore +0 -1
- package/.eslintrc +0 -35
- package/.travis.yml +0 -22
- package/config/db_travis.json +0 -9
- package/dataWriter.js +0 -716
- package/helpers.js +0 -110
- package/index.js +0 -953
- package/renovate.json +0 -9
- package/test/00test.js +0 -850
- package/test/98lint.js +0 -9
- package/users.js +0 -281
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { LogInstance } from 'larvitutils';
|
|
2
|
+
import { UserLib } from './index';
|
|
3
|
+
export declare type UserBaseOptions = {
|
|
4
|
+
userInstance: UserLib;
|
|
5
|
+
log: LogInstance;
|
|
6
|
+
uuid: string;
|
|
7
|
+
username: string;
|
|
8
|
+
passwordIsFalse: boolean;
|
|
9
|
+
fields?: Record<string, string[]>;
|
|
10
|
+
};
|
|
11
|
+
export declare class UserBase {
|
|
12
|
+
private userInstance;
|
|
13
|
+
private log;
|
|
14
|
+
uuid: string;
|
|
15
|
+
username: string;
|
|
16
|
+
passwordIsFalse: boolean;
|
|
17
|
+
fields: Record<string, string[]>;
|
|
18
|
+
constructor(options: UserBaseOptions);
|
|
19
|
+
/**
|
|
20
|
+
* Add a field with value
|
|
21
|
+
*
|
|
22
|
+
* @param {string} name -
|
|
23
|
+
* @param {string} value -
|
|
24
|
+
* @returns {Promise<void>} -
|
|
25
|
+
*/
|
|
26
|
+
addField(name: string, value: string | string[]): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Adds one or more fields with values to the user object. Does not overwrite existing values. It is possible to add the same value multiple times
|
|
29
|
+
*
|
|
30
|
+
* @param {object} fields - field name as key, field values as array to that key - ex: {'role': ['admin','user']}
|
|
31
|
+
* @returns {Promise<void>} -
|
|
32
|
+
*/
|
|
33
|
+
addFields(fields: Record<string, string | string[]>): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Replace all fields
|
|
36
|
+
* IMPORTANT!!! Will clear all data not given in the fields parameter
|
|
37
|
+
*
|
|
38
|
+
* @param {object} fields - field name as key, field values as array to that key - ex: {'role': ['admin','user']}
|
|
39
|
+
* @returns {Promise<void>} -
|
|
40
|
+
*/
|
|
41
|
+
replaceFields(fields: Record<string, string | string[]>): Promise<void>;
|
|
42
|
+
rm(): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Remove a field from this user
|
|
45
|
+
*
|
|
46
|
+
* @param {string} name -
|
|
47
|
+
* @returns {Promise<void>} -
|
|
48
|
+
*/
|
|
49
|
+
rmField(name: string): Promise<void>;
|
|
50
|
+
setPassword(newPassword: string): Promise<void>;
|
|
51
|
+
setUsername(newUsername: string): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=userBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userBase.d.ts","sourceRoot":"","sources":["../src/userBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKlC,oBAAY,eAAe,GAAG;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,WAAW,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAClC,CAAC;AAEF,qBAAa,QAAQ;IACpB,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,GAAG,CAAc;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAE5B,OAAO,EAAE,eAAe;IAUpC;;;;;;OAMG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE;;;;;OAKG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzE;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBvE,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IAezB;;;;;OAKG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/C,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAYrD"}
|
package/dist/userBase.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UserBase = void 0;
|
|
4
|
+
const helpers_1 = require("./helpers");
|
|
5
|
+
const topLogPrefix = 'larvituser: userBase.ts:';
|
|
6
|
+
class UserBase {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
this.userInstance = options.userInstance;
|
|
9
|
+
this.log = options.log;
|
|
10
|
+
this.uuid = options.uuid;
|
|
11
|
+
this.username = options.username;
|
|
12
|
+
this.passwordIsFalse = options.passwordIsFalse;
|
|
13
|
+
this.fields = options.fields ?? {};
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Add a field with value
|
|
17
|
+
*
|
|
18
|
+
* @param {string} name -
|
|
19
|
+
* @param {string} value -
|
|
20
|
+
* @returns {Promise<void>} -
|
|
21
|
+
*/
|
|
22
|
+
async addField(name, value) {
|
|
23
|
+
await this.addFields({ [name]: value });
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Adds one or more fields with values to the user object. Does not overwrite existing values. It is possible to add the same value multiple times
|
|
27
|
+
*
|
|
28
|
+
* @param {object} fields - field name as key, field values as array to that key - ex: {'role': ['admin','user']}
|
|
29
|
+
* @returns {Promise<void>} -
|
|
30
|
+
*/
|
|
31
|
+
async addFields(fields) {
|
|
32
|
+
var _a;
|
|
33
|
+
const logPrefix = `${topLogPrefix} UserBase.addFields() -`;
|
|
34
|
+
if (!this.uuid) {
|
|
35
|
+
const err = new Error('Cannot add field; no user loaded');
|
|
36
|
+
this.log.verbose(`${logPrefix} ${err.message}`);
|
|
37
|
+
throw err;
|
|
38
|
+
}
|
|
39
|
+
await this.userInstance.addUserDataFields(this.uuid, fields);
|
|
40
|
+
for (const key in fields) {
|
|
41
|
+
const value = (0, helpers_1.arrayify)(fields[key]);
|
|
42
|
+
(_a = this.fields)[key] ?? (_a[key] = []);
|
|
43
|
+
this.fields[key].push(...value);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Replace all fields
|
|
48
|
+
* IMPORTANT!!! Will clear all data not given in the fields parameter
|
|
49
|
+
*
|
|
50
|
+
* @param {object} fields - field name as key, field values as array to that key - ex: {'role': ['admin','user']}
|
|
51
|
+
* @returns {Promise<void>} -
|
|
52
|
+
*/
|
|
53
|
+
async replaceFields(fields) {
|
|
54
|
+
const logPrefix = `${topLogPrefix} UserBase.replaceFields() -`;
|
|
55
|
+
if (!this.uuid) {
|
|
56
|
+
const err = new Error('Cannot replace fields; no user loaded');
|
|
57
|
+
this.log.verbose(`${logPrefix} ${err.message}`);
|
|
58
|
+
throw err;
|
|
59
|
+
}
|
|
60
|
+
await this.userInstance.replaceUserFields(this.uuid, fields);
|
|
61
|
+
// Reload everything
|
|
62
|
+
const user = await this.userInstance.fromUuid(this.uuid);
|
|
63
|
+
// Non-trivial to test
|
|
64
|
+
/* istanbul ignore if */
|
|
65
|
+
if (typeof user === 'boolean') {
|
|
66
|
+
const err = new Error(`Failed to load user after replacing fields, userUuid: ${this.uuid}`);
|
|
67
|
+
this.log.verbose(`${logPrefix} ${err.message}`);
|
|
68
|
+
throw err;
|
|
69
|
+
}
|
|
70
|
+
this.fields = user.fields;
|
|
71
|
+
}
|
|
72
|
+
async rm() {
|
|
73
|
+
const logPrefix = `${topLogPrefix} UserBase.rm() -`;
|
|
74
|
+
if (!this.uuid) {
|
|
75
|
+
const err = new Error('Cannot remove field; no user loaded');
|
|
76
|
+
this.log.verbose(`${logPrefix} ${err.message}`);
|
|
77
|
+
throw err;
|
|
78
|
+
}
|
|
79
|
+
await this.userInstance.rmUser(this.uuid);
|
|
80
|
+
this.username = '';
|
|
81
|
+
this.fields = {};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Remove a field from this user
|
|
85
|
+
*
|
|
86
|
+
* @param {string} name -
|
|
87
|
+
* @returns {Promise<void>} -
|
|
88
|
+
*/
|
|
89
|
+
async rmField(name) {
|
|
90
|
+
const logPrefix = `${topLogPrefix} UserBase.rmField() -`;
|
|
91
|
+
if (!this.uuid) {
|
|
92
|
+
const err = new Error('Cannot remove field; no user loaded');
|
|
93
|
+
this.log.verbose(`${logPrefix} ${err.message}`);
|
|
94
|
+
throw err;
|
|
95
|
+
}
|
|
96
|
+
await this.userInstance.rmUserField(this.uuid, name);
|
|
97
|
+
delete this.fields[name];
|
|
98
|
+
}
|
|
99
|
+
async setPassword(newPassword) {
|
|
100
|
+
const logPrefix = `${topLogPrefix} UserBase.setPassword() -`;
|
|
101
|
+
if (!this.uuid) {
|
|
102
|
+
const err = new Error('Cannot set password; no user loaded');
|
|
103
|
+
this.log.verbose(`${logPrefix} ${err.message}`);
|
|
104
|
+
throw err;
|
|
105
|
+
}
|
|
106
|
+
await this.userInstance.setPassword(this.uuid, newPassword);
|
|
107
|
+
}
|
|
108
|
+
async setUsername(newUsername) {
|
|
109
|
+
const logPrefix = `${topLogPrefix} UserBase.setUsername() -`;
|
|
110
|
+
if (!this.uuid) {
|
|
111
|
+
const err = new Error('Cannot set username; no user loaded');
|
|
112
|
+
this.log.verbose(`${logPrefix} ${err.message}`);
|
|
113
|
+
throw err;
|
|
114
|
+
}
|
|
115
|
+
await this.userInstance.setUsername(this.uuid, newUsername);
|
|
116
|
+
this.username = newUsername;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.UserBase = UserBase;
|
|
120
|
+
//# sourceMappingURL=userBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userBase.js","sourceRoot":"","sources":["../src/userBase.ts"],"names":[],"mappings":"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"}
|
package/dist/users.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { LogInstance } from 'larvitutils';
|
|
2
|
+
export declare type UsersOptions = {
|
|
3
|
+
db: any;
|
|
4
|
+
limit?: string;
|
|
5
|
+
log?: LogInstance;
|
|
6
|
+
matchAllFields?: Record<string, string | Array<string>>;
|
|
7
|
+
matchAllFieldsQ?: Record<string, string | Array<string>>;
|
|
8
|
+
matchExistingFields?: string[];
|
|
9
|
+
offset?: string;
|
|
10
|
+
order?: {
|
|
11
|
+
by?: string;
|
|
12
|
+
direction?: 'asc' | 'desc';
|
|
13
|
+
};
|
|
14
|
+
q?: string;
|
|
15
|
+
returnFields?: string[];
|
|
16
|
+
uuids?: string | string[];
|
|
17
|
+
};
|
|
18
|
+
export declare type UserFields = {
|
|
19
|
+
[key: string]: string[];
|
|
20
|
+
};
|
|
21
|
+
export declare type UserModel = {
|
|
22
|
+
uuid: string;
|
|
23
|
+
username: string;
|
|
24
|
+
fields: UserFields;
|
|
25
|
+
};
|
|
26
|
+
export declare class Users {
|
|
27
|
+
private log;
|
|
28
|
+
private lUtils;
|
|
29
|
+
private options;
|
|
30
|
+
constructor(options: UsersOptions);
|
|
31
|
+
/**
|
|
32
|
+
* Gets distinct data values from speciefied field for all users
|
|
33
|
+
*
|
|
34
|
+
* @param {string} fieldName - the name of the field
|
|
35
|
+
* @returns {Array<string>} - an array with values liek ['value1', 'value2']
|
|
36
|
+
*/
|
|
37
|
+
getFieldData(fieldName: string): Promise<string[]>;
|
|
38
|
+
get(): Promise<{
|
|
39
|
+
users: Array<UserModel>;
|
|
40
|
+
totalElements: number;
|
|
41
|
+
}>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=users.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../src/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,WAAW,EAAS,MAAM,aAAa,CAAC;AAKtD,oBAAY,YAAY,GAAG;IAC1B,EAAE,EAAE,GAAG,CAAC;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;KAC3B,CAAC;IACF,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,oBAAY,UAAU,GAAG;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvB,CAAC;AAEF,oBAAY,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF,qBAAa,KAAK;IACjB,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAA4B;gBAE/B,OAAO,EAAE,YAAY;IAQjC;;;;;OAKG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQlD,GAAG,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CA0LxE"}
|
package/dist/users.js
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Users = void 0;
|
|
4
|
+
const larvitutils_1 = require("larvitutils");
|
|
5
|
+
const helpers_1 = require("./helpers");
|
|
6
|
+
const topLogPrefix = 'larvituser: users.ts';
|
|
7
|
+
class Users {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
if (!options.db)
|
|
10
|
+
throw new Error('Required option "db" is missing');
|
|
11
|
+
this.log = options.log ?? new larvitutils_1.Log();
|
|
12
|
+
this.lUtils = new larvitutils_1.Utils({ log: this.log });
|
|
13
|
+
this.options = options;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Gets distinct data values from speciefied field for all users
|
|
17
|
+
*
|
|
18
|
+
* @param {string} fieldName - the name of the field
|
|
19
|
+
* @returns {Array<string>} - an array with values liek ['value1', 'value2']
|
|
20
|
+
*/
|
|
21
|
+
async getFieldData(fieldName) {
|
|
22
|
+
const { db } = this.options;
|
|
23
|
+
const sql = 'SELECT DISTINCT d.data FROM user_users_data d JOIN user_data_fields f ON d.fieldUuid = f.uuid WHERE f.name = "' + fieldName + '"';
|
|
24
|
+
const { rows } = await db.query(sql);
|
|
25
|
+
return rows.map((r) => r.data);
|
|
26
|
+
}
|
|
27
|
+
async get() {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
const { log, options, lUtils } = this;
|
|
30
|
+
const { db } = options;
|
|
31
|
+
const logPrefix = `${topLogPrefix} get() -`;
|
|
32
|
+
const dbFields = [];
|
|
33
|
+
let sqlWhere = '';
|
|
34
|
+
// Build where-statement
|
|
35
|
+
if (options.matchExistingFields && options.matchExistingFields.length) {
|
|
36
|
+
sqlWhere += 'AND uuid IN (\n';
|
|
37
|
+
sqlWhere += 'SELECT DISTINCT userUuid FROM user_users_data WHERE fieldUuid IN (\n';
|
|
38
|
+
sqlWhere += 'SELECT uuid FROM user_data_fields WHERE\n';
|
|
39
|
+
for (const matchExsistingField of options.matchExistingFields) {
|
|
40
|
+
sqlWhere += 'name = ? OR ';
|
|
41
|
+
dbFields.push(matchExsistingField);
|
|
42
|
+
}
|
|
43
|
+
sqlWhere = sqlWhere.substring(0, sqlWhere.length - 4) + '))\n';
|
|
44
|
+
}
|
|
45
|
+
if (options.matchAllFields && Object.keys(options.matchAllFields).length) {
|
|
46
|
+
for (const field in options.matchAllFields) {
|
|
47
|
+
sqlWhere += 'AND uuid IN (SELECT userUuid FROM user_users_data WHERE data = ?\n'
|
|
48
|
+
+ ' AND fieldUuid = (SELECT uuid FROM user_data_fields WHERE name = ?))';
|
|
49
|
+
dbFields.push(options.matchAllFields[field]);
|
|
50
|
+
dbFields.push(field);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (options.matchAllFieldsQ && Object.keys(options.matchAllFieldsQ).length) {
|
|
54
|
+
for (const field in options.matchAllFieldsQ) {
|
|
55
|
+
sqlWhere += 'AND uuid IN (SELECT userUuid FROM user_users_data WHERE data LIKE ?\n'
|
|
56
|
+
+ ' AND fieldUuid = (SELECT uuid FROM user_data_fields WHERE name = ?))';
|
|
57
|
+
dbFields.push('%' + options.matchAllFieldsQ[field] + '%');
|
|
58
|
+
dbFields.push(field);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (options.q) {
|
|
62
|
+
sqlWhere += ' AND (\n';
|
|
63
|
+
sqlWhere += ' uuid IN (SELECT userUuid FROM user_users_data WHERE data LIKE ?)\n';
|
|
64
|
+
sqlWhere += ' OR username LIKE ?\n';
|
|
65
|
+
sqlWhere += ')\n';
|
|
66
|
+
dbFields.push('%' + options.q + '%');
|
|
67
|
+
dbFields.push('%' + options.q + '%');
|
|
68
|
+
}
|
|
69
|
+
if (options.uuids) {
|
|
70
|
+
const uuids = (0, helpers_1.arrayify)(options.uuids)
|
|
71
|
+
.filter(uuid => {
|
|
72
|
+
const uuidBuffer = lUtils.uuidToBuffer(uuid);
|
|
73
|
+
if (uuidBuffer === false) {
|
|
74
|
+
log.warn(`${logPrefix} Invalid field uuid "${uuid}", skipping`);
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
});
|
|
79
|
+
if (!uuids.length) {
|
|
80
|
+
sqlWhere += ' AND 1 = 2\n';
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
sqlWhere += ' AND uuid IN (';
|
|
84
|
+
for (const uuid of uuids) {
|
|
85
|
+
const uuidBuffer = lUtils.uuidToBuffer(uuid);
|
|
86
|
+
sqlWhere += '?,';
|
|
87
|
+
dbFields.push(uuidBuffer);
|
|
88
|
+
}
|
|
89
|
+
sqlWhere = sqlWhere.substring(0, sqlWhere.length - 1) + ')\n';
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
const dbCon = await db.getConnection();
|
|
93
|
+
const mainDbFields = dbFields.slice(0);
|
|
94
|
+
const returnFields = options.returnFields ? (0, helpers_1.arrayify)(options.returnFields) : undefined;
|
|
95
|
+
let sql = 'SELECT user_users.uuid as uuid, user_users.username as username';
|
|
96
|
+
// SORT ORDERING
|
|
97
|
+
if (options.order !== undefined && typeof options.order === 'object') {
|
|
98
|
+
const allowedSortables = ['uuid', 'username', ...returnFields ?? []];
|
|
99
|
+
if (options.order.by !== undefined && allowedSortables.includes(options.order.by)) {
|
|
100
|
+
if (options.order.by !== 'uuid' && options.order.by !== 'username') {
|
|
101
|
+
sql += ', group_concat(user_users_data.data) as ' + dbCon.escapeId(options.order.by) + ' FROM user_users ';
|
|
102
|
+
sql += 'LEFT JOIN user_users_data on (user_users_data.fieldUuid = (SELECT uuid FROM user_data_fields WHERE name = ?) AND user_users_data.userUuid = user_users.uuid) ';
|
|
103
|
+
sql += 'WHERE 1 ';
|
|
104
|
+
mainDbFields.unshift(options.order.by);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
sql += ' FROM user_users WHERE 1 ';
|
|
108
|
+
}
|
|
109
|
+
sql += sqlWhere;
|
|
110
|
+
sql += ' GROUP BY uuid';
|
|
111
|
+
sql += ' ORDER BY ' + dbCon.escapeId(options.order.by);
|
|
112
|
+
if (options.order?.direction?.toUpperCase() !== 'DESC') {
|
|
113
|
+
sql += ' ASC';
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
sql += ' DESC';
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
throw new Error('The sorting column did not exist in the \'returnFields\' array');
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
sql += ' FROM user_users WHERE 1 ' + sqlWhere;
|
|
125
|
+
}
|
|
126
|
+
if (options.limit && !isNaN(parseInt(options.limit))) {
|
|
127
|
+
sql += ' LIMIT ' + parseInt(options.limit);
|
|
128
|
+
if (options.offset && !isNaN(parseInt(options.offset))) {
|
|
129
|
+
sql += ' OFFSET ' + parseInt(options.offset);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
const { rows } = await dbCon.query(sql, mainDbFields);
|
|
133
|
+
dbCon.release();
|
|
134
|
+
const users = [];
|
|
135
|
+
for (const row of rows) {
|
|
136
|
+
const user = {
|
|
137
|
+
uuid: String(lUtils.formatUuid(row.uuid)),
|
|
138
|
+
username: row.username,
|
|
139
|
+
fields: {},
|
|
140
|
+
};
|
|
141
|
+
users.push(user);
|
|
142
|
+
}
|
|
143
|
+
// Fetch field data for users, if requested
|
|
144
|
+
if (returnFields && returnFields.length > 0) {
|
|
145
|
+
for (const user of users) {
|
|
146
|
+
const uuidBuffer = lUtils.uuidToBuffer(user.uuid);
|
|
147
|
+
// Non-tivial to test
|
|
148
|
+
/* istanbul ignore if */
|
|
149
|
+
if (uuidBuffer === false) {
|
|
150
|
+
log.warn(`${logPrefix} Invalid user uuid: "${user.uuid}", skipping`);
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
const subFields = [];
|
|
154
|
+
let sql = 'SELECT uf.uuid AS fieldUuid,\n' +
|
|
155
|
+
'uf.name AS fieldName,\n' +
|
|
156
|
+
'ud.data AS fieldData,\n' +
|
|
157
|
+
'ud.userUuid AS userUuid\n' +
|
|
158
|
+
'FROM\n' +
|
|
159
|
+
'user_data_fields uf\n' +
|
|
160
|
+
'LEFT JOIN user_users_data ud ON ud.fieldUuid = uf.uuid\n' +
|
|
161
|
+
'WHERE uf.name IN (';
|
|
162
|
+
for (const fn of returnFields) {
|
|
163
|
+
sql += '?,';
|
|
164
|
+
subFields.push(fn);
|
|
165
|
+
}
|
|
166
|
+
sql = sql.substring(0, sql.length - 1);
|
|
167
|
+
sql += ') AND ud.userUuid = ?';
|
|
168
|
+
subFields.push(uuidBuffer);
|
|
169
|
+
const { rows } = await db.query(sql, subFields);
|
|
170
|
+
for (const row of rows) {
|
|
171
|
+
if (!row.fieldUuid)
|
|
172
|
+
continue;
|
|
173
|
+
(_a = user.fields)[_b = row.fieldName] ?? (_a[_b] = []);
|
|
174
|
+
user.fields[row.fieldName].push(row.fieldData);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
// Total number of elements
|
|
179
|
+
const totalElementsSql = 'SELECT COUNT(*) AS totalElements FROM user_users WHERE 1 ' + sqlWhere;
|
|
180
|
+
const { rows: totalElementsRows } = await db.query(totalElementsSql, dbFields);
|
|
181
|
+
const totalElements = totalElementsRows[0].totalElements;
|
|
182
|
+
return { users, totalElements };
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
exports.Users = Users;
|
|
186
|
+
//# sourceMappingURL=users.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../src/users.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "larvituser",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.4",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Mikael 'Lilleman' Göransson",
|
|
6
6
|
"email": "lilleman@larvit.se",
|
|
@@ -8,28 +8,44 @@
|
|
|
8
8
|
},
|
|
9
9
|
"contributors": [],
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"larvitdbmigration": "^4.0.1",
|
|
16
|
-
"larvitutils": "^2.0.0",
|
|
17
|
-
"uuid": "^3.3.2"
|
|
11
|
+
"bcryptjs": "2.4.3",
|
|
12
|
+
"larvitdbmigration": "6.0.0",
|
|
13
|
+
"larvitutils": "5.0.0",
|
|
14
|
+
"uuid": "8.3.2"
|
|
18
15
|
},
|
|
19
16
|
"description": "User module for node.js",
|
|
20
17
|
"devDependencies": {
|
|
18
|
+
"@istanbuljs/nyc-config-typescript": "1.0.2",
|
|
19
|
+
"@types/bcryptjs": "2.4.2",
|
|
20
|
+
"@types/mocha": "9.0.0",
|
|
21
|
+
"@types/node": "17.0.8",
|
|
22
|
+
"@types/uuid": "8.3.4",
|
|
23
|
+
"@typescript-eslint/eslint-plugin": "5.9.1",
|
|
24
|
+
"@typescript-eslint/parser": "5.9.1",
|
|
25
|
+
"eslint": "8.6.0",
|
|
21
26
|
"freeport": "1.0.5",
|
|
22
|
-
"
|
|
23
|
-
"mocha
|
|
27
|
+
"larvitdb": "3.2.0",
|
|
28
|
+
"mocha": "9.1.3",
|
|
29
|
+
"mocha-eslint": "7.0.0",
|
|
30
|
+
"nyc": "15.1.0",
|
|
31
|
+
"ts-node": "10.4.0",
|
|
32
|
+
"typescript": "4.5.4"
|
|
24
33
|
},
|
|
25
34
|
"scripts": {
|
|
26
|
-
"
|
|
35
|
+
"build": "rm -rf dist/* && tsc",
|
|
36
|
+
"lint": "eslint src/*.ts test/*.ts",
|
|
37
|
+
"test": "npm run lint && npm run test:unit",
|
|
38
|
+
"test:unit": "nyc mocha --exit --bail -r ts-node/register 'test/**/*.ts'"
|
|
27
39
|
},
|
|
28
40
|
"keywords": [
|
|
29
41
|
"auth",
|
|
30
42
|
"user"
|
|
31
43
|
],
|
|
32
|
-
"main": "index.js",
|
|
44
|
+
"main": "dist/index.js",
|
|
45
|
+
"files": [
|
|
46
|
+
"/dist",
|
|
47
|
+
"/dbmigration"
|
|
48
|
+
],
|
|
33
49
|
"repository": {
|
|
34
50
|
"url": "https://github.com/larvit/larvituser",
|
|
35
51
|
"type": "git"
|
package/.eslintignore
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
node_modules/*
|
package/.eslintrc
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"env": {
|
|
3
|
-
"es6": true,
|
|
4
|
-
"mocha": true,
|
|
5
|
-
"node": true
|
|
6
|
-
},
|
|
7
|
-
"rules": {
|
|
8
|
-
"brace-style": ["error", "1tbs", { "allowSingleLine": true }],
|
|
9
|
-
"camelcase": [0],
|
|
10
|
-
"comma-spacing": [2, {"before": false, "after": true}],
|
|
11
|
-
"eol-last": [0],
|
|
12
|
-
"function-paren-newline": ["error", "multiline"],
|
|
13
|
-
"indent": ["error", "tab"],
|
|
14
|
-
"key-spacing": [0],
|
|
15
|
-
"keyword-spacing": ["error", {"before": true, "after": true}],
|
|
16
|
-
"no-mixed-requires": [0],
|
|
17
|
-
"no-multi-spaces": [0],
|
|
18
|
-
"no-process-exit": [0],
|
|
19
|
-
"no-shadow": [0],
|
|
20
|
-
"no-underscore-dangle": [0],
|
|
21
|
-
"no-unused-expressions": [2],
|
|
22
|
-
"no-unused-vars": [2],
|
|
23
|
-
"no-use-before-define": [0],
|
|
24
|
-
"one-var": [2],
|
|
25
|
-
"quote-props": ["error", "always", {"keywords": true, "unnecessary": true, "numbers": true}],
|
|
26
|
-
"quotes": [2, "single"],
|
|
27
|
-
"semi": [2, "always"],
|
|
28
|
-
"space-before-blocks": ["error", "always"],
|
|
29
|
-
"space-before-function-paren": ["error", {"anonymous": "always", "named": "never", "asyncArrow": "always"}],
|
|
30
|
-
"space-infix-ops": [2],
|
|
31
|
-
"space-unary-ops": [1, { "words": true, "nonwords": true }],
|
|
32
|
-
"strict": [2, "global"],
|
|
33
|
-
"vars-on-top": [2]
|
|
34
|
-
}
|
|
35
|
-
}
|
package/.travis.yml
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
language: node_js
|
|
2
|
-
|
|
3
|
-
node_js:
|
|
4
|
-
- 8
|
|
5
|
-
- 10
|
|
6
|
-
- 11
|
|
7
|
-
|
|
8
|
-
notifications:
|
|
9
|
-
email:
|
|
10
|
-
- lilleman@larvit.se
|
|
11
|
-
- tobias@nublar.se
|
|
12
|
-
|
|
13
|
-
install:
|
|
14
|
-
- npm i
|
|
15
|
-
|
|
16
|
-
before_script:
|
|
17
|
-
- mysql -e 'CREATE DATABASE test'
|
|
18
|
-
|
|
19
|
-
script: DBCONFFILE=db_travis.json mocha --exit
|
|
20
|
-
|
|
21
|
-
addons:
|
|
22
|
-
mariadb: 10.3
|