aboutsummaryrefslogtreecommitdiff
path: root/userapi/internal/user_api.go
diff options
context:
space:
mode:
Diffstat (limited to 'userapi/internal/user_api.go')
-rw-r--r--userapi/internal/user_api.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/userapi/internal/user_api.go b/userapi/internal/user_api.go
index 32f3d84b..4305c13a 100644
--- a/userapi/internal/user_api.go
+++ b/userapi/internal/user_api.go
@@ -33,6 +33,7 @@ import (
"github.com/sirupsen/logrus"
"golang.org/x/crypto/bcrypt"
+ clientapi "github.com/matrix-org/dendrite/clientapi/api"
"github.com/matrix-org/dendrite/clientapi/userutil"
"github.com/matrix-org/dendrite/internal/eventutil"
"github.com/matrix-org/dendrite/internal/pushgateway"
@@ -63,6 +64,37 @@ type UserInternalAPI struct {
Updater *DeviceListUpdater
}
+func (a *UserInternalAPI) PerformAdminCreateRegistrationToken(ctx context.Context, registrationToken *clientapi.RegistrationToken) (bool, error) {
+ exists, err := a.DB.RegistrationTokenExists(ctx, *registrationToken.Token)
+ if err != nil {
+ return false, err
+ }
+ if exists {
+ return false, fmt.Errorf("token: %s already exists", *registrationToken.Token)
+ }
+ _, err = a.DB.InsertRegistrationToken(ctx, registrationToken)
+ if err != nil {
+ return false, fmt.Errorf("Error creating token: %s"+err.Error(), *registrationToken.Token)
+ }
+ return true, nil
+}
+
+func (a *UserInternalAPI) PerformAdminListRegistrationTokens(ctx context.Context, returnAll bool, valid bool) ([]clientapi.RegistrationToken, error) {
+ return a.DB.ListRegistrationTokens(ctx, returnAll, valid)
+}
+
+func (a *UserInternalAPI) PerformAdminGetRegistrationToken(ctx context.Context, tokenString string) (*clientapi.RegistrationToken, error) {
+ return a.DB.GetRegistrationToken(ctx, tokenString)
+}
+
+func (a *UserInternalAPI) PerformAdminDeleteRegistrationToken(ctx context.Context, tokenString string) error {
+ return a.DB.DeleteRegistrationToken(ctx, tokenString)
+}
+
+func (a *UserInternalAPI) PerformAdminUpdateRegistrationToken(ctx context.Context, tokenString string, newAttributes map[string]interface{}) (*clientapi.RegistrationToken, error) {
+ return a.DB.UpdateRegistrationToken(ctx, tokenString, newAttributes)
+}
+
func (a *UserInternalAPI) InputAccountData(ctx context.Context, req *api.InputAccountDataRequest, res *api.InputAccountDataResponse) error {
local, domain, err := gomatrixserverlib.SplitID('@', req.UserID)
if err != nil {