diff options
author | Kegsay <kegan@matrix.org> | 2020-06-15 09:54:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-15 09:54:11 +0100 |
commit | 6b5996db1736ee962bd081b67b7f38c1591737f8 (patch) | |
tree | 49cee6c3bfe4c906616d2cefee4b2a12bce238e6 /userapi/userapi.go | |
parent | 0dc4ceaa2d8e46aa0134c1aabe96389ba4c1591d (diff) |
Add bare bones user API (#1127)
* Add bare bones user API
with tests!
* linting
Diffstat (limited to 'userapi/userapi.go')
-rw-r--r-- | userapi/userapi.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/userapi/userapi.go b/userapi/userapi.go new file mode 100644 index 00000000..32f851cc --- /dev/null +++ b/userapi/userapi.go @@ -0,0 +1,41 @@ +// Copyright 2020 The Matrix.org Foundation C.I.C. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package userapi + +import ( + "github.com/gorilla/mux" + "github.com/matrix-org/dendrite/clientapi/auth/storage/accounts" + "github.com/matrix-org/dendrite/clientapi/auth/storage/devices" + "github.com/matrix-org/dendrite/userapi/api" + "github.com/matrix-org/dendrite/userapi/internal" + "github.com/matrix-org/dendrite/userapi/inthttp" + "github.com/matrix-org/gomatrixserverlib" +) + +// AddInternalRoutes registers HTTP handlers for the internal API. Invokes functions +// on the given input API. +func AddInternalRoutes(router *mux.Router, intAPI api.UserInternalAPI) { + inthttp.AddRoutes(router, intAPI) +} + +// NewInternalAPI returns a concerete implementation of the internal API. Callers +// can call functions directly on the returned API or via an HTTP interface using AddInternalRoutes. +func NewInternalAPI(accountDB accounts.Database, deviceDB devices.Database, serverName gomatrixserverlib.ServerName) api.UserInternalAPI { + return &internal.UserInternalAPI{ + AccountDB: accountDB, + DeviceDB: deviceDB, + ServerName: serverName, + } +} |