Commit graph

190 commits

Author SHA1 Message Date
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
695a533e45 Don't sort the HTTP APIs
We can order them manually in the YAML, so why would we want a completely
different order in the spec?
2016-05-06 11:01:03 +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
902f25ef4a Include newline before table headings 2016-02-23 14:43:36 +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
18570126b5 Merge pull request #259 from matrix-org/rav/doc_speedups
Speed up gendoc.py by only running build.py once
2016-01-11 14:20:26 +00:00
Richard van der Hoff
87f2f9e878 Fix review comments 2016-01-11 14:19:53 +00:00
Richard van der Hoff
1f6c4d5bb2 Speed up gendoc.py by only running build.py once 2016-01-08 00:40:03 +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
93eb6fb352 another diff noise fix 2016-01-07 22:46:22 +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
dcd51c39b3 Indent state-key descriptions
Right now two spaces make a <dt> whereas four does the right thing.
2015-12-08 10:47:07 +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
Daniel Wagner-Hall
39f43abbb7 Add per-API changelogs 2015-12-07 14:24:10 +00:00
Daniel Wagner-Hall
f81b967e2d Make all the schema files yaml 2015-12-07 13:56:36 +00:00
Daniel Wagner-Hall
614ee9ea1b Move application service swagger out of c-s dir 2015-12-04 17:34:48 +00:00
Daniel Wagner-Hall
97fd1fdd62 Embed client and server release numbers
Note that this also removes the changelog - I'm going to re-add the
changelog differently soon.
2015-12-01 17:08:02 +00:00
Daniel Wagner-Hall
6c66bfc755 Flatten out v1 and v2_alpha directories
As a side effect, I got rid of all of the horrible symlinks and just put
in all of the proper relative paths. Because the horrible symlinks were
horrible.
2015-11-30 11:22:57 +00:00
Richard van der Hoff
9fb26f7c85 Merge pull request #163 from matrix-org/rav/rework_objects
Updates to swagger table generation
2015-11-27 14:32:56 +00:00
Daniel Wagner-Hall
4faede73a1 Merge branch 'master' into daniel/multipleexamples 2015-11-25 14:29:33 +00:00
Richard van der Hoff
34ac544290 Merge branch 'master' into rav/rework_objects
Conflicts:
	templating/matrix_templates/units.py
2015-11-17 11:43:12 +00:00
Kegan Dougal
d1c685f296 Merge branch 'master' into rav/refactor_tables 2015-11-17 09:46:25 +00:00
Kegan Dougal
8648f86032 Moar spaces 2015-11-16 15:08:37 +00:00
Erik Johnston
96be7ff241 Support more nesting 2015-11-16 15:00:31 +00:00
Richard van der Hoff
838af2a23e Updates to swagger table generation
A bunch of related fixes to the code for parsing the state and API yaml files:

1. Some of our objects are {key: {key: value}} - style nested key/value
   dictionaries. Handle this by refactoring get_json_schema_object_fields so
   that such objects are handled wherever they appear, rather than when they
   are just subproperties of a 'proper' object.

2. Fix multi-level inheritance (so an object can have an 'allOf' property which
   can successfully refer to an object which itself has an 'allOf' property).

3. $ref fields in event schemas weren't being expanded correctly

4. sort type tables breadth-first rather than depth-first so that the ordering
   in complex structures like the /sync response makes a bit more sense.
2015-11-15 23:44:46 +00:00
Richard van der Hoff
cc8ef691fb Rewrite the table templates
Allow columns to stretch if they end up with wide content.

Apart from the hassle of having to manually update the calculations, having the
columns wide enough to hold the widest thing they might ever have leads to
tables with lots of whitespace in the results.
2015-11-15 16:58:35 +00:00
Daniel Wagner-Hall
d7357ef9b7 Specify /publicRooms 2015-11-11 11:39:40 +00:00
Daniel Wagner-Hall
c00abe9f2f Fix msgtype display 2015-11-10 15:26:51 +00:00