juice-shop
49 строк · 1.0 Кб
1/*
2* Copyright (c) 2014-2024 Bjoern Kimminich & the OWASP Juice Shop contributors.
3* SPDX-License-Identifier: MIT
4*/
5
6/* jslint node: true */
7
8import {
9Model,
10type InferAttributes,
11type InferCreationAttributes,
12DataTypes,
13type CreationOptional,
14type NonAttribute,
15type Sequelize
16} from 'sequelize'
17import { type ProductModel } from './product'
18
19class Basket extends Model<
20InferAttributes<Basket>,
21InferCreationAttributes<Basket>
22> {
23declare UserId: CreationOptional<number>
24declare id: CreationOptional<number>
25declare coupon: CreationOptional<string> | null
26declare Products?: NonAttribute<ProductModel[]>
27}
28
29const BasketModelInit = (sequelize: Sequelize) => {
30Basket.init(
31{
32id: {
33type: DataTypes.INTEGER,
34primaryKey: true,
35autoIncrement: true
36},
37coupon: DataTypes.STRING,
38UserId: {
39type: DataTypes.INTEGER
40}
41},
42{
43tableName: 'Baskets',
44sequelize
45}
46)
47}
48
49export { Basket as BasketModel, BasketModelInit }
50