aboutsummaryrefslogtreecommitdiffstats
path: root/db/normalized/deposits.js
diff options
context:
space:
mode:
authorRan Guin <[email protected]>2021-07-14 18:00:30 -0700
committerRan Guin <[email protected]>2021-07-14 18:00:30 -0700
commit4eacfda951f8275ac4f3a1283368884e53285ed0 (patch)
tree149e15bc2292b65756dff6323cb3778c9dc89f54 /db/normalized/deposits.js
parent826da4a8f7d791b06bb53346597ab0ed51b6362e (diff)
downloadcoinos-server-4eacfda951f8275ac4f3a1283368884e53285ed0.tar.gz
coinos-server-4eacfda951f8275ac4f3a1283368884e53285ed0.zip
update normalized models
Diffstat (limited to 'db/normalized/deposits.js')
-rw-r--r--db/normalized/deposits.js135
1 files changed, 95 insertions, 40 deletions
diff --git a/db/normalized/deposits.js b/db/normalized/deposits.js
index ec9472d8..c14884ce 100644
--- a/db/normalized/deposits.js
+++ b/db/normalized/deposits.js
@@ -1,45 +1,100 @@
-const { DataTypes } = require('sequelize');
+exports.up = function(knex) {
+ return knex.schema.createTable('deposits', function(t) {
+ t.increments('id').unsigned().primary();
-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)"
- },
- amount: {
- type: DataTypes.DECIMAL(10,2),
- allowNull: false
- },
- deposit_code: {
- type: DataTypes.STRING(255),
- comment: "Unique randomly generated code to be put in the interac deposit reference/message to link the deposit to this record/user",
- },
- status: {
- type: DataTypes.ENUM,
- values: ['pending', 'credited', 'failed'],
- defaultValue: 'pending'
- }
+ t.int('credit_id').notNull();
+ t.foreign('credit_id').references('credits.id');
+
+ t.string('confirmation_code');
+
+ t.timestamps();
+ })
}
-const options = {
- tableName: "deposits",
- comment: "",
- timestamps: true,
- createdAt: 'created_at',
- updatedAt: 'updated_at',
- indexes: [
- {
- unique: true,
- fields: ['code']
- }
- ]
+exports.down = function(knex) {
+ return knex.schema.dropTable('deposits');
};
-db["Deposit"] = db.define("deposits_model", attributes, options);
+// Changes:
+//
+// reference transaction
+// reference account rather than user
+// credited - redundant with confirmation_code ?
+// code -> confirmation_code
+
+
+// const { DataTypes } = require('sequelize');
+
+// const attributes = {
+// id: {
+// type: DataTypes.INTEGER(11),
+// allowNull: false,
+// defaultValue: null,
+// primaryKey: true,
+// autoIncrement: true,
+// comment: null,
+// field: "id"
+// },
+// amount: {
+// type: DataTypes.DOUBLE,
+// allowNull: true,
+// defaultValue: null,
+// primaryKey: false,
+// autoIncrement: false,
+// comment: null,
+// field: "amount"
+// },
+// user_id: {
+// type: DataTypes.INTEGER(11),
+// allowNull: true,
+// defaultValue: null,
+// primaryKey: false,
+// autoIncrement: false,
+// comment: null,
+// field: "user_id"
+// },
+// createdAt: {
+// type: DataTypes.DATE,
+// allowNull: false,
+// defaultValue: null,
+// primaryKey: false,
+// autoIncrement: false,
+// comment: null,
+// field: "createdAt"
+// },
+// updatedAt: {
+// type: DataTypes.DATE,
+// allowNull: false,
+// defaultValue: null,
+// primaryKey: false,
+// autoIncrement: false,
+// comment: null,
+// field: "updatedAt"
+// },
+// credited: {
+// type: DataTypes.BOOLEAN,
+// allowNull: true,
+// defaultValue: null,
+// primaryKey: false,
+// autoIncrement: false,
+// comment: null,
+// field: "credited"
+// },
+// code: {
+// type: DataTypes.STRING(255),
+// allowNull: true,
+// defaultValue: null,
+// primaryKey: false,
+// autoIncrement: false,
+// comment: null,
+// field: "code"
+// },
+// };
+
+// const options = {
+// tableName: "deposits",
+// comment: "",
+// indexes: []
+// };
+
+// db["Deposit"] = db.define("deposits_model", attributes, options);