Commit Graph

1062 Commits (8af35be13faff18010407f135d9b894fdded5768)

Author SHA1 Message Date
Mark Haines 5a5a6565ff Merge pull request #68 from matrix-org/markjh/v2_sync_api
Swagger documentation for the v2 sync API
9 years ago
Mark Haines 0ce533d153 Split the room_map into separate sections based on whether they are
"joined/invited/archived".

Rename the room_map to rooms and remove the grouping indirection. When we
want groups then we can add them under a separate key, either at the
top-level or as part of the events themselves.
9 years ago
Mark Haines 0e5b00feaa Fix event type in v2 sync example 9 years ago
Mark Haines bbb5fa9398 Fix the state_key in the example v2 response, include the "sender" key in the list of keys included with invite_state events 9 years ago
Mark Haines a7b808c5cd Add a invite_state key for holding the state that is bundled with an
invite. This is kept separate from the actual state for the room as
it may be derived from an incomplete, unverified copy of the state
that was bundled with an invite event received over federation.
9 years ago
Mark Haines ed0f6d3ff3 Typo 9 years ago
Mark Haines 97cdd8106c s|client/api/v2_alpha|/client/v2_alpha| 9 years ago
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. 9 years ago
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.
9 years ago
Kegsay ead79614ff Merge pull request #78 from matrix-org/module-typing2
Typing module
9 years ago
Mark Haines a73cc50aa9 s|client/api/v2_alpha|client/v2_alpha| 9 years ago
Kegan Dougal 09ac367847 Merge branch 'master' into module-content-repo
Conflicts:
	templating/matrix_templates/units.py
9 years ago
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
9 years ago
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
9 years ago
Daniel Wagner-Hall d2c56fb7a3 Merge branch 'master' into daniel/threepidinvites-2 9 years ago
Kegan Dougal 8c4d7f5051 Do not try to parse non-json request examples as json 9 years ago
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.
9 years ago
Kegsay 8aad238cda Merge pull request #80 from matrix-org/module-receipts
Receipts module
9 years ago
Kegan Dougal da2be7eae4 Merge branch 'master' into module-voip
Conflicts:
	specification/modules/voip_events.rst
9 years ago
Kegan Dougal 1520f3647f Merge branch 'master' into module-typing2
Conflicts:
	specification/modules/typing_notifications.rst
9 years ago
Kegan Dougal c972dad8b3 Flesh out receipts module. Add receipts swagger
Add templating support for v2 apis.
9 years ago
Kegan Dougal e82661413e Add /turnServer endpoint 9 years ago
Erik Johnston abe5d08ac6 Merge pull request #64 from matrix-org/erikj/invite_state
Bundle some state into invites
9 years ago
Kegan Dougal 2b7e02c080 Add sections for typing. Add swagger, JSON schema and example m.typing event 9 years ago
Mark Haines 931057accf Add a top level presence key for the presence events and remove the public_user_data/private_user_data for now 9 years ago
Mark Haines 4cb3f78d2b Wrap the "rooms" list inside an object so that we can add keys for pagination later 9 years ago
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.
9 years ago
Erik Johnston 50e1b4c3a7 Fix up rst 9 years ago
Mark Haines 6ad6c40147 List the allowed values for the 'event_format' as an enum 9 years ago
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 '\/'.
9 years ago
Mark Haines 14b42a41d6 Document wildcard's in filters 9 years ago
Mark Haines c115b4c2f4 Document the valid values for the "set_presence" parameter 9 years ago
Mark Haines 940e22940d Document how the "not_foo" keys interact with the "foo" keys 9 years ago
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.
9 years ago
Mark Haines 00fd4aac26 s/publically/publicly/ 9 years ago
Mark Haines 3204c2f2b6 Fix spelling 9 years ago
Mark Haines f50e6d4c0a Add x-example fields for v2 /sync 9 years ago
Mark Haines 1aa916d690 s/indicies/indices/ 9 years ago
Mark Haines 393d283139 Add a "limit" to the timeline key in the example filter 9 years ago
Erik Johnston 8c22b715ca Add title 9 years ago
Mark Haines c3b3b2df63 Add "set_presence" in the sync parameters 9 years ago
Mark Haines de07586ab7 Rename 'events' to 'timeline' in the sync filter 9 years ago
Mark Haines a0068e1ada Draft documention for the v2 sync api 9 years ago
Mark Haines e1f73f5233 Add a limit to filters 9 years ago
Erik Johnston 37ccddb308 Typo 9 years ago
Erik Johnston d7d9f406a6 Bundle some state into invites 9 years ago
Daniel Wagner-Hall cd6f15f627 Remove obsolete comment 9 years ago
Daniel Wagner-Hall 0c1eb50ef4 Merge pull request #26 from matrix-org/macaroons
Spec macaroons and token refresh
9 years ago
Daniel Wagner-Hall 6c1491b3ba Respond to some review comments 9 years ago
Daniel Wagner-Hall 5c4398c181 Remove superfluous comma 9 years ago
Daniel Wagner-Hall fc87f4cdb0 Remove unused keys 9 years ago
Daniel Wagner-Hall 6c89e6ea67 Wrap refresh_token in `s 9 years ago
Mark Haines f34722485f Check the request example JSON matches the schema 9 years ago
Mark Haines a31a446661 Fix the POST example for the v2 filter API 9 years ago
Mark Haines 69298b9612 Check "v2_alpha" in jenkins 9 years ago
Mark Haines 883105eae6 Document the v2 filter GET API 9 years ago
Mark Haines 2f039a1142 Add swagger docs for the v2 filter POST API 9 years ago
Mark Haines 385b6c4759 Only validate a file if it ends with ".yaml".
Otherwise we try to validate vim .swp files.
9 years ago
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 9 years ago
Mark Haines f60190086a Describe the behaviour of /rooms/{roomId}/member when the user has left the room 9 years ago
Mark Haines ba6c7d267c SPEC-216: Document the behaviour of the room getters when the user has left the room 9 years ago
Mark Haines 615a9575cb SPEC-216: Clarify when the room getters will return 403 9 years ago
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 9 years ago
Mark Haines 6a2c4d27fc Update the docs for room v1 api 9 years ago
Mark Haines f33c0846c3 Merge remote-tracking branch 'origin/master' into markjh/document_v1_rooms_api 9 years ago
Mark Haines f827765ba1 Make to code to skip checking swagger responses which don't have an
application/json example clearer.
9 years ago
Mark Haines 9896f98e2b Search for yaml swagger files if check_examples.py is run without
arguments.
9 years ago
Mark Haines 299a4356d4 Add script to check that the example responses in the swagger matches
the examples.
9 years ago
Mark Haines 63f08bace6 Fix the examples in the swagger API documentation to be valid JSON 9 years ago
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.
9 years ago
Mark Haines 46d29e9eea fix the room api swagger to be valid swagger 9 years ago
Mark Haines 315f97e36b Merge branch 'master' into markjh/document_v1_rooms_api 9 years ago
Mark Haines c49338006a replace definitions/*event.yaml with symlinks to /event-schemas/ 9 years ago
Daniel Wagner-Hall a19e18a4da Merge branch 'master' into daniel/threepidinvites-2 9 years ago
Daniel Wagner-Hall 2e9d3d283a Swagger refresh tokens 9 years ago
Mark Haines 7eb8b4fde2 Add new-style docs for the APIs for getting events for a room 9 years ago
Daniel Wagner-Hall 59a4e84361 s/registration/login/ 9 years ago
Daniel Wagner-Hall b916823d0f Merge branch 'master' into daniel/threepidinvites-2 9 years ago
Daniel Wagner-Hall f483340033 Clarify digest computation 9 years ago
Daniel Wagner-Hall b8e2ac5c1b Swaggerify /login 9 years ago
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
9 years ago
Daniel Wagner-Hall 306f91edb3 Specify third party room invitations
SYN-458
9 years ago
Daniel Wagner-Hall 5b722160dd Merge branch 'master' into daniel/threepidinvites 9 years ago
Daniel Wagner-Hall 6596802ed7 Merge branch 'newlines' into daniel/threepidinvites-2 9 years ago
Daniel Wagner-Hall 6a56c8a965 Add trailing newline 9 years ago
Daniel Wagner-Hall a548148563 Invite doesn't accept room aliases 9 years ago
Daniel Wagner-Hall 2797fac3aa Swagger /room/{roomId}/invite
This is a transcription of the current spec, with nothing new or
controversial in it.
9 years ago
Daniel Wagner-Hall 1b591a023e Monospace room_id 9 years ago
Daniel Wagner-Hall 04b2b2588f Fix up formatting and typos 9 years ago
Daniel Wagner-Hall 1feb9565e4 Use other-way-around alias format 9 years ago
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.
9 years ago
Mark Haines c74c1ab098 SPEC-216: Add rooms that have been left to initial sync 9 years ago
Kegan Dougal e10859a887 Replace presence API with new template. 10 years ago
Kegan Dougal 334e10468d Add presence swagger and template. 10 years ago
Kegan Dougal 876a3d2bbc Add package.json 10 years ago
Kegan Dougal 3d70404b94 Update swagger validator to support directories.
This will be used with Jenkins.
10 years ago
Kegan Dougal 0275c2ffa0 Add sync API yaml. Add template for sync_http_api. 10 years ago
Kegan Dougal 8a676a2b9d Add sortFn for profile HTTP API. Add combined profile HTTP API. 10 years ago
Kegan Dougal f6c98f41e9 Use table subsections for param locations instead of an extra column. 10 years ago
Kegan Dougal ba6ce16509 Modify how descriptions are shown. Add profile API descriptions. 10 years ago
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.
10 years ago
Kegan Dougal 5795e1ceda Add profile API examples and extract examples for template usage. 10 years ago
Kegan Dougal fe7ffafc15 Factor out json schema object processing since swagger uses it too. Hook swagger up. 10 years ago
Kegan Dougal d090389d01 Start pre-processing swagger APIs before passing to sections. 10 years ago
Kegan Dougal 99dfe64d5c Add rate-limiting on APIs which rate limit. More descriptions. 10 years ago
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.
10 years ago
Kegan Dougal aeaa43811c Add security definitions for directory API. 10 years ago
Kegan Dougal 870d1b8944 Add Swagger 2 directory API. 10 years ago
Kegan Dougal caa84c1dc1 Add Swagger 2 docs for content repo. Add Swagger 2 CLI validator. 10 years ago
Kegan Dougal 838af288c9 Test swagger commit 10 years ago
Kegsay 5cb656fba7 Minor swagger HTML tweaks 10 years ago
Kegan Dougal c4056bec1b Shuffle around structure of matrix-doc and add a README. 10 years ago