Commit graph

624 commits

Author SHA1 Message Date
Mark Haines 9dd3b07394 Allow '.' characters in event field names to be escaped with '\' so that
fields including a '.' can be included in a filter.

I considered replacing '.' with '/'. Since '/' was less likely to appear
in event field names. However if we used '\' to escape a literal '/' we
risk confusing it with the JSON escape '\/'.
2015-09-28 14:10:57 +01:00
Mark Haines 14b42a41d6 Document wildcard's in filters 2015-09-28 13:58:07 +01:00
Mark Haines c115b4c2f4 Document the valid values for the "set_presence" parameter 2015-09-28 13:47:04 +01:00
Mark Haines 940e22940d Document how the "not_foo" keys interact with the "foo" keys 2015-09-28 13:28:58 +01:00
Mark Haines 41bc09ea22 Split the event_filter into a event_filter and a room_event_filter that
extends it.

So that we don't include "rooms" and "not_rooms" keys for the public_user_data
and private_user_data filters.
2015-09-28 13:20:01 +01:00
Mark Haines 00fd4aac26 s/publically/publicly/ 2015-09-28 13:06:04 +01:00
Mark Haines 3204c2f2b6 Fix spelling 2015-09-28 13:04:37 +01:00
Mark Haines f50e6d4c0a Add x-example fields for v2 /sync 2015-09-28 13:02:52 +01:00
Mark Haines 1aa916d690 s/indicies/indices/ 2015-09-28 12:52:12 +01:00
Mark Haines 393d283139 Add a "limit" to the timeline key in the example filter 2015-09-28 11:22:31 +01:00
Mark Haines c3b3b2df63 Add "set_presence" in the sync parameters 2015-09-25 19:37:41 +01:00
Mark Haines de07586ab7 Rename 'events' to 'timeline' in the sync filter 2015-09-25 19:35:44 +01:00
Mark Haines a0068e1ada Draft documention for the v2 sync api 2015-09-25 18:10:28 +01:00
Mark Haines e1f73f5233 Add a limit to filters 2015-09-25 18:09:17 +01:00
Mark Haines a31a446661 Fix the POST example for the v2 filter API 2015-09-24 16:48:00 +01:00
Mark Haines 69298b9612 Check "v2_alpha" in jenkins 2015-09-24 16:29:51 +01:00
Mark Haines 883105eae6 Document the v2 filter GET API 2015-09-24 16:25:03 +01:00
Mark Haines 2f039a1142 Add swagger docs for the v2 filter POST API 2015-09-24 15:39:17 +01:00
Kegsay ca9f30a7fd Merge pull request #61 from matrix-org/markjh/node_swagger_validator
Only validate a file if it ends with ".yaml".
2015-09-24 13:42:36 +01:00
Mark Haines 385b6c4759 Only validate a file if it ends with ".yaml".
Otherwise we try to validate vim .swp files.
2015-09-24 13:37:32 +01:00
Kegsay 0346568519 Merge pull request #60 from matrix-org/gendoc-logging
Gendoc logging
2015-09-23 16:52:24 +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 f1adad5fb3 Add more logging with file prefixes
This makes the handoff between gendoc and batesian clearer in the logs.
2015-09-23 15:10:55 +01:00
Kegan Dougal 064a2c9172 Use argparse and log functions for gendoc.py
gendoc.py has become more complex such that we actually want to pass things
to it like `--verbose`, `--nodelete`, `--target`, so use `argparse` to do this
like we have `build.py`. Pass through `-v` flags to `build.py`.
2015-09-23 14:59:57 +01:00
Kegsay 14e77b09ab Merge pull request #59 from matrix-org/spec-restructure-modules
Add spec build targets; restructure spec
2015-09-23 14:38:25 +01:00
Kegan Dougal 1da64db302 Use relative depths for groups instead of absolute ones
This means the group can be agnostic to how deeply nested it is,
improving reusability of groups.
2015-09-23 14:29:37 +01:00
Kegan Dougal 29bae15790 Fix typo 2015-09-23 11:30:07 +01:00
Kegan Dougal 5115346297 Add instant_messaging module; modify batesian section rules
Previously, all `m.room.*` events were wodged into `{{room_events}}` which
isn't great when you want to pull specific ones out. Batesian had a 1:1
mapping of `render_foo()` to a section `{{foo}}`, and having to constantly
add functions for new types is a PITA. Batesian now supports returning a
`dict` instead of a section `string` where the keys are the `{{foo}}` and
the value is what will be inserted. Also add conflicting section key checks
to avoid multiple definitions of the same `{{foo}}`. Define dicts for
event schemata and swagger HTTP APIs.

Using this new feature, split out the instant messaging stuff from the events
section, and replace `{{room_events}}` with a list of specific events e.g.
`{{m_room_member_event}}`.
2015-09-23 10:48:49 +01:00
Kegan Dougal 5b134119bd Add presence module; fix relative title bug
If a relative title appeared after an HTTP API table, it
would insert the wrong level because it thought that part
of the table was a title.
2015-09-23 09:59:54 +01:00
Kegan Dougal b49cb57fe5 Move events sections to CS API 2015-09-22 17:32:31 +01:00
Kegan Dougal 16693a644a Various review fixes 2015-09-22 16:59:49 +01:00
Kegan Dougal b21859836d Print stdout of build.py in verbose mode 2015-09-22 16:11:16 +01:00
Kegan Dougal 388aeefac0 Remove obsolete key 2015-09-22 16:07:19 +01:00
Kegan Dougal b0eb985523 Merge branch 'master' into spec-restructure-modules 2015-09-22 16:04:41 +01:00
Kegsay 895ffcfcde Merge pull request #56 from matrix-org/markjh/document_v1_rooms_api
Document the getters for the /rooms/{roomId} APIs
2015-09-22 16:03:45 +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
Kegan Dougal 0c0ac3e814 Fix common event fields template to use subtitle char 2015-09-22 14:07:23 +01:00
Kegan Dougal e8cdfcbba2 Rename spec files to not have numbers everywhere; update targets.yaml 2015-09-22 14:01:55 +01:00
Kegan Dougal f71763b0d3 Implement relative title styles
Templates don't know at what level they will be inserted. Previously, we
hard-coded the title style which is not compatible with the build target
system. Define a set of styles which will be replaced by the gendoc script
when it encounters them:
 '<' : Make this title a sub-heading
 '/' : Make this title a heading at the same level
 '>' : Make this title a super-heading

The build target system is now basically complete and functioning.
2015-09-22 13:08:15 +01:00
Mark Haines 98d91d0c2b Make the example room id more "random" so that people are less likely to think that it is supposed to be human readable 2015-09-21 17:31:35 +01:00
Mark Haines f60190086a Describe the behaviour of /rooms/{roomId}/member when the user has left the room 2015-09-21 17:30:10 +01:00
Kegan Dougal 067363c629 Get the desired title levels right; print out the actual level used to stdout 2015-09-21 17:21:08 +01:00
Mark Haines ba6c7d267c SPEC-216: Document the behaviour of the room getters when the user has left the room 2015-09-21 17:21:01 +01:00
Mark Haines 615a9575cb SPEC-216: Clarify when the room getters will return 403 2015-09-21 17:12:29 +01:00
Mark Haines cb41adee70 Fix the swagger host to be "localhost:8008" so that it can be used in a "Try it now" setup against localhost 2015-09-21 17:10:23 +01:00
Kegan Dougal d5e0115e42 Merge branch 'master' into spec-restructure-modules 2015-09-21 16:55:24 +01:00
Kegan Dougal 65ce95249f cat the spec according to the build target. Remove old checks as they are now obsolete since we don't care about the filename 2015-09-21 16:54:30 +01:00
Mark Haines 2efadea583 Merge branch 'master' into markjh/document_v1_rooms_api 2015-09-21 16:35:31 +01:00
Kegan Dougal 8590cc84b5 Process and extract targets in gendoc.py 2015-09-21 15:33:28 +01:00
Kegsay 83ee385543 Merge pull request #55 from matrix-org/markjh/codehighlighting
Turn on code highlighting for HTTP api responses
2015-09-21 15:23:13 +01:00