@exclusive-website/types 1.0.3 → 1.0.5
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/package.json +1 -1
- package/src/types.ts +217 -0
package/package.json
CHANGED
package/src/types.ts
CHANGED
|
@@ -25,4 +25,221 @@ export interface ModelDTO {
|
|
|
25
25
|
services: string[];
|
|
26
26
|
otherSpecialServices: string[];
|
|
27
27
|
phoneNumber: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type ActivityStatus = "active" | "inactive";
|
|
31
|
+
|
|
32
|
+
export interface ModelListingDTO {
|
|
33
|
+
id: string;
|
|
34
|
+
listingId: string;
|
|
35
|
+
nickname: string;
|
|
36
|
+
city: string;
|
|
37
|
+
image: string[]; //array of urls
|
|
38
|
+
activityStatus: ActivityStatus;
|
|
39
|
+
approved: boolean;
|
|
40
|
+
expirationTime: number; //in hours
|
|
41
|
+
toppedDuration: number; //in hours
|
|
42
|
+
views: number;
|
|
43
|
+
creationDate: string; //format DD.MM.YYYY
|
|
44
|
+
inModelDashboard: boolean;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface ChargingOption {
|
|
48
|
+
cost: number;
|
|
49
|
+
currency: SupportedCurrency;
|
|
50
|
+
duration: string;
|
|
51
|
+
id?: string; //id for radio
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface FreeOfChargeOption {
|
|
55
|
+
amount: string; // "bez"
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export interface InfoPoint {
|
|
59
|
+
point: string;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface ListingPricingDTO {
|
|
63
|
+
id: string;
|
|
64
|
+
title: string;
|
|
65
|
+
description: string;
|
|
66
|
+
chargingOptions: ChargingOption[];
|
|
67
|
+
infoPoints: InfoPoint[];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export interface ToppedPricingDTO {
|
|
71
|
+
id: string;
|
|
72
|
+
title: string;
|
|
73
|
+
description: string;
|
|
74
|
+
displayFreeOfChargeOption: boolean;
|
|
75
|
+
freeOfChargeOption?: FreeOfChargeOption;
|
|
76
|
+
generalTopped: {
|
|
77
|
+
title: string;
|
|
78
|
+
description: string;
|
|
79
|
+
chargingOptions: ChargingOption[];
|
|
80
|
+
}
|
|
81
|
+
countyTopped: {
|
|
82
|
+
title: string;
|
|
83
|
+
description: string;
|
|
84
|
+
chargingOptions: ChargingOption[];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export type SupportedCurrency = "EUR" | "CZK" | null;
|
|
89
|
+
|
|
90
|
+
export interface PaymentOptionDTO {
|
|
91
|
+
id: string;
|
|
92
|
+
title: string;
|
|
93
|
+
description: string;
|
|
94
|
+
images?:
|
|
95
|
+
{
|
|
96
|
+
url: string,
|
|
97
|
+
alt: string,
|
|
98
|
+
width: number,
|
|
99
|
+
height: number,
|
|
100
|
+
}[],
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// ENUMS
|
|
104
|
+
export enum SexualOrientation {
|
|
105
|
+
HETERO = "hetero",
|
|
106
|
+
BI = "bi",
|
|
107
|
+
HOMO = "homo"
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export enum ShaveStatus {
|
|
111
|
+
SHAVED = "shaved",
|
|
112
|
+
PARTIALLY_SHAVED = "partially shaved",
|
|
113
|
+
NOT_SHAVED = "not shaved"
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export enum Language {
|
|
117
|
+
SK = "slovak",
|
|
118
|
+
EN = "english",
|
|
119
|
+
DE = "german"
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export enum AvailableService {
|
|
123
|
+
MASSAGE = "massage",
|
|
124
|
+
HANDJOB = "handjob",
|
|
125
|
+
STRIPTEASE = "striptease",
|
|
126
|
+
MUTUAL_MASSAGE = "mutualMassage",
|
|
127
|
+
FOOTJOB = "footjob",
|
|
128
|
+
FOOT_FETISH = "footFetish",
|
|
129
|
+
AUTOEROTIC = "autoerotic",
|
|
130
|
+
STRAP_ON = "strapOn",
|
|
131
|
+
DOMINANCE = "dominance",
|
|
132
|
+
BONDAGE = "bondage",
|
|
133
|
+
ROLEPLAY = "roleplay"
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export enum SpecialService {
|
|
137
|
+
ANAL = "anal",
|
|
138
|
+
BARE_ORAL = "bareOral",
|
|
139
|
+
CUM_IN_MOUTH = "cumInMouth",
|
|
140
|
+
CUM_ON_FACE = "cumOnFace",
|
|
141
|
+
DEEP_ORAL = "deepOral",
|
|
142
|
+
DOUBLE_PENETRATION = "doublePenetration",
|
|
143
|
+
FISTING = "fisting",
|
|
144
|
+
POSITION_69 = "position69",
|
|
145
|
+
PISSING = "pissing",
|
|
146
|
+
RIMMING = "rimming",
|
|
147
|
+
TOYS = "toys"
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// TYPE DEFINITIONS
|
|
151
|
+
export interface Languages {
|
|
152
|
+
slovak: boolean;
|
|
153
|
+
english: boolean;
|
|
154
|
+
german: boolean;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export type Nationality = Record<Language, string>;
|
|
158
|
+
|
|
159
|
+
export interface Contact {
|
|
160
|
+
socials: {
|
|
161
|
+
phone: string;
|
|
162
|
+
clir: boolean;
|
|
163
|
+
whatsapp: boolean;
|
|
164
|
+
viber: boolean;
|
|
165
|
+
sms: boolean;
|
|
166
|
+
};
|
|
167
|
+
location: {
|
|
168
|
+
city: string;
|
|
169
|
+
address: string;
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export interface Media {
|
|
174
|
+
url: string;
|
|
175
|
+
alt?: string;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export type AvailableServices = Record<AvailableService, boolean>;
|
|
179
|
+
|
|
180
|
+
export type SpecialServices = Record<SpecialService, boolean>;
|
|
181
|
+
|
|
182
|
+
export interface ServicesDTO {
|
|
183
|
+
available: AvailableServices;
|
|
184
|
+
special: SpecialServices;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export interface ListingDTO {
|
|
188
|
+
id: string;
|
|
189
|
+
name: string;
|
|
190
|
+
description: string;
|
|
191
|
+
|
|
192
|
+
demographics: {
|
|
193
|
+
age: number;
|
|
194
|
+
nationality: Nationality;
|
|
195
|
+
languages: Languages;
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
contact: Contact;
|
|
199
|
+
|
|
200
|
+
about: {
|
|
201
|
+
height: number;
|
|
202
|
+
weight: number;
|
|
203
|
+
footSize: number;
|
|
204
|
+
breastSize: string;
|
|
205
|
+
breastImplants: boolean;
|
|
206
|
+
hairColor: string;
|
|
207
|
+
hairLength: string;
|
|
208
|
+
tattoo: boolean;
|
|
209
|
+
piercing: boolean;
|
|
210
|
+
smoker: boolean;
|
|
211
|
+
sexualOrientation: SexualOrientation;
|
|
212
|
+
shaveStatus: ShaveStatus;
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
addons: {
|
|
216
|
+
experience: string;
|
|
217
|
+
targetClientel: {
|
|
218
|
+
privat: boolean;
|
|
219
|
+
escort: boolean;
|
|
220
|
+
men: boolean;
|
|
221
|
+
women: boolean;
|
|
222
|
+
pairs: boolean;
|
|
223
|
+
ztp: boolean;
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
services: ServicesDTO;
|
|
228
|
+
|
|
229
|
+
images: Media[];
|
|
230
|
+
videos?: Media[];
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
export interface RegisterUserDto {
|
|
234
|
+
email: string;
|
|
235
|
+
password: string;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export interface LoginUserDto {
|
|
239
|
+
email: string;
|
|
240
|
+
password: string;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
export interface JwtDto {
|
|
244
|
+
token: string;
|
|
28
245
|
}
|