Commit Graph

192 Commits (b5d68b8ff15338d8b7e3ebfa8c406b1871d57e98)

Author SHA1 Message Date
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).
8 years ago
David Baker d66ea3c3ce Don't line wrap the API descriptions
They are in RST format which is whitespace sensitive and threfore can't be line wrapped without breaking the syntax.

There is more wrapping in other places but some of it is into tables where it does need to be fixed width in order for the RST table to parse correctly.
9 years ago
Richard van der Hoff c0e5f3c3ca matrix_templates/units.py: add some comments
... to help understand the slightly cryptic python incantation.
9 years ago
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.
9 years ago
Matthew Hodgson 666229073e fix 3pid mapping wording 9 years ago
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.
9 years ago
Richard van der Hoff 167b84cc7f Another go at formatting examples
Let's try to avoid parsing the JSON, as it will reorder the examples.
9 years ago
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.
9 years ago
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
9 years ago
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?
9 years ago
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.
9 years ago
Richard van der Hoff a8eb72e7a1 Fix changelog generation
Gendoc was adding extra newlines to the changelog RST, which messed it all up.
9 years ago
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
9 years ago
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.
9 years ago
Jimmy Cuadra 5b18db9096 Make list of APIs on the index a table. 9 years ago
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. 9 years ago
Daniel Wagner-Hall e0c55eeccf Add initial identity server spec
More to come
9 years ago
Daniel Wagner-Hall f4f186baee Add _cs suffix to client-server http APIs
I'm about to add identity service APIs, so differentiating is good.
9 years ago
Daniel Wagner-Hall 902f25ef4a Include newline before table headings 9 years ago
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.
9 years ago
Richard van der Hoff 7a244ff977 Merge branch 'master' into rav/body_params_in_tables
Conflicts:
	templating/matrix_templates/units.py
9 years ago
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
9 years ago
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
9 years ago
Richard van der Hoff 87f2f9e878 Fix review comments 9 years ago
Richard van der Hoff 1f6c4d5bb2 Speed up gendoc.py by only running build.py once 9 years ago
Richard van der Hoff 4bdfd3d492 Fix 'required' annotations
We lost some required annotations. Add them back in.
9 years ago
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.
9 years ago
Richard van der Hoff 93eb6fb352 another diff noise fix 9 years ago
Richard van der Hoff 71b6ea8578 Fix a couple of things which were giving noisy diffs 9 years ago
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.
9 years ago
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.
9 years ago
Richard van der Hoff d17c84b819 Fix a missed call to get_tables_for_schema 9 years ago
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)
9 years ago
Daniel Wagner-Hall 3e086909f1 Deprecated deprecated APIs 9 years ago
Daniel Wagner-Hall 1d2ed9e9d6 Changelogs: indent instead of blockquoting 9 years ago
Daniel Wagner-Hall dcd51c39b3 Indent state-key descriptions
Right now two spaces make a <dt> whereas four does the right thing.
9 years ago
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.
9 years ago
Daniel Wagner-Hall 39f43abbb7 Add per-API changelogs 9 years ago
Daniel Wagner-Hall f81b967e2d Make all the schema files yaml 9 years ago
Daniel Wagner-Hall 614ee9ea1b Move application service swagger out of c-s dir 9 years ago
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.
9 years ago
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.
9 years ago
Richard van der Hoff 9fb26f7c85 Merge pull request #163 from matrix-org/rav/rework_objects
Updates to swagger table generation
9 years ago
Daniel Wagner-Hall 4faede73a1 Merge branch 'master' into daniel/multipleexamples 9 years ago
Richard van der Hoff 34ac544290 Merge branch 'master' into rav/rework_objects
Conflicts:
	templating/matrix_templates/units.py
9 years ago
Kegan Dougal d1c685f296 Merge branch 'master' into rav/refactor_tables 9 years ago
Kegan Dougal 8648f86032 Moar spaces 9 years ago
Erik Johnston 96be7ff241 Support more nesting 9 years ago
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.
9 years ago
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.
9 years ago