77 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| 
 | |
| --- SQL Stuff
 | |
| local SQL_DRIVER = Config.sql.driver
 | |
| local function SqlQuery(query, data)
 | |
|     if SQL_DRIVER == 'mysql' then
 | |
|         return MySQL.Sync.fetchAll(query, data or {})
 | |
|     end
 | |
|     
 | |
|     if SQL_DRIVER == 'oxmysql' then
 | |
|         if Config.sql.newOxMysql then
 | |
|             return exports[SQL_DRIVER]:fetchSync(query, data or {})
 | |
|         end
 | |
|         return exports[SQL_DRIVER]:query_async(query, data or {})
 | |
|     else
 | |
|         return exports[SQL_DRIVER]:executeSync(query, data or {})
 | |
|     end
 | |
| end
 | |
| 
 | |
| local function SqlMutate(query, data)
 | |
|     if SQL_DRIVER == 'mysql' then
 | |
|         return MySQL.Sync.insert(query, data)
 | |
|     end
 | |
|     
 | |
|     if SQL_DRIVER == 'oxmysql' then
 | |
|         return exports[SQL_DRIVER]:insertSync(query, data)
 | |
|     else
 | |
|         return exports[SQL_DRIVER]:executeSync(query, data)
 | |
|     end
 | |
| end
 | |
| 
 | |
| 
 | |
| DB = {
 | |
|     FetchProps = function(limit)
 | |
|         local query = 'SELECT * FROM kq_propplacer ORDER BY id DESC LIMIT @limit'
 | |
|         local data = {
 | |
|             ['@limit'] = limit,
 | |
|         }
 | |
|         
 | |
|         return SqlQuery(query, data)
 | |
|     end,
 | |
|     
 | |
|     SaveNewProp = function(model, coords, rotation, metadata)
 | |
|         local mutation = 'INSERT INTO kq_propplacer (`model`, `coords`, `rotation`, `metadata`) VALUES(@model, @coords, @rotation, @metadata);'
 | |
|         local data = {
 | |
|             ['@model'] = model,
 | |
|             ['@coords'] = json.encode(coords),
 | |
|             ['@rotation'] = json.encode(rotation),
 | |
|             ['@metadata'] = json.encode(metadata),
 | |
|         }
 | |
|         
 | |
|         return SqlMutate(mutation, data)
 | |
|     end,
 | |
|     
 | |
|     UpdateProp = function(id, coords, rotation, metadata)
 | |
|         local mutation = 'UPDATE kq_propplacer SET `coords` = @coords, `rotation` = @rotation, `metadata` = @metadata WHERE `id` = @id;'
 | |
|         local data = {
 | |
|             ['@id'] = id,
 | |
|             ['@coords'] = json.encode(coords),
 | |
|             ['@rotation'] = json.encode(rotation),
 | |
|             ['@metadata'] = json.encode(metadata),
 | |
|         }
 | |
|         
 | |
|         return SqlMutate(mutation, data)
 | |
|     end,
 | |
|     
 | |
|     DeleteProp = function(id)
 | |
|         local mutation = 'DELETE FROM kq_propplacer WHERE `id` = @id;'
 | |
|         local data = {
 | |
|             ['@id'] = id,
 | |
|         }
 | |
|         
 | |
|         return SqlMutate(mutation, data)
 | |
|     end,
 | |
| }
 | |
| 
 | |
| DB.SqlMutate = SqlMutate
 | |
| DB.SqlQuery = SqlQuery
 | 
