update
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import type { HttpContext } from '@adonisjs/core/http'
|
||||
import CustomField from '#base_modules/CustomField/model/custom_field'
|
||||
|
||||
export default class CustomFieldsController {
|
||||
/**
|
||||
* @summary List custom fields in the current tenant
|
||||
* @responseBody 200 - {"data":[]}
|
||||
* @responseBody 401 - {"message":"Unauthorized"}
|
||||
* @responseBody 400 - {"code":"E_TENANT_REQUIRED","message":"X-Tenant-Id header is required"}
|
||||
* @responseBody 403 - {"code":"E_TENANT_ACCESS_DENIED","message":"You do not have access to this tenant"}
|
||||
*/
|
||||
public async index({ response, tenant }: HttpContext) {
|
||||
const fields = await CustomField.query().where('tenant_id', tenant.id).orderBy('id', 'asc')
|
||||
return response.ok({ data: fields })
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import { BaseModel, column } from '@adonisjs/lucid/orm'
|
||||
import { DateTime } from 'luxon'
|
||||
|
||||
export default class CustomField extends BaseModel {
|
||||
@column({ isPrimary: true }) declare id: number
|
||||
@column({ columnName: 'tenant_id', serializeAs: null }) declare tenantId: number
|
||||
@column({ columnName: 'entity_type', serializeAs: 'entity_type' }) declare entityType: string
|
||||
@column() declare name: string
|
||||
@column() declare key: string
|
||||
@column({ columnName: 'field_type', serializeAs: 'field_type' }) declare fieldType: string
|
||||
@column() declare required: boolean
|
||||
@column() declare options: Record<string, unknown> | null
|
||||
@column() declare status: string
|
||||
@column.dateTime({ autoCreate: true, serializeAs: null }) declare createdAt: DateTime
|
||||
@column.dateTime({ autoCreate: true, autoUpdate: true, serializeAs: null })
|
||||
declare updatedAt: DateTime
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import router from '@adonisjs/core/services/router'
|
||||
import { middleware } from '#start/kernel'
|
||||
|
||||
const CustomFieldsController = () =>
|
||||
import('#base_modules/CustomField/controller/custom_fields_controller')
|
||||
|
||||
router
|
||||
.group(() => {
|
||||
router.get('/', [CustomFieldsController, 'index'])
|
||||
})
|
||||
.prefix('/api/custom-fields')
|
||||
.use([middleware.auth(), middleware.tenant()])
|
||||
Reference in New Issue
Block a user