@etsoo/appscript 1.1.59 → 1.1.63
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/cjs/app/CoreApp.d.ts +43 -0
- package/lib/cjs/app/CoreApp.js +37 -0
- package/lib/mjs/app/CoreApp.d.ts +43 -0
- package/lib/mjs/app/CoreApp.js +37 -0
- package/package.json +4 -2
- package/src/app/CoreApp.ts +73 -0
package/lib/cjs/app/CoreApp.d.ts
CHANGED
|
@@ -87,6 +87,10 @@ export interface ICoreApp<S extends IAppSettings, N, C extends NotificationCallP
|
|
|
87
87
|
* User data
|
|
88
88
|
*/
|
|
89
89
|
userData?: IUserData;
|
|
90
|
+
/**
|
|
91
|
+
* Passphrase for encryption
|
|
92
|
+
*/
|
|
93
|
+
passphrase?: string;
|
|
90
94
|
/**
|
|
91
95
|
* Search input element
|
|
92
96
|
*/
|
|
@@ -113,11 +117,25 @@ export interface ICoreApp<S extends IAppSettings, N, C extends NotificationCallP
|
|
|
113
117
|
* @param culture New culture definition
|
|
114
118
|
*/
|
|
115
119
|
changeCulture(culture: DataTypes.CultureDefinition): void;
|
|
120
|
+
/**
|
|
121
|
+
* Decrypt message
|
|
122
|
+
* @param messageEncrypted Encrypted message
|
|
123
|
+
* @param passphrase Secret passphrase
|
|
124
|
+
* @returns Pure text
|
|
125
|
+
*/
|
|
126
|
+
decrypt(messageEncrypted: string, passphrase: string): string;
|
|
116
127
|
/**
|
|
117
128
|
* Detect IP data, call only one time
|
|
118
129
|
* @param callback Callback will be called when the IP is ready
|
|
119
130
|
*/
|
|
120
131
|
detectIP(callback?: IDetectIPCallback): void;
|
|
132
|
+
/**
|
|
133
|
+
* Encrypt message
|
|
134
|
+
* @param message Message
|
|
135
|
+
* @param passphrase Secret passphrase
|
|
136
|
+
* @returns Result
|
|
137
|
+
*/
|
|
138
|
+
encrypt(message: string, passphrase: string): string;
|
|
121
139
|
/**
|
|
122
140
|
* Format date to string
|
|
123
141
|
* @param input Input date
|
|
@@ -309,6 +327,10 @@ export declare abstract class CoreApp<S extends IAppSettings, N, C extends Notif
|
|
|
309
327
|
* User data
|
|
310
328
|
*/
|
|
311
329
|
userData?: IUserData;
|
|
330
|
+
/**
|
|
331
|
+
* Passphrase for encryption
|
|
332
|
+
*/
|
|
333
|
+
passphrase?: string;
|
|
312
334
|
/**
|
|
313
335
|
* Response token header field name
|
|
314
336
|
*/
|
|
@@ -364,12 +386,33 @@ export declare abstract class CoreApp<S extends IAppSettings, N, C extends Notif
|
|
|
364
386
|
* @param culture New culture definition
|
|
365
387
|
*/
|
|
366
388
|
changeCulture(culture: DataTypes.CultureDefinition): void;
|
|
389
|
+
/**
|
|
390
|
+
* Decrypt message
|
|
391
|
+
* @param messageEncrypted Encrypted message
|
|
392
|
+
* @param passphrase Secret passphrase
|
|
393
|
+
* @returns Pure text
|
|
394
|
+
*/
|
|
395
|
+
decrypt(messageEncrypted: string, passphrase: string): string;
|
|
367
396
|
/**
|
|
368
397
|
* Detect IP data, call only one time
|
|
369
398
|
* @param callback Callback will be called when the IP is ready
|
|
370
399
|
*/
|
|
371
400
|
detectIP(callback?: IDetectIPCallback): void;
|
|
372
401
|
private detectIPCallbacks;
|
|
402
|
+
/**
|
|
403
|
+
* Encrypt message
|
|
404
|
+
* @param message Message
|
|
405
|
+
* @param passphrase Secret passphrase
|
|
406
|
+
* @returns Result
|
|
407
|
+
*/
|
|
408
|
+
encrypt(message: string, passphrase: string): string;
|
|
409
|
+
/**
|
|
410
|
+
* Enchance secret passphrase
|
|
411
|
+
* @param passphrase Secret passphrase
|
|
412
|
+
* @param miliseconds Miliseconds
|
|
413
|
+
* @returns Enhanced passphrase
|
|
414
|
+
*/
|
|
415
|
+
protected encryptionEnhance(passphrase: string, miliseconds: number): string;
|
|
373
416
|
/**
|
|
374
417
|
* Format date to string
|
|
375
418
|
* @param input Input date
|
package/lib/cjs/app/CoreApp.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.CoreApp = void 0;
|
|
|
4
4
|
const notificationbase_1 = require("@etsoo/notificationbase");
|
|
5
5
|
const restclient_1 = require("@etsoo/restclient");
|
|
6
6
|
const shared_1 = require("@etsoo/shared");
|
|
7
|
+
const crypto_js_1 = require("crypto-js");
|
|
7
8
|
const AddressRegion_1 = require("../address/AddressRegion");
|
|
8
9
|
const AddressUtils_1 = require("../address/AddressUtils");
|
|
9
10
|
const ActionResultError_1 = require("../result/ActionResultError");
|
|
@@ -195,6 +196,18 @@ class CoreApp {
|
|
|
195
196
|
region.name = AddressUtils_1.AddressUtils.getRegionLabel(id, this.labelDelegate);
|
|
196
197
|
});
|
|
197
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* Decrypt message
|
|
201
|
+
* @param messageEncrypted Encrypted message
|
|
202
|
+
* @param passphrase Secret passphrase
|
|
203
|
+
* @returns Pure text
|
|
204
|
+
*/
|
|
205
|
+
decrypt(messageEncrypted, passphrase) {
|
|
206
|
+
const pos = messageEncrypted.indexOf('M');
|
|
207
|
+
const miliseconds = parseInt(messageEncrypted.substring(0, pos));
|
|
208
|
+
const message = messageEncrypted.substring(pos + 1);
|
|
209
|
+
return crypto_js_1.AES.decrypt(message, this.encryptionEnhance(passphrase, miliseconds)).toString();
|
|
210
|
+
}
|
|
198
211
|
/**
|
|
199
212
|
* Detect IP data, call only one time
|
|
200
213
|
* @param callback Callback will be called when the IP is ready
|
|
@@ -228,6 +241,30 @@ class CoreApp {
|
|
|
228
241
|
var _a;
|
|
229
242
|
(_a = this.ipDetectCallbacks) === null || _a === void 0 ? void 0 : _a.forEach((f) => f());
|
|
230
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* Encrypt message
|
|
246
|
+
* @param message Message
|
|
247
|
+
* @param passphrase Secret passphrase
|
|
248
|
+
* @returns Result
|
|
249
|
+
*/
|
|
250
|
+
encrypt(message, passphrase) {
|
|
251
|
+
const miliseconds = new Date().getUTCMilliseconds();
|
|
252
|
+
return (miliseconds +
|
|
253
|
+
'M' +
|
|
254
|
+
crypto_js_1.AES.encrypt(message, this.encryptionEnhance(passphrase, miliseconds)).toString());
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Enchance secret passphrase
|
|
258
|
+
* @param passphrase Secret passphrase
|
|
259
|
+
* @param miliseconds Miliseconds
|
|
260
|
+
* @returns Enhanced passphrase
|
|
261
|
+
*/
|
|
262
|
+
encryptionEnhance(passphrase, miliseconds) {
|
|
263
|
+
var _a;
|
|
264
|
+
passphrase += miliseconds.toString();
|
|
265
|
+
passphrase += passphrase.length.toString();
|
|
266
|
+
return passphrase + ((_a = this.passphrase) !== null && _a !== void 0 ? _a : '');
|
|
267
|
+
}
|
|
231
268
|
/**
|
|
232
269
|
* Format date to string
|
|
233
270
|
* @param input Input date
|
package/lib/mjs/app/CoreApp.d.ts
CHANGED
|
@@ -87,6 +87,10 @@ export interface ICoreApp<S extends IAppSettings, N, C extends NotificationCallP
|
|
|
87
87
|
* User data
|
|
88
88
|
*/
|
|
89
89
|
userData?: IUserData;
|
|
90
|
+
/**
|
|
91
|
+
* Passphrase for encryption
|
|
92
|
+
*/
|
|
93
|
+
passphrase?: string;
|
|
90
94
|
/**
|
|
91
95
|
* Search input element
|
|
92
96
|
*/
|
|
@@ -113,11 +117,25 @@ export interface ICoreApp<S extends IAppSettings, N, C extends NotificationCallP
|
|
|
113
117
|
* @param culture New culture definition
|
|
114
118
|
*/
|
|
115
119
|
changeCulture(culture: DataTypes.CultureDefinition): void;
|
|
120
|
+
/**
|
|
121
|
+
* Decrypt message
|
|
122
|
+
* @param messageEncrypted Encrypted message
|
|
123
|
+
* @param passphrase Secret passphrase
|
|
124
|
+
* @returns Pure text
|
|
125
|
+
*/
|
|
126
|
+
decrypt(messageEncrypted: string, passphrase: string): string;
|
|
116
127
|
/**
|
|
117
128
|
* Detect IP data, call only one time
|
|
118
129
|
* @param callback Callback will be called when the IP is ready
|
|
119
130
|
*/
|
|
120
131
|
detectIP(callback?: IDetectIPCallback): void;
|
|
132
|
+
/**
|
|
133
|
+
* Encrypt message
|
|
134
|
+
* @param message Message
|
|
135
|
+
* @param passphrase Secret passphrase
|
|
136
|
+
* @returns Result
|
|
137
|
+
*/
|
|
138
|
+
encrypt(message: string, passphrase: string): string;
|
|
121
139
|
/**
|
|
122
140
|
* Format date to string
|
|
123
141
|
* @param input Input date
|
|
@@ -309,6 +327,10 @@ export declare abstract class CoreApp<S extends IAppSettings, N, C extends Notif
|
|
|
309
327
|
* User data
|
|
310
328
|
*/
|
|
311
329
|
userData?: IUserData;
|
|
330
|
+
/**
|
|
331
|
+
* Passphrase for encryption
|
|
332
|
+
*/
|
|
333
|
+
passphrase?: string;
|
|
312
334
|
/**
|
|
313
335
|
* Response token header field name
|
|
314
336
|
*/
|
|
@@ -364,12 +386,33 @@ export declare abstract class CoreApp<S extends IAppSettings, N, C extends Notif
|
|
|
364
386
|
* @param culture New culture definition
|
|
365
387
|
*/
|
|
366
388
|
changeCulture(culture: DataTypes.CultureDefinition): void;
|
|
389
|
+
/**
|
|
390
|
+
* Decrypt message
|
|
391
|
+
* @param messageEncrypted Encrypted message
|
|
392
|
+
* @param passphrase Secret passphrase
|
|
393
|
+
* @returns Pure text
|
|
394
|
+
*/
|
|
395
|
+
decrypt(messageEncrypted: string, passphrase: string): string;
|
|
367
396
|
/**
|
|
368
397
|
* Detect IP data, call only one time
|
|
369
398
|
* @param callback Callback will be called when the IP is ready
|
|
370
399
|
*/
|
|
371
400
|
detectIP(callback?: IDetectIPCallback): void;
|
|
372
401
|
private detectIPCallbacks;
|
|
402
|
+
/**
|
|
403
|
+
* Encrypt message
|
|
404
|
+
* @param message Message
|
|
405
|
+
* @param passphrase Secret passphrase
|
|
406
|
+
* @returns Result
|
|
407
|
+
*/
|
|
408
|
+
encrypt(message: string, passphrase: string): string;
|
|
409
|
+
/**
|
|
410
|
+
* Enchance secret passphrase
|
|
411
|
+
* @param passphrase Secret passphrase
|
|
412
|
+
* @param miliseconds Miliseconds
|
|
413
|
+
* @returns Enhanced passphrase
|
|
414
|
+
*/
|
|
415
|
+
protected encryptionEnhance(passphrase: string, miliseconds: number): string;
|
|
373
416
|
/**
|
|
374
417
|
* Format date to string
|
|
375
418
|
* @param input Input date
|
package/lib/mjs/app/CoreApp.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NotificationAlign, NotificationMessageType } from '@etsoo/notificationbase';
|
|
2
2
|
import { ApiDataError } from '@etsoo/restclient';
|
|
3
3
|
import { DateUtils, DomUtils, NumberUtils, StorageUtils } from '@etsoo/shared';
|
|
4
|
+
import { AES } from 'crypto-js';
|
|
4
5
|
import { AddressRegion } from '../address/AddressRegion';
|
|
5
6
|
import { AddressUtils } from '../address/AddressUtils';
|
|
6
7
|
import { ActionResultError } from '../result/ActionResultError';
|
|
@@ -192,6 +193,18 @@ export class CoreApp {
|
|
|
192
193
|
region.name = AddressUtils.getRegionLabel(id, this.labelDelegate);
|
|
193
194
|
});
|
|
194
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Decrypt message
|
|
198
|
+
* @param messageEncrypted Encrypted message
|
|
199
|
+
* @param passphrase Secret passphrase
|
|
200
|
+
* @returns Pure text
|
|
201
|
+
*/
|
|
202
|
+
decrypt(messageEncrypted, passphrase) {
|
|
203
|
+
const pos = messageEncrypted.indexOf('M');
|
|
204
|
+
const miliseconds = parseInt(messageEncrypted.substring(0, pos));
|
|
205
|
+
const message = messageEncrypted.substring(pos + 1);
|
|
206
|
+
return AES.decrypt(message, this.encryptionEnhance(passphrase, miliseconds)).toString();
|
|
207
|
+
}
|
|
195
208
|
/**
|
|
196
209
|
* Detect IP data, call only one time
|
|
197
210
|
* @param callback Callback will be called when the IP is ready
|
|
@@ -225,6 +238,30 @@ export class CoreApp {
|
|
|
225
238
|
var _a;
|
|
226
239
|
(_a = this.ipDetectCallbacks) === null || _a === void 0 ? void 0 : _a.forEach((f) => f());
|
|
227
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* Encrypt message
|
|
243
|
+
* @param message Message
|
|
244
|
+
* @param passphrase Secret passphrase
|
|
245
|
+
* @returns Result
|
|
246
|
+
*/
|
|
247
|
+
encrypt(message, passphrase) {
|
|
248
|
+
const miliseconds = new Date().getUTCMilliseconds();
|
|
249
|
+
return (miliseconds +
|
|
250
|
+
'M' +
|
|
251
|
+
AES.encrypt(message, this.encryptionEnhance(passphrase, miliseconds)).toString());
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Enchance secret passphrase
|
|
255
|
+
* @param passphrase Secret passphrase
|
|
256
|
+
* @param miliseconds Miliseconds
|
|
257
|
+
* @returns Enhanced passphrase
|
|
258
|
+
*/
|
|
259
|
+
encryptionEnhance(passphrase, miliseconds) {
|
|
260
|
+
var _a;
|
|
261
|
+
passphrase += miliseconds.toString();
|
|
262
|
+
passphrase += passphrase.length.toString();
|
|
263
|
+
return passphrase + ((_a = this.passphrase) !== null && _a !== void 0 ? _a : '');
|
|
264
|
+
}
|
|
228
265
|
/**
|
|
229
266
|
* Format date to string
|
|
230
267
|
* @param input Input date
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@etsoo/appscript",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.63",
|
|
4
4
|
"description": "Applications shared TypeScript framework",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/mjs/index.js",
|
|
@@ -54,7 +54,9 @@
|
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@etsoo/notificationbase": "^1.0.94",
|
|
56
56
|
"@etsoo/restclient": "^1.0.62",
|
|
57
|
-
"@etsoo/shared": "^1.0.75"
|
|
57
|
+
"@etsoo/shared": "^1.0.75",
|
|
58
|
+
"@types/crypto-js": "^4.0.2",
|
|
59
|
+
"crypto-js": "^4.1.1"
|
|
58
60
|
},
|
|
59
61
|
"devDependencies": {
|
|
60
62
|
"@babel/cli": "^7.16.0",
|
package/src/app/CoreApp.ts
CHANGED
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
NumberUtils,
|
|
15
15
|
StorageUtils
|
|
16
16
|
} from '@etsoo/shared';
|
|
17
|
+
import { AES } from 'crypto-js';
|
|
17
18
|
import { AddressRegion } from '../address/AddressRegion';
|
|
18
19
|
import { AddressUtils } from '../address/AddressUtils';
|
|
19
20
|
import { ActionResultError } from '../result/ActionResultError';
|
|
@@ -128,6 +129,11 @@ export interface ICoreApp<
|
|
|
128
129
|
*/
|
|
129
130
|
userData?: IUserData;
|
|
130
131
|
|
|
132
|
+
/**
|
|
133
|
+
* Passphrase for encryption
|
|
134
|
+
*/
|
|
135
|
+
passphrase?: string;
|
|
136
|
+
|
|
131
137
|
/**
|
|
132
138
|
* Search input element
|
|
133
139
|
*/
|
|
@@ -159,12 +165,28 @@ export interface ICoreApp<
|
|
|
159
165
|
*/
|
|
160
166
|
changeCulture(culture: DataTypes.CultureDefinition): void;
|
|
161
167
|
|
|
168
|
+
/**
|
|
169
|
+
* Decrypt message
|
|
170
|
+
* @param messageEncrypted Encrypted message
|
|
171
|
+
* @param passphrase Secret passphrase
|
|
172
|
+
* @returns Pure text
|
|
173
|
+
*/
|
|
174
|
+
decrypt(messageEncrypted: string, passphrase: string): string;
|
|
175
|
+
|
|
162
176
|
/**
|
|
163
177
|
* Detect IP data, call only one time
|
|
164
178
|
* @param callback Callback will be called when the IP is ready
|
|
165
179
|
*/
|
|
166
180
|
detectIP(callback?: IDetectIPCallback): void;
|
|
167
181
|
|
|
182
|
+
/**
|
|
183
|
+
* Encrypt message
|
|
184
|
+
* @param message Message
|
|
185
|
+
* @param passphrase Secret passphrase
|
|
186
|
+
* @returns Result
|
|
187
|
+
*/
|
|
188
|
+
encrypt(message: string, passphrase: string): string;
|
|
189
|
+
|
|
168
190
|
/**
|
|
169
191
|
* Format date to string
|
|
170
192
|
* @param input Input date
|
|
@@ -415,6 +437,11 @@ export abstract class CoreApp<
|
|
|
415
437
|
*/
|
|
416
438
|
userData?: IUserData;
|
|
417
439
|
|
|
440
|
+
/**
|
|
441
|
+
* Passphrase for encryption
|
|
442
|
+
*/
|
|
443
|
+
passphrase?: string;
|
|
444
|
+
|
|
418
445
|
/**
|
|
419
446
|
* Response token header field name
|
|
420
447
|
*/
|
|
@@ -625,6 +652,22 @@ export abstract class CoreApp<
|
|
|
625
652
|
});
|
|
626
653
|
}
|
|
627
654
|
|
|
655
|
+
/**
|
|
656
|
+
* Decrypt message
|
|
657
|
+
* @param messageEncrypted Encrypted message
|
|
658
|
+
* @param passphrase Secret passphrase
|
|
659
|
+
* @returns Pure text
|
|
660
|
+
*/
|
|
661
|
+
decrypt(messageEncrypted: string, passphrase: string) {
|
|
662
|
+
const pos = messageEncrypted.indexOf('M');
|
|
663
|
+
const miliseconds = parseInt(messageEncrypted.substring(0, pos));
|
|
664
|
+
const message = messageEncrypted.substring(pos + 1);
|
|
665
|
+
return AES.decrypt(
|
|
666
|
+
message,
|
|
667
|
+
this.encryptionEnhance(passphrase, miliseconds)
|
|
668
|
+
).toString();
|
|
669
|
+
}
|
|
670
|
+
|
|
628
671
|
/**
|
|
629
672
|
* Detect IP data, call only one time
|
|
630
673
|
* @param callback Callback will be called when the IP is ready
|
|
@@ -665,6 +708,36 @@ export abstract class CoreApp<
|
|
|
665
708
|
this.ipDetectCallbacks?.forEach((f) => f());
|
|
666
709
|
}
|
|
667
710
|
|
|
711
|
+
/**
|
|
712
|
+
* Encrypt message
|
|
713
|
+
* @param message Message
|
|
714
|
+
* @param passphrase Secret passphrase
|
|
715
|
+
* @returns Result
|
|
716
|
+
*/
|
|
717
|
+
encrypt(message: string, passphrase: string) {
|
|
718
|
+
const miliseconds = new Date().getUTCMilliseconds();
|
|
719
|
+
return (
|
|
720
|
+
miliseconds +
|
|
721
|
+
'M' +
|
|
722
|
+
AES.encrypt(
|
|
723
|
+
message,
|
|
724
|
+
this.encryptionEnhance(passphrase, miliseconds)
|
|
725
|
+
).toString()
|
|
726
|
+
);
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
/**
|
|
730
|
+
* Enchance secret passphrase
|
|
731
|
+
* @param passphrase Secret passphrase
|
|
732
|
+
* @param miliseconds Miliseconds
|
|
733
|
+
* @returns Enhanced passphrase
|
|
734
|
+
*/
|
|
735
|
+
protected encryptionEnhance(passphrase: string, miliseconds: number) {
|
|
736
|
+
passphrase += miliseconds.toString();
|
|
737
|
+
passphrase += passphrase.length.toString();
|
|
738
|
+
return passphrase + (this.passphrase ?? '');
|
|
739
|
+
}
|
|
740
|
+
|
|
668
741
|
/**
|
|
669
742
|
* Format date to string
|
|
670
743
|
* @param input Input date
|