aboutsummaryrefslogtreecommitdiff
path: root/userapi/api
diff options
context:
space:
mode:
authorkegsay <kegan@matrix.org>2022-05-05 13:17:38 +0100
committerGitHub <noreply@github.com>2022-05-05 13:17:38 +0100
commit506de4bb3d69fef27e60d09d06712a72e588a198 (patch)
treec2e7c0fd25b047cde8e597f9e675ba45a0fe5bab /userapi/api
parentd9e71b93b68efb57582d02448883b8a1259205e8 (diff)
Define component interfaces based on consumers (1/2) (#2423)
* Specify interfaces used by appservice, do half of clientapi * convert more deps of clientapi to finer-grained interfaces * Convert mediaapi and rest of clientapi * Somehow this got missed
Diffstat (limited to 'userapi/api')
-rw-r--r--userapi/api/api.go92
1 files changed, 50 insertions, 42 deletions
diff --git a/userapi/api/api.go b/userapi/api/api.go
index 6f00fe44..928b91e6 100644
--- a/userapi/api/api.go
+++ b/userapi/api/api.go
@@ -26,79 +26,87 @@ import (
// UserInternalAPI is the internal API for information about users and devices.
type UserInternalAPI interface {
- LoginTokenInternalAPI
UserProfileAPI
- UserRegisterAPI
- UserAccountAPI
- UserThreePIDAPI
QueryAcccessTokenAPI
- SyncUserAPI
-
- InputAccountData(ctx context.Context, req *InputAccountDataRequest, res *InputAccountDataResponse) error
-
- PerformOpenIDTokenCreation(ctx context.Context, req *PerformOpenIDTokenCreationRequest, res *PerformOpenIDTokenCreationResponse) error
- PerformKeyBackup(ctx context.Context, req *PerformKeyBackupRequest, res *PerformKeyBackupResponse) error
- PerformPusherSet(ctx context.Context, req *PerformPusherSetRequest, res *struct{}) error
- PerformPusherDeletion(ctx context.Context, req *PerformPusherDeletionRequest, res *struct{}) error
- PerformPushRulesPut(ctx context.Context, req *PerformPushRulesPutRequest, res *struct{}) error
- QueryKeyBackup(ctx context.Context, req *QueryKeyBackupRequest, res *QueryKeyBackupResponse)
+ AppserviceUserAPI
+ SyncUserAPI
+ ClientUserAPI
+ MediaUserAPI
QueryOpenIDToken(ctx context.Context, req *QueryOpenIDTokenRequest, res *QueryOpenIDTokenResponse) error
- QueryPushers(ctx context.Context, req *QueryPushersRequest, res *QueryPushersResponse) error
- QueryPushRules(ctx context.Context, req *QueryPushRulesRequest, res *QueryPushRulesResponse) error
- QueryNotifications(ctx context.Context, req *QueryNotificationsRequest, res *QueryNotificationsResponse) error
}
type QueryAcccessTokenAPI interface {
QueryAccessToken(ctx context.Context, req *QueryAccessTokenRequest, res *QueryAccessTokenResponse) error
}
+type UserLoginAPI interface {
+ QueryAccountByPassword(ctx context.Context, req *QueryAccountByPasswordRequest, res *QueryAccountByPasswordResponse) error
+}
+
+type AppserviceUserAPI interface {
+ PerformAccountCreation(ctx context.Context, req *PerformAccountCreationRequest, res *PerformAccountCreationResponse) error
+ PerformDeviceCreation(ctx context.Context, req *PerformDeviceCreationRequest, res *PerformDeviceCreationResponse) error
+}
+
+type MediaUserAPI interface {
+ QueryAcccessTokenAPI
+}
+
type SyncUserAPI interface {
+ QueryAcccessTokenAPI
QueryAccountData(ctx context.Context, req *QueryAccountDataRequest, res *QueryAccountDataResponse) error
- QueryAccessToken(ctx context.Context, req *QueryAccessTokenRequest, res *QueryAccessTokenResponse) error
- PerformDeviceDeletion(ctx context.Context, req *PerformDeviceDeletionRequest, res *PerformDeviceDeletionResponse) error
PerformLastSeenUpdate(ctx context.Context, req *PerformLastSeenUpdateRequest, res *PerformLastSeenUpdateResponse) error
PerformDeviceUpdate(ctx context.Context, req *PerformDeviceUpdateRequest, res *PerformDeviceUpdateResponse) error
QueryDevices(ctx context.Context, req *QueryDevicesRequest, res *QueryDevicesResponse) error
QueryDeviceInfos(ctx context.Context, req *QueryDeviceInfosRequest, res *QueryDeviceInfosResponse) error
}
-type UserDirectoryProvider interface {
- QuerySearchProfiles(ctx context.Context, req *QuerySearchProfilesRequest, res *QuerySearchProfilesResponse) error
-}
-
-// UserProfileAPI provides functions for getting user profiles
-type UserProfileAPI interface {
- QueryProfile(ctx context.Context, req *QueryProfileRequest, res *QueryProfileResponse) error
- QuerySearchProfiles(ctx context.Context, req *QuerySearchProfilesRequest, res *QuerySearchProfilesResponse) error
- SetAvatarURL(ctx context.Context, req *PerformSetAvatarURLRequest, res *PerformSetAvatarURLResponse) error
- SetDisplayName(ctx context.Context, req *PerformUpdateDisplayNameRequest, res *struct{}) error
-}
-
-// UserRegisterAPI defines functions for registering accounts
-type UserRegisterAPI interface {
+type ClientUserAPI interface {
+ QueryAcccessTokenAPI
+ LoginTokenInternalAPI
+ UserLoginAPI
QueryNumericLocalpart(ctx context.Context, res *QueryNumericLocalpartResponse) error
+ QueryDevices(ctx context.Context, req *QueryDevicesRequest, res *QueryDevicesResponse) error
+ QueryProfile(ctx context.Context, req *QueryProfileRequest, res *QueryProfileResponse) error
+ QueryAccountData(ctx context.Context, req *QueryAccountDataRequest, res *QueryAccountDataResponse) error
+ QueryPushers(ctx context.Context, req *QueryPushersRequest, res *QueryPushersResponse) error
+ QueryPushRules(ctx context.Context, req *QueryPushRulesRequest, res *QueryPushRulesResponse) error
QueryAccountAvailability(ctx context.Context, req *QueryAccountAvailabilityRequest, res *QueryAccountAvailabilityResponse) error
PerformAccountCreation(ctx context.Context, req *PerformAccountCreationRequest, res *PerformAccountCreationResponse) error
PerformDeviceCreation(ctx context.Context, req *PerformDeviceCreationRequest, res *PerformDeviceCreationResponse) error
-}
-
-// UserAccountAPI defines functions for changing an account
-type UserAccountAPI interface {
+ PerformDeviceUpdate(ctx context.Context, req *PerformDeviceUpdateRequest, res *PerformDeviceUpdateResponse) error
+ PerformDeviceDeletion(ctx context.Context, req *PerformDeviceDeletionRequest, res *PerformDeviceDeletionResponse) error
PerformPasswordUpdate(ctx context.Context, req *PerformPasswordUpdateRequest, res *PerformPasswordUpdateResponse) error
+ PerformPusherDeletion(ctx context.Context, req *PerformPusherDeletionRequest, res *struct{}) error
+ PerformPusherSet(ctx context.Context, req *PerformPusherSetRequest, res *struct{}) error
+ PerformPushRulesPut(ctx context.Context, req *PerformPushRulesPutRequest, res *struct{}) error
PerformAccountDeactivation(ctx context.Context, req *PerformAccountDeactivationRequest, res *PerformAccountDeactivationResponse) error
- QueryAccountByPassword(ctx context.Context, req *QueryAccountByPasswordRequest, res *QueryAccountByPasswordResponse) error
-}
+ PerformOpenIDTokenCreation(ctx context.Context, req *PerformOpenIDTokenCreationRequest, res *PerformOpenIDTokenCreationResponse) error
+ SetAvatarURL(ctx context.Context, req *PerformSetAvatarURLRequest, res *PerformSetAvatarURLResponse) error
+ SetDisplayName(ctx context.Context, req *PerformUpdateDisplayNameRequest, res *struct{}) error
+ QueryNotifications(ctx context.Context, req *QueryNotificationsRequest, res *QueryNotificationsResponse) error
+ InputAccountData(ctx context.Context, req *InputAccountDataRequest, res *InputAccountDataResponse) error
+ PerformKeyBackup(ctx context.Context, req *PerformKeyBackupRequest, res *PerformKeyBackupResponse) error
+ QueryKeyBackup(ctx context.Context, req *QueryKeyBackupRequest, res *QueryKeyBackupResponse)
-// UserThreePIDAPI defines functions for 3PID
-type UserThreePIDAPI interface {
- QueryLocalpartForThreePID(ctx context.Context, req *QueryLocalpartForThreePIDRequest, res *QueryLocalpartForThreePIDResponse) error
QueryThreePIDsForLocalpart(ctx context.Context, req *QueryThreePIDsForLocalpartRequest, res *QueryThreePIDsForLocalpartResponse) error
+ QueryLocalpartForThreePID(ctx context.Context, req *QueryLocalpartForThreePIDRequest, res *QueryLocalpartForThreePIDResponse) error
PerformForgetThreePID(ctx context.Context, req *PerformForgetThreePIDRequest, res *struct{}) error
PerformSaveThreePIDAssociation(ctx context.Context, req *PerformSaveThreePIDAssociationRequest, res *struct{}) error
}
+type UserDirectoryProvider interface {
+ QuerySearchProfiles(ctx context.Context, req *QuerySearchProfilesRequest, res *QuerySearchProfilesResponse) error
+}
+
+// UserProfileAPI provides functions for getting user profiles
+type UserProfileAPI interface {
+ QueryProfile(ctx context.Context, req *QueryProfileRequest, res *QueryProfileResponse) error
+ QuerySearchProfiles(ctx context.Context, req *QuerySearchProfilesRequest, res *QuerySearchProfilesResponse) error
+}
+
type PerformKeyBackupRequest struct {
UserID string
Version string // optional if modifying a key backup