Stig Brautaset
f262daa454
Add separate validation options to Malli coercer
...
The motivation for this is adding a new API to a legacy service whose
data model has evolved over the years. Maybe we cannot guarantee the
presence of all fields that are considered mandatory now. Rather than
blowing up when attempting to return legacy entries we may want to
disable response validation.
However, we do want to ensure *new* entries added to the system are
valid, so we do not want to disable request validation.
Retain the ability to turn off both request and response validation with
a single setting for backwards compatibility.
2023-10-30 10:44:22 +00:00
Stig Brautaset
0fff06ec6b
Correct "effects" to "affects" in comments & docs
...
Their usage is commonly confused, but "affect" is usually a verb and
"effect" is usually a noun. In this case we want the verb. See also
https://www.merriam-webster.com/grammar/affect-vs-effect-usage-difference
2023-10-13 21:10:20 +01:00
Juho Teperi
15e0c95cb6
0.7.0-alpha7
2023-10-03 13:34:36 +03:00
Juho Teperi
d4a85c40e6
Revert group id change
...
Per discussions in Slack, changing the group id causes too much problems
2023-10-03 13:06:23 +03:00
Tommi Reiman
6a39dcd6ec
0.7.0-alpha6
2023-09-11 15:03:31 +03:00
Joel Kaasinen
ccc2b5636e
move all libs metosin/reitit => fi.metosin/reitit
...
metosin/ is a clojars legacy group, and new modules like
fi.metosin/openapi can't be created under it. Let's move everything
under fi.metosin
2023-09-11 11:04:36 +03:00
Joel Kaasinen
b316840ea0
fix: compile instead of -compile-model in malli.cljc
...
-compile-model now takes a vector of models, so
(-compile-model this model nil) fails. Just use compile directly like
master does.
2023-08-30 09:38:33 +03:00
Joel Kaasinen
f1d26791fc
Merge branch 'master' into rework-pr-589
2023-08-30 08:29:06 +03:00
Joel Kaasinen
25aee5ed22
Merge remote-tracking branch 'origin/master' into fix-openapi-example
2023-08-28 13:01:58 +03:00
Joel Kaasinen
e4c75c7354
fix: dissoc unsupported [:responses nnn :content] for swagger
...
otherwise swagger generation crashes when it tries to serialize
something like `{:content {"foo/bar" any?}}`
also fix examples/ring-malli-swagger
2023-08-28 11:18:00 +03:00
Joel Kaasinen
6f111bce2e
refactor: share -get-apidocs-openapi between malli, spec & schema
2023-08-28 09:24:10 +03:00
Joel Kaasinen
f943b025cb
refactor: no need to pass options into -get-apidocs-openapi
2023-08-28 08:59:58 +03:00
Joel Kaasinen
ee298ec362
refactor: Coercion.-get-model-apidocs, use it for malli openapi
2023-08-28 08:42:54 +03:00
Joel Kaasinen
803ed0933a
refactor: parameterise -get-apidocs-openapi with ->schema-object
2023-08-24 11:05:43 +03:00
Tommi Reiman
b0c810a981
Merge pull request #628 from metosin/openapi-parameters
...
Openapi parameters
2023-08-24 09:25:46 +03:00
Tommi Reiman
adef7ad06e
read openapi metadata into openapi description
2023-08-23 16:43:34 +03:00
Tommi Reiman
226ca889b6
openapi content tests
2023-08-18 17:17:56 +03:00
Tommi Reiman
d8e9819e0a
fix responses & request
2023-08-18 16:47:20 +03:00
Juho Teperi
4a182588b4
Release 0.7.0-alpha5
2023-06-14 16:06:20 +03:00
Tommi Reiman
b1404ada6d
top-level :request coercion & stuff
2023-05-28 16:49:08 +03:00
Tommi Reiman
d17c97780e
wrap :content schemas in :schema
2023-05-27 19:01:17 +03:00
Tommi Reiman
ce06214014
welcome 2-phase schema compilation
...
1) use `:update-paths` to handle data in certain (loose) paths differently
- accumulate schemas in all relevant routers into vector
- we do not know the coercion here (ring/http have special handling of data, e.g. http-methods)
2) run coercion compiler for the model to merge the effective model
- schema + malli = should work ok, spec = best effort
3) publish final schemas into compiled route data
2023-05-21 20:32:40 +03:00
Tommi Reiman
b3383b0396
0.7.3-alpha4
2023-05-17 18:23:05 +03:00
Joel Kaasinen
b56c15b64c
fix: openapi malli parameter descriptions
...
... should come from the parameter type, not from the parent :map
2023-05-17 08:19:44 +03:00
Juho Teperi
0b6ed62738
Release 0.7.0-alpha3
2023-05-05 12:57:31 +03:00
Juho Teperi
e204d4ff1b
Release 0.7.0-alpha2
2023-05-04 15:20:31 +03:00
Tommi Reiman
3336880b01
0.7.0-alpha1
2023-05-03 10:25:01 +03:00
Wes Morgan
f237b0942e
Merge branch 'master' into fix/malli-swagger-defs
2023-04-17 09:44:36 -06:00
Joel Kaasinen
33f7b1ccd7
chore: upgrade lein-parent plugin
2023-04-13 09:23:08 +03:00
Wes Morgan
0f9b624124
Merge branch 'master' into fix/malli-swagger-defs
2023-03-18 11:32:03 -06:00
Joel Kaasinen
d8e28e153b
fix: swagger multipart support
...
1. For spec we were including some extra stuff in the parameter
specification:
{:description "",
:in "formData",
:name "file",
:properties {"bytes" {:format "byte", :type "string"},
"content-type" {:type "string"},
"filename" {:type "string"}},
:required ["filename" "content-type" "bytes"],
:type "file"}
2. For malli the :type changed from "file" to "string" because of
openapi changes. Now openapi and swagger both get the right type.
3. Test for swagger multipart support
2023-03-17 14:54:46 +02:00
Joel Kaasinen
b5c9ee274d
feat: generate correct openapi for reitit.ring.malli
2023-03-16 09:57:02 +02:00
Joel Kaasinen
1c65f533cf
feat: openapi3 multipart support for malli
2023-03-15 17:48:03 +02:00
Wes Morgan
229171c7e3
Move more of swagger gen into malli lib
...
...so we can fix #558 .
2023-03-06 12:15:20 -07:00
Joel Kaasinen
4c990fb44f
feat: openapi default request/response schemas
...
use a default schema from :request/:response :body for all specified
:content-types
2023-03-06 10:58:03 +02:00
Joel Kaasinen
7842160656
Merge remote-tracking branch 'origin/master' into openapi
2023-03-03 14:43:23 +02:00
Tommi Reiman
47f1ee0c84
0.6.0
2023-02-21 15:17:00 +02:00
Tommi Reiman
0648296315
Merge branch 'master' into feature/openapi
2023-01-22 14:29:22 +02:00
Tommi Reiman
8e1e7e62ca
fix spec tests + format
2023-01-21 10:58:53 +02:00
Ben Sless
bc4443a935
Remove schema and errors from default malli coercion error keys
2022-12-06 21:20:48 +02:00
Enzzo Cavallo
c576b47634
OpenAPI V3 Support
2022-09-05 03:21:53 -03:00
Tommi Reiman
3dff4c84aa
0.5.18
2022-04-05 21:38:04 +03:00
Tommi Reiman
f0405adc02
0.5.17
2022-03-10 20:15:43 +02:00
Tommi Reiman
382661a6c4
0.5.16
2022-02-15 16:55:08 +02:00
Tommi Reiman
0a872d8f3a
0.5.16-SNAPSHOT
2022-02-14 17:52:32 +02:00
Tommi Reiman
f3dee769fb
format-ns
2022-02-14 16:59:20 +02:00
Tommi Reiman
2aba5610c7
format
2022-02-14 16:58:10 +02:00
Tommi Reiman
d0f7126491
add support for malli-lite
2022-02-14 16:45:14 +02:00
Tommi Reiman
bdcb1eb5b1
clean-ns
2022-02-12 22:35:27 +02:00
Tommi Reiman
5d4c886d35
format
2022-02-12 22:34:26 +02:00