Garage API
Listar veículos do jogador, catálogo, adicionar, remover e ler trunk.
Implementação no arquivo functions/garage.lua — assume
snt_characters_vehicles + exports['mtg_garages'].GET
/elite-saas/garage/vehicles🔒 authCatálogo: todos os modelos cadastrados em mtg_garages (com nome, categoria, preço, imagem).
json
{
"vehicles": [
{ "model": "adder", "name": "Adder", "category": "super", "price": 1000000, "image": "..." },
{ "model": "blista", "name": "Blista", "category": "compact", "price": 30000, "image": "..." }
]
}GET
/elite-saas/garage/<userId>🔒 authGaragem do jogador. Open-schema: chaves extras (ipva, status, kms…) aparecem automaticamente no painel.
json
{
"userId": 4823,
"vehicles": [
{
"plate": "ABC1D23",
"model": "adder",
"category": "super",
"garage": "legion",
"stolen": false,
"value": 1000000,
"ipva": "em-dia",
"image": "https://cdn.exemplo.com/vehicles/adder.png"
}
]
}Os campos obrigatórios são plate e model. Tudo o resto é arbitrário — o painel renderiza chave/valor.
POST
/elite-saas/garage/<userId>/add🔒 authCria veículo no garage do usuário. Wrapper de exports['mtg_garages']:generateVehicle().
Body
modelstringrequired
Modelo cadastrado (ex.:
adder).platestringoptional
Plate específica. Sem ela, o adapter sorteia uma.
permanentbooleanoptional
Se
false, é veículo de aluguer; passa por generateRentalVehicle().daysintegeroptional
Quando aluguer, validade em dias.
POST
/elite-saas/garage/<userId>/remove🔒 authApaga veículo por plate. Confirma que o owner bate.
Body
platestringrequired
Plate exata.
Trunk (porta-malas)
GET
/elite-saas/garage/trunk/<plate>🔒 authConteúdo do porta-malas. Lê de mtg_containers com key='trunk_<modelo>:<plate>'.
json
{
"plate": "ABC1D23",
"model": "adder",
"items": [
{ "slot": 1, "item": "ak47", "name": "AK-47", "amount": 1, "weight": 4500, "image": "..." }
]
}POST
/elite-saas/garage/trunk/<plate>/remove🔒 authTira item do porta-malas.
itemstringrequired
Identificador interno.
amountintegeroptional
Default 1.
slotintegeroptional
Slot específico.
Tabelas envolvidas
snt_characters_vehicles— (plate, owner, index/model, ipva, status).mtg_containers— porta-malas armazenado como JSON comkey = "trunk_<model>:<plate>".
Permissões
Visualização requer analytics.view. Add/remove veículos requerem garage.edit.