Explorar el Código

:recycle: tweaking response schemas

neo
toj hace 2 años
padre
commit
a957f45c3f

+ 26
- 0
backend/lib/schemas/groupings.js Ver fichero

1
+const Joi = require('joi')
2
+
3
+const profileSchema = require('./profiles')
4
+
5
+const validator = Joi.object({
6
+    grouping_id: Joi.number(),
7
+    grouping_name: Joi.string(),
8
+    grouping_type: Joi.string(),
9
+    is_paired: Joi.boolean(),
10
+    profile: profileSchema.validator,
11
+}).label('grouping__single_validator')
12
+
13
+const list = Joi.array().items(validator).label('grouping__list_validator')
14
+
15
+const single = Joi.object({
16
+    grouping_id: Joi.number(),
17
+    grouping_name: Joi.string(),
18
+    grouping_type: Joi.string(),
19
+    is_paired: Joi.boolean(),
20
+}).label('grouping__single')
21
+
22
+module.exports = {
23
+    single,
24
+    validator,
25
+    list,
26
+}

+ 1
- 1
backend/lib/schemas/profile.js Ver fichero

19
     profile_description: Joi.string().allow(null, ''),
19
     profile_description: Joi.string().allow(null, ''),
20
 }).label('profile__single_validator')
20
 }).label('profile__single_validator')
21
 
21
 
22
-const list = Joi.array().items(validator).label('profile__list')
22
+const list = Joi.array().items(validator).label('profile__list_validator')
23
 
23
 
24
 // single is used to define database models
24
 // single is used to define database models
25
 const single = Joi.object({
25
 const single = Joi.object({

+ 18
- 11
backend/lib/schemas/response-keys.js Ver fichero

1
-const singleResponseKey = Joi.object({
1
+const Joi = require('joi')
2
+
3
+const validator = Joi.object({
2
     response_key_id: Joi.number().required(),
4
     response_key_id: Joi.number().required(),
3
     response_key_category: Joi.string().required(),
5
     response_key_category: Joi.string().required(),
4
     response_key_prompt: Joi.string().required(),
6
     response_key_prompt: Joi.string().required(),
5
-    response_key_description: Joi.any(),
6
-    aspect: Joi.string().allow(null, ''),
7
-    category: Joi.string().allow(null, ''),
8
-    placeholder: Joi.string().allow(null, ''),
9
-    invalidInputPrompt: Joi.string().allow(null, ''),
10
-}).label('question_single')
7
+    response_key_description: Joi.any()
8
+}).label('question__single_validator')
9
+
10
+const list = Joi.array().items(validator).label('question__list_validator')
11
+
12
+const single = Joi.object({
13
+    response_key_id: Joi.number().required(),
14
+    response_key_category: Joi.string().required(),
15
+    response_key_prompt: Joi.string().required(),
16
+    response_key_description: Joi.any()
17
+}).label('question__single')
18
+
11
 
19
 
12
 module.exports = {
20
 module.exports = {
13
-    single: singleResponse,
14
-    list: Joi.array().items(singleResponse).label('response_list'),
15
-    key: singleResponseKey,
16
-    keys: Joi.array().items(singleResponseKey).label('question_list'),
21
+    single,
22
+    validator,
23
+    list
17
 }
24
 }

+ 13
- 16
backend/lib/schemas/responses.js Ver fichero

1
 const Joi = require('joi')
1
 const Joi = require('joi')
2
 
2
 
3
-const singleResponse = Joi.object({
3
+const validator = Joi.object({
4
     response_key_id: Joi.number(),
4
     response_key_id: Joi.number(),
5
     response_id: Joi.number(),
5
     response_id: Joi.number(),
6
     profile_id: Joi.number(),
6
     profile_id: Joi.number(),
7
     val: Joi.string().allow(null, ''),
7
     val: Joi.string().allow(null, ''),
8
-}).label('response_single')
8
+}).label('response__single_validator')
9
 
9
 
10
-const singleResponseKey = Joi.object({
11
-    response_key_id: Joi.number().required(),
12
-    response_key_category: Joi.string().required(),
13
-    response_key_prompt: Joi.string().required(),
14
-    response_key_description: Joi.any(),
15
-    aspect: Joi.string().allow(null, ''),
16
-    category: Joi.string().allow(null, ''),
17
-    placeholder: Joi.string().allow(null, ''),
18
-    invalidInputPrompt: Joi.string().allow(null, ''),
19
-}).label('question_single')
10
+const list = Joi.array().items(validator).label('response__list_validator')
11
+
12
+const single = Joi.object({
13
+    response_key_id: Joi.number(),
14
+    response_id: Joi.number(),
15
+    profile_id: Joi.number(),
16
+    val: Joi.string().allow(null, ''),
17
+}).label('response__single')
20
 
18
 
21
 module.exports = {
19
 module.exports = {
22
-    single: singleResponse,
23
-    list: Joi.array().items(singleResponse).label('response_list'),
24
-    key: singleResponseKey,
25
-    keys: Joi.array().items(singleResponseKey).label('question_list'),
20
+    single,
21
+    validator,
22
+    list,
26
 }
23
 }

+ 1
- 1
backend/lib/schemas/tag-associations.js Ver fichero

14
     tag_id: Joi.number().required(),
14
     tag_id: Joi.number().required(),
15
 }).label('association__single_validator')
15
 }).label('association__single_validator')
16
 
16
 
17
-const list = Joi.array().items(single).label('association__list')
17
+const list = Joi.array().items(single).label('association__list_validator')
18
 
18
 
19
 // single is used to define database models
19
 // single is used to define database models
20
 const single = Joi.object({
20
 const single = Joi.object({

+ 2
- 2
backend/lib/schemas/tags.js Ver fichero

13
     tag_description: Joi.string(),
13
     tag_description: Joi.string(),
14
 }).label('tag__single_validator')
14
 }).label('tag__single_validator')
15
 
15
 
16
-const list = Joi.array().items(validator).label('tag__list')
16
+const list = Joi.array().items(validator).label('tag__list_validator')
17
 
17
 
18
 // single is used to define database models
18
 // single is used to define database models
19
 const single = Joi.object({
19
 const single = Joi.object({
26
 module.exports = {
26
 module.exports = {
27
     single,
27
     single,
28
     validator,
28
     validator,
29
-    list
29
+    list,
30
 }
30
 }

Loading…
Cancelar
Guardar