Skip to content

Commit 7d750b3

Browse files
authored
Match OpenAPI spec according to official docs (#8)
1 parent f10b3e8 commit 7d750b3

30 files changed

Lines changed: 1615 additions & 403 deletions

.github/workflows/ci.yml

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,23 @@ jobs:
3232
- typesense: '0.25.2'
3333
otp: '25'
3434
elixir: '1.14'
35+
lint: false
3536
- typesense: '26.0'
3637
otp: '25'
3738
elixir: '1.14'
39+
lint: false
3840
- typesense: '27.1'
3941
otp: '25'
4042
elixir: '1.14'
43+
lint: false
4144
- typesense: '0.25.2'
4245
otp: '27'
4346
elixir: '1.17'
47+
lint: false
4448
- typesense: '26.0'
4549
otp: '27'
4650
elixir: '1.17'
51+
lint: false
4752
- typesense: '27.1'
4853
otp: '27'
4954
elixir: '1.17'
@@ -85,15 +90,6 @@ jobs:
8590
otp-version: ${{matrix.otp}}
8691
elixir-version: ${{matrix.elixir}}
8792

88-
- name: Install Dependencies
89-
run: |
90-
mix local.rebar --if-missing
91-
mix local.hex --if-missing
92-
mix deps.get
93-
94-
- name: Compile
95-
run: mix compile
96-
9793
- name: Cache dependencies/builds
9894
uses: actions/cache@v4
9995
with:
@@ -104,6 +100,15 @@ jobs:
104100
restore-keys: |
105101
${{ runner.os }}-typesense-${{ matrix.typesense}}-${{ matrix.otp }}-${{ matrix.elixir }}-mix-
106102
103+
- name: Install Dependencies
104+
run: |
105+
mix local.rebar --if-missing
106+
mix local.hex --if-missing
107+
mix deps.get
108+
109+
- name: Compile
110+
run: mix compile
111+
107112
- name: Find unused dependencies
108113
run: mix deps.unlock --check-unused
109114
if: ${{ matrix.lint }}
@@ -132,4 +137,4 @@ jobs:
132137

133138
- name: Post test coverage to Coveralls
134139
run: mix coveralls.github
135-
if: ${{ matrix.typesense == env.LATEST_TYPESENSE }}
140+
if: ${{ matrix.lint }}

config/config.exs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,8 @@ if Mix.env() == :dev do
1212
config :oapi_generator,
1313
default: [
1414
output: [
15-
base_module: OpenApiTypesense,
16-
processor: OpenAPI.Processor,
17-
renderer: OpenAPI.Renderer,
18-
location: "lib/open_api_typesense",
15+
base_module: XOpenApiTypesense,
16+
location: "lib/x_open_api_typesense",
1917
operation_subdirectory: "operations/",
2018
schema_subdirectory: "schemas/"
2119
]

lib/open_api_typesense/client.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ defmodule OpenApiTypesense.Client do
108108
host: conn.host,
109109
port: conn.port,
110110
path: opts[:url],
111-
query: URI.encode_query(opts[:opts] || [])
111+
query: URI.encode_query(opts[:query] || [])
112112
}
113113

114114
encoded_body =

lib/open_api_typesense/operations/analytics.ex

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ defmodule OpenApiTypesense.Analytics do
2525
- `create_analytics_event(%{api_key: xyz, host: ...}, payload)`
2626
- `create_analytics_event(Connection.new(), payload)`
2727
"""
28-
@spec create_analytics_event(map() | Connection.t(), map() | keyword) ::
28+
@spec create_analytics_event(map() | Connection.t(), map() | keyword()) ::
2929
{:ok, OpenApiTypesense.AnalyticsEventCreateResponse.t()}
3030
| {:error, OpenApiTypesense.ApiResponse.t()}
3131
def create_analytics_event(body, opts) when is_list(opts) do
@@ -45,7 +45,7 @@ defmodule OpenApiTypesense.Analytics do
4545
- `create_analytics_event(%{api_key: xyz, host: ...}, payload, opts)`
4646
- `create_analytics_event(Connection.new(), payload, opts)`
4747
"""
48-
@spec create_analytics_event(map() | Connection.t(), map(), keyword) ::
48+
@spec create_analytics_event(map() | Connection.t(), map(), keyword()) ::
4949
{:ok, OpenApiTypesense.AnalyticsEventCreateResponse.t()}
5050
| {:error, OpenApiTypesense.ApiResponse.t()}
5151
def create_analytics_event(conn, body, opts) when not is_struct(conn) and is_map(conn) do
@@ -88,7 +88,7 @@ defmodule OpenApiTypesense.Analytics do
8888
- `create_analytics_rule(%{api_key: xyz, host: ...}, payload)`
8989
- `create_analytics_rule(Connection.new(), payload)`
9090
"""
91-
@spec create_analytics_rule(map() | Connection.t(), map() | keyword) ::
91+
@spec create_analytics_rule(map() | Connection.t(), map() | keyword()) ::
9292
{:ok, OpenApiTypesense.AnalyticsRuleSchema.t()}
9393
| {:error, OpenApiTypesense.ApiResponse.t()}
9494
def create_analytics_rule(body, opts) when is_list(opts) do
@@ -108,7 +108,7 @@ defmodule OpenApiTypesense.Analytics do
108108
- `create_analytics_rule(%{api_key: xyz, host: ...}, payload, opts)`
109109
- `create_analytics_rule(Connection.new(), payload, opts)`
110110
"""
111-
@spec create_analytics_rule(map() | Connection.t(), map(), keyword) ::
111+
@spec create_analytics_rule(map() | Connection.t(), map(), keyword()) ::
112112
{:ok, OpenApiTypesense.AnalyticsRuleSchema.t()}
113113
| {:error, OpenApiTypesense.ApiResponse.t()}
114114
def create_analytics_rule(conn, body, opts) when not is_struct(conn) and is_map(conn) do
@@ -152,7 +152,7 @@ defmodule OpenApiTypesense.Analytics do
152152
- `delete_analytics_rule(%{api_key: xyz, host: ...}, ruleName)`
153153
- `delete_analytics_rule(Connection.new(), ruleName)`
154154
"""
155-
@spec delete_analytics_rule(map() | Connection.t() | String.t(), String.t() | keyword) ::
155+
@spec delete_analytics_rule(map() | Connection.t() | String.t(), String.t() | keyword()) ::
156156
{:ok, OpenApiTypesense.AnalyticsRuleDeleteResponse.t()}
157157
| {:error, OpenApiTypesense.ApiResponse.t()}
158158
def delete_analytics_rule(ruleName, opts) when is_binary(ruleName) do
@@ -172,7 +172,7 @@ defmodule OpenApiTypesense.Analytics do
172172
- `delete_analytics_rule(%{api_key: xyz, host: ...}, ruleName, opts)`
173173
- `delete_analytics_rule(Connection.new(), ruleName, opts)`
174174
"""
175-
@spec delete_analytics_rule(map() | Connection.t(), String.t(), keyword) ::
175+
@spec delete_analytics_rule(map() | Connection.t(), String.t(), keyword()) ::
176176
{:ok, OpenApiTypesense.AnalyticsRuleDeleteResponse.t()}
177177
| {:error, OpenApiTypesense.ApiResponse.t()}
178178
def delete_analytics_rule(conn, ruleName, opts) when not is_struct(conn) and is_map(conn) do
@@ -213,7 +213,7 @@ defmodule OpenApiTypesense.Analytics do
213213
- `retrieve_analytics_rule(%{api_key: xyz, host: ...}, ruleName)`
214214
- `retrieve_analytics_rule(Connection.new(), ruleName)`
215215
"""
216-
@spec retrieve_analytics_rule(map() | Connection.t() | String.t(), String.t() | keyword) ::
216+
@spec retrieve_analytics_rule(map() | Connection.t() | String.t(), String.t() | keyword()) ::
217217
{:ok, OpenApiTypesense.AnalyticsRuleSchema.t()}
218218
| {:error, OpenApiTypesense.ApiResponse.t()}
219219
def retrieve_analytics_rule(ruleName, opts) when is_binary(ruleName) do
@@ -233,7 +233,7 @@ defmodule OpenApiTypesense.Analytics do
233233
- `retrieve_analytics_rule(%{api_key: xyz, host: ...}, ruleName, opts)`
234234
- `retrieve_analytics_rule(Connection.new(), ruleName, opts)`
235235
"""
236-
@spec retrieve_analytics_rule(map() | Connection.t(), String.t(), keyword) ::
236+
@spec retrieve_analytics_rule(map() | Connection.t(), String.t(), keyword()) ::
237237
{:ok, OpenApiTypesense.AnalyticsRuleSchema.t()}
238238
| {:error, OpenApiTypesense.ApiResponse.t()}
239239
def retrieve_analytics_rule(conn, ruleName, opts) when not is_struct(conn) and is_map(conn) do
@@ -274,7 +274,7 @@ defmodule OpenApiTypesense.Analytics do
274274
- `retrieve_analytics_rules(%{api_key: xyz, host: ...})`
275275
- `retrieve_analytics_rules(Connection.new())`
276276
"""
277-
@spec retrieve_analytics_rules(map() | Connection.t() | keyword) ::
277+
@spec retrieve_analytics_rules(map() | Connection.t() | keyword()) ::
278278
{:ok, OpenApiTypesense.AnalyticsRulesRetrieveSchema.t()} | :error
279279
def retrieve_analytics_rules(opts) when is_list(opts) do
280280
retrieve_analytics_rules(Connection.new(), opts)
@@ -293,7 +293,7 @@ defmodule OpenApiTypesense.Analytics do
293293
- `retrieve_analytics_rules(%{api_key: xyz, host: ...}, opts)`
294294
- `retrieve_analytics_rules(Connection.new(), opts)`
295295
"""
296-
@spec retrieve_analytics_rules(map() | Connection.t(), keyword) ::
296+
@spec retrieve_analytics_rules(map() | Connection.t(), keyword()) ::
297297
{:ok, OpenApiTypesense.AnalyticsRulesRetrieveSchema.t()} | :error
298298
def retrieve_analytics_rules(conn, opts) when not is_struct(conn) and is_map(conn) do
299299
retrieve_analytics_rules(Connection.new(conn), opts)
@@ -333,7 +333,7 @@ defmodule OpenApiTypesense.Analytics do
333333
@spec upsert_analytics_rule(
334334
map() | Connection.t() | String.t(),
335335
String.t() | map(),
336-
map() | keyword
336+
map() | keyword()
337337
) ::
338338
{:ok, OpenApiTypesense.AnalyticsRuleSchema.t()}
339339
| {:error, OpenApiTypesense.ApiResponse.t()}
@@ -354,7 +354,7 @@ defmodule OpenApiTypesense.Analytics do
354354
- `upsert_analytics_rule(%{api_key: xyz, host: ...}, ruleName, body, opts)`
355355
- `upsert_analytics_rule(Connection.new(), ruleName, body, opts)`
356356
"""
357-
@spec upsert_analytics_rule(map() | Connection.t(), String.t(), map(), keyword) ::
357+
@spec upsert_analytics_rule(map() | Connection.t(), String.t(), map(), keyword()) ::
358358
{:ok, OpenApiTypesense.AnalyticsRuleSchema.t()}
359359
| {:error, OpenApiTypesense.ApiResponse.t()}
360360
def upsert_analytics_rule(conn, ruleName, body, opts)

0 commit comments

Comments
 (0)