Commit graph

135 commits

Author SHA1 Message Date
Richard van der Hoff
a38d4fc68e Move templating into scripts dir
There's no real need for this to be at the top level.
2017-11-08 08:37:56 +00:00
Richard van der Hoff
fbd2b22c71 Inherit 'required' correctly 2017-11-03 17:24:53 +00:00
Richard van der Hoff
51e248a1db Rename 'type' field to 'title'
: because that better reflects the underlying schema ("type" is one of
object/string/etc).
2017-11-03 17:13:56 +00:00
Richard van der Hoff
c058dd5c3f Use standard logic to parse core event schemas
Use process_data_type rather than reinventing our own wheel; doing so means
that the 'Required' fields are correctly annotated as such.
2017-11-03 16:50:38 +00:00
Richard van der Hoff
93ff0713cb make res_headers a TypeTable
... rather than a list of rows
2017-11-03 16:31:41 +00:00
Richard van der Hoff
96650e2824 Define TypeTable and TypeTableRow classes
Hopefully this will make it a bit easier to understand what's going on.
2017-11-03 16:31:20 +00:00
Richard van der Hoff
544bd0a5d2 Improve logging for gendoc 2017-09-27 08:04:24 +01:00
Richard van der Hoff
726a8c2f61 Refactor _load_swagger_meta
factor out _handle_endpoint
2017-09-27 08:04:24 +01:00
Richard van der Hoff
70ec3237b6 Remove grandfathering for json strings
Examples now have to be raw objects rather than json strings
2017-09-27 08:04:24 +01:00
Richard van der Hoff
da6938b818 Key management APIs (#894)
Spec the e2e key-management APIs.
2017-04-20 16:51:42 +01:00
Richard van der Hoff
a2860beb68 Add comment to swagger parsing thing 2017-04-19 16:50:58 +01:00
Richard van der Hoff
33191e5555 Better examples 2016-10-14 15:57:52 +01:00
Richard van der Hoff
dfbe416490 Better types for additionalProps
recurse down the definitions for additionalProps, so that the types are better
2016-10-14 15:57:52 +01:00
Richard van der Hoff
57611ec523 More example formatting improvements
Generate more realistic example integers, and do some sanity checks on other
examples.
2016-10-14 12:20:00 +01:00
Richard van der Hoff
b12b38d680 regrandfather json-formatted example params 2016-10-14 11:47:34 +01:00
Richard van der Hoff
af84ca09a0 Better support for examples in responses
Walk the response schema to generate examples.
2016-10-14 11:17:06 +01:00
Richard van der Hoff
d16385a74f More ordering fixes
We were breaking the ordering of objects defined by allOf reference
2016-10-14 10:33:23 +01:00
Richard van der Hoff
c66a83c9ff Order props in the spec the same as the API
Use an OrderedDict when reading the api docs so that properties defined in the
API are rendered in the same order in the spec.
2016-10-13 22:10:14 +01:00
Richard van der Hoff
93894ebbbe Fix spurious "None" in non-room events
Events like m.direct and m.tag don't inherit from either Message event or State
event, and were getting a "None" where there should have been a type.
2016-10-13 17:23:11 +01:00
Richard van der Hoff
3dd0fcabb3 Render the body of response objects with inheritance 2016-10-13 17:11:18 +01:00
Richard van der Hoff
23d5073820 Mark required fields in response objects as such
Actually this means we can remove a bunch of code which special-cased this.
2016-10-03 14:03:23 +01:00
Richard van der Hoff
49cd65dd58 Add a license to the spec
We're licensing hte spec under ASLv2. Add the LICENSE file, and add the
short-form to as much of the source as is practical right now (adding it to
json source is a massive pita).
2016-07-12 17:28:30 +01:00
Richard van der Hoff
c0e5f3c3ca matrix_templates/units.py: add some comments
... to help understand the slightly cryptic python incantation.
2016-06-22 17:50:34 +01:00
Richard van der Hoff
4875be05ce Give better error messages when parsing fails
An attempt to give slightly more helpful error messages when we have a problem
parsing an event schema file (in particular, which file contains the problem,
and which property within it).

A bit of light refactoring to make it tractable.
2016-06-22 13:34:29 +01:00
Matthew Hodgson
666229073e fix 3pid mapping wording 2016-06-03 13:22:35 +01:00
Richard van der Hoff
8f4d7c95df Include '..' lines in changelogs
Not all lines starting with '..' are comments, and even if they are comments,
they might as well go into the generated spec ReST.
2016-05-09 11:05:28 +01:00
Richard van der Hoff
167b84cc7f Another go at formatting examples
Let's try to avoid parsing the JSON, as it will reorder the examples.
2016-05-06 16:30:07 +01:00
Richard van der Hoff
45199d0edc Attempt to parse examples as json
... because some of them are, and we don't want to double-escape them.
2016-05-06 16:05:05 +01:00
Richard van der Hoff
6b23598a26 Improve API examples in the spec
* Show response codes even if we don't have examples for them
 * Walk the objects to build param examples if none are given at the top level
2016-05-06 15:42:31 +01:00
Richard van der Hoff
01f8173c84 Put each bit of spec in its own directory
I want to change the URLs for the spec sections on the website from
<version>/<section>.html to <section>/<version>.html, to better reflect how we
do the versioning.

This puts each bit of spec in its own directory, updates the index to point to
the right place, and fixes continuserv to deal with directories as well as
files.

This will probably require fixes to the speculator too, but I'll have to come
back to that.
2016-05-05 18:26:17 +01:00
Richard van der Hoff
a8eb72e7a1 Fix changelog generation
Gendoc was adding extra newlines to the changelog RST, which messed it all up.
2016-05-05 11:06:56 +01:00
Richard van der Hoff
be09cd859d Fix errors when running build.py with default args
Fixes ugly errors when build.py was run (a) with no --substitutions at all, and
(b) without the expected substitutions
2016-05-04 18:33:52 +01:00
Richard van der Hoff
262c9ea113 Improve handling of $ref in swagger files
It turns out that swagger merges $refed attributes with those defined inline,
so do the same here.
2016-05-04 14:24:01 +01:00
Jimmy Cuadra
5b18db9096 Make list of APIs on the index a table. 2016-05-04 01:42:01 -07:00
David Baker
71cb646541 Change id in the push gateway poke to be event_id and spec that it's the Matrix event ID of the message. Correct the spec for badge count pushes which omit fields previously described as mandatory. Add more detail about when to use event_id to suppress dupes. Also add the push gateway doc so it's actually included in the spec. 2016-04-06 18:28:21 +01:00
Daniel Wagner-Hall
e0c55eeccf Add initial identity server spec
More to come
2016-03-09 15:49:23 +00:00
Daniel Wagner-Hall
f4f186baee Add _cs suffix to client-server http APIs
I'm about to add identity service APIs, so differentiating is good.
2016-03-08 17:42:41 +00:00
Daniel Wagner-Hall
1e2b63763e /join and /room/:roomId/join aren't exact aliases
Separate them, clarify their differences.

Also, fix some links which weren't being properly populated.
2016-01-13 15:55:51 +00:00
Richard van der Hoff
7a244ff977 Merge branch 'master' into rav/body_params_in_tables
Conflicts:
	templating/matrix_templates/units.py
2016-01-11 14:36:28 +00:00
Richard van der Hoff
b8669609a0 Merge pull request #255 from matrix-org/rav/refactor_schema_logic
Refactor a bunch of the logic in matrix_templates/units.py
2016-01-11 14:27:04 +00:00
Richard van der Hoff
4bdfd3d492 Fix 'required' annotations
We lost some required annotations. Add them back in.
2016-01-07 23:52:52 +00:00
Richard van der Hoff
f438644ec3 Don't sort the properties in object schemas
It makes more sense for us to order the properties manually in the yaml file,
rather than forcing their alphabeticising.
2016-01-07 23:40:18 +00:00
Richard van der Hoff
71b6ea8578 Fix a couple of things which were giving noisy diffs 2016-01-07 22:32:01 +00:00
Richard van der Hoff
c6f5ba09d4 Display POST body parameters as tables
Replace a whole bunch of special-casing for POST body parameters with the same
logic as is used for response objects: represent all but the top-level as
tables.
2016-01-07 22:19:30 +00:00
Richard van der Hoff
9a5673a1cc Reinstate event type info
The 'typeof' info on the events was perpetrated by a fearsome hack which I
broke. I don't want to fix it any better right now, so just make the hack work
and pull the rug over.
2016-01-07 21:45:10 +00:00
Richard van der Hoff
d17c84b819 Fix a missed call to get_tables_for_schema 2016-01-07 19:12:14 +00:00
Richard van der Hoff
9f9b3a1fdd Refactor a bunch of the logic in matrix_templates/units.py
Move 'inherit_parents' calls up to before get_json_schema_object_fields so that
things can inherit their types via allOf declarations. Also make it possible to
inherit descriptions.

Remove redundant 'include_parents' parameter, which was never used.

Move 'resolve_references' call out of get_tables_for_schema (it was redundant
sometimes and not others, and now it is clearer who has responsibility for it)
2016-01-07 18:59:13 +00:00
Daniel Wagner-Hall
3e086909f1 Deprecated deprecated APIs 2015-12-10 14:47:14 +00:00
Daniel Wagner-Hall
1d2ed9e9d6 Changelogs: indent instead of blockquoting 2015-12-08 11:43:10 +00:00
Daniel Wagner-Hall
b8ea5f7ffb Resolve references by default
This means I can re-use this function for the swagger-UI generation

I can't see why you would want un-resolved references as a consumer.
2015-12-07 14:28:27 +00:00