@mytmpvpn/mytmpvpn-common 6.2.0 → 7.0.0
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/dist/src/errors.d.ts
CHANGED
|
@@ -25,3 +25,45 @@ export declare class MinDeleteAfterError extends InvalidVpnConfigError {
|
|
|
25
25
|
export declare class MaxDeleteAfterError extends InvalidVpnConfigError {
|
|
26
26
|
constructor(max: number, given: number);
|
|
27
27
|
}
|
|
28
|
+
export declare enum ReferralErrorCode {
|
|
29
|
+
UNKNOWN = 0,
|
|
30
|
+
INVALID_CODE = 1,
|
|
31
|
+
CODE_EXPIRED = 2,
|
|
32
|
+
CODE_ALREADY_USED = 3,
|
|
33
|
+
SELF_REFERRAL = 4,
|
|
34
|
+
INACTIVE_CODE = 5,
|
|
35
|
+
USER_NOT_ELIGIBLE = 6,
|
|
36
|
+
REWARD_DISTRIBUTION_FAILED = 7,
|
|
37
|
+
SUSPICIOUS_ACTIVITY = 8
|
|
38
|
+
}
|
|
39
|
+
export declare class ReferralServiceError extends MyTmpVpnError {
|
|
40
|
+
constructor(msg: string);
|
|
41
|
+
}
|
|
42
|
+
export declare class IneligibleReferralServiceUserError extends ReferralServiceError {
|
|
43
|
+
constructor(referre: string);
|
|
44
|
+
}
|
|
45
|
+
export declare class DisabledReferralServiceError extends ReferralServiceError {
|
|
46
|
+
constructor();
|
|
47
|
+
}
|
|
48
|
+
export declare class ReferralCodeError extends ReferralServiceError {
|
|
49
|
+
errorCode: ReferralErrorCode;
|
|
50
|
+
constructor(errorCode: ReferralErrorCode, referralCode: string, msg: string);
|
|
51
|
+
}
|
|
52
|
+
export declare class InvalidReferralCodeError extends ReferralCodeError {
|
|
53
|
+
constructor(referralCode: string);
|
|
54
|
+
}
|
|
55
|
+
export declare class UnknownReferralCodeError extends ReferralCodeError {
|
|
56
|
+
constructor(referralCode: string);
|
|
57
|
+
}
|
|
58
|
+
export declare class ExpiredReferralCodeError extends ReferralCodeError {
|
|
59
|
+
constructor(referralCode: string);
|
|
60
|
+
}
|
|
61
|
+
export declare class AlreadyUsedReferralCodeError extends ReferralCodeError {
|
|
62
|
+
constructor(referralCode: string, alreadyUsedReferralCode: string);
|
|
63
|
+
}
|
|
64
|
+
export declare class SelfReferralCodeError extends ReferralCodeError {
|
|
65
|
+
constructor(referralCode: string);
|
|
66
|
+
}
|
|
67
|
+
export declare class InactiveReferralCodeError extends ReferralCodeError {
|
|
68
|
+
constructor(referralCode: string);
|
|
69
|
+
}
|
package/dist/src/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MaxDeleteAfterError = exports.MinDeleteAfterError = exports.NotEnoughPeanutsError = exports.MaxPeanutsError = exports.MinPeanutsError = exports.InvalidVpnConfigError = exports.NegativeBalanceError = exports.InvalidUserConfigError = exports.MyTmpVpnError = void 0;
|
|
3
|
+
exports.InactiveReferralCodeError = exports.SelfReferralCodeError = exports.AlreadyUsedReferralCodeError = exports.ExpiredReferralCodeError = exports.UnknownReferralCodeError = exports.InvalidReferralCodeError = exports.ReferralCodeError = exports.DisabledReferralServiceError = exports.IneligibleReferralServiceUserError = exports.ReferralServiceError = exports.ReferralErrorCode = exports.MaxDeleteAfterError = exports.MinDeleteAfterError = exports.NotEnoughPeanutsError = exports.MaxPeanutsError = exports.MinPeanutsError = exports.InvalidVpnConfigError = exports.NegativeBalanceError = exports.InvalidUserConfigError = exports.MyTmpVpnError = void 0;
|
|
4
4
|
const peanuts_1 = require("./models/peanuts");
|
|
5
5
|
class MyTmpVpnError extends Error {
|
|
6
6
|
constructor(msg) {
|
|
@@ -74,3 +74,96 @@ class MaxDeleteAfterError extends InvalidVpnConfigError {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
exports.MaxDeleteAfterError = MaxDeleteAfterError;
|
|
77
|
+
var ReferralErrorCode;
|
|
78
|
+
(function (ReferralErrorCode) {
|
|
79
|
+
ReferralErrorCode[ReferralErrorCode["UNKNOWN"] = 0] = "UNKNOWN";
|
|
80
|
+
ReferralErrorCode[ReferralErrorCode["INVALID_CODE"] = 1] = "INVALID_CODE";
|
|
81
|
+
ReferralErrorCode[ReferralErrorCode["CODE_EXPIRED"] = 2] = "CODE_EXPIRED";
|
|
82
|
+
ReferralErrorCode[ReferralErrorCode["CODE_ALREADY_USED"] = 3] = "CODE_ALREADY_USED";
|
|
83
|
+
ReferralErrorCode[ReferralErrorCode["SELF_REFERRAL"] = 4] = "SELF_REFERRAL";
|
|
84
|
+
ReferralErrorCode[ReferralErrorCode["INACTIVE_CODE"] = 5] = "INACTIVE_CODE";
|
|
85
|
+
ReferralErrorCode[ReferralErrorCode["USER_NOT_ELIGIBLE"] = 6] = "USER_NOT_ELIGIBLE";
|
|
86
|
+
ReferralErrorCode[ReferralErrorCode["REWARD_DISTRIBUTION_FAILED"] = 7] = "REWARD_DISTRIBUTION_FAILED";
|
|
87
|
+
ReferralErrorCode[ReferralErrorCode["SUSPICIOUS_ACTIVITY"] = 8] = "SUSPICIOUS_ACTIVITY";
|
|
88
|
+
})(ReferralErrorCode = exports.ReferralErrorCode || (exports.ReferralErrorCode = {}));
|
|
89
|
+
class ReferralServiceError extends MyTmpVpnError {
|
|
90
|
+
constructor(msg) {
|
|
91
|
+
super(msg);
|
|
92
|
+
// Set the prototype explicitly.
|
|
93
|
+
Object.setPrototypeOf(this, ReferralServiceError.prototype);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.ReferralServiceError = ReferralServiceError;
|
|
97
|
+
class IneligibleReferralServiceUserError extends ReferralServiceError {
|
|
98
|
+
constructor(referre) {
|
|
99
|
+
super(`ineligible. See referral program conditions.`);
|
|
100
|
+
// Set the prototype explicitly.
|
|
101
|
+
Object.setPrototypeOf(this, IneligibleReferralServiceUserError.prototype);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.IneligibleReferralServiceUserError = IneligibleReferralServiceUserError;
|
|
105
|
+
class DisabledReferralServiceError extends ReferralServiceError {
|
|
106
|
+
constructor() {
|
|
107
|
+
super(`Referral service is currently disabled.`);
|
|
108
|
+
// Set the prototype explicitly.
|
|
109
|
+
Object.setPrototypeOf(this, DisabledReferralServiceError.prototype);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.DisabledReferralServiceError = DisabledReferralServiceError;
|
|
113
|
+
class ReferralCodeError extends ReferralServiceError {
|
|
114
|
+
constructor(errorCode, referralCode, msg) {
|
|
115
|
+
super(`Error with referral code: ${referralCode}: ${msg}`);
|
|
116
|
+
this.errorCode = errorCode;
|
|
117
|
+
// Set the prototype explicitly.
|
|
118
|
+
Object.setPrototypeOf(this, ReferralCodeError.prototype);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.ReferralCodeError = ReferralCodeError;
|
|
122
|
+
class InvalidReferralCodeError extends ReferralCodeError {
|
|
123
|
+
constructor(referralCode) {
|
|
124
|
+
super(ReferralErrorCode.INVALID_CODE, referralCode, `Code must be of 8 hexadecimal digits, e.g.: ABCDEF12`);
|
|
125
|
+
// Set the prototype explicitly.
|
|
126
|
+
Object.setPrototypeOf(this, InvalidReferralCodeError.prototype);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.InvalidReferralCodeError = InvalidReferralCodeError;
|
|
130
|
+
class UnknownReferralCodeError extends ReferralCodeError {
|
|
131
|
+
constructor(referralCode) {
|
|
132
|
+
super(ReferralErrorCode.INVALID_CODE, referralCode, `Unknown code`);
|
|
133
|
+
// Set the prototype explicitly.
|
|
134
|
+
Object.setPrototypeOf(this, UnknownReferralCodeError.prototype);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.UnknownReferralCodeError = UnknownReferralCodeError;
|
|
138
|
+
class ExpiredReferralCodeError extends ReferralCodeError {
|
|
139
|
+
constructor(referralCode) {
|
|
140
|
+
super(ReferralErrorCode.INVALID_CODE, referralCode, `expired`);
|
|
141
|
+
// Set the prototype explicitly.
|
|
142
|
+
Object.setPrototypeOf(this, ExpiredReferralCodeError.prototype);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.ExpiredReferralCodeError = ExpiredReferralCodeError;
|
|
146
|
+
class AlreadyUsedReferralCodeError extends ReferralCodeError {
|
|
147
|
+
constructor(referralCode, alreadyUsedReferralCode) {
|
|
148
|
+
super(ReferralErrorCode.CODE_ALREADY_USED, referralCode, `you have already used a referral code: ${alreadyUsedReferralCode}`);
|
|
149
|
+
// Set the prototype explicitly.
|
|
150
|
+
Object.setPrototypeOf(this, AlreadyUsedReferralCodeError.prototype);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
exports.AlreadyUsedReferralCodeError = AlreadyUsedReferralCodeError;
|
|
154
|
+
class SelfReferralCodeError extends ReferralCodeError {
|
|
155
|
+
constructor(referralCode) {
|
|
156
|
+
super(ReferralErrorCode.SELF_REFERRAL, referralCode, `you cannot use you're own referral code`);
|
|
157
|
+
// Set the prototype explicitly.
|
|
158
|
+
Object.setPrototypeOf(this, SelfReferralCodeError.prototype);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
exports.SelfReferralCodeError = SelfReferralCodeError;
|
|
162
|
+
class InactiveReferralCodeError extends ReferralCodeError {
|
|
163
|
+
constructor(referralCode) {
|
|
164
|
+
super(ReferralErrorCode.INACTIVE_CODE, referralCode, `inactive`);
|
|
165
|
+
// Set the prototype explicitly.
|
|
166
|
+
Object.setPrototypeOf(this, InactiveReferralCodeError.prototype);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.InactiveReferralCodeError = InactiveReferralCodeError;
|
package/dist/src/models/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.uservpn = exports.vpn = void 0;
|
|
3
|
+
exports.referral = exports.uservpn = exports.vpn = void 0;
|
|
4
4
|
exports.vpn = require("./vpn");
|
|
5
5
|
exports.uservpn = require("./uservpn");
|
|
6
|
+
exports.referral = require("./referral");
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export interface ReferralCode {
|
|
2
|
+
code: string;
|
|
3
|
+
createdAt: Date;
|
|
4
|
+
isActive: boolean;
|
|
5
|
+
usageCount: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ReferralStats {
|
|
8
|
+
totalReferrals: number;
|
|
9
|
+
successfulReferrals: number;
|
|
10
|
+
totalRewardsEarned: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ReferralRelationship {
|
|
13
|
+
referralCode: string;
|
|
14
|
+
createdAt: string;
|
|
15
|
+
rewardsProcessed: boolean;
|
|
16
|
+
referrerReward: number;
|
|
17
|
+
refereeReward: number;
|
|
18
|
+
version: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ValidateReferralCodeRequest {
|
|
21
|
+
referralCode: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ValidateReferralCodeResponse {
|
|
24
|
+
isValid?: boolean;
|
|
25
|
+
error?: string;
|
|
26
|
+
}
|
|
27
|
+
export type GetReferralCodeResponse = string;
|
|
28
|
+
export type GetReferrerCodeResponse = string | undefined;
|
|
29
|
+
export type GetReferralStatsResponse = ReferralStats;
|
|
30
|
+
export interface ReferralHistoryItem {
|
|
31
|
+
relationshipId: string;
|
|
32
|
+
referralCode: string;
|
|
33
|
+
createdAt: string;
|
|
34
|
+
rewardsProcessed: boolean;
|
|
35
|
+
referrerReward: number;
|
|
36
|
+
refereeReward: number;
|
|
37
|
+
}
|
|
38
|
+
export interface GetReferralHistoryResponse {
|
|
39
|
+
history: ReferralHistoryItem[];
|
|
40
|
+
pagination: {
|
|
41
|
+
nextToken?: string;
|
|
42
|
+
hasMore: boolean;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export interface GetReferralHistoryRequest {
|
|
46
|
+
limit?: number;
|
|
47
|
+
nextToken?: string;
|
|
48
|
+
}
|
|
49
|
+
export declare function validateReferralCodeSyntax(code: string): void;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateReferralCodeSyntax = void 0;
|
|
4
|
+
const errors_1 = require("../errors");
|
|
5
|
+
const loglevel_1 = require("loglevel");
|
|
6
|
+
function validateReferralCodeSyntax(code) {
|
|
7
|
+
if (code === null || code === undefined) {
|
|
8
|
+
loglevel_1.default.error(`Referral code cannot be null or undefined: `, code);
|
|
9
|
+
throw new errors_1.InvalidReferralCodeError(code);
|
|
10
|
+
}
|
|
11
|
+
if (!code || code.trim() === '') {
|
|
12
|
+
loglevel_1.default.error(`Referral code cannot be empty: `, code);
|
|
13
|
+
throw new errors_1.InvalidReferralCodeError(code);
|
|
14
|
+
}
|
|
15
|
+
if (code.length !== 8) {
|
|
16
|
+
loglevel_1.default.error(`Invalid referral code format: `, code);
|
|
17
|
+
throw new errors_1.InvalidReferralCodeError(code);
|
|
18
|
+
}
|
|
19
|
+
if (!/^[A-Z0-9]{8}$/.test(code)) {
|
|
20
|
+
loglevel_1.default.error(`Referral code must contain only uppercase letters and numbers: `, code);
|
|
21
|
+
throw new errors_1.InvalidReferralCodeError(code);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.validateReferralCodeSyntax = validateReferralCodeSyntax;
|
package/package.json
CHANGED