-- Read all values from space by index
local function read_value_by_combined_index_all(self)
log.info('read_value_by_combined_index_all request: ' .. tostring(self));
log.info('read_value_by_combined_index_all body: ' .. json.encode(self:json()))
local args = self:json()
local space =
args.space local index = args.index
args.space = nil
args.index = nil
local filter = {}
for k, v in pairs(args) do
filter[tonumber(k)] = v
end
log.info('read_value_by_combined_index_all space: ' .. space .. ' index: ' .. index .. ' filter: ' .. json.encode(filter))
local value, err =
crud.select(space, {{'==', index, filter}}, {timeout = 5})
local response
if err ~= nil then
response = self:render({json = { filter = filter, message = err }})
response.status = 400
elseif #value.rows == 0 then
response = self:render({json = { filter = filter }})
response.status = 404
else
local vals = {}
for i=1,#value.rows do
vals[i] = get_object(value.metadata, value.rows[i])
end
log.debug('read_value_by_combined_index_all value: ' .. json.encode(vals))
response = self:render({
json = vals
})
end
end