Skip to content

Commit bbe02bc

Browse files
author
Jamie Curnow
committed
Fixes #10 - Don't use defaults for json fields in migration
1 parent 02b4def commit bbe02bc

12 files changed

+105
-11
lines changed

src/backend/migrations/20180618015850_initial.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ exports.up = function (knex/*, Promise*/) {
2222
table.integer('user_id').notNull().unsigned();
2323
table.string('type', 30).notNull();
2424
table.string('secret').notNull();
25-
table.json('meta').notNull().defaultTo('{}');
25+
table.json('meta').notNull();
2626
table.integer('is_deleted').notNull().unsigned().defaultTo(0);
2727
})
2828
.then(() => {
@@ -77,7 +77,7 @@ exports.up = function (knex/*, Promise*/) {
7777
table.integer('caching_enabled').notNull().unsigned().defaultTo(0);
7878
table.integer('block_exploits').notNull().unsigned().defaultTo(0);
7979
table.text('advanced_config').notNull().defaultTo('');
80-
table.json('meta').notNull().defaultTo('{}');
80+
table.json('meta').notNull();
8181
});
8282
})
8383
.then(() => {
@@ -96,7 +96,7 @@ exports.up = function (knex/*, Promise*/) {
9696
table.integer('ssl_forced').notNull().unsigned().defaultTo(0);
9797
table.integer('block_exploits').notNull().unsigned().defaultTo(0);
9898
table.text('advanced_config').notNull().defaultTo('');
99-
table.json('meta').notNull().defaultTo('{}');
99+
table.json('meta').notNull();
100100
});
101101
})
102102
.then(() => {
@@ -112,7 +112,7 @@ exports.up = function (knex/*, Promise*/) {
112112
table.integer('certificate_id').notNull().unsigned().defaultTo(0);
113113
table.integer('ssl_forced').notNull().unsigned().defaultTo(0);
114114
table.text('advanced_config').notNull().defaultTo('');
115-
table.json('meta').notNull().defaultTo('{}');
115+
table.json('meta').notNull();
116116
});
117117
})
118118
.then(() => {
@@ -129,7 +129,7 @@ exports.up = function (knex/*, Promise*/) {
129129
table.integer('forwarding_port').notNull().unsigned();
130130
table.integer('tcp_forwarding').notNull().unsigned().defaultTo(0);
131131
table.integer('udp_forwarding').notNull().unsigned().defaultTo(0);
132-
table.json('meta').notNull().defaultTo('{}');
132+
table.json('meta').notNull();
133133
});
134134
})
135135
.then(() => {
@@ -142,7 +142,7 @@ exports.up = function (knex/*, Promise*/) {
142142
table.integer('owner_user_id').notNull().unsigned();
143143
table.integer('is_deleted').notNull().unsigned().defaultTo(0);
144144
table.string('name').notNull();
145-
table.json('meta').notNull().defaultTo('{}');
145+
table.json('meta').notNull();
146146
});
147147
})
148148
.then(() => {
@@ -156,9 +156,9 @@ exports.up = function (knex/*, Promise*/) {
156156
table.integer('is_deleted').notNull().unsigned().defaultTo(0);
157157
table.string('provider').notNull();
158158
table.string('nice_name').notNull().defaultTo('');
159-
table.json('domain_names').notNull().defaultTo('[]');
159+
table.json('domain_names').notNull();
160160
table.dateTime('expires_on').notNull();
161-
table.json('meta').notNull().defaultTo('{}');
161+
table.json('meta').notNull();
162162
});
163163
})
164164
.then(() => {
@@ -171,7 +171,7 @@ exports.up = function (knex/*, Promise*/) {
171171
table.integer('access_list_id').notNull().unsigned();
172172
table.string('username').notNull();
173173
table.string('password').notNull();
174-
table.json('meta').notNull().defaultTo('{}');
174+
table.json('meta').notNull();
175175
});
176176
})
177177
.then(() => {
@@ -185,7 +185,7 @@ exports.up = function (knex/*, Promise*/) {
185185
table.string('object_type').notNull().defaultTo('');
186186
table.integer('object_id').notNull().unsigned().defaultTo(0);
187187
table.string('action').notNull();
188-
table.json('meta').notNull().defaultTo('{}');
188+
table.json('meta').notNull();
189189
});
190190
})
191191
.then(() => {

src/backend/models/access_list.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ class AccessList extends Model {
1414
$beforeInsert () {
1515
this.created_on = Model.raw('NOW()');
1616
this.modified_on = Model.raw('NOW()');
17+
18+
// Default for meta
19+
if (typeof this.meta === 'undefined') {
20+
this.meta = {};
21+
}
1722
}
1823

1924
$beforeUpdate () {

src/backend/models/access_list_auth.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ class AccessListAuth extends Model {
1212
$beforeInsert () {
1313
this.created_on = Model.raw('NOW()');
1414
this.modified_on = Model.raw('NOW()');
15+
16+
// Default for meta
17+
if (typeof this.meta === 'undefined') {
18+
this.meta = {};
19+
}
1520
}
1621

1722
$beforeUpdate () {

src/backend/models/audit-log.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ class AuditLog extends Model {
1313
$beforeInsert () {
1414
this.created_on = Model.raw('NOW()');
1515
this.modified_on = Model.raw('NOW()');
16+
17+
// Default for meta
18+
if (typeof this.meta === 'undefined') {
19+
this.meta = {};
20+
}
1621
}
1722

1823
$beforeUpdate () {

src/backend/models/auth.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ class Auth extends Model {
2929
this.created_on = Model.raw('NOW()');
3030
this.modified_on = Model.raw('NOW()');
3131

32+
// Default for meta
33+
if (typeof this.meta === 'undefined') {
34+
this.meta = {};
35+
}
36+
3237
return encryptPassword.apply(this, queryContext);
3338
}
3439

src/backend/models/certificate.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,31 @@ class Certificate extends Model {
1414
this.created_on = Model.raw('NOW()');
1515
this.modified_on = Model.raw('NOW()');
1616

17+
// Default for expires_on
1718
if (typeof this.expires_on === 'undefined') {
1819
this.expires_on = Model.raw('NOW()');
1920
}
21+
22+
// Default for domain_names
23+
if (typeof this.domain_names === 'undefined') {
24+
this.domain_names = [];
25+
}
26+
27+
// Default for meta
28+
if (typeof this.meta === 'undefined') {
29+
this.meta = {};
30+
}
31+
32+
this.domain_names.sort();
2033
}
2134

2235
$beforeUpdate () {
2336
this.modified_on = Model.raw('NOW()');
37+
38+
// Sort domain_names
39+
if (typeof this.domain_names !== 'undefined') {
40+
this.domain_names.sort();
41+
}
2442
}
2543

2644
static get name () {

src/backend/models/dead_host.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,27 @@ class DeadHost extends Model {
1414
$beforeInsert () {
1515
this.created_on = Model.raw('NOW()');
1616
this.modified_on = Model.raw('NOW()');
17+
18+
// Default for domain_names
19+
if (typeof this.domain_names === 'undefined') {
20+
this.domain_names = [];
21+
}
22+
23+
// Default for meta
24+
if (typeof this.meta === 'undefined') {
25+
this.meta = {};
26+
}
27+
28+
this.domain_names.sort();
1729
}
1830

1931
$beforeUpdate () {
2032
this.modified_on = Model.raw('NOW()');
33+
34+
// Sort domain_names
35+
if (typeof this.domain_names !== 'undefined') {
36+
this.domain_names.sort();
37+
}
2138
}
2239

2340
static get name () {

src/backend/models/proxy_host.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,24 @@ class ProxyHost extends Model {
1515
$beforeInsert () {
1616
this.created_on = Model.raw('NOW()');
1717
this.modified_on = Model.raw('NOW()');
18+
19+
// Default for domain_names
20+
if (typeof this.domain_names === 'undefined') {
21+
this.domain_names = [];
22+
}
23+
24+
// Default for meta
25+
if (typeof this.meta === 'undefined') {
26+
this.meta = {};
27+
}
28+
1829
this.domain_names.sort();
1930
}
2031

2132
$beforeUpdate () {
2233
this.modified_on = Model.raw('NOW()');
34+
35+
// Sort domain_names
2336
if (typeof this.domain_names !== 'undefined') {
2437
this.domain_names.sort();
2538
}

src/backend/models/redirection_host.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,27 @@ class RedirectionHost extends Model {
1414
$beforeInsert () {
1515
this.created_on = Model.raw('NOW()');
1616
this.modified_on = Model.raw('NOW()');
17+
18+
// Default for domain_names
19+
if (typeof this.domain_names === 'undefined') {
20+
this.domain_names = [];
21+
}
22+
23+
// Default for meta
24+
if (typeof this.meta === 'undefined') {
25+
this.meta = {};
26+
}
27+
28+
this.domain_names.sort();
1729
}
1830

1931
$beforeUpdate () {
2032
this.modified_on = Model.raw('NOW()');
33+
34+
// Sort domain_names
35+
if (typeof this.domain_names !== 'undefined') {
36+
this.domain_names.sort();
37+
}
2138
}
2239

2340
static get name () {

src/backend/models/stream.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ class Stream extends Model {
1313
$beforeInsert () {
1414
this.created_on = Model.raw('NOW()');
1515
this.modified_on = Model.raw('NOW()');
16+
17+
// Default for meta
18+
if (typeof this.meta === 'undefined') {
19+
this.meta = {};
20+
}
1621
}
1722

1823
$beforeUpdate () {

src/backend/models/token.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ module.exports = function () {
1919
let token_data = {};
2020

2121
let self = {
22-
//return {
2322
/**
2423
* @param {Object} payload
2524
* @param {Object} [user_options]

src/backend/models/user.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ class User extends Model {
1313
$beforeInsert () {
1414
this.created_on = Model.raw('NOW()');
1515
this.modified_on = Model.raw('NOW()');
16+
17+
// Default for roles
18+
if (typeof this.roles === 'undefined') {
19+
this.roles = [];
20+
}
1621
}
1722

1823
$beforeUpdate () {

0 commit comments

Comments
 (0)