From 7812e90fbf554523118e2c5146e03beb94138e49 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Jun 2024 22:06:45 -0700 Subject: [PATCH] feat: GetPlayerVehicle export when querying by vehicleId --- server/main.lua | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/server/main.lua b/server/main.lua index c455d22..bc1e8c3 100644 --- a/server/main.lua +++ b/server/main.lua @@ -43,12 +43,14 @@ exports('DoesPlayerVehiclePlateExist', doesEntityPlateExist) ---@field props table ox_lib properties table ---@class PlayerVehiclesFilters ----@field vehicleId? number ---@field citizenId? string ---@field states? State|State[] ---@field garage? string ----@param filters? PlayerVehiclesFilters +---@class PlayerVehiclesInternalFilters: PlayerVehiclesFilters +---@field vehicleId? number + +---@param filters? PlayerVehiclesInternalFilters ---@return string whereClause, any[] placeholders local function buildWhereClause(filters) if not filters then @@ -85,9 +87,9 @@ local function buildWhereClause(filters) return query, placeholders end ----@param filters? PlayerVehiclesFilters +---@param filters? PlayerVehiclesInternalFilters ---@return PlayerVehicle[] -local function getPlayerVehicles(filters) +local function getPlayerVehiclesInternal(filters) local query = 'SELECT id, citizenid, vehicle, mods, garage, state, depotprice FROM player_vehicles' local whereClause, placeholders = buildWhereClause(filters) local results = MySQL.query.await(query .. whereClause, placeholders) @@ -106,8 +108,28 @@ local function getPlayerVehicles(filters) return ownedVehicles end +---@param filters? PlayerVehiclesFilters +---@return PlayerVehicle[] +local function getPlayerVehicles(filters) + ---@diagnostic disable-next-line: param-type-mismatch + return getPlayerVehiclesInternal(filters) +end + exports('GetPlayerVehicles', getPlayerVehicles) +---@param vehicleId number +---@param filters? PlayerVehiclesFilters +---@return PlayerVehicle? +local function getPlayerVehicle(vehicleId, filters) + if not filters then filters = {} end + ---@diagnostic disable-next-line: inject-field + filters.vehicleId = vehicleId + ---@diagnostic disable-next-line: param-type-mismatch + return getPlayerVehiclesInternal(filters)[1] +end + +exports('GetPlayerVehicle', getPlayerVehicle) + ---@class CreatePlayerVehicleRequest ---@field model string model name ---@field citizenid? string owner of the vehicle