aboutsummaryrefslogtreecommitdiffstats
path: root/db/normalized/user_preferences.js
blob: 9864f4eba3800acf33f64645b4b163cbaa88be4d (plain) (blame)
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
const { DataTypes } = require('sequelize');

const attributes = {
  id: {
    type: DataTypes.INTEGER(11),
    primaryKey: true,
    autoIncrement: true,
    allowNull: false
  },
  user_id: {
    type: DataTypes.INTEGER(11),
    references: { model: User, key: 'id' },
    allowNull: false,
    comment: "Referral granted to this user (updated when token used)"
  },
  username: {
    type: DataTypes.STRING(255),
    allowNull: false,
  },
  gravitar: {
    type: DataTypes.STRING(255),
  },
  fiat: {
    type: DataTypes.BOOLEAN,
    defaultValue: true,
    allowNull: false,
    comment: "What is this for ?"
  },
  default_crypto_unit: {
    type: DataTypes.ENUM,
    values: ['SAT', 'BTC'],
    defaultValue: 'SAT',
    allowNull: false
  },
  default_currency_code: {
    type: DataTypes.INTEGER(11),
    references: { model: Currency, key: 'code' },
    defaultValue: "CAD",
    allowNull: false
  },
  currencies: {
    type: DataTypes.JSON,
    allowNull: false,
    defaultValue: ["USD"],
    comment: "List of currency options to show for this user",
  }
}

const options = {
  tableName: "user_preferences",
  comment: "settings that can be controlled by users themselves",
  timestamps: true,
  createdAt: 'created_at',
  updatedAt: 'updated_at',
  indexes: [
    {fields: ['user_id']}
  ]
};

db["UserPreference"] = db.define("user_preferences_model", attributes, options);