Skip to content

Commit

Permalink
Merge pull request #78 from androozka/joi-update-fix
Browse files Browse the repository at this point in the history
Joi update fix
  • Loading branch information
androozka committed Sep 18, 2019
2 parents 144040f + 5e8e61e commit 009b09f
Show file tree
Hide file tree
Showing 21 changed files with 727 additions and 183 deletions.
24 changes: 20 additions & 4 deletions src/v2/support/custom_agent_roles/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,25 @@ const data = Joi.object();

module.exports = {
list: null, // no options
show: options => Joi.validate(options, { id: id.required() }),
create: options => Joi.validate(options, { data: data.required() }),

show: options =>
Joi.object({
id: id.required()
}).validate(options),

create: options =>
Joi.object({
data: data.required()
}).validate(options),

update: options =>
Joi.validate(options, { id: id.required(), data: data.required() }),
delete: options => Joi.validate(options, { id: id.required() })
Joi.object({
id: id.required(),
data: data.required()
}).validate(options),

delete: options =>
Joi.object({
id: id.required()
}).validate(options)
};
11 changes: 9 additions & 2 deletions src/v2/support/end_users/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,14 @@ const id = Joi.number().min(1);
const data = Joi.object();

module.exports = {
show: options => Joi.validate(options, { id: id.required() }),
show: options =>
Joi.object({
id: id.required()
}).validate(options),

update: options =>
Joi.validate(options, { id: id.required(), data: data.required() })
Joi.object({
id: id.required(),
data: data.required()
}).validate(options)
};
50 changes: 41 additions & 9 deletions src/v2/support/group_memberships/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,48 @@ const membership_id = Joi.number().min(1);
const data = Joi.object();

module.exports = {
list: options => Joi.validate(options, { user_id, group_id }),
assignable: options => Joi.validate(options, { group_id }),
show: options => Joi.validate(options, { id: id.required(), user_id }),
create: options => Joi.validate(options, { user_id, data: data.required() }),
create_many: options => Joi.validate(options, { data: data.required() }),
delete: options => Joi.validate(options, { id: id.required(), user_id }),
delete_many: options => Joi.validate(options, { ids: ids.required() }),
list: options =>
Joi.object({
user_id,
group_id
}).validate(options),

assignable: options =>
Joi.object({
group_id
}).validate(options),

show: options =>
Joi.object({
id: id.required(),
user_id
}).validate(options),

create: options =>
Joi.object({
user_id,
data: data.required()
}).validate(options),

create_many: options =>
Joi.object({
data: data.required()
}).validate(options),

delete: options =>
Joi.object({
id: id.required(),
user_id
}).validate(options),

delete_many: options =>
Joi.object({
ids: ids.required()
}).validate(options),

default: options =>
Joi.validate(options, {
Joi.object({
user_id: user_id.required(),
membership_id: membership_id.required()
})
}).validate(options)
};
30 changes: 25 additions & 5 deletions src/v2/support/groups/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,31 @@ const user_id = Joi.number().min(1);
const data = Joi.object();

module.exports = {
list: options => Joi.validate(options, { user_id }),
list: options =>
Joi.object({
user_id
}).validate(options),

show_assignable: null, // no options
show: options => Joi.validate(options, { id: id.required() }),
create: options => Joi.validate(options, { data: data.required() }),

show: options =>
Joi.object({
id: id.required()
}).validate(options),

create: options =>
Joi.object({
data: data.required()
}).validate(options),

update: options =>
Joi.validate(options, { id: id.required(), data: data.required() }),
delete: options => Joi.validate(options, { id: id.required() })
Joi.object({
id: id.required(),
data: data.required()
}).validate(options),

delete: options =>
Joi.object({
id: id.required()
}).validate(options)
};
30 changes: 25 additions & 5 deletions src/v2/support/organization_fields/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,30 @@ const data = Joi.object();

module.exports = {
list: null, // no options
show: options => Joi.validate(options, { id: id.required() }),
create: options => Joi.validate(options, { data: data.required() }),

show: options =>
Joi.object({
id: id.required()
}).validate(options),

create: options =>
Joi.object({
data: data.required()
}).validate(options),

update: options =>
Joi.validate(options, { id: id.required(), data: data.required() }),
delete: options => Joi.validate(options, { id: id.required() }),
reorder: options => Joi.validate(options, { data: data.required() })
Joi.object({
id: id.required(),
data: data.required()
}).validate(options),

delete: options =>
Joi.object({
id: id.required()
}).validate(options),

reorder: options =>
Joi.object({
data: data.required()
}).validate(options)
};
79 changes: 66 additions & 13 deletions src/v2/support/organizations/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,73 @@ const name = Joi.string().min(1);
const data = Joi.object();

module.exports = {
list: options => Joi.validate(options, { user_id }),
autocomplete: options => Joi.validate(options, { name: name.required() }),
related: options => Joi.validate(options, { id: id.required() }),
show: options => Joi.validate(options, { id: id.required() }),
show_many: options => Joi.validate(options, { ids, external_ids }),
create: options => Joi.validate(options, { data: data.required() }),
create_many: options => Joi.validate(options, { data: data.required() }),
create_or_update: options => Joi.validate(options, { data: data.required() }),
list: options =>
Joi.object({
user_id
}).validate(options),

autocomplete: options =>
Joi.object({
name: name.required()
}).validate(options),

related: options =>
Joi.object({
id: id.required()
}).validate(options),

show: options =>
Joi.object({
id: id.required()
}).validate(options),

show_many: options =>
Joi.object({
ids,
external_ids
}).validate(options),

create: options =>
Joi.object({
data: data.required()
}).validate(options),

create_many: options =>
Joi.object({
data: data.required()
}).validate(options),

create_or_update: options =>
Joi.object({
data: data.required()
}).validate(options),

update: options =>
Joi.validate(options, { id: id.required(), data: data.required() }),
Joi.object({
id: id.required(),
data: data.required()
}).validate(options),

update_many: options =>
Joi.validate(options, { ids, external_ids, data: data.required() }),
delete: options => Joi.validate(options, { id: id.required() }),
delete_many: options => Joi.validate(options, { ids, external_ids }),
Joi.object({
ids,
external_ids,
data: data.required()
}).validate(options),

delete: options =>
Joi.object({
id: id.required()
}).validate(options),

delete_many: options =>
Joi.object({
ids,
external_ids
}).validate(options),

search: options =>
Joi.validate(options, { external_id: external_id.required() })
Joi.object({
external_id: external_id.required()
}).validate(options)
};
4 changes: 3 additions & 1 deletion src/v2/support/search/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@ const Joi = require('@hapi/joi');
const search_string = Joi.string().min(1);

module.exports = options =>
Joi.validate(options, { search_string: search_string.required() });
Joi.object({
search_string: search_string.required()
}).validate(options);
30 changes: 25 additions & 5 deletions src/v2/support/suspended_tickets/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,29 @@ const ids = Joi.string().min(3);

module.exports = {
list: null, // no options
show: options => Joi.validate(options, { id: id.required() }),
recover: options => Joi.validate(options, { id: id.required() }),
recover_many: options => Joi.validate(options, { ids: ids.required() }),
delete: options => Joi.validate(options, { id: id.required() }),
delete_many: options => Joi.validate(options, { ids: ids.required() })

show: options =>
Joi.object({
id: id.required()
}).validate(options),

recover: options =>
Joi.object({
id: id.required()
}).validate(options),

recover_many: options =>
Joi.object({
ids: ids.required()
}).validate(options),

delete: options =>
Joi.object({
id: id.required()
}).validate(options),

delete_many: options =>
Joi.object({
ids: ids.required()
}).validate(options)
};
27 changes: 19 additions & 8 deletions src/v2/support/tags/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,36 @@ const data = Joi.object();

module.exports = {
list: null, // no options

show: options =>
Joi.validate(options, { type: type.required(), id: id.required() }),
Joi.object({
type: type.required(),
id: id.required()
}).validate(options),

set: options =>
Joi.validate(options, {
Joi.object({
type: type.required(),
id: id.required(),
data: data.required()
}),
}).validate(options),

add: options =>
Joi.validate(options, {
Joi.object({
type: type.required(),
id: id.required(),
data: data.required()
}),
}).validate(options),

remove: options =>
Joi.validate(options, {
Joi.object({
type: type.required(),
id: id.required(),
data: data.required()
}),
autocomplete: options => Joi.validate(options, { name: name.required() })
}).validate(options),

autocomplete: options =>
Joi.object({
name: name.required()
}).validate(options)
};
5 changes: 4 additions & 1 deletion src/v2/support/ticket_activities/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ const activity_id = Joi.number().min(1);

module.exports = {
list: null, // no options

show: options =>
Joi.validate(options, { activity_id: activity_id.required() })
Joi.object({
activity_id: activity_id.required()
}).validate(options)
};
20 changes: 14 additions & 6 deletions src/v2/support/ticket_comments/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,26 @@ const ticket_id = Joi.number().min(1);
const data = Joi.object();

module.exports = {
list: options => Joi.validate(options, { ticket_id: ticket_id.required() }),
list: options =>
Joi.object({
ticket_id: ticket_id.required()
}).validate(options),

emailCCs: options =>
Joi.validate(options, { ticket_id: ticket_id.required() }),
Joi.object({
ticket_id: ticket_id.required()
}).validate(options),

redact: options =>
Joi.validate(options, {
Joi.object({
ticket_id: ticket_id.required(),
id: id.required(),
data: data.required()
}),
}).validate(options),

makePrivate: options =>
Joi.validate(options, {
Joi.object({
ticket_id: ticket_id.required(),
id: id.required()
})
}).validate(options)
};
Loading

0 comments on commit 009b09f

Please sign in to comment.