feat: custom view dynamic filter.

This commit is contained in:
a.bouhuolia
2021-08-04 15:01:43 +02:00
parent 3fc30d5240
commit 2822270ac3
42 changed files with 647 additions and 97 deletions

View File

@@ -127,9 +127,12 @@ export default class AccountsController extends BaseController {
return [param('id').exists().isNumeric().toInt()];
}
/**
* Accounts list validation schema.
*/
get accountsListSchema() {
return [
query('custom_view_id').optional().isNumeric().toInt(),
query('view_slug').optional({ nullable: true }).isString().trim(),
query('stringified_filter_roles').optional().isJSON(),
query('column_sort_by').optional(),

View File

@@ -118,7 +118,7 @@ export default class CustomersController extends ContactsController {
query('page').optional().isNumeric().toInt(),
query('page_size').optional().isNumeric().toInt(),
query('custom_view_id').optional().isNumeric().toInt(),
query('view_slug').optional().isString().trim(),
query('stringified_filter_roles').optional().isJSON(),
query('inactive_mode').optional().isBoolean().toBoolean(),

View File

@@ -92,7 +92,7 @@ export default class VendorsController extends ContactsController {
*/
get vendorsListSchema() {
return [
query('custom_view_id').optional().isNumeric().toInt(),
query('view_slug').optional().isString().trim(),
query('stringified_filter_roles').optional().isJSON(),
query('column_sort_by').optional(),

View File

@@ -174,7 +174,7 @@ export default class ExpensesController extends BaseController {
*/
get expensesListSchema() {
return [
query('custom_view_id').optional().isNumeric().toInt(),
query('view_slug').optional({ nullable: true }).isString().trim(),
query('stringified_filter_roles').optional().isJSON(),
query('column_sort_by').optional(),

View File

@@ -183,7 +183,7 @@ export default class ItemsController extends BaseController {
query('page').optional().isNumeric().toInt(),
query('page_size').optional().isNumeric().toInt(),
query('custom_view_id').optional().isNumeric().toInt(),
query('view_slug').optional({ nullable: true }).isString().trim(),
query('stringified_filter_roles').optional().isJSON(),
query('inactive_mode').optional().isBoolean().toBoolean(),

View File

@@ -165,7 +165,7 @@ export default class BillsController extends BaseController {
*/
get billsListingValidationSchema() {
return [
query('custom_view_id').optional().isNumeric().toInt(),
query('view_slug').optional().isString().trim(),
query('stringified_filter_roles').optional().isJSON(),
query('page').optional().isNumeric().toInt(),
query('page_size').optional().isNumeric().toInt(),

View File

@@ -115,7 +115,7 @@ export default class PaymentReceivesController extends BaseController {
*/
get validatePaymentReceiveList(): ValidationChain[] {
return [
query('custom_view_id').optional().isNumeric().toInt(),
query('view_slug').optional({ nullable: true }).isString().trim(),
query('stringified_filter_roles').optional().isJSON(),
query('column_sort_by').optional(),
query('sort_order').optional().isIn(['desc', 'asc']),

View File

@@ -129,7 +129,7 @@ export default class SalesEstimatesController extends BaseController {
*/
get validateEstimateListSchema() {
return [
query('custom_view_id').optional().isNumeric().toInt(),
query('view_slug').optional().isString().trim(),
query('stringified_filter_roles').optional().isJSON(),
query('column_sort_by').optional(),
query('sort_order').optional().isIn(['desc', 'asc']),

View File

@@ -129,7 +129,7 @@ export default class SaleInvoicesController extends BaseController {
*/
get saleInvoiceListValidationSchema() {
return [
query('custom_view_id').optional().isNumeric().toInt(),
query('view_slug').optional({ nullable: true }).isString().trim(),
query('stringified_filter_roles').optional().isJSON(),
query('column_sort_by').optional(),
query('sort_order').optional().isIn(['desc', 'asc']),

View File

@@ -118,7 +118,7 @@ export default class SalesReceiptsController extends BaseController {
*/
get listSalesReceiptsValidationSchema() {
return [
query('custom_view_id').optional().isNumeric().toInt(),
query('view_slug').optional().isString().trim(),
query('stringified_filter_roles').optional().isJSON(),
query('column_sort_by').optional(),
query('sort_order').optional().isIn(['desc', 'asc']),