21 lines
726 B
TypeScript
21 lines
726 B
TypeScript
import type { HttpContext } from '@adonisjs/core/http'
|
|
import Log from '#models/log'
|
|
|
|
export default class LogsController {
|
|
/** GET /api/logs?productId=&action=&page=&perPage= */
|
|
async index({ request }: HttpContext) {
|
|
const page = Number(request.input('page', 1))
|
|
const perPage = Number(request.input('perPage', 25))
|
|
const productId = request.input('productId')
|
|
const action = request.input('action')
|
|
const username = request.input('username')
|
|
|
|
const query = Log.query().orderBy('time', 'desc')
|
|
if (productId) query.where('product_id', productId)
|
|
if (action) query.where('action', action)
|
|
if (username) query.where('username', username)
|
|
|
|
return query.paginate(page, perPage)
|
|
}
|
|
}
|