feat: more resources support importing

This commit is contained in:
Ahmed Bouhuolia
2024-04-05 02:00:12 +02:00
parent 3851d34ba4
commit dd9098bdc1
46 changed files with 1510 additions and 149 deletions

View File

@@ -7,13 +7,14 @@ export default {
sortOrder: 'DESC',
sortField: 'name',
},
importable: true,
fields: {
'payment_date': {
payment_date: {
name: 'expense.field.payment_date',
column: 'payment_date',
fieldType: 'date',
},
'payment_account': {
payment_account: {
name: 'expense.field.payment_account',
column: 'payment_account_id',
fieldType: 'relation',
@@ -24,27 +25,27 @@ export default {
relationEntityLabel: 'name',
relationEntityKey: 'slug',
},
'amount': {
amount: {
name: 'expense.field.amount',
column: 'total_amount',
fieldType: 'number',
},
'reference_no': {
reference_no: {
name: 'expense.field.reference_no',
column: 'reference_no',
fieldType: 'text',
},
'description': {
description: {
name: 'expense.field.description',
column: 'description',
fieldType: 'text',
},
'published': {
published: {
name: 'expense.field.published',
column: 'published_at',
fieldType: 'date',
},
'status': {
status: {
name: 'expense.field.status',
fieldType: 'enumeration',
options: [
@@ -54,12 +55,69 @@ export default {
filterCustomQuery: StatusFieldFilterQuery,
sortCustomQuery: StatusFieldSortQuery,
},
'created_at': {
createdAt: {
name: 'expense.field.created_at',
column: 'created_at',
fieldType: 'date',
},
},
fields2: {
paymentAccountId: {
name: 'expense.field.payment_account',
fieldType: 'relation',
relationModel: 'Account',
relationImportMatch: ['name', 'code'],
required: true,
},
referenceNo: {
name: 'expense.field.reference_no',
fieldType: 'text',
},
paymentDate: {
name: 'expense.field.payment_date',
fieldType: 'date',
required: true,
},
currencyCode: {
name: 'expense.field.currency_code',
fieldType: 'text',
},
exchangeRate: {
name: 'expense.field.exchange_rate',
fieldType: 'number',
},
description: {
name: 'expense.field.description',
fieldType: 'text',
},
categories: {
name: 'expense.field.categories',
fieldType: 'collection',
collectionOf: 'object',
fields: {
expenseAccountId: {
name: 'expense.field.expense_account',
fieldType: 'relation',
relationModel: 'Account',
relationImportMatch: ['name', 'code'],
required: true,
},
amount: {
name: 'expense.field.amount',
fieldType: 'number',
required: true,
},
description: {
name: 'expense.field.line_description',
fieldType: 'text',
},
},
},
publish: {
name: 'expense.field.publish',
fieldType: 'boolean',
},
},
};
function StatusFieldFilterQuery(query, role) {