@exclusive-website/types 1.1.5 → 1.1.7

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/types.ts +79 -151
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exclusive-website/types",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "description": "A collection of shared types (DTOs and DBEs) for the organization",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/types.ts CHANGED
@@ -1,52 +1,92 @@
1
- import { AvailabilityStatus, AvailableService, ExperienceLevel, Language, ServiceType, SexualOrientation, ShaveStatus, SpecialService } from "./filterEnums";
1
+ import { AvailabilityStatus, AvailableService, BreastSize, ContactMethod, ExperienceLevel, HairColor, HairLength, Language, NationalityOption, OtherOption, Practice, ServicesFor, ServiceType, SexualOrientation, ShaveStatus, SpecialService } from "./filterEnums";
2
2
 
3
- export interface ModelDTO {
4
- id: number;
3
+ // Nested types
4
+ export interface MediaInfo {
5
5
  images: string[];
6
6
  videos: string[];
7
- nickname: string;
8
- isNew: boolean;
9
- isTopped: boolean;
10
- city: string;
11
- availability: AvailabilityStatus;
12
- age: number;
13
- weight: number;
14
- height: number;
15
- chestSize: string;
16
- hairColor: string;
17
- isSmoker: boolean;
18
- hasTattoo: boolean;
19
- hasPiercing: boolean;
20
- shaveStatus: ShaveStatus;
21
- experience: ExperienceLevel;
22
- serviceType: ServiceType;
23
- nationality: Nationality;
24
- languages: Language[];
25
- servicesFor: string[];
26
- description: string;
27
- services: string[];
28
- otherSpecialServices: string[];
29
- phoneNumber: string;
30
- listingExpired: boolean;
7
+ }
8
+
9
+ export interface ModelDTO {
10
+ id: number;
11
+ media: {
12
+ images: string[];
13
+ videos: string[];
14
+ };
15
+ identity: {
16
+ nickname: string;
17
+ nationality: NationalityOption;
18
+ languages: Language[];
19
+ sexualOrientation: SexualOrientation;
20
+ phoneNumber: string;
21
+ };
22
+ location: {
23
+ city: Location;
24
+ availability: AvailabilityStatus;
25
+ };
26
+ physical: {
27
+ age: number;
28
+ weight: number;
29
+ height: number;
30
+ breastSize: BreastSize;
31
+ hairColor: HairColor;
32
+ hairLength: HairLength;
33
+ shaveStatus: ShaveStatus;
34
+ hasTattoo: boolean;
35
+ hasPiercing: boolean;
36
+ isSmoker: boolean;
37
+ };
38
+ servicesInfo: {
39
+ serviceType: ServiceType;
40
+ experience: ExperienceLevel;
41
+ services: AvailableService[];
42
+ servicesFor: ServicesFor[];
43
+ otherSpecialServices: OtherOption[];
44
+ specialServices: SpecialService[];
45
+ practices: Practice[];
46
+ };
47
+ listing: {
48
+ isNew: boolean;
49
+ isTopped: boolean;
50
+ listingExpired: boolean;
51
+ description: string;
52
+ contactMethods: ContactMethod[];
53
+ };
31
54
  }
32
55
 
33
56
  export type ActivityStatus = "active" | "inactive";
34
57
 
35
58
  export interface ModelListingDTO {
36
- id: string;
37
- listingId: string;
38
- nickname: string;
39
- city: string;
40
- image: string[]; //array of urls
41
- activityStatus: ActivityStatus;
42
- approved: boolean;
43
- expirationTime: number; //in hours
44
- toppedDuration: number; //in hours
45
- views: number;
46
- creationDate: string; //format DD.MM.YYYY
47
- inModelDashboard: boolean;
59
+ id: string;
60
+ listingId: string;
61
+ nickname: string;
62
+ city: string;
63
+ image: string[]; //array of urls
64
+ activityStatus: ActivityStatus;
65
+ approved: boolean;
66
+ expirationTime: number; //in hours
67
+ toppedDuration: number; //in hours
68
+ views: number;
69
+ creationDate: string; //format DD.MM.YYYY
70
+ inModelDashboard: boolean;
48
71
  }
49
72
 
73
+ export type SupportedCurrency = "EUR" | "CZK" | null;
74
+
75
+ export interface RegisterUserDto {
76
+ email: string;
77
+ password: string;
78
+ }
79
+
80
+ export interface LoginUserDto {
81
+ email: string;
82
+ password: string;
83
+ }
84
+
85
+ export interface JwtDto {
86
+ token: string;
87
+ }
88
+
89
+ //PRICING
50
90
  export interface ChargingOption {
51
91
  cost: number;
52
92
  currency: SupportedCurrency;
@@ -86,116 +126,4 @@ export interface ToppedPricingDTO {
86
126
  description: string;
87
127
  chargingOptions: ChargingOption[];
88
128
  }
89
- }
90
-
91
- export type SupportedCurrency = "EUR" | "CZK" | null;
92
-
93
- export interface PaymentOptionDTO {
94
- id: string;
95
- title: string;
96
- description: string;
97
- images?:
98
- {
99
- url: string,
100
- alt: string,
101
- width: number,
102
- height: number,
103
- }[],
104
- }
105
-
106
- // TYPE DEFINITIONS
107
- export interface Languages {
108
- slovak: boolean;
109
- english: boolean;
110
- german: boolean;
111
- }
112
-
113
- export type Nationality = Record<Language, string>;
114
-
115
- export interface Contact {
116
- socials: {
117
- phone: string;
118
- clir: boolean;
119
- whatsapp: boolean;
120
- viber: boolean;
121
- sms: boolean;
122
- };
123
- location: {
124
- city: string;
125
- address: string;
126
- };
127
- }
128
-
129
- export interface Media {
130
- url: string;
131
- alt?: string;
132
- }
133
-
134
- export type AvailableServices = Record<AvailableService, boolean>;
135
-
136
- export type SpecialServices = Record<SpecialService, boolean>;
137
-
138
- export interface ServicesDTO {
139
- available: AvailableServices;
140
- special: SpecialServices;
141
- }
142
-
143
- export interface ListingDTO {
144
- id: string;
145
- name: string;
146
- description: string;
147
-
148
- demographics: {
149
- age: number;
150
- nationality: Nationality;
151
- languages: Languages;
152
- };
153
-
154
- contact: Contact;
155
-
156
- about: {
157
- height: number;
158
- weight: number;
159
- footSize: number;
160
- breastSize: string;
161
- breastImplants: boolean;
162
- hairColor: string;
163
- hairLength: string;
164
- tattoo: boolean;
165
- piercing: boolean;
166
- smoker: boolean;
167
- sexualOrientation: SexualOrientation;
168
- shaveStatus: ShaveStatus;
169
- };
170
-
171
- addons: {
172
- experience: string;
173
- targetClientel: {
174
- privat: boolean;
175
- escort: boolean;
176
- men: boolean;
177
- women: boolean;
178
- pairs: boolean;
179
- ztp: boolean;
180
- };
181
- };
182
-
183
- services: ServicesDTO;
184
-
185
- images: Media[];
186
- videos?: Media[];
187
- }
188
-
189
- export interface RegisterUserDto {
190
- email: string;
191
- password: string;
192
- }
193
-
194
- export interface LoginUserDto {
195
- email: string;
196
- password: string;
197
- }
198
-
199
- export interface JwtDto {
200
- token: string;
201
129
  }