437 Commits

Author SHA1 Message Date
Jonas Platte
fab5c9128f
client-api: Fix broken update_backup::Request deserialization 2022-01-27 15:41:33 +01:00
Jonas Platte
e906de7eee
client-api: Fix broken create_backup::Request deserialization 2022-01-27 15:39:48 +01:00
Jonas Platte
14de5dad29
client-api: Add missing import 2022-01-27 15:30:28 +01:00
Jonas Platte
16e18bdebf
client-api: Be consistent about Raw usage for backup key routes 2022-01-27 15:19:27 +01:00
Jonas Platte
a39bee9949
client-api: Fix wrong HTTP methods on backup delete routes 2022-01-22 14:36:41 +01:00
Kévin Commaille
b8a741cb30
client-api: Move MSC2858 out of unstable-pre-spec 2022-01-20 13:29:22 +00:00
Andrej Kacian
e4a21580a2
Add M_WEAK_PASSWORD error code to ruma-client-api 2022-01-17 15:57:22 +01:00
Jonas Platte
ef6728abde
Add a TransactionId type 2022-01-16 23:17:23 +01:00
Jonas Platte
4c859c5aeb
Introduce a Base64 type and use it where applicable 2022-01-13 16:22:21 +01:00
Jonas Platte
ee977b48f0
Make the inner type of _Custom enum variants unusable
The variant itself would be private if possible, this is the solution
closest to that.
2022-01-13 11:38:48 +01:00
plustik
b3f7d0ed52
client-api: Update get_message_events for v1.1
* Remove serde(skip_serializing_if = ...) attribute from chunk response field
* Make the start response field required by changing its type from
  Option<String> to String
2022-01-11 16:28:11 +01:00
Jonas Platte
9621b83d49
Use doc_auto_cfg for automatic cfg documentation 2022-01-02 19:22:42 +01:00
Kévin Commaille
fac7d53134
client-api: Fix get_login_types::CustomLoginType
Add test for it.
2022-01-01 12:54:59 +01:00
Jonas Platte
57e84f862b
client-api: Fix unnecessary allocation in URL construction 2021-12-18 20:05:28 +01:00
Jonas Platte
28371945de
client-api: Remove unused PublicRoomsChunk type
There's a copy of this type in ruma-common which is actually being used.
2021-12-09 12:37:56 +01:00
Damir Jelić
fdbc4d6d1d ruma-client-api: Use just a BTreeMap for the /keys/upload fields 2021-12-06 11:26:14 +01:00
Damir Jelić
ee3c8f3335 ruma: Fix a bunch of typos 2021-12-06 11:26:14 +01:00
Damir Jelić
caa3c05db3 client-api: Add support for fallback keys
This implements support for MSC2732[1], fallback keys. Only support to
upload and get notifications about fallback keys via `/sync` is
implemented.

[1]: https://github.com/matrix-org/matrix-doc/pull/2732
2021-12-06 11:26:14 +01:00
Damir Jelić
af0a8f009c client-api: Update the backup API to use raw variants of types
Similarly to the way structs holding public keys require signature
verification, the BackupAlgorithm struct may require verification as
well.

This lets users know if a certain device trusts the BackupAlgorithm and
if it should be used to upload room keys to the backup.
2021-12-06 11:26:14 +01:00
Damir Jelić
786ab15c0c client-api: Use Raw variants to upload/download keys
Uploaded objects holding public keys tend to have the object signed by
the very same key that is part of the object. Users that download such
public keys are expected to verify the signature to confirm that the
public key and its surrounding fields in the object have not been
manipulated with.

The SignedKey, DeviceKeys, and CrossSigningKey structs
perform a lossy variant of deserialization, which removes the ability to
verify signatures of the aforementioned objects.

This patch changes the response types to a Raw variant, which let's the
user decide how to deserialize.
2021-12-06 11:26:14 +01:00
Jonas Platte
8923881678
identifiers: Rename RoomIdOrAliasId to RoomOrAliasId 2021-11-26 01:07:41 +01:00
Jonas Platte
6b76d7813e
identifiers: Shorten RoomVersionId variant names 2021-11-26 01:07:26 +01:00
Jonas Platte
87051c3cb6
identifiers: Make server_name! macro return a reference instead of an owned value
It is easy to turn it into an owned value through `.to_owned()`.
The reverse was not possible without tying the reference to the lifetime
of a temporary variable.
2021-11-26 00:53:07 +01:00
Jonas Platte
5852658da5
identifiers: Make KeyId a DST 2021-11-26 00:40:44 +01:00
Jonas Platte
3ce578f384
identifiers: Make UserId a DST 2021-11-26 00:40:40 +01:00
Jonas Platte
313124a099
identifiers: Make RoomIdOrAliasId a DST 2021-11-26 00:04:28 +01:00
Jonas Platte
2d4dbfe42f
identifiers: Make RoomId a DST 2021-11-26 00:04:28 +01:00
Jonas Platte
b0db5e94e1
identifiers: Make RoomAliasId a DST 2021-11-26 00:04:28 +01:00
Jonas Platte
ec605a0959
identifiers: Make MxcUri a DST 2021-11-26 00:04:28 +01:00
Jonas Platte
52608cc72c
identifiers: Make EventId a DST 2021-11-25 22:34:40 +01:00
Jonas Platte
c73eb7dce3
identifiers: Make DeviceKeyId a DST 2021-11-25 21:07:14 +01:00
Jonas Platte
438efee143
identifiers: Remove Box<$id> aliases 2021-11-25 21:07:14 +01:00
Jonas Platte
e9c1425acd
client-api: Add missing reference to request parameter type 2021-11-24 21:36:24 +01:00
Kévin Commaille
746e0a026d
client-api: Rename r0::uiaa::authorize_fallback to get_uiaa_fallback_page 2021-11-13 23:39:32 +01:00
Kévin Commaille
2d7b206fe5
client-api: Add AuthType for m.login.sso 2021-11-13 20:15:56 +01:00
Niklas Dusenlund
a100cf9728
client-api: Align endpoint name with module name 2021-11-11 00:44:02 +01:00
Callum Brown
975efcd2ee
client-api: Add registration token validity checking endpoint 2021-11-09 12:30:30 +00:00
Jonas Platte
a9ecd7f397
client-api: Break up the ill-named contacts module 2021-11-09 11:41:21 +01:00
Jonas Platte
44e8db7878
client-api: Feature-gate function that's only required for compat feature 2021-11-03 18:42:45 +01:00
Jonas Platte
21d3d75172
client-api: Fix up previous botched PRs 2021-11-03 18:31:38 +01:00
Jonas Platte
347ae72531
client-api: Revert change of serialized name of thredparty_id_creds under compat feature 2021-11-03 18:26:31 +01:00
Jonas Platte
8b0687b08c
client-api: Add support for deserializing thirdparty_id_creds from an object 2021-11-03 18:23:05 +01:00
Jonas Platte
076420d798
client-api: Fix serde attributes 2021-11-03 18:13:58 +01:00
Jonas Platte
d4df8ac76d
client-api: Change serialized name of thirdparty_id_creds in compat mode 2021-11-03 18:08:37 +01:00
Jonas Platte
0ea6dca815
client-api: Support alternative name for thirdparty_id_creds fields 2021-11-03 18:05:35 +01:00
Jonas Platte
bccbde6f83
api: Remove {Request,Response}DeserializationError 2021-10-29 22:44:15 +02:00
Jonas Platte
f634be9838
client-api: Add missing periods in docs 2021-10-28 21:32:14 +02:00
Jonas Platte
e7f01ca55a
client-api: Use Raw for create_room::Request::creation_content 2021-10-24 00:43:49 +02:00
Jonas Platte
cda6119224
client-api: Fix unused import 2021-10-15 21:04:31 +02:00
Jonas Platte
58cdcae1f9
client-api: Fix login request deserialization 2021-10-15 17:09:02 +02:00