Fix typescript errors and update depencies
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Fabian Stamm
2020-12-19 16:15:34 +01:00
parent 05bef4fd49
commit 7c0d5949ab
14 changed files with 1517 additions and 1445 deletions

View File

@ -157,7 +157,7 @@ ClientRouter.route("/:id")
true
),
promiseMiddleware(async (req, res) => {
let { id } = req.query;
let { id } = req.query as { [key: string]: string };
let client = await Client.findById(id);
if (!client)
throw new RequestError(

View File

@ -28,7 +28,7 @@ PermissionRoute.route("/")
promiseMiddleware(async (req, res) => {
let query = {};
if (req.query.client) {
query = { client: new ObjectID(req.query.client) };
query = { client: new ObjectID(req.query.client as string) };
}
let permissions = await Permission.find(query);
res.json(permissions);
@ -102,7 +102,7 @@ PermissionRoute.route("/")
*/
.delete(
promiseMiddleware(async (req, res) => {
let { id } = req.query;
let { id } = req.query as { [key: string]: string };
await Permission.delete(id);
res.json({ success: true });
})

View File

@ -40,7 +40,7 @@ RegCodeRoute.route("/")
*/
.delete(
promiseMiddleware(async (req, res) => {
let { id } = req.query;
let { id } = req.query as { [key: string]: string };
await RegCode.delete(id);
res.json({ success: true });
})

View File

@ -51,7 +51,7 @@ UserRoute.route("/")
*/
.delete(
promiseMiddleware(async (req, res) => {
let { id } = req.query;
let { id } = req.query as { [key: string]: string };
let user = await User.findById(id);
await Promise.all([
@ -83,7 +83,7 @@ UserRoute.route("/")
*/
.put(
promiseMiddleware(async (req, res) => {
let { id } = req.query;
let { id } = req.query as { [key: string]: string };
let user = await User.findById(id);
user.admin = !user.admin;
await User.save(user);

View File

@ -14,7 +14,7 @@ import { ObjectID } from "mongodb";
export const GetPermissions = Stacker(
GetClientAuthMiddleware(true),
async (req: Request, res: Response) => {
const { user, permission } = req.query;
const { user, permission } = req.query as { [key: string]: string };
let permissions: { id: string; name: string; description: string }[];
let users: string[];
@ -22,7 +22,7 @@ export const GetPermissions = Stacker(
if (user) {
const grant = await Grant.findOne({
client: req.client._id,
user: user,
user: new ObjectID(user),
});
permissions = await Promise.all(

View File

@ -10,7 +10,7 @@ export const OAuthInternalApp = Stacker(
GetClientAuthMiddleware(false, true),
UserMiddleware,
async (req: Request, res: Response) => {
let { redirect_uri, state } = req.query;
let { redirect_uri, state } = req.query as { [key: string]: string };
if (!redirect_uri) {
throw new RequestError(
"No redirect url set!",

View File

@ -70,8 +70,9 @@ export function GetClientApiAuthMiddleware(permissions?: string[]) {
req.__("You are not logged in or your login is expired"),
HttpStatusCode.UNAUTHORIZED
);
let token: string =
req.query.access_token || req.headers.authorization;
let token =
(req.query.access_token as string) ||
(req.headers.authorization as string);
if (!token) throw invalid_err;
if (token.toLowerCase().startsWith("bearer "))

View File

@ -31,7 +31,7 @@ export function GetUserMiddleware(
throw new Invalid(req.__(message));
};
try {
let { login, special } = req.query;
let { login, special } = req.query as { [key: string]: string };
if (!login) {
login = req.cookies.login;
special = req.cookies.special;

View File

@ -94,7 +94,7 @@ const GetAuthRoute = (view = false) =>
scope = "",
state,
nored,
} = req.query;
} = req.query as { [key: string]: string };
const sendError = (type) => {
if (redirect_uri === "$local") redirect_uri = "/code";
res.redirect(
@ -178,8 +178,10 @@ const GetAuthRoute = (view = false) =>
if (!grant && missing_permissions.length > 0) {
await new Promise<void>((yes, no) =>
GetUserMiddleware(false, true)(req, res, (err?: Error) =>
err ? no(err) : yes()
GetUserMiddleware(false, true)(
req,
res,
(err?: Error | string) => (err ? no(err) : yes())
)
); // Maybe unresolved when redirect is happening

View File

@ -7,7 +7,7 @@ import Client from "../../models/client";
import { getAccessTokenJWT } from "../../helper/jwt";
const JWTRoute = promiseMiddleware(async (req: Request, res: Response) => {
let { refreshtoken } = req.query;
let { refreshtoken } = req.query as { [key: string]: string };
if (!refreshtoken)
throw new RequestError(
req.__("Refresh token not set"),

View File

@ -9,9 +9,9 @@ import * as crypto from "crypto";
import Logging from "@hibas123/nodelogging";
const Login = promiseMiddleware(async (req: Request, res: Response) => {
let type = req.query.type;
let type = req.query.type as string;
if (type === "username") {
let { username, uid } = req.query;
let { username, uid } = req.query as { [key: string]: string };
let user = await User.findOne(
username ? { username: username.toLowerCase() } : { uid: uid }
);

View File

@ -7,5 +7,7 @@ if (Config.database) {
if (Config.database.host) host = Config.database.host;
}
if (Config.core.dev) dbname += "_dev";
const DB = new SafeMongo("mongodb://" + host, dbname);
const DB = new SafeMongo("mongodb://" + host, dbname, {
useUnifiedTopology: true,
});
export default DB;