aboutsummaryrefslogtreecommitdiffstats
path: root/db/normalized/user_preferences.js
diff options
context:
space:
mode:
Diffstat (limited to 'db/normalized/user_preferences.js')
-rw-r--r--db/normalized/user_preferences.js72
1 files changed, 15 insertions, 57 deletions
diff --git a/db/normalized/user_preferences.js b/db/normalized/user_preferences.js
index 9864f4eb..fafe5f1a 100644
--- a/db/normalized/user_preferences.js
+++ b/db/normalized/user_preferences.js
@@ -1,60 +1,18 @@
-const { DataTypes } = require('sequelize');
+exports.up = function(knex) {
+ return knex.schema.createTable('user_preferences', function(t) {
+ t.increments('id').unsigned().primary();
+ t.int('user_id').notNull();
+ t.foreign('user_id').references('users.id');
-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",
- }
-}
+ t.enum('default_unit', ['SAT', 'BTC', 'CAD']).notNull().defaultTo('SAT');
+ t.enum('default_currency', ['CAD', 'USD']).notNull().defaultTo('CAD');
+ t.enum('default_fiat', ['CAD', 'USD']).notNull().defaultTo('CAD');
+ t.set('show_currencies', ['CAD', 'USD']).notNull().defaultTo('CAD');
-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']}
- ]
-};
+ t.timestamps();
+ })
+}
-db["UserPreference"] = db.define("user_preferences_model", attributes, options);
+exports.down = function(knex) {
+ return knex.schema.dropTable('user_preferences');
+}; \ No newline at end of file