Commit graph

1206 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
Kegsay ead79614ff Merge pull request #78 from matrix-org/module-typing2
Typing module
2015-10-02 14:36:30 +01:00
Mark Haines a73cc50aa9 s|client/api/v2_alpha|client/v2_alpha| 2015-10-02 13:03:39 +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 3d9dbe42e6 Bump to swagger-parser 3.2.1 - remove x- keys on headers
Removed x- keys due to https://github.com/BigstickCarpet/swagger-parser/issues/23
2015-10-02 10:21:48 +01:00
Daniel Wagner-Hall af7d2ca9fc Update 3pid invite spec
This takes into account:
 1) That finding the existing servers of a room is hard
 2) Federation
2015-10-01 22:19:11 -05:00
Daniel Wagner-Hall d2c56fb7a3 Merge branch 'master' into daniel/threepidinvites-2 2015-10-01 21:18:50 -05:00
Kegan Dougal 8c4d7f5051 Do not try to parse non-json request examples as json 2015-10-01 18:03:34 +01: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
Kegsay 8aad238cda Merge pull request #80 from matrix-org/module-receipts
Receipts module
2015-10-01 17:33:38 +01:00
Kegan Dougal da2be7eae4 Merge branch 'master' into module-voip
Conflicts:
	specification/modules/voip_events.rst
2015-10-01 15:48:42 +01:00
Kegan Dougal 1520f3647f Merge branch 'master' into module-typing2
Conflicts:
	specification/modules/typing_notifications.rst
2015-10-01 15:47:46 +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 e82661413e Add /turnServer endpoint 2015-10-01 11:04:42 +01:00
Erik Johnston abe5d08ac6 Merge pull request #64 from matrix-org/erikj/invite_state
Bundle some state into invites
2015-10-01 09:25:06 +01:00
Kegan Dougal 2b7e02c080 Add sections for typing. Add swagger, JSON schema and example m.typing event 2015-09-30 15:51:04 +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
Erik Johnston 50e1b4c3a7 Fix up rst 2015-09-29 09:17:33 +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
Erik Johnston 8c22b715ca Add title 2015-09-28 09:29:07 +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
Erik Johnston 37ccddb308 Typo 2015-09-25 14:25:07 +01:00
Erik Johnston d7d9f406a6 Bundle some state into invites 2015-09-25 14:21:50 +01:00
Daniel Wagner-Hall cd6f15f627 Remove obsolete comment 2015-09-25 13:34:24 +01:00
Daniel Wagner-Hall 0c1eb50ef4 Merge pull request #26 from matrix-org/macaroons
Spec macaroons and token refresh
2015-09-25 13:18:27 +01:00
Daniel Wagner-Hall 6c1491b3ba Respond to some review comments 2015-09-25 13:17:11 +01:00
Daniel Wagner-Hall 5c4398c181 Remove superfluous comma 2015-09-25 13:10:49 +01:00
Daniel Wagner-Hall fc87f4cdb0 Remove unused keys 2015-09-25 13:10:15 +01:00
Daniel Wagner-Hall 6c89e6ea67 Wrap refresh_token in `s 2015-09-25 13:03:46 +01:00
Mark Haines f34722485f Check the request example JSON matches the schema 2015-09-24 16:50:27 +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
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
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
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
Mark Haines 6a2c4d27fc Update the docs for room v1 api 2015-09-18 17:58:44 +01:00
Mark Haines f33c0846c3 Merge remote-tracking branch 'origin/master' into markjh/document_v1_rooms_api 2015-09-18 17:38:03 +01:00
Mark Haines f827765ba1 Make to code to skip checking swagger responses which don't have an
application/json example clearer.
2015-09-18 16:35:27 +01:00
Mark Haines 9896f98e2b Search for yaml swagger files if check_examples.py is run without
arguments.
2015-09-18 16:21:48 +01:00
Mark Haines 299a4356d4 Add script to check that the example responses in the swagger matches
the examples.
2015-09-18 16:10:21 +01:00
Mark Haines 63f08bace6 Fix the examples in the swagger API documentation to be valid JSON 2015-09-18 14:40:48 +01:00
Mark Haines 7f81501762 Allow relative references to schema to work in python and node.
Rename "schema/v1/core" to "schema/v1/core-event-schema".
Add self-referential symlinks to schema/v1/core-event-schema

The python json schema libraries expect that relative references are
relative to the file they are in. The node json schema libraries
expect that relateive references are relative to the first file loaded.

To support both kinds we reference the core event schema using
"core-event-schema/event.json". We then symlink the core-event-schema
directory to both the location of the file refering to "event.json" so
that it will work in python and to the location of the top level file
so that it will work in node.
2015-09-18 11:39:44 +01:00
Mark Haines 46d29e9eea fix the room api swagger to be valid swagger 2015-09-17 16:48:07 +01:00
Mark Haines 315f97e36b Merge branch 'master' into markjh/document_v1_rooms_api 2015-09-17 15:25:00 +01:00
Mark Haines c49338006a replace definitions/*event.yaml with symlinks to /event-schemas/ 2015-09-17 13:09:35 +01:00
Daniel Wagner-Hall a19e18a4da Merge branch 'master' into daniel/threepidinvites-2 2015-09-15 16:46:35 +01:00
Daniel Wagner-Hall 2e9d3d283a Swagger refresh tokens 2015-09-15 16:23:19 +01:00
Mark Haines 7eb8b4fde2 Add new-style docs for the APIs for getting events for a room 2015-09-15 15:52:36 +01:00
Daniel Wagner-Hall 59a4e84361 s/registration/login/ 2015-09-14 17:10:46 +01:00
Daniel Wagner-Hall b916823d0f Merge branch 'master' into daniel/threepidinvites-2 2015-09-14 17:08:22 +01:00
Daniel Wagner-Hall f483340033 Clarify digest computation 2015-09-14 15:16:30 +01:00
Daniel Wagner-Hall b8e2ac5c1b Swaggerify /login 2015-09-14 13:49:27 +01:00
Kegsay da7c2e7fa8 Merge pull request #40 from matrix-org/markjh/history_for_rooms_that_have_been_left
SPEC-216: Add rooms that have been left to initial sync
2015-09-11 12:55:07 +01:00
Daniel Wagner-Hall 306f91edb3 Specify third party room invitations
SYN-458
2015-09-10 16:46:22 +01:00
Daniel Wagner-Hall 5b722160dd Merge branch 'master' into daniel/threepidinvites 2015-09-10 14:05:58 +01:00
Daniel Wagner-Hall 6596802ed7 Merge branch 'newlines' into daniel/threepidinvites-2 2015-09-10 13:21:44 +01:00
Daniel Wagner-Hall 6a56c8a965 Add trailing newline 2015-09-10 13:20:56 +01:00
Daniel Wagner-Hall a548148563 Invite doesn't accept room aliases 2015-09-10 11:21:18 +01:00
Daniel Wagner-Hall 2797fac3aa Swagger /room/{roomId}/invite
This is a transcription of the current spec, with nothing new or
controversial in it.
2015-09-09 17:55:40 +01:00
Daniel Wagner-Hall 1b591a023e Monospace room_id 2015-09-09 14:04:48 +01:00
Daniel Wagner-Hall 04b2b2588f Fix up formatting and typos 2015-09-09 13:18:23 +01:00
Daniel Wagner-Hall 1feb9565e4 Use other-way-around alias format 2015-09-08 17:04:08 +01:00
Daniel Wagner-Hall d53943c8c2 Spec /room/{roomId}/join
This is just replacing the existing spec with a swagger version.

Subsequent pull requests will add 3pid join to this, as well as specing
the invite, leave, ban, and kick endpoints.
2015-09-08 16:35:08 +01:00
Mark Haines c74c1ab098 SPEC-216: Add rooms that have been left to initial sync 2015-09-07 17:09:41 +01:00
Kegan Dougal e10859a887 Replace presence API with new template. 2015-06-02 16:01:26 +01:00
Kegan Dougal 334e10468d Add presence swagger and template. 2015-06-02 15:10:44 +01:00
Kegan Dougal 876a3d2bbc Add package.json 2015-06-02 13:32:22 +01:00
Kegan Dougal 3d70404b94 Update swagger validator to support directories.
This will be used with Jenkins.
2015-06-02 13:28:58 +01:00
Kegan Dougal 0275c2ffa0 Add sync API yaml. Add template for sync_http_api. 2015-06-02 11:44:27 +01:00
Kegan Dougal 8a676a2b9d Add sortFn for profile HTTP API. Add combined profile HTTP API. 2015-06-01 16:29:19 +01:00
Kegan Dougal f6c98f41e9 Use table subsections for param locations instead of an extra column. 2015-06-01 15:26:48 +01:00
Kegan Dougal ba6ce16509 Modify how descriptions are shown. Add profile API descriptions. 2015-06-01 14:34:13 +01:00
Kegan Dougal 862f5a3a53 Add structure for adding examples to HTTP APIs.
Use 'x-example' to add examples to parameters which are not in 'body' (swagger
doesn't define that currently). Add profile API examples. Add necessary glue
and templates to make it all work.
2015-06-01 14:20:24 +01:00
Kegan Dougal 5795e1ceda Add profile API examples and extract examples for template usage. 2015-06-01 10:44:03 +01:00
Kegan Dougal fe7ffafc15 Factor out json schema object processing since swagger uses it too. Hook swagger up. 2015-05-29 17:19:45 +01:00
Kegan Dougal d090389d01 Start pre-processing swagger APIs before passing to sections. 2015-05-29 16:50:22 +01:00
Kegan Dougal 99dfe64d5c Add rate-limiting on APIs which rate limit. More descriptions. 2015-05-29 15:48:48 +01:00
Kegan Dougal f72319e256 Add profile API. Add error definition to definitions folder.
The tool used for validating swagger 2.0 schemata does not currently
support deep-nested definitions from other files. Until it does, keep
the definitions in a separate file each in a definitions folder. This
will be replaced with a definitions.yaml in the future.
2015-05-29 15:37:44 +01:00
Kegan Dougal aeaa43811c Add security definitions for directory API. 2015-05-29 15:18:09 +01:00
Kegan Dougal 870d1b8944 Add Swagger 2 directory API. 2015-05-29 14:31:05 +01:00
Kegan Dougal caa84c1dc1 Add Swagger 2 docs for content repo. Add Swagger 2 CLI validator. 2015-05-29 12:15:24 +01:00
Kegan Dougal 838af288c9 Test swagger commit 2015-02-20 14:29:51 +00:00
Kegsay 5cb656fba7 Minor swagger HTML tweaks 2015-02-20 11:32:53 +00:00
Kegan Dougal c4056bec1b Shuffle around structure of matrix-doc and add a README. 2015-02-20 10:43:20 +00:00