Procházet zdrojové kódy

:fire: more linting

master
j před 5 roky
rodič
revize
48d7ccf6b7

+ 11
- 13
backend/db/migrations/20210524105357_create_users_table.js Zobrazit soubor

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 Zobrazit soubor

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 Zobrazit soubor

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 Zobrazit soubor

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 Zobrazit soubor

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 Zobrazit soubor

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 Zobrazit soubor

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 Zobrazit soubor

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 Zobrazit soubor

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 Zobrazit soubor

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 Zobrazit soubor

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 Zobrazit soubor

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 Zobrazit soubor

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 Zobrazit soubor

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

+ 29
- 4
backend/lib/services/profile.js Zobrazit soubor

46
                 profile.response_keys.push(response.response_key_id)
46
                 profile.response_keys.push(response.response_key_id)
47
                 profile.responses.push(response)
47
                 profile.responses.push(response)
48
             })
48
             })
49
-
50
             return profile
49
             return profile
51
         })
50
         })
52
     }
51
     }
55
      * Save responses in a profile
54
      * Save responses in a profile
56
      * @param {number} userId
55
      * @param {number} userId
57
      * @param {Array} responses
56
      * @param {Array} responses
58
-     * @returns
57
+     * @returns {object}
59
      */
58
      */
60
     async saveResponsesCreateProfileFor(userId, responses, txn) {
59
     async saveResponsesCreateProfileFor(userId, responses, txn) {
61
-        const { Profile, Response } = this.server.models()
62
-
63
         const profile = await Profile.query(txn).insert({
60
         const profile = await Profile.query(txn).insert({
64
             user_id: userId,
61
             user_id: userId,
65
         })
62
         })
74
         //** Work around for HAPI returning profile_id as id */
71
         //** Work around for HAPI returning profile_id as id */
75
         return { user_id: profile.user_id, profile_id: profile.id }
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
      * Delete a profile
103
      * Delete a profile
79
      * @param {number} userId
104
      * @param {number} userId

+ 6
- 6
backend/tests/example.test.js Zobrazit soubor

8
 const route = require(routeBase + '/example/base')
8
 const route = require(routeBase + '/example/base')
9
 
9
 
10
 test('path / should return ok on GET', async t => {
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
+})

Načítá se…
Zrušit
Uložit