@exclusive-website/types 1.3.0 → 1.3.2

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/src/types.ts CHANGED
@@ -1,210 +1,197 @@
1
- import { AvailableService, BreastSize, ContactMethod, DayStatus, ExperienceLevel, HairColor, HairLength, Language, NationalityOption, OtherOption, Practice, ServicesFor, ServiceType, SexualOrientation, ShaveStatus, SpecialService, Location, AgeRange } from "./filterEnums";
2
-
3
- export interface ModelDTO {
4
- id: number;
5
- media: {
6
- images: string[];
7
- videos: string[];
8
- };
9
- identity: {
10
- nickname: string;
11
- nationality: NationalityOption;
12
- languages: Language[];
13
- sexualOrientation: SexualOrientation;
14
- phoneNumber: string;
15
- };
16
- location: {
17
- city: Location;
18
- };
19
- physical: {
20
- age: number;
21
- weight: number;
22
- height: number;
23
- breastSize: BreastSize;
24
- hairColor: HairColor;
25
- hairLength: HairLength;
26
- shaveStatus: ShaveStatus;
27
- hasTattoo: boolean;
28
- hasPiercing: boolean;
29
- isSmoker: boolean;
30
- };
31
- servicesInfo: {
32
- serviceType: ServiceType;
33
- experience: ExperienceLevel;
34
- services: AvailableService[];
35
- servicesFor: ServicesFor[];
36
- otherSpecialServices: OtherOption[];
37
- specialServices: SpecialService[];
38
- practices: Practice[];
39
- };
40
- listing: {
41
- isNew: boolean;
42
- isTopped: boolean;
43
- isAvailable: boolean;
44
- listingExpired: boolean;
45
- description: string;
46
- contactMethods: ContactMethod[];
47
- };
48
- schedule: ScheduleDTO;
49
- }
50
-
51
- export interface ListingDTO {
52
- id: string;
53
- contact: ContactDTO;
54
- additionalInfo: AdditionalInfoDTO;
55
- about: AboutDTO;
56
- languages: Language[];
57
- services: Record<AvailableService, boolean>;
58
- specialServices: Record<SpecialService, boolean>;
59
- images: string[];
60
- videos: string[];
61
- }
62
-
63
- export interface ContactDTO {
64
- name: string;
65
- phone: string;
66
- location: Location;
67
- address: string;
68
- methods: Record<ContactMethod, boolean>
69
- }
70
-
71
- export interface AdditionalInfoDTO {
72
- nationality: NationalityOption;
73
- experience: ExperienceLevel;
74
- age: AgeRange;
75
- services: Record<ServiceType, boolean>;
76
- offersTo: Record<ServicesFor, boolean>;
77
- }
78
-
79
- export interface AboutDTO {
80
- height: number | null;
81
- weight: number | null;
82
- shoeSize: number | null;
83
- breastSize: BreastSize;
84
- implants: boolean;
85
- pubicStyle: ShaveStatus;
86
- orientation: SexualOrientation;
87
- smoker: boolean;
88
- piercing: boolean;
89
- tattoo: boolean;
90
- hairColor: HairColor;
91
- hairLength: HairLength;
92
- }
93
-
94
- export type CardDTO = Pick<
95
- ModelDTO,
96
- "id" | "media" | "identity" | "location" | "physical" | "listing"
97
- >;
98
-
99
- export interface ModelListingDTO {
100
- id: string;
101
- listingId: string;
102
- nickname: string;
103
- city: string;
104
- image: string[];
105
- activityStatus: "active" | "inactive";
106
- approved: boolean;
107
- expirationTime: number;
108
- listingExpired: boolean;
109
- toppedDuration: number;
110
- toppedExpired: boolean;
111
- views: number;
112
- creationDate: string;
113
- inModelDashboard: boolean;
114
- }
115
-
116
- export type ActivityStatus = "active" | "inactive";
117
-
118
- export type SupportedCurrency = "EUR" | "CZK" | null;
119
-
120
- //SECURITY
121
- export interface RegisterUserDto {
122
- email: string;
123
- password: string;
124
- }
125
-
126
- export interface LoginUserDto {
127
- email: string;
128
- password: string;
129
- }
130
-
131
- export interface JwtDto {
132
- token: string;
133
- }
134
-
135
- //SCHEDULE
136
- export interface TimeRange {
137
- from: string; // Format: "HH:mm"
138
- to: string; // Format: "HH:mm"
139
- }
140
-
141
- export interface DaySchedule {
142
- status: DayStatus;
143
- delivery?: boolean; // Optional, only relevant for PRACUJEM
144
- workingHours?: TimeRange; // Optional, only for PRACUJEM with delivery
145
- }
146
-
147
- export interface ScheduleDTO {
148
- monday: DaySchedule;
149
- tuesday: DaySchedule;
150
- wednesday: DaySchedule;
151
- thursday: DaySchedule;
152
- friday: DaySchedule;
153
- saturday: DaySchedule;
154
- sunday: DaySchedule;
155
- }
156
-
157
- //PAYMENT
158
- export interface PaymentOptionDTO {
159
- id: string;
160
- title: string;
161
- description: string;
162
- images?:
163
- {
164
- url: string,
165
- alt: string,
166
- width: number,
167
- height: number,
168
- }[],
169
- }
170
-
171
- export interface ChargingOption {
172
- cost: number;
173
- currency: SupportedCurrency;
174
- duration: string;
175
- id?: string; //id for radio
176
- }
177
-
178
- export interface FreeOfChargeOption {
179
- amount: string; // "bez"
180
- }
181
-
182
- export interface InfoPoint {
183
- point: string;
184
- }
185
-
186
- export interface ListingPricingDTO {
187
- id: string;
188
- title: string;
189
- description: string;
190
- chargingOptions: ChargingOption[];
191
- infoPoints: InfoPoint[];
192
- }
193
-
194
- export interface ToppedPricingDTO {
195
- id: string;
196
- title: string;
197
- description: string;
198
- displayFreeOfChargeOption: boolean;
199
- freeOfChargeOption?: FreeOfChargeOption;
200
- generalTopped: {
201
- title: string;
202
- description: string;
203
- chargingOptions: ChargingOption[];
204
- }
205
- countyTopped: {
206
- title: string;
207
- description: string;
208
- chargingOptions: ChargingOption[];
209
- }
1
+ import {
2
+ AgeRange,
3
+ BreastSize,
4
+ ContactMethod,
5
+ DayStatus,
6
+ ExperienceLevel,
7
+ HairColor,
8
+ HairLength,
9
+ Language,
10
+ Location,
11
+ NationalityOption, OtherPractise, Practise,
12
+ ServicesFor,
13
+ ServiceType,
14
+ SexualOrientation,
15
+ ShaveStatus,
16
+ } from "./filterEnums";
17
+
18
+ export interface ModelWriteDto {
19
+ nickname: string
20
+ phoneNumber: string
21
+ isClir: boolean
22
+ contactMethods: ContactMethod[]
23
+ nationality: NationalityOption
24
+ experience: ExperienceLevel
25
+ age: number
26
+ serviceType: ServiceType
27
+ servicesFor: ServicesFor[]
28
+ height: number
29
+ weight: number
30
+ feetSize: number
31
+ breastSize: number
32
+ isSiliconeBreast: boolean
33
+ shaveStatus: ShaveStatus
34
+ sexualOrientation: SexualOrientation
35
+ isSmoker: boolean
36
+ hasPiercing: boolean
37
+ hasTattoo: boolean
38
+ hairColor: HairColor
39
+ hairLength: HairLength
40
+ language: Language[]
41
+ description: string
42
+ practice: Practise[]
43
+ otherService: OtherPractise[]
44
+
45
+ region: Location
46
+ address: string
47
+ workingTime: DaySchedule[]
48
+ featuredImage: number
49
+ media: number[]
50
+ }
51
+
52
+ export interface ModelShortReadDto {
53
+ nickname: string
54
+ age: number
55
+ region: Location
56
+ isNew: boolean
57
+ isTopped: boolean
58
+ isAvailable: boolean
59
+ featuredImage: string
60
+ photos: string[]
61
+ height: number
62
+ weight: number
63
+ breastSize: number
64
+ hairColor: HairColor
65
+ hairLength: HairLength
66
+ }
67
+
68
+ export interface ModelReadDto {
69
+ id: number
70
+ nickname: string
71
+ age: number
72
+ region: Location
73
+ isNew: boolean
74
+ isTopped: boolean
75
+ isAvailable: boolean
76
+ featuredImage: string
77
+ photos: string[]
78
+ height: number
79
+ weight: number
80
+ breastSize: number
81
+ hairColor: HairColor
82
+ hairLength: HairLength
83
+ isSmoker: boolean
84
+ shaveStatus: ShaveStatus
85
+ hasPiercing: boolean
86
+ hasTattoo: boolean
87
+ experience: ExperienceLevel
88
+ serviceType: ServiceType
89
+ nationality: NationalityOption
90
+ language: Language[]
91
+ servicesFor: ServicesFor[]
92
+ description: string
93
+ practice: Practise[]
94
+ otherService: OtherPractise[]
95
+
96
+ phoneNumber: string
97
+ isClir: boolean
98
+ contactMethods: ContactMethod[]
99
+ workingTime: DaySchedule[]
100
+ seenCounter: number
101
+ created: Date
102
+ }
103
+
104
+ export type SupportedCurrency = "EUR" | "CZK" | null;
105
+
106
+ //SECURITY
107
+ export interface RegisterUserDto {
108
+ email: string;
109
+ password: string;
110
+ }
111
+
112
+ export interface LoginUserDto {
113
+ email: string;
114
+ password: string;
115
+ }
116
+
117
+ export interface JwtDto {
118
+ token: string;
119
+ }
120
+
121
+ //SCHEDULE
122
+ export interface TimeRange {
123
+ from: string; // Format: "HH:mm"
124
+ to: string; // Format: "HH:mm"
125
+ }
126
+
127
+ export interface DaySchedule {
128
+ status: DayStatus;
129
+ delivery?: boolean; // Optional, only relevant for PRACUJEM
130
+ workingTimeFrom: String;
131
+ workingTimeTo: String;
132
+ }
133
+
134
+ export interface ScheduleDTO {
135
+ monday: DaySchedule;
136
+ tuesday: DaySchedule;
137
+ wednesday: DaySchedule;
138
+ thursday: DaySchedule;
139
+ friday: DaySchedule;
140
+ saturday: DaySchedule;
141
+ sunday: DaySchedule;
142
+ }
143
+
144
+ //PAYMENT
145
+ export interface PaymentOptionDTO {
146
+ id: string;
147
+ title: string;
148
+ description: string;
149
+ images?:
150
+ {
151
+ url: string,
152
+ alt: string,
153
+ width: number,
154
+ height: number,
155
+ }[],
156
+ }
157
+
158
+ export interface ChargingOption {
159
+ cost: number;
160
+ currency: SupportedCurrency;
161
+ duration: string;
162
+ id?: string; //id for radio
163
+ }
164
+
165
+ export interface FreeOfChargeOption {
166
+ amount: string; // "bez"
167
+ }
168
+
169
+ export interface InfoPoint {
170
+ point: string;
171
+ }
172
+
173
+ export interface ListingPricingDTO {
174
+ id: string;
175
+ title: string;
176
+ description: string;
177
+ chargingOptions: ChargingOption[];
178
+ infoPoints: InfoPoint[];
179
+ }
180
+
181
+ export interface ToppedPricingDTO {
182
+ id: string;
183
+ title: string;
184
+ description: string;
185
+ displayFreeOfChargeOption: boolean;
186
+ freeOfChargeOption?: FreeOfChargeOption;
187
+ generalTopped: {
188
+ title: string;
189
+ description: string;
190
+ chargingOptions: ChargingOption[];
191
+ }
192
+ countyTopped: {
193
+ title: string;
194
+ description: string;
195
+ chargingOptions: ChargingOption[];
196
+ }
210
197
  }
package/tsconfig.json CHANGED
@@ -1,15 +1,15 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2015",
4
- "module": "ESNext",
5
- "declaration": true,
6
- "outDir": "dist",
7
- "rootDir": "src",
8
- "moduleResolution": "Node",
9
- "esModuleInterop": true,
10
- "forceConsistentCasingInFileNames": true,
11
- "strict": true,
12
- "skipLibCheck": true
13
- },
14
- "include": ["src"]
15
- }
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2015",
4
+ "module": "ESNext",
5
+ "declaration": true,
6
+ "outDir": "dist",
7
+ "rootDir": "src",
8
+ "moduleResolution": "Node",
9
+ "esModuleInterop": true,
10
+ "forceConsistentCasingInFileNames": true,
11
+ "strict": true,
12
+ "skipLibCheck": true
13
+ },
14
+ "include": ["src"]
15
+ }