aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi
AgeCommit message (Collapse)Author
2022-05-29Move some Meg/Olm session logic from Room::Private to Connection::PrivateAlexey Rusakov
Functions (Room::Private::)createOlmSession, payloadForUserDevice and sendRoomKeyToDevices don't have a lot to do with the given Room object but deal with quite a few things stored in Connection. This commit moves them to Connection::Private, exposing sendSessionKeyToDevices (the new name for sendRoomKeyToDevices) in Connection so that Room could call it from Room::P::sendMegolmSession(). While moving these over, a few additional things were adjusted: - more functions marked as const - a few functions could be moved now from Connection to Connection::Private - false slots in Connection (such as picklingMode) are moved out of the slots block - keys.yml in Matrix CS API definitions has been adjusted to match the real structure of `/claim` response (see quotient-im/matrix-spec repo); csapi/keys.h has been regenerated accordingly.
2021-12-29Regenerate CS API filesAlexey Rusakov
2021-10-04Regenerate CS API files upon the previous commitAlexey Rusakov
2021-08-22Regenerate API filesAlexey Rusakov
2021-08-07Update generated filesAlexey Rusakov
This uses API definition files from https://github.com/matrix-org/matrix-doc/pull/3236, and additionally makes uploadFile>content_uri to have 'format: uri' (as suggested in the PR review). Only use this commit with the next one; alone it breaks the build.
2021-08-07API files: reformat after .clang-format changeAlexey Rusakov
See 000b5730.
2021-07-02Abandon BaseJob::Query - generated API filesAlexey Rusakov
2021-06-23Re-generate API filesAlexey Rusakov
2020-11-24csapi/search.*Kitsune Ral
2020-11-06ChangePasswordJob: logoutDevices doesn't need OmittableKitsune Ral
This is generated by GTAD 0.7.1 (to be released), based on the changed registration.yaml (to be committed and pulled).
2020-09-04csapi/profile.*: require displayname/avatar_urlKitsune Ral
See https://github.com/matrix-org/matrix-doc/issues/2717
2020-07-24csapi/: refresh from the latest matrix-docKitsune Ral
2020-06-19csapi/: generated using the latest GTAD and matrix-docKitsune Ral
For matrix-doc, specifically, it is master (5cb4b086) merged with https://github.com/matrix-org/matrix-doc/pull/2518.
2020-06-07Update generated files according to gtad/* changesKitsune Ral
2020-06-01GTAD parts: new home and format updates for GTAD 0.7Kitsune Ral
All GTAD-related files (gtad.yaml and templates) from now live in their dedicated gtad/ directory - this helps against removing them accidentally along with the rest of the generated files. The format to list generated files in gtad.yaml has changed a bit before GTAD 0.7 beta2; gtad.yaml in this commit conforms to the new structure.
2020-04-17Regenerate API files using new GTAD and refreshed templatesKitsune Ral
No functional changes.
2020-04-17gtad.yaml, *.mustache: upgrade to GTAD 0.7 betaKitsune Ral
That means much more readable templates thanks to GTAD 0.7 in turn using the upgrade Mustache engine.
2019-11-01Derive Omittable<> from std::optional<>Kitsune Ral
That breaks API all over the place but: 1. The fixes are trivial. 2. More of std:: is used instead of home-baking the same stuff.
2019-10-18qmc-example -> quotest, QMCTest -> TestManagerKitsune Ral
Also: some bits of refactoring in the test code to make it more extensible. Closes #352.
2019-08-09Namespace: QMatrixClient -> Quotient (with back comp alias)Kitsune Ral
2019-06-24csapi/*/**: clang-format contents of csapi subdirs as wellKitsune Ral
2019-06-24Merge branch 'master' into clang-formatKitsune Ral
# Conflicts: # CMakeLists.txt # lib/avatar.cpp # lib/connection.cpp # lib/connection.h # lib/connectiondata.cpp # lib/csapi/account-data.cpp # lib/csapi/account-data.h # lib/csapi/capabilities.cpp # lib/csapi/capabilities.h # lib/csapi/content-repo.cpp # lib/csapi/create_room.cpp # lib/csapi/filter.cpp # lib/csapi/joining.cpp # lib/csapi/keys.cpp # lib/csapi/list_joined_rooms.cpp # lib/csapi/notifications.cpp # lib/csapi/openid.cpp # lib/csapi/presence.cpp # lib/csapi/pushrules.cpp # lib/csapi/registration.cpp # lib/csapi/room_upgrades.cpp # lib/csapi/room_upgrades.h # lib/csapi/search.cpp # lib/csapi/users.cpp # lib/csapi/versions.cpp # lib/csapi/whoami.cpp # lib/csapi/{{base}}.cpp.mustache # lib/events/accountdataevents.h # lib/events/eventcontent.h # lib/events/roommemberevent.cpp # lib/events/stateevent.cpp # lib/jobs/basejob.cpp # lib/jobs/basejob.h # lib/networkaccessmanager.cpp # lib/networksettings.cpp # lib/room.cpp # lib/room.h # lib/settings.cpp # lib/settings.h # lib/syncdata.cpp # lib/user.cpp # lib/user.h # lib/util.cpp
2019-06-23csapi/: Make Mustache files more readableKitsune Ral
Now that clang-format takes care of formatting, the template readability can be prioritised.
2019-06-07Generated files in csapi/: switch from now-deprecated JsonParserError to ↵Kitsune Ral
IncorrectResponse
2019-06-07*.cpp.mustache: switch from now-deprecated JsonParseError to IncorrectResponseKitsune Ral
2019-03-23Update to the latest CS API definitionsKitsune Ral
No breaking changes; GetAccountDataJob/GetAccountDataPerRoomJob added.
2019-03-02style: apply .clang-format to all .cpp and .h filesMarc Deop
2019-02-15csapi/capabilities.*: fix the definitionKitsune Ral
As per https://github.com/matrix-org/matrix-doc/pull/1879.
2019-02-15RoomVersionsCapability: fix naming for 'default' parameterKitsune Ral
The same word is used as a predicate in push_rule.yaml and as a noun in capabilities.yaml; fortunately, GTAD gives some means to distinguish the two.
2019-02-09csapi: support redirect-after-login (MSC1730)Kitsune Ral
2019-02-09csapi: add RedirectToSSOJobKitsune Ral
This is actually a rehash (MSC1721) of redirectToCAS that existed before but was explicitly disabled in the library because of its seeming uselessness in the context of non-web clients. On the second thought, however, `RedirectToSSOJob::makeRequestURL()` can actually be used to open a web browser from a non-web client in order to perform the login procedure.
2019-02-09csapi: UpgradeRoomJob (MSC1501)Kitsune Ral
2019-02-09csapi: GetCapabilitiesJob (MSC1753)Kitsune Ral
2019-02-09csapi: GetVersionsJob now returns unstableFeatures (MSC1497)Kitsune Ral
2019-02-09csapi: presence lists are no moreKitsune Ral
2018-12-13Merge branch 'kitsune-omittable-bool' into kitsune-lazy-loadingKitsune Ral
2018-12-13Regenerate csapi/Kitsune Ral
2018-12-13gtad.yaml: wrap bool in Omittable<>Kitsune Ral
Case in point: https://github.com/matrix-org/matrix-doc/issues/1750
2018-12-13gtad.yaml: use more compact definitions where possibleKitsune Ral
2018-12-12gtad.yaml: use more compact definitions where possibleKitsune Ral
2018-12-12csapi/rooms.h: regenerate to update doc-commentsKitsune Ral
2018-12-08Refactor toJson/fillJsonKitsune Ral
Both now use through a common JsonConverter<> template class with its base definition tuned for structs/QJsonObjects and specialisations for non-object types. This new implementation doesn't work with virtual fillJson functions yet (so EventContent classes still use toJson as a member function) and does not cope quite well with non-constructible objects (you have to specialise JsonConverter<> rather than, more intuitively, JsonObjectConverter<>), but overall is more streamlined compared to the previous implementation. It also fixes one important issue that pushed for a rewrite: the previous implementation was not working with structure hierarchies at all so (in particular) the Filter part of CS API was totally disfunctional.
2018-11-23Update CS APIKitsune Ral
2018-09-29Support CS API 0.4.0Kitsune Ral
Numerous changes in CS (and now also AS) API, including compatibility-breaking ones - see the diff for details.
2018-09-29Prepare for CS API 0.4.0Kitsune Ral
This commit consists of two parts: upgrading the API infrastructure and trivial but sweeping update to the generated files. 1. The API infrastructure (converters.h, *.mustache and some other non-generated files) now can deal with top-level JSON arrays and response inlining; better supports property maps; and gets some formatting fixes in generated code. 2. Generated files now use QJsonValue instead of QJsonObject as a default type to (un)marshall Matrix API data structures, to match the change in the infrastructure above This commit is still using the old Matrix API definitions, before CS API 0.4.0. Getting to CS API 0.4.0 will come next.
2018-08-25Update to the recent CS API (watch out for breakage)Kitsune Ral
Breaking changes: * guest_can_join is no more a thing - neither in Connection::createRoom, nor even in CreateRoomJob (it turned out that Synapse didn't really process this flag); * LoginJob has changed its list of arguments. If you use Connection to do logins (and you really should), you shouldn't be affected. * GetPublicRoomsJob now returns PublicRoomsResponse instead of providing all the response parts within the job Watch other changes in the diff.
2018-07-29csapi: define PushRule more accuratelyKitsune Ral
It's not always a JSON object; it's either a SetTweakAction object or a string. (Unfortunately, QVariant isn't a template type and there's no easy way to put Q_DECLARE_METATYPE(SetTweakAction) in a Mustache template, so adding one is left as an exercise to the user now.)
2018-07-28csapi/third_party_lookup.*: Properly pass a variadic (aka exploded) parametersKitsune Ral
Most of the actual change was in the API definition files (thanks to @anoadragon453), plus a converter from a QJsonObject map to the URL query string.
2018-07-22Switched to GTAD 0.7-preKitsune Ral
{{>}} instead of {{#@filePartial}}, library macros begin with _ instead of @, mustache/definitions split - see the GTAD commit log.
2018-07-22gtad.yaml: cleanupKitsune Ral