juice-shop

Форк
0
/
card.ts 
71 строка · 1.4 Кб
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
import {
8
  Model,
9
  type InferAttributes,
10
  type InferCreationAttributes,
11
  DataTypes,
12
  type CreationOptional,
13
  type Sequelize
14
} from 'sequelize'
15
class Card extends Model<
16
InferAttributes<Card>,
17
InferCreationAttributes<Card>
18
> {
19
  declare UserId: number
20
  declare id: CreationOptional<number>
21
  declare fullName: string
22
  declare cardNum: number
23
  declare expMonth: number
24
  declare expYear: number
25
}
26

27
const CardModelInit = (sequelize: Sequelize) => {
28
  Card.init(
29
    {
30
      UserId: {
31
        type: DataTypes.INTEGER
32
      },
33
      id: {
34
        type: DataTypes.INTEGER,
35
        primaryKey: true,
36
        autoIncrement: true
37
      },
38
      fullName: DataTypes.STRING,
39
      cardNum: {
40
        type: DataTypes.INTEGER,
41
        validate: {
42
          isInt: true,
43
          min: 1000000000000000,
44
          max: 9999999999999998
45
        }
46
      },
47
      expMonth: {
48
        type: DataTypes.INTEGER,
49
        validate: {
50
          isInt: true,
51
          min: 1,
52
          max: 12
53
        }
54
      },
55
      expYear: {
56
        type: DataTypes.INTEGER,
57
        validate: {
58
          isInt: true,
59
          min: 2080,
60
          max: 2099
61
        }
62
      }
63
    },
64
    {
65
      tableName: 'Cards',
66
      sequelize
67
    }
68
  )
69
}
70

71
export { Card as CardModel, CardModelInit }
72

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.