Parcourir la source

:fire: more linting

master
j il y a 5 ans
Parent
révision
48d7ccf6b7

+ 11
- 13
backend/db/migrations/20210524105357_create_users_table.js Voir le fichier

@@ -1,15 +1,13 @@
1
-exports.up = function(knex) {
2
-    return knex.schema
3
-        .createTable('users', function(table) {
4
-            table.increments('user_id').primary()
5
-            table.string('user_name', 32).notNullable()
6
-            table.string('user_email', 90).notNullable()
7
-            table.boolean('is_admin').notNullable()
8
-            table.boolean('is_poster').notNullable()
9
-        })
1
+exports.up = function (knex) {
2
+    return knex.schema.createTable('users', function (table) {
3
+        table.increments('user_id').primary()
4
+        table.string('user_name', 32).notNullable()
5
+        table.string('user_email', 90).notNullable()
6
+        table.boolean('is_admin').notNullable()
7
+        table.boolean('is_poster').notNullable()
8
+    })
10 9
 }
11 10
 
12
-exports.down = function(knex) {
13
-    return knex.schema
14
-        .dropTable('users')
15
-}
11
+exports.down = function (knex) {
12
+    return knex.schema.dropTable('users')
13
+}

+ 7
- 9
backend/db/migrations/20210527173933_create_profiles_table.js Voir le fichier

@@ -1,12 +1,10 @@
1
-exports.up = function(knex) {
2
-    return knex.schema
3
-        .createTable('profiles', function(table) {
4
-            table.increments('profile_id').primary()
5
-            table.integer('user_id').notNullable()
6
-        })
1
+exports.up = function (knex) {
2
+    return knex.schema.createTable('profiles', function (table) {
3
+        table.increments('profile_id').primary()
4
+        table.integer('user_id').notNullable()
5
+    })
7 6
 }
8 7
 
9
-exports.down = function(knex) {
10
-    return knex.schema
11
-        .dropTable('profiles')
8
+exports.down = function (knex) {
9
+    return knex.schema.dropTable('profiles')
12 10
 }

+ 8
- 10
backend/db/migrations/20210527174416_create_response_keys_table.js Voir le fichier

@@ -1,13 +1,11 @@
1
-exports.up = function(knex) {
2
-    return knex.schema
3
-        .createTable('response_keys', function(table) {
4
-            table.increments('response_key_id').primary()
5
-            table.string('response_key_name').notNullable()
6
-            table.string('response_key_description')
7
-        })
1
+exports.up = function (knex) {
2
+    return knex.schema.createTable('response_keys', function (table) {
3
+        table.increments('response_key_id').primary()
4
+        table.string('response_key_name').notNullable()
5
+        table.string('response_key_description')
6
+    })
8 7
 }
9 8
 
10
-exports.down = function(knex) {
11
-    return knex.schema
12
-        .dropTable('response_keys')
9
+exports.down = function (knex) {
10
+    return knex.schema.dropTable('response_keys')
13 11
 }

+ 9
- 11
backend/db/migrations/20210527174422_create_responses_table.js Voir le fichier

@@ -1,14 +1,12 @@
1
-exports.up = function(knex) {
2
-    return knex.schema
3
-        .createTable('responses', function(table) {
4
-            table.increments('response_id').primary()
5
-            table.integer('profile_id').notNullable()
6
-            table.integer('response_key_id').notNullable()
7
-            table.string('val').notNullable()
8
-        })
1
+exports.up = function (knex) {
2
+    return knex.schema.createTable('responses', function (table) {
3
+        table.increments('response_id').primary()
4
+        table.integer('profile_id').notNullable()
5
+        table.integer('response_key_id').notNullable()
6
+        table.string('val').notNullable()
7
+    })
9 8
 }
10 9
 
11
-exports.down = function(knex) {
12
-    return knex.schema
13
-        .dropTable('responses')
10
+exports.down = function (knex) {
11
+    return knex.schema.dropTable('responses')
14 12
 }

+ 8
- 10
backend/db/migrations/20210527174434_create_groupings_table.js Voir le fichier

@@ -1,13 +1,11 @@
1
-exports.up = function(knex) {
2
-    return knex.schema
3
-        .createTable('groupings', function(table) {
4
-            table.increments('grouping_id').primary()
5
-            table.string('grouping_name', 128).notNullable()
6
-            table.string('grouping_type', 128).notNullable() // Don't over normalize
7
-        })
1
+exports.up = function (knex) {
2
+    return knex.schema.createTable('groupings', function (table) {
3
+        table.increments('grouping_id').primary()
4
+        table.string('grouping_name', 128).notNullable()
5
+        table.string('grouping_type', 128).notNullable() // Don't over normalize
6
+    })
8 7
 }
9 8
 
10
-exports.down = function(knex) {
11
-    return knex.schema
12
-        .dropTable('groupings')
9
+exports.down = function (knex) {
10
+    return knex.schema.dropTable('groupings')
13 11
 }

+ 11
- 13
backend/db/migrations/20210527174440_create_memberships_table.js Voir le fichier

@@ -1,16 +1,14 @@
1
-exports.up = function(knex) {
2
-    return knex.schema
3
-        .createTable('memberships', function(table) {
4
-            table.increments('membership_id').primary()
5
-            table.integer('user_id').notNullable() // From
6
-            table.integer('grouping_id').notNullable() // To
7
-            table.string('membership_type', 128).notNullable() // Don't over normalize
8
-            table.boolean('can_edit').notNullable()
9
-            table.boolean('is_active').notNullable()
10
-        })
1
+exports.up = function (knex) {
2
+    return knex.schema.createTable('memberships', function (table) {
3
+        table.increments('membership_id').primary()
4
+        table.integer('user_id').notNullable() // From
5
+        table.integer('grouping_id').notNullable() // To
6
+        table.string('membership_type', 128).notNullable() // Don't over normalize
7
+        table.boolean('can_edit').notNullable()
8
+        table.boolean('is_active').notNullable()
9
+    })
11 10
 }
12 11
 
13
-exports.down = function(knex) {
14
-    return knex.schema
15
-        .dropTable('memberships')
12
+exports.down = function (knex) {
13
+    return knex.schema.dropTable('memberships')
16 14
 }

+ 10
- 12
backend/db/migrations/20210527174448_create_messages_table.js Voir le fichier

@@ -1,14 +1,12 @@
1
-exports.up = function(knex) {
2
-    return knex.schema
3
-        .createTable('messages', function(table) {
4
-            table.increments('message_id').primary()
5
-            table.integer('user_id').notNullable()
6
-            table.integer('grouping_id').notNullable()
7
-            table.string('message', 255).notNullable()
8
-        })
1
+exports.up = function (knex) {
2
+    return knex.schema.createTable('messages', function (table) {
3
+        table.increments('message_id').primary()
4
+        table.integer('user_id').notNullable()
5
+        table.integer('grouping_id').notNullable()
6
+        table.string('message', 255).notNullable()
7
+    })
9 8
 }
10 9
 
11
-exports.down = function(knex) {
12
-    return knex.schema
13
-        .dropTable('messages')
14
-}
10
+exports.down = function (knex) {
11
+    return knex.schema.dropTable('messages')
12
+}

+ 10
- 9
backend/db/seeds/01-users.js Voir le fichier

@@ -1,10 +1,11 @@
1
-const mock = require('../mock');
1
+const mock = require('../mock')
2 2
 
3
-exports.seed = function(knex) {
4
-  // Deletes ALL existing entries
5
-  return knex('users').truncate()
6
-    .then(function () {
7
-      // Inserts seed entries
8
-      return knex('users').insert(mock.users);
9
-    });
10
-};
3
+exports.seed = function (knex) {
4
+    // Deletes ALL existing entries
5
+    return knex('users')
6
+        .truncate()
7
+        .then(function () {
8
+            // Inserts seed entries
9
+            return knex('users').insert(mock.users)
10
+        })
11
+}

+ 10
- 9
backend/db/seeds/02-profiles.js Voir le fichier

@@ -1,10 +1,11 @@
1
-const mock = require('../mock');
1
+const mock = require('../mock')
2 2
 
3
-exports.seed = function(knex) {
4
-  // Deletes ALL existing entries
5
-  return knex('profiles').truncate()
6
-    .then(function () {
7
-      // Inserts seed entries
8
-      return knex('profiles').insert(mock.profiles);
9
-    });
10
-};
3
+exports.seed = function (knex) {
4
+    // Deletes ALL existing entries
5
+    return knex('profiles')
6
+        .truncate()
7
+        .then(function () {
8
+            // Inserts seed entries
9
+            return knex('profiles').insert(mock.profiles)
10
+        })
11
+}

+ 10
- 9
backend/db/seeds/03-response_keys.js Voir le fichier

@@ -1,10 +1,11 @@
1
-const mock = require('../mock');
1
+const mock = require('../mock')
2 2
 
3
-exports.seed = function(knex) {
4
-  // Deletes ALL existing entries
5
-  return knex('response_keys').truncate()
6
-    .then(function () {
7
-      // Inserts seed entries
8
-      return knex('response_keys').insert(mock.response_keys);
9
-    });
10
-};
3
+exports.seed = function (knex) {
4
+    // Deletes ALL existing entries
5
+    return knex('response_keys')
6
+        .truncate()
7
+        .then(function () {
8
+            // Inserts seed entries
9
+            return knex('response_keys').insert(mock.response_keys)
10
+        })
11
+}

+ 10
- 9
backend/db/seeds/05-memberships.js Voir le fichier

@@ -1,10 +1,11 @@
1
-const mock = require('../mock');
1
+const mock = require('../mock')
2 2
 
3
-exports.seed = function(knex) {
4
-  // Deletes ALL existing entries
5
-  return knex('memberships').truncate()
6
-    .then(function () {
7
-      // Inserts seed entries
8
-      return knex('memberships').insert(mock.memberships);
9
-    });
10
-};
3
+exports.seed = function (knex) {
4
+    // Deletes ALL existing entries
5
+    return knex('memberships')
6
+        .truncate()
7
+        .then(function () {
8
+            // Inserts seed entries
9
+            return knex('memberships').insert(mock.memberships)
10
+        })
11
+}

+ 10
- 9
backend/db/seeds/06-groupings.js Voir le fichier

@@ -1,10 +1,11 @@
1
-const mock = require('../mock');
1
+const mock = require('../mock')
2 2
 
3
-exports.seed = function(knex) {
4
-  // Deletes ALL existing entries
5
-  return knex('groupings').truncate()
6
-    .then(function () {
7
-      // Inserts seed entries
8
-      return knex('groupings').insert(mock.groupings);
9
-    });
10
-};
3
+exports.seed = function (knex) {
4
+    // Deletes ALL existing entries
5
+    return knex('groupings')
6
+        .truncate()
7
+        .then(function () {
8
+            // Inserts seed entries
9
+            return knex('groupings').insert(mock.groupings)
10
+        })
11
+}

+ 10
- 9
backend/db/seeds/07-messages.js Voir le fichier

@@ -1,10 +1,11 @@
1
-const mock = require('../mock');
1
+const mock = require('../mock')
2 2
 
3
-exports.seed = function(knex) {
4
-  // Deletes ALL existing entries
5
-  return knex('messages').truncate()
6
-    .then(function () {
7
-      // Inserts seed entries
8
-      return knex('messages').insert(mock.messages);
9
-    });
10
-};
3
+exports.seed = function (knex) {
4
+    // Deletes ALL existing entries
5
+    return knex('messages')
6
+        .truncate()
7
+        .then(function () {
8
+            // Inserts seed entries
9
+            return knex('messages').insert(mock.messages)
10
+        })
11
+}

+ 2
- 0
backend/lib/plugins/profile.js Voir le fichier

@@ -8,6 +8,7 @@ const ProfileService = require('../services/profile')
8 8
 
9 9
 const ProfileProfilesRoute = require('../routes/profile/profiles')
10 10
 const ProfileCreateRoute = require('../routes/profile/create')
11
+const ProfileUpdateRoute = require('../routes/profile/update')
11 12
 
12 13
 module.exports = {
13 14
     name: 'profile-plugin',
@@ -27,5 +28,6 @@ module.exports = {
27 28
 
28 29
         await server.route(ProfileProfilesRoute)
29 30
         await server.route(ProfileCreateRoute)
31
+        await server.route(ProfileUpdateRoute)
30 32
     },
31 33
 }

+ 29
- 4
backend/lib/services/profile.js Voir le fichier

@@ -46,7 +46,6 @@ module.exports = class ProfileService extends Schmervice.Service {
46 46
                 profile.response_keys.push(response.response_key_id)
47 47
                 profile.responses.push(response)
48 48
             })
49
-
50 49
             return profile
51 50
         })
52 51
     }
@@ -55,11 +54,9 @@ module.exports = class ProfileService extends Schmervice.Service {
55 54
      * Save responses in a profile
56 55
      * @param {number} userId
57 56
      * @param {Array} responses
58
-     * @returns
57
+     * @returns {object}
59 58
      */
60 59
     async saveResponsesCreateProfileFor(userId, responses, txn) {
61
-        const { Profile, Response } = this.server.models()
62
-
63 60
         const profile = await Profile.query(txn).insert({
64 61
             user_id: userId,
65 62
         })
@@ -74,6 +71,34 @@ module.exports = class ProfileService extends Schmervice.Service {
74 71
         //** Work around for HAPI returning profile_id as id */
75 72
         return { user_id: profile.user_id, profile_id: profile.id }
76 73
     }
74
+
75
+    /** Update responses in place
76
+     * @param {number} profileId
77
+     * @param {Array} responses
78
+     * @returns {Array} updated responses
79
+     */
80
+    async updateResponsesInProfile(profileId, responses, txn) {
81
+        const { Profile, Response } = this.server.models()
82
+        for (const responseToSave of responses) {
83
+            await Response.query(txn)
84
+                .update({
85
+                    response_id: responseToSave.response_id,
86
+                    profile_id: responseToSave.profile_id,
87
+                    response_key_id: responseToSave.response_key_id,
88
+                    val: responseToSave.val,
89
+                })
90
+                .where({
91
+                    profile_id: profileId,
92
+                })
93
+                .where({
94
+                    response_id: responseToSave.response_id,
95
+                })
96
+        }
97
+        return await Response.query(txn).where({
98
+            profile_id: profileId,
99
+        })
100
+    }
101
+
77 102
     /**
78 103
      * Delete a profile
79 104
      * @param {number} userId

+ 6
- 6
backend/tests/example.test.js Voir le fichier

@@ -8,12 +8,12 @@ const routeBase = '../lib/routes'
8 8
 const route = require(routeBase + '/example/base')
9 9
 
10 10
 test('path / should return ok on GET', async t => {
11
-  const server = Hapi.server()
11
+    const server = Hapi.server()
12 12
 
13
-  server.route(route)
13
+    server.route(route)
14 14
 
15
-  const { statusCode, payload } = await server.inject(route.path)
15
+    const { statusCode, payload } = await server.inject(route.path)
16 16
 
17
-  t.is(payload, '{"test":"hello, world"}')
18
-  t.is(statusCode, 200)
19
-})
17
+    t.is(payload, '{"test":"hello, world"}')
18
+    t.is(statusCode, 200)
19
+})

Chargement…
Annuler
Enregistrer