Skip to content

Commit

Permalink
♻️ Query params cleaning
Browse files Browse the repository at this point in the history
Clean up the query parameters so there's no empty question mark
  • Loading branch information
AndreMiras committed Jun 8, 2023
1 parent f489851 commit e7ca0f7
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 4 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ release/push:
release: release/prepare release/commit release/push

test:
$(BUSTED) --coverage postgrest/
$(BUSTED) --verbose --coverage postgrest/

coveralls:
$(LUA_COVERALLS) --verbose
Expand Down
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,17 @@ Delete:
database:from("todos"):delete():filter{id = 4}:execute()
```

## Logger

It's possible to log the requests to the REST API, by passing a request logger callback.

```lua
function request_logger(method, url, payload, headers)
print("method: " .. method .. " url: " .. url)
end
database.request_logger = request_logger
```

## Development

### Tests
Expand Down
2 changes: 1 addition & 1 deletion postgrest/query_builder.lua
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ function QueryBuilder:select(columns, ...)
self.select_columns = {columns, ...}
end
self.select_str = #self.select_columns > 0 and "select=" ..
table.concat(self.select_columns, ",") or ""
table.concat(self.select_columns, ",") or nil
if self.select_str then
table.insert(self.query_parameters, self.select_str)
end
Expand Down
10 changes: 8 additions & 2 deletions postgrest/query_builder_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -28,25 +28,31 @@ describe("query_builder", function()

it("should work with empty columns table object", function()
local expected_columns = {}
local expected_select_str = ""
local expected_query_parameters = {}
local expected_select_str = nil
local database = nil
local table_name = nil
local columns = {}
local query_builder = QueryBuilder:new(database, table_name)
query_builder:select(columns)
assert.same(expected_columns, query_builder.select_columns)
assert.same(expected_query_parameters,
query_builder.query_parameters)
assert.same(expected_select_str, query_builder.select_str)
end)

it("should work with nil columns object", function()
local expected_columns = {}
local expected_select_str = ""
local expected_query_parameters = {}
local expected_select_str = nil
local database = nil
local table_name = nil
local columns = nil
local query_builder = QueryBuilder:new(database, table_name)
query_builder:select(columns)
assert.same(expected_columns, query_builder.select_columns)
assert.same(expected_query_parameters,
query_builder.query_parameters)
assert.same(expected_select_str, query_builder.select_str)
end)
end)
Expand Down

0 comments on commit e7ca0f7

Please sign in to comment.