Files
2026-07-13 12:32:21 +08:00

43 lines
1.1 KiB
Lua

local endpoints = require "kong.api.endpoints"
local cjson = require "cjson"
local kong = kong
local null = ngx.null
return {
["/consumers"] = {
GET = function(self, db, helpers, parent)
local args = self.args.uri
local custom_id = args.custom_id
if custom_id and type(custom_id) ~= "string" or custom_id == "" then
return kong.response.exit(400, {
message = "custom_id must be an unempty string",
})
end
-- Search by custom_id: /consumers?custom_id=xxx
if custom_id then
local opts, _, err_t = endpoints.extract_options(db, args, db.consumers.schema, "select")
if err_t then
return endpoints.handle_error(err_t)
end
local consumer, _, err_t = db.consumers:select_by_custom_id(custom_id, opts)
if err_t then
return endpoints.handle_error(err_t)
end
return kong.response.exit(200, {
data = setmetatable({ consumer }, cjson.array_mt),
next = null,
})
end
return parent()
end,
},
}