InboxPage: use sparse fields to improve query performance

This commit is contained in:
Vesa Luusua 2019-04-12 15:47:57 +03:00
parent d31055f263
commit be0c8a7cf5
2 changed files with 10 additions and 2 deletions

View file

@ -94,6 +94,14 @@ export const loadData = (params, search) => (dispatch, getState, sdk) => {
only: onlyFilter,
lastTransitions: TRANSITIONS,
include: ['provider', 'provider.profileImage', 'customer', 'customer.profileImage', 'booking'],
'fields.transaction': [
'lastTransition',
'lastTransitionedAt',
'transitions',
'payinTotal',
'payoutTotal',
],
'fields.user': ['profile.displayName', 'profile.abbreviatedName'],
'fields.image': ['variants.square-small', 'variants.square-small2x'],
page,
per_page: INBOX_PAGE_SIZE,

View file

@ -339,7 +339,7 @@ propTypes.transaction = shape({
id: propTypes.uuid.isRequired,
type: propTypes.value('transaction').isRequired,
attributes: shape({
createdAt: instanceOf(Date).isRequired,
createdAt: instanceOf(Date),
lastTransitionedAt: instanceOf(Date).isRequired,
lastTransition: oneOf(TRANSITIONS).isRequired,
@ -357,7 +357,7 @@ propTypes.transaction = shape({
lineTotal: propTypes.money.isRequired,
reversal: bool.isRequired,
})
).isRequired,
),
transitions: arrayOf(propTypes.transition).isRequired,
}),
booking: propTypes.booking,