Skip to content

Commit d7d5490

Browse files
committed
Refactored SMS XML handling code
1 parent a245729 commit d7d5490

File tree

1 file changed

+37
-34
lines changed

1 file changed

+37
-34
lines changed

src/payments/sms.xml.ts

+37-34
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,47 @@
11
import { sha256 } from '../lib/hashing.js';
22

3+
const charset = 'ABCDEFGHIJKLMNPQRSTUVWXYZ123456789';
4+
const params = ['send_number', 'sms_text', 'sms_from', 'sms_id', 'sign'];
5+
const codes = {
6+
'7055': 0.25,
7+
'7136': 0.5,
8+
'7255': 1.0,
9+
'7355': 1.5,
10+
'7455': 2.0,
11+
'7555': 2.5,
12+
'7636': 3.0,
13+
'77464': 3.5,
14+
'78464': 4.0,
15+
'7936': 4.5,
16+
'91055': 5.0,
17+
'91155': 5.5,
18+
'91455': 7.0,
19+
'91664': 8.0,
20+
'91955': 9.5,
21+
'92055': 10.0,
22+
'92555': 12.5,
23+
'70908': 0.25,
24+
'71908': 0.5,
25+
'72998': 1,
26+
'73908': 1.5,
27+
'75908': 2.5,
28+
'76908': 3,
29+
'79908': 4.5,
30+
'91998': 9.5,
31+
'92598': 12.5,
32+
};
33+
34+
type Codes = keyof typeof codes;
35+
336
export class SmsXml {
4-
private static charset = 'ABCDEFGHIJKLMNPQRSTUVWXYZ123456789';
5-
private static params = ['send_number', 'sms_text', 'sms_from', 'sms_id', 'sign'];
6-
private static codes: any = {
7-
'7055': 0.25,
8-
'7136': 0.5,
9-
'7255': 1.0,
10-
'7355': 1.5,
11-
'7455': 2.0,
12-
'7555': 2.5,
13-
'7636': 3.0,
14-
'77464': 3.5,
15-
'78464': 4.0,
16-
'7936': 4.5,
17-
'91055': 5.0,
18-
'91155': 5.5,
19-
'91455': 7.0,
20-
'91664': 8.0,
21-
'91955': 9.5,
22-
'92055': 10.0,
23-
'92555': 12.5,
24-
'70908': 0.25,
25-
'71908': 0.5,
26-
'72998': 1,
27-
'73908': 1.5,
28-
'75908': 2.5,
29-
'76908': 3,
30-
'79908': 4.5,
31-
'91998': 9.5,
32-
'92598': 12.5,
33-
};
3437

3538
constructor(private apiKey: string) {}
3639

3740
/*
3841
https://docs.simpay.pl/pl/typescript/?typescript#smsxml-odbieranie-informacji-o-sms
3942
*/
4043
checkParameters(map: any): boolean {
41-
for (const param of SmsXml.params) {
44+
for (const param of params) {
4245
if (!map[param]) return false;
4346
}
4447

@@ -52,7 +55,7 @@ export class SmsXml {
5255
let result = '';
5356

5457
for (let i = 0; i < 6; i++) {
55-
result += SmsXml.charset.charAt(this.random(0, SmsXml.charset.length));
58+
result += charset.charAt(this.random(0, charset.length));
5659
}
5760

5861
return result;
@@ -61,8 +64,8 @@ export class SmsXml {
6164
/*
6265
https://docs.simpay.pl/pl/typescript/?typescript#smsxml-odbieranie-informacji-o-sms
6366
*/
64-
getSmsValue(phone: string): number {
65-
return SmsXml.codes[phone];
67+
getSmsValue(phone: Codes): number {
68+
return codes[phone];
6669
}
6770

6871
/*

0 commit comments

Comments
 (0)