Welcome to the Umamusume Wiki! If you want to contribute, please read the guidelines.

Module:Cargo

From Umamusume Wiki
Jump to navigation Jump to search

Documentation for this module may be created at Module:Cargo/doc

--[[
    !! THIS PAGE IS MANAGED BY GITLAB !!
    ANY EDITS TO PAGE CONTENT WILL BE OVERWRITTEN
    TO MAKE CHANGES, PLEASE SUBMIT A MERGE REQUEST AT https://gitlab.com/umamusume-wiki/lua-modules
]]

local Cargo = {}
local cargo = mw.ext.cargo

---@class CargoQueryConfig
---@field from string
---@field fields string[]
---@field where string|nil
---@field join string|nil
---@field groupBy string|nil
---@field having string|nil
---@field orderBy string|nil
---@field limit string|number|nil
---@field offset string|number|nil

---Helper function to make cargo queries easier
---@param query CargoQueryConfig
---@return table[] results query results
function Cargo.query(query)
    local results = cargo.query(query.from, table.concat(query.fields, ','), {
        where = query.where,
        join = query.join,
        groupBy = query.groupBy,
        having = query.having,
        orderBy = query.orderBy,
        limit = query.limit or 9999,
        offset = query.offset,
    })
    return results
end

return Cargo