Skip to content

Commit

Permalink
feat(analytics/snapshots): add reauest body
Browse files Browse the repository at this point in the history
  • Loading branch information
eljefedelrodeodeljefe committed Jul 30, 2019
1 parent fdf182a commit 9955cb5
Showing 1 changed file with 102 additions and 30 deletions.
132 changes: 102 additions & 30 deletions lib/v0/analytics/snapshots/create.js
@@ -1,6 +1,37 @@
const commonResponse = require('../../../common/response')

module.exports.request = {
body: {
$id: 'https://schemas.tillhub.com/v0/analytics.create.request.body.schema.json',
$schema: 'http://json-schema.org/draft-07/schema#',
additionalProperties: true,
type: 'object',
required: [

],
properties: {
deleted: {
type: 'boolean',
default: false
},
register: {
type: 'string',
format: 'uuid'
},
branch: {
type: 'string',
format: 'uuid'
},
client_id: {
type: 'string',
maxLength: 64
},
comment: {
type: 'string',
maxLength: 2048
}
}
},
query: {
$id: 'https://schemas.tillhub.com/v0/analytics.create.request.query.schema.json',
$schema: 'http://json-schema.org/draft-07/schema#',
Expand Down Expand Up @@ -37,37 +68,78 @@ module.exports.response = {
additionalProperties: false,
...commonResponse({
resultItems: {
anyOf: [
require('./jobs/bank.amount_total'),
require('./jobs/cancellations.amount_total.cancelled'),
require('./jobs/cancellations.amount_total_refunded'),
require('./jobs/cancellations.cancellations_count'),
require('./jobs/cancellations.refunds_count'),
require('./jobs/cancellations.share_of_cancelled'),
require('./jobs/cancellations.share_of_refunded'),
require('./jobs/discounts.amount_total'),
require('./jobs/discounts.count'),
require('./jobs/discounts.share_of'),
require('./jobs/expenses.amount_total'),
require('./jobs/payments.card.count'),
require('./jobs/payments.card.revenue'),
require('./jobs/payments.cash.count'),
require('./jobs/payments.cash.discrepancy'),
require('./jobs/payments.cash.revenue'),
require('./jobs/payments.giftcard.count'),
require('./jobs/payments.giftcard.revenue'),
require('./jobs/product_groups.revenue'),
require('./jobs/product_groups.share_of'),
require('./jobs/safe.amount_total'),
require('./jobs/transactions.first_transaction'),
require('./jobs/transactions.last_transaction')
].map((item) => {
return {
type: 'object',
additionalProperties: false,
properties: item
type: 'object',
additionalProperties: false,
properties: {
id: {
type: 'string',
format: 'uuid'
},
deleted: {
type: 'boolean',
default: false
},
register: {
type: 'string',
format: 'uuid'
},
branch: {
type: 'string',
format: 'uuid'
},
client_id: {
type: 'string',
maxLength: 64
},
comment: {
type: 'string',
maxLength: 2048
},
created_at: {
type: 'string',
format: 'date-time'
},
updated_at: {
type: 'string',
format: 'date-time'
},
items: {
type: 'array',
items: {
anyOf: [
require('./jobs/bank.amount_total'),
require('./jobs/cancellations.amount_total.cancelled'),
require('./jobs/cancellations.amount_total_refunded'),
require('./jobs/cancellations.cancellations_count'),
require('./jobs/cancellations.refunds_count'),
require('./jobs/cancellations.share_of_cancelled'),
require('./jobs/cancellations.share_of_refunded'),
require('./jobs/discounts.amount_total'),
require('./jobs/discounts.count'),
require('./jobs/discounts.share_of'),
require('./jobs/expenses.amount_total'),
require('./jobs/payments.card.count'),
require('./jobs/payments.card.revenue'),
require('./jobs/payments.cash.count'),
require('./jobs/payments.cash.discrepancy'),
require('./jobs/payments.cash.revenue'),
require('./jobs/payments.giftcard.count'),
require('./jobs/payments.giftcard.revenue'),
require('./jobs/product_groups.revenue'),
require('./jobs/product_groups.share_of'),
require('./jobs/safe.amount_total'),
require('./jobs/transactions.first_transaction'),
require('./jobs/transactions.last_transaction')
].map((item) => {
return {
type: 'object',
additionalProperties: false,
properties: item
}
})
}
}
})
}
}
})
}

0 comments on commit 9955cb5

Please sign in to comment.