forked from juice-shop/juice-shop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.ts
139 lines (125 loc) · 2.65 KB
/
types.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
import { type Model } from 'sequelize/types'
export interface Challenge extends Model {
name: string
category: string
description: string
solved: boolean
difficulty: number
hint: string
hintUrl: string
mitigationUrl?: string
key: string
disabledEnv?: string | string[]
tutorial?: { order: number }
tags?: string[]
tutorialOrder?: number
}
export interface User extends Model {
id: number
username?: string
email: string
password: string
customDomain?: string
key: string
role: string
deletedFlag?: boolean
profileImage?: string
securityQuestion?: {
id: number
answer: string
}
feedback?: {
comment: string
rating: number
}
address?: Address[]
card?: Card[]
totpSecret?: string
walletBalance?: number
lastLoginIp?: string
}
export interface Delivery extends Model {
name: string
price: number
deluxePrice: number
eta: number
icon: string
}
export interface Address extends Model {
fullName: string
mobileNum: number
zipCode: string
streetAddress: string
city: string
state: string
country: string
}
export interface Card extends Model {
fullName: string
cardNum: number | string
expMonth: number
expYear: number
}
export interface Product extends Model {
id: number
name: string
description: string
price: number
deluxePrice?: number
quantity?: number
limitPerUser?: number
image?: string
reviews?: Review[]
deletedDate?: string
deletedAt?: Date | string
useForChristmasSpecialChallenge?: boolean
keywordsForPastebinDataLeakChallenge?: string[]
urlForProductTamperingChallenge?: string
fileForRetrieveBlueprintChallenge?: string
exifForBlueprintChallenge?: string[]
}
export interface Review extends Model {
text: string
author: string
liked: boolean
likedBy: string[]
}
export interface Memory extends Model {
image: string
imagePath: string
caption: string
user: string
geoStalkingMetaSecurityQuestion?: number
geoStalkingMetaSecurityAnswer?: string
geoStalkingVisualSecurityQuestion?: number
geoStalkingVisualSecurityAnswer?: string
}
export interface Recycle extends Model {
UserId: number
quantity: number
AddressId: number
date: string
isPickup: boolean
}
export interface SecurityQuestion extends Model {
question: string
}
export interface SecurityAnswer extends Model {
answer: string
UserId: number
SecurityQuestionId: number
}
export interface Basket extends Model {
id: number
Products: Product[]
coupon: string
}
export interface BasketItem extends Model {
ProductId: number
BasketId: number
quantity: number
}
export interface Captcha extends Model {
captcha: string
answer: string
}