Commit graph

632 commits

Author SHA1 Message Date
Mark Haines 97cdd8106c s|client/api/v2_alpha|/client/v2_alpha| 2015-10-05 14:21:16 +01:00
Mark Haines 047419f2ad Remove the room_id since it is redundent. Remove text about invite event handling till we've thought about it some more. 2015-10-02 16:21:48 +01:00
Mark Haines bde003fe86 Split the rooms out into a separate top level key.
Divide the rooms into separate groups in preparation for adding tag
support.

Further subdivide the rooms into "joined/invited/archived" based the
membership of the user in the room because that membership affects what
events the user can view from the room. E.g only users that are joined
to a room may see the ephemeral events for the room.
2015-10-02 16:14:24 +01:00
Mark Haines a73cc50aa9 s|client/api/v2_alpha|client/v2_alpha| 2015-10-02 13:03:39 +01:00
Mark Haines 931057accf Add a top level presence key for the presence events and remove the public_user_data/private_user_data for now 2015-09-30 10:30:39 +01:00
Mark Haines 4cb3f78d2b Wrap the "rooms" list inside an object so that we can add keys for pagination later 2015-09-29 19:48:48 +01:00
Mark Haines 218cf94ead Replace the events array with events_map inside the room objects.
Only use indirection for the state and timeline events.
Use event_ids to reference the state and timeline events.
2015-09-29 19:10:31 +01:00
Mark Haines 6ad6c40147 List the allowed values for the 'event_format' as an enum 2015-09-28 14:11:45 +01:00
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