Commit graph

91 commits

Author SHA1 Message Date
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
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
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
Daniel Wagner-Hall
c00abe9f2f Fix msgtype display 2015-11-10 15:26:51 +00:00
Daniel Wagner-Hall
071edcd86e Merge branch 'master' into daniel/multipleexamples 2015-11-10 13:22:35 +00:00
Daniel Wagner-Hall
e72151f2c3 Specify guest room access
This was reviewed as PR #150 and merged from daniel/anonymousaccess
2015-11-06 18:15:21 +00:00
Daniel Wagner-Hall
2734f9f9f2 Merge branch 'master' into daniel/multipleexamples
Conflicts:
	specification/modules/third_party_invites.rst
2015-11-05 18:33:31 +00:00
Mark Haines
8070489080 Handle lists of types in arrays 2015-11-04 11:44:20 +00:00
Mark Haines
e49ea9015f Deduplicate tables with the same title 2015-11-04 11:39:36 +00:00
Mark Haines
8322151661 Don't put a space when appending the "Must be" strings to the desciption if there isn't a description, otherwise it will mess up the indent 2015-11-03 19:42:49 +00:00
Mark Haines
91eb25b76d Include the full schema for an http API in the docs by resolving references to other files 2015-10-30 15:45:46 +00:00
Daniel Wagner-Hall
176f919fc8 Show multiple examples where present 2015-10-28 15:00:53 +00:00
Mark Haines
71874870c8 Enable syntax highlighting for example http requests 2015-10-26 17:25:33 +00:00
Kegan Dougal
30d46a19d5 Review comments 2015-10-26 14:01:27 +00:00
Kegan Dougal
3b7585cbda Make nested request objects display correctly (search API)
This now displays search_categories.room_events.filter and co correctly.
Also make arrays of enums display correctly.
2015-10-26 11:17:19 +00:00
Kegan Dougal
f95d19cecd Merge branch 'master' into appservice-swagger
Conflicts:
	specification/application_service_api.rst
2015-10-21 09:55:53 +01:00
Kegan Dougal
bbd3f8072c Review comments 2015-10-19 13:28:44 +01:00
Kegan Dougal
d39a9082a0 Add invite_room_state to spec. Flesh out info. 2015-10-16 16:43:33 +01:00
Kegan Dougal
f20faa80e5 Swagger validation 2015-10-15 14:58:00 +01:00
Daniel Wagner-Hall
2502ca7ac6 Merge branch 'master' into daniel/threepidinvites-2
Conflicts:
	specification/targets.yaml
2015-10-12 18:11:01 +01:00
Kegan Dougal
f2a6950cc3 Minor tweaks; allow objects without props/parents if a title is set
This allows us to do things like {Tweaks} where Tweaks is defined somewhere
else.
2015-10-08 16:21:26 +01:00
Daniel Wagner-Hall
21a40b317d Merge branch 'master' into daniel/threepidinvites-2 2015-10-08 09:41:17 -05:00
Kegan Dougal
65504db7bb Display nested keys on arrays of objects. Make it valid swagger. 2015-10-08 13:40:21 +01:00
Kegan Dougal
31ae4b3859 Swaggerify push notification API
Edit units.py to support nested JSON request keys
2015-10-08 13:08:21 +01:00
Kegan Dougal
a9618a981b Swaggerify the /enabled endpoint 2015-10-08 11:16:42 +01:00
Kegan Dougal
56ce432399 Get profile tag keys displaying correctly. 2015-10-08 10:14:05 +01:00
Kegan Dougal
c5edc60c4c Add push YAML for pushers endpoint.
Also display "required" text on required JSON body request params. Also
increase the size of the request param column to support longer param names
present in the pushers API.
2015-10-07 16:01:36 +01:00
Kegan Dougal
09ac367847 Merge branch 'master' into module-content-repo
Conflicts:
	templating/matrix_templates/units.py
2015-10-02 10:46:46 +01:00
Kegan Dougal
4dabcd112e Remove redundant info now we have the http api template. Minor tweaks to display of schema with no names but a type 2015-10-02 10:44:50 +01:00
Daniel Wagner-Hall
d2c56fb7a3 Merge branch 'master' into daniel/threepidinvites-2 2015-10-01 21:18:50 -05:00
Kegan Dougal
87b6dd845e Flesh out content repo; modify templating to support headers
Edit content-repo.yaml to include examples and headers.
Restructure content module to conform to the module template.
Adjust the HTTP API template to give 1 more char to the response
param to fit "Content-Disposition" correctly.
Edit the templating system to support displaying enums for
swagger APIs (before it was just JSON schema). Also add support
for introspecting headers from swagger. Finally, replace - with
_ when forming the {{ template_var }} else things whine.
2015-10-01 17:55:16 +01:00
Kegan Dougal
560cd7a58f This isn't javascript. s/,/%/ 2015-10-01 15:54:45 +01:00
Kegan Dougal
c972dad8b3 Flesh out receipts module. Add receipts swagger
Add templating support for v2 apis.
2015-10-01 15:41:54 +01:00
Kegan Dougal
365a9076b9 Add nested dict template support; Add x-pattern
For cases where event schema specify `patternProperties` it would be nice
to give that pattern a "human-readable" form rather than a raw regex. This
is now supported by specifying `x-pattern` in the value part of the specified
pattern e.g. `patternProperties:{ "^.*":{ x-pattern: "$THING", ... } }`

Templating had limited record type descriptions limited to value primitives
e.g. `{string: integer}`. It now supports inspecting the values recursively
if the value is `object`.

Updated `m.receipt` to take both these points into account to make it read
better. Tweak receipt module text.
2015-10-01 12:11:26 +01:00
Kegan Dougal
6afdfc0771 Add more logging and make logging context clearer
This is now actually useful if you want to debug why your swagger YAML
isn't producing a table you think it should be.
2015-09-23 15:36:13 +01:00
Kegan Dougal
b0eb985523 Merge branch 'master' into spec-restructure-modules 2015-09-22 16:04:41 +01:00
Kegan Dougal
056b5eba22 Partially handle representing top-level array responses
If an HTTP API returned a top-level array response, the templating system
would fail to create a table for it. This is now partially fixed by pulling
out the type of the elements (no recursion is done to populate nested tables)
2015-09-22 16:01:22 +01:00