diff options
author | vantezzen <properly@protonmail.com> | 2019-09-05 11:22:49 +0200 |
---|---|---|
committer | vantezzen <properly@protonmail.com> | 2019-09-05 11:22:49 +0200 |
commit | 29b8334b060dc0c05a509d523ead4b3a30229fef (patch) | |
tree | 4dbfcfb90a3eff31acd219b27557bbdc594f589f /app/Controllers/Http/ServiceController.js | |
parent | Add cookie notice to login page (diff) | |
download | ferdium-server-29b8334b060dc0c05a509d523ead4b3a30229fef.tar.gz ferdium-server-29b8334b060dc0c05a509d523ead4b3a30229fef.tar.zst ferdium-server-29b8334b060dc0c05a509d523ead4b3a30229fef.zip |
Add eslint
Diffstat (limited to 'app/Controllers/Http/ServiceController.js')
-rw-r--r-- | app/Controllers/Http/ServiceController.js | 200 |
1 files changed, 97 insertions, 103 deletions
diff --git a/app/Controllers/Http/ServiceController.js b/app/Controllers/Http/ServiceController.js index e887e3a..309ae09 100644 --- a/app/Controllers/Http/ServiceController.js +++ b/app/Controllers/Http/ServiceController.js | |||
@@ -1,9 +1,6 @@ | |||
1 | 'use strict' | ||
2 | |||
3 | const User = use('App/Models/User'); | ||
4 | const Service = use('App/Models/Service'); | 1 | const Service = use('App/Models/Service'); |
5 | const { | 2 | const { |
6 | validateAll | 3 | validateAll, |
7 | } = use('Validator'); | 4 | } = use('Validator'); |
8 | 5 | ||
9 | const uuid = require('uuid/v4'); | 6 | const uuid = require('uuid/v4'); |
@@ -13,12 +10,12 @@ class ServiceController { | |||
13 | async create({ | 10 | async create({ |
14 | request, | 11 | request, |
15 | response, | 12 | response, |
16 | auth | 13 | auth, |
17 | }) { | 14 | }) { |
18 | try { | 15 | try { |
19 | await auth.getUser() | 16 | await auth.getUser(); |
20 | } catch (error) { | 17 | } catch (error) { |
21 | return response.send('Missing or invalid api token') | 18 | return response.send('Missing or invalid api token'); |
22 | } | 19 | } |
23 | 20 | ||
24 | // Validate user input | 21 | // Validate user input |
@@ -28,10 +25,10 @@ class ServiceController { | |||
28 | }); | 25 | }); |
29 | if (validation.fails()) { | 26 | if (validation.fails()) { |
30 | return response.status(401).send({ | 27 | return response.status(401).send({ |
31 | "message": "Invalid POST arguments", | 28 | message: 'Invalid POST arguments', |
32 | "messages": validation.messages(), | 29 | messages: validation.messages(), |
33 | "status": 401 | 30 | status: 401, |
34 | }) | 31 | }); |
35 | } | 32 | } |
36 | 33 | ||
37 | const data = request.all(); | 34 | const data = request.all(); |
@@ -40,83 +37,82 @@ class ServiceController { | |||
40 | let serviceId; | 37 | let serviceId; |
41 | do { | 38 | do { |
42 | serviceId = uuid(); | 39 | serviceId = uuid(); |
43 | } while ((await Service.query().where('serviceId', serviceId).fetch()).rows.length > 0) | 40 | } while ((await Service.query().where('serviceId', serviceId).fetch()).rows.length > 0); // eslint-disable-line no-await-in-loop |
44 | 41 | ||
45 | const service = await Service.create({ | 42 | await Service.create({ |
46 | userId: auth.user.id, | 43 | userId: auth.user.id, |
47 | serviceId, | 44 | serviceId, |
48 | name: data.name, | 45 | name: data.name, |
49 | recipeId: data.recipeId, | 46 | recipeId: data.recipeId, |
50 | settings: JSON.stringify(data) | 47 | settings: JSON.stringify(data), |
51 | }); | 48 | }); |
52 | 49 | ||
53 | return response.send({ | 50 | return response.send({ |
54 | "data": { | 51 | data: { |
55 | userId: auth.user.id, | 52 | userId: auth.user.id, |
56 | id: serviceId, | 53 | id: serviceId, |
57 | "isEnabled": true, | 54 | isEnabled: true, |
58 | "isNotificationEnabled": true, | 55 | isNotificationEnabled: true, |
59 | "isBadgeEnabled": true, | 56 | isBadgeEnabled: true, |
60 | "isMuted": false, | 57 | isMuted: false, |
61 | "isDarkModeEnabled": "", | 58 | isDarkModeEnabled: '', |
62 | "spellcheckerLanguage": "", | 59 | spellcheckerLanguage: '', |
63 | "order": 1, | 60 | order: 1, |
64 | "customRecipe": false, | 61 | customRecipe: false, |
65 | "hasCustomIcon": false, | 62 | hasCustomIcon: false, |
66 | "workspaces": [], | 63 | workspaces: [], |
67 | "iconUrl": null, | 64 | iconUrl: null, |
68 | ...data, | 65 | ...data, |
69 | }, | 66 | }, |
70 | "status": ["created"] | 67 | status: ['created'], |
71 | }) | 68 | }); |
72 | } | 69 | } |
73 | 70 | ||
74 | // List all services a user has created | 71 | // List all services a user has created |
75 | async list({ | 72 | async list({ |
76 | request, | ||
77 | response, | 73 | response, |
78 | auth | 74 | auth, |
79 | }) { | 75 | }) { |
80 | try { | 76 | try { |
81 | await auth.getUser() | 77 | await auth.getUser(); |
82 | } catch (error) { | 78 | } catch (error) { |
83 | return response.send('Missing or invalid api token') | 79 | return response.send('Missing or invalid api token'); |
84 | } | 80 | } |
85 | 81 | ||
86 | const services = (await auth.user.services().fetch()).rows; | 82 | const services = (await auth.user.services().fetch()).rows; |
87 | // Convert to array with all data Franz wants | 83 | // Convert to array with all data Franz wants |
88 | const servicesArray = services.map(service => ({ | 84 | const servicesArray = services.map((service) => ({ |
89 | "customRecipe": false, | 85 | customRecipe: false, |
90 | "hasCustomIcon": false, | 86 | hasCustomIcon: false, |
91 | "isBadgeEnabled": true, | 87 | isBadgeEnabled: true, |
92 | "isDarkModeEnabled": "", | 88 | isDarkModeEnabled: '', |
93 | "isEnabled": true, | 89 | isEnabled: true, |
94 | "isMuted": false, | 90 | isMuted: false, |
95 | "isNotificationEnabled": true, | 91 | isNotificationEnabled: true, |
96 | "order": 1, | 92 | order: 1, |
97 | "spellcheckerLanguage": "", | 93 | spellcheckerLanguage: '', |
98 | "workspaces": [], | 94 | workspaces: [], |
99 | "iconUrl": null, | 95 | iconUrl: null, |
100 | ...JSON.parse(service.settings), | 96 | ...JSON.parse(service.settings), |
101 | "id": service.serviceId, | 97 | id: service.serviceId, |
102 | "name": service.name, | 98 | name: service.name, |
103 | "recipeId": service.recipeId, | 99 | recipeId: service.recipeId, |
104 | "userId": auth.user.id, | 100 | userId: auth.user.id, |
105 | })) | 101 | })); |
106 | 102 | ||
107 | return response.send(servicesArray) | 103 | return response.send(servicesArray); |
108 | } | 104 | } |
109 | 105 | ||
110 | async edit({ | 106 | async edit({ |
111 | request, | 107 | request, |
112 | response, | 108 | response, |
113 | auth, | 109 | auth, |
114 | params | 110 | params, |
115 | }) { | 111 | }) { |
116 | try { | 112 | try { |
117 | await auth.getUser() | 113 | await auth.getUser(); |
118 | } catch (error) { | 114 | } catch (error) { |
119 | return response.send('Missing or invalid api token') | 115 | return response.send('Missing or invalid api token'); |
120 | } | 116 | } |
121 | 117 | ||
122 | // Validate user input | 118 | // Validate user input |
@@ -125,15 +121,15 @@ class ServiceController { | |||
125 | }); | 121 | }); |
126 | if (validation.fails()) { | 122 | if (validation.fails()) { |
127 | return response.status(401).send({ | 123 | return response.status(401).send({ |
128 | "message": "Invalid POST arguments", | 124 | message: 'Invalid POST arguments', |
129 | "messages": validation.messages(), | 125 | messages: validation.messages(), |
130 | "status": 401 | 126 | status: 401, |
131 | }) | 127 | }); |
132 | } | 128 | } |
133 | 129 | ||
134 | const data = request.all(); | 130 | const data = request.all(); |
135 | const { | 131 | const { |
136 | id | 132 | id, |
137 | } = params; | 133 | } = params; |
138 | 134 | ||
139 | // Get current settings from db | 135 | // Get current settings from db |
@@ -141,7 +137,7 @@ class ServiceController { | |||
141 | .where('serviceId', id) | 137 | .where('serviceId', id) |
142 | .where('userId', auth.user.id).fetch()).rows[0]; | 138 | .where('userId', auth.user.id).fetch()).rows[0]; |
143 | 139 | ||
144 | let settings = { | 140 | const settings = { |
145 | ...JSON.parse(serviceData.settings), | 141 | ...JSON.parse(serviceData.settings), |
146 | ...data, | 142 | ...data, |
147 | }; | 143 | }; |
@@ -150,9 +146,9 @@ class ServiceController { | |||
150 | await (Service.query() | 146 | await (Service.query() |
151 | .where('serviceId', id) | 147 | .where('serviceId', id) |
152 | .where('userId', auth.user.id)).update({ | 148 | .where('userId', auth.user.id)).update({ |
153 | name: data.name, | 149 | name: data.name, |
154 | settings: JSON.stringify(settings) | 150 | settings: JSON.stringify(settings), |
155 | }); | 151 | }); |
156 | 152 | ||
157 | // Get updated row | 153 | // Get updated row |
158 | const service = (await Service.query() | 154 | const service = (await Service.query() |
@@ -160,88 +156,86 @@ class ServiceController { | |||
160 | .where('userId', auth.user.id).fetch()).rows[0]; | 156 | .where('userId', auth.user.id).fetch()).rows[0]; |
161 | 157 | ||
162 | return response.send({ | 158 | return response.send({ |
163 | "id": service.serviceId, | 159 | id: service.serviceId, |
164 | "name": data.name, | 160 | name: data.name, |
165 | ...settings, | 161 | ...settings, |
166 | "userId": auth.user.id | 162 | userId: auth.user.id, |
167 | }) | 163 | }); |
168 | } | 164 | } |
169 | 165 | ||
170 | async reorder({ | 166 | async reorder({ |
171 | request, | 167 | request, |
172 | response, | 168 | response, |
173 | auth | 169 | auth, |
174 | }) { | 170 | }) { |
175 | const data = request.all(); | 171 | const data = request.all(); |
176 | 172 | ||
177 | for (const service in data) { | 173 | for (const service of Object.keys(data)) { |
178 | // Get current settings from db | 174 | // Get current settings from db |
179 | const serviceData = (await Service.query() | 175 | const serviceData = (await Service.query() // eslint-disable-line no-await-in-loop |
180 | .where('serviceId', service) | 176 | .where('serviceId', service) |
181 | .where('userId', auth.user.id).fetch()).rows[0]; | 177 | .where('userId', auth.user.id).fetch()).rows[0]; |
182 | 178 | ||
183 | let settings = { | 179 | const settings = { |
184 | ...JSON.parse(serviceData.settings), | 180 | ...JSON.parse(serviceData.settings), |
185 | order: data[service] | 181 | order: data[service], |
186 | }; | 182 | }; |
187 | 183 | ||
188 | // Update data in database | 184 | // Update data in database |
189 | await (Service.query() | 185 | await (Service.query() // eslint-disable-line no-await-in-loop |
190 | .where('serviceId', service) | 186 | .where('serviceId', service) |
191 | .where('userId', auth.user.id)) | 187 | .where('userId', auth.user.id)) |
192 | .update({ | 188 | .update({ |
193 | settings: JSON.stringify(settings) | 189 | settings: JSON.stringify(settings), |
194 | }); | 190 | }); |
195 | } | 191 | } |
196 | 192 | ||
197 | // Get new services | 193 | // Get new services |
198 | const services = (await auth.user.services().fetch()).rows; | 194 | const services = (await auth.user.services().fetch()).rows; |
199 | // Convert to array with all data Franz wants | 195 | // Convert to array with all data Franz wants |
200 | const servicesArray = services.map(service => ({ | 196 | const servicesArray = services.map((service) => ({ |
201 | "customRecipe": false, | 197 | customRecipe: false, |
202 | "hasCustomIcon": false, | 198 | hasCustomIcon: false, |
203 | "isBadgeEnabled": true, | 199 | isBadgeEnabled: true, |
204 | "isDarkModeEnabled": "", | 200 | isDarkModeEnabled: '', |
205 | "isEnabled": true, | 201 | isEnabled: true, |
206 | "isMuted": false, | 202 | isMuted: false, |
207 | "isNotificationEnabled": true, | 203 | isNotificationEnabled: true, |
208 | "order": 1, | 204 | order: 1, |
209 | "spellcheckerLanguage": "", | 205 | spellcheckerLanguage: '', |
210 | "workspaces": [], | 206 | workspaces: [], |
211 | "iconUrl": null, | 207 | iconUrl: null, |
212 | ...JSON.parse(service.settings), | 208 | ...JSON.parse(service.settings), |
213 | "id": service.serviceId, | 209 | id: service.serviceId, |
214 | "name": service.name, | 210 | name: service.name, |
215 | "recipeId": service.recipeId, | 211 | recipeId: service.recipeId, |
216 | "userId": auth.user.id, | 212 | userId: auth.user.id, |
217 | })) | 213 | })); |
218 | 214 | ||
219 | return response.send(servicesArray) | 215 | return response.send(servicesArray); |
220 | } | 216 | } |
221 | 217 | ||
222 | update({ | 218 | update({ |
223 | request, | 219 | response, |
224 | response | ||
225 | }) { | 220 | }) { |
226 | return response.send([]) | 221 | return response.send([]); |
227 | } | 222 | } |
228 | 223 | ||
229 | async delete({ | 224 | async delete({ |
230 | request, | ||
231 | params, | 225 | params, |
232 | auth, | 226 | auth, |
233 | response | 227 | response, |
234 | }) { | 228 | }) { |
235 | // Update data in database | 229 | // Update data in database |
236 | await (Service.query() | 230 | await (Service.query() |
237 | .where('serviceId', params.id) | 231 | .where('serviceId', params.id) |
238 | .where('userId', auth.user.id)).delete() | 232 | .where('userId', auth.user.id)).delete(); |
239 | 233 | ||
240 | return response.send({ | 234 | return response.send({ |
241 | "message": "Sucessfully deleted service", | 235 | message: 'Sucessfully deleted service', |
242 | "status": 200 | 236 | status: 200, |
243 | }) | 237 | }); |
244 | } | 238 | } |
245 | } | 239 | } |
246 | 240 | ||
247 | module.exports = ServiceController | 241 | module.exports = ServiceController; |