@exclusive-website/types 1.1.5 → 1.1.6

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 +77 -142
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.6",
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,99 @@
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;
7
+ }
8
+
9
+ export interface LocationInfo {
10
+ city: Location;
11
11
  availability: AvailabilityStatus;
12
+ }
13
+
14
+ export interface PhysicalAttributes {
12
15
  age: number;
13
16
  weight: number;
14
17
  height: number;
15
- chestSize: string;
16
- hairColor: string;
17
- isSmoker: boolean;
18
+ breastSize: BreastSize;
19
+ hairColor: HairColor;
20
+ hairLength: HairLength;
21
+ shaveStatus: ShaveStatus;
18
22
  hasTattoo: boolean;
19
23
  hasPiercing: boolean;
20
- shaveStatus: ShaveStatus;
21
- experience: ExperienceLevel;
22
- serviceType: ServiceType;
23
- nationality: Nationality;
24
+ isSmoker: boolean;
25
+ }
26
+
27
+ export interface Identity {
28
+ nickname: string;
29
+ nationality: NationalityOption;
24
30
  languages: Language[];
25
- servicesFor: string[];
26
- description: string;
27
- services: string[];
28
- otherSpecialServices: string[];
31
+ sexualOrientation: SexualOrientation;
29
32
  phoneNumber: string;
33
+ }
34
+
35
+ export interface Services {
36
+ serviceType: ServiceType;
37
+ experience: ExperienceLevel;
38
+ services: AvailableService[];
39
+ servicesFor: ServicesFor[];
40
+ otherSpecialServices: OtherOption[];
41
+ specialServices: SpecialService[];
42
+ practices: Practice[];
43
+ }
44
+
45
+ export interface ListingMeta {
46
+ isNew: boolean;
47
+ isTopped: boolean;
30
48
  listingExpired: boolean;
49
+ description: string;
50
+ contactMethods: ContactMethod[];
51
+ }
52
+
53
+ export interface ModelDTO {
54
+ id: number;
55
+ media: MediaInfo;
56
+ location: LocationInfo;
57
+ identity: Identity;
58
+ physical: PhysicalAttributes;
59
+ servicesInfo: Services;
60
+ listing: ListingMeta;
31
61
  }
32
62
 
33
63
  export type ActivityStatus = "active" | "inactive";
34
64
 
35
65
  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;
66
+ id: string;
67
+ listingId: string;
68
+ nickname: string;
69
+ city: string;
70
+ image: string[]; //array of urls
71
+ activityStatus: ActivityStatus;
72
+ approved: boolean;
73
+ expirationTime: number; //in hours
74
+ toppedDuration: number; //in hours
75
+ views: number;
76
+ creationDate: string; //format DD.MM.YYYY
77
+ inModelDashboard: boolean;
78
+ }
79
+
80
+ export type SupportedCurrency = "EUR" | "CZK" | null;
81
+
82
+ export interface RegisterUserDto {
83
+ email: string;
84
+ password: string;
85
+ }
86
+
87
+ export interface LoginUserDto {
88
+ email: string;
89
+ password: string;
48
90
  }
49
91
 
92
+ export interface JwtDto {
93
+ token: string;
94
+ }
95
+
96
+ //PRICING
50
97
  export interface ChargingOption {
51
98
  cost: number;
52
99
  currency: SupportedCurrency;
@@ -86,116 +133,4 @@ export interface ToppedPricingDTO {
86
133
  description: string;
87
134
  chargingOptions: ChargingOption[];
88
135
  }
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
136
  }