# Jaksam Inventory

* Navigate to `jaksam_inventory/_data` and create a new file, name it `avbusiness.lua`
* Open `avbusiness.lua` in your text editor, paste and save the following snippet:

```lua
AddEventHandler('inventory:refresh',function()
	local success, items = pcall(MySQL.query.await, 'SELECT * FROM av_items')
    Script.Items = Script.Items or {}
	if success and items and next(items) then
		local dump = {}
		local resource = GetCurrentResourceName()
		local path = GetResourcePath(resource)
		for i = 1, #items do
			local item = items[i]
			if not Script.Items[item.name] then
				item.close = true
				item.stackable = true
				item.description = item.description
				item.weight = toFloat(item.weight)
				item.type = 'item'
				dump[i] = item
				if item.image then
					PerformHttpRequest(item.image, function (errorCode, resultData, resultHeaders)
						if errorCode >= 200 and errorCode < 300 then
							local image = assert(io.open(path..'/_images/'..item.name..'.png', "wb"))
							image:write(resultData)
							image:flush()
							image:close()
						else
							print("We couldn't download item image for product "..item.name..", this is not a script problem, possibly a not valid url or some firewall blocking the request (?)")
						end
					end)
				end
			end
		end
		if table.type(dump) ~= "empty" then
			local file = {string.strtrim(LoadResourceFile(resource, '_data/items.lua'))}
			file[1] = file[1]:gsub('}$', '')

			local itemFormat = [[
    ['%s'] = {
        label = '%s',
        weight = %s,
        type = 'item',
        stackable = %s,
        close = %s,
        description = %s
    },
]]
			local fileSize = #file
			for _, item in pairs(dump) do
				local formatName = item.name:gsub("'", "\\'"):lower()
				if not Script.Items[formatName] then
					fileSize += 1
					file[fileSize] = (itemFormat):format(formatName, item.label:gsub("'", "\\'"):lower(), item.weight, item.stackable, item.close, item.description and ('"%s"'):format(item.description) or 'nil')
					Script.Items[formatName] = item
				end
			end
			file[fileSize+1] = '}'
			SaveResourceFile(resource, '_data/items.lua', table.concat(file), -1)
		end
	end
end)

function toFloat(number)
    if not number then return 1.0 end
    if tonumber(number) >= 100 then
        return 1.0
    end
    return tonumber(number) + 0.0
end
```
