types
This commit is contained in:
2
app/typings/index.d.ts
vendored
2
app/typings/index.d.ts
vendored
@@ -8,6 +8,8 @@ declare module "string-replace-to-array";
|
||||
|
||||
declare module "styled-components-breakpoint";
|
||||
|
||||
declare module "formidable/lib/file";
|
||||
|
||||
declare module "socket.io-redis" {
|
||||
import { Redis } from "ioredis";
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import path from "path";
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module 'form... Remove this comment to see the full error message
|
||||
import File from "formidable/lib/file";
|
||||
import { Attachment, Document, Collection } from "@server/models";
|
||||
import { buildUser } from "@server/test/factories";
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import fs from "fs";
|
||||
import os from "os";
|
||||
import path from "path";
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module 'form... Remove this comment to see the full error message
|
||||
import File from "formidable/lib/file";
|
||||
import invariant from "invariant";
|
||||
import { values, keys } from "lodash";
|
||||
@@ -14,13 +13,17 @@ import attachmentCreator from "./attachmentCreator";
|
||||
import documentCreator from "./documentCreator";
|
||||
import documentImporter from "./documentImporter";
|
||||
|
||||
type FileWithPath = File & {
|
||||
path: string;
|
||||
};
|
||||
|
||||
export default async function collectionImporter({
|
||||
file,
|
||||
type,
|
||||
user,
|
||||
ip,
|
||||
}: {
|
||||
file: File;
|
||||
file: FileWithPath;
|
||||
// @ts-expect-error ts-migrate(2749) FIXME: 'User' refers to a value, but is being used as a t... Remove this comment to see the full error message
|
||||
user: User;
|
||||
type: "outline";
|
||||
|
||||
@@ -32,8 +32,7 @@ export default async function documentCreator({
|
||||
editorVersion?: string;
|
||||
source?: "import";
|
||||
ip: string;
|
||||
// @ts-expect-error ts-migrate(1064) FIXME: The return type of an async function or method mus... Remove this comment to see the full error message
|
||||
}): Document {
|
||||
}): Promise<Document> {
|
||||
// @ts-expect-error ts-migrate(2339) FIXME: Property 'id' does not exist on type 'Document'.
|
||||
const templateId = templateDocument ? templateDocument.id : undefined;
|
||||
const document = await Document.create({
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import path from "path";
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module 'form... Remove this comment to see the full error message
|
||||
import File from "formidable/lib/file";
|
||||
import { Attachment } from "@server/models";
|
||||
import { buildUser } from "@server/test/factories";
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module 'form... Remove this comment to see the full error message
|
||||
import File from "formidable/lib/file";
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module 'jopl... Remove this comment to see the full error message
|
||||
import { strikethrough, tables } from "joplin-turndown-plugin-gfm";
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import Sequelize from "sequelize";
|
||||
import { Op } from "sequelize";
|
||||
import { Event, Team, User, UserAuthentication } from "@server/models";
|
||||
import { sequelize } from "../sequelize";
|
||||
|
||||
const Op = Sequelize.Op;
|
||||
type UserCreatorResult = {
|
||||
// @ts-expect-error ts-migrate(2749) FIXME: 'User' refers to a value, but is being used as a t... Remove this comment to see the full error message
|
||||
user: User;
|
||||
|
||||
@@ -127,10 +127,7 @@ export class Mailer {
|
||||
}
|
||||
}
|
||||
|
||||
sendMail = async (
|
||||
data: EmailSendOptions
|
||||
// @ts-expect-error ts-migrate(1064) FIXME: The return type of an async function or method mus... Remove this comment to see the full error message
|
||||
): Promise<any> | null | undefined => {
|
||||
sendMail = async (data: EmailSendOptions): Promise<void> => {
|
||||
const { transporter } = this;
|
||||
|
||||
if (transporter) {
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module '@out... Remove this comment to see the full error message
|
||||
import passport from "@outlinewiki/koa-passport";
|
||||
import { Context } from "koa";
|
||||
import Logger from "@server/logging/logger";
|
||||
@@ -12,7 +11,6 @@ export default function createMiddleware(providerName: string) {
|
||||
{
|
||||
session: false,
|
||||
},
|
||||
// @ts-expect-error ts-migrate(7006) FIXME: Parameter 'err' implicitly has an 'any' type.
|
||||
async (err, user, result: AccountProvisionerResult) => {
|
||||
if (err) {
|
||||
Logger.error("Error during authentication", err);
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import fs from "fs";
|
||||
import os from "os";
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module 'form... Remove this comment to see the full error message
|
||||
import File from "formidable/lib/file";
|
||||
import collectionImporter from "@server/commands/collectionImporter";
|
||||
import { Attachment, User } from "@server/models";
|
||||
|
||||
@@ -6,8 +6,10 @@ import { flushdb } from "@server/test/support";
|
||||
|
||||
const app = webService();
|
||||
const server = new TestServer(app.callback());
|
||||
|
||||
beforeEach(() => flushdb());
|
||||
afterAll(() => server.close());
|
||||
|
||||
describe("auth/redirect", () => {
|
||||
it("should redirect to home", async () => {
|
||||
const user = await buildUser();
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module '@out... Remove this comment to see the full error message
|
||||
import passport from "@outlinewiki/koa-passport";
|
||||
import { addMonths } from "date-fns";
|
||||
import Koa from "koa";
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module '@out... Remove this comment to see the full error message
|
||||
import passport from "@outlinewiki/koa-passport";
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module '@out... Remove this comment to see the full error message
|
||||
import { Strategy as AzureStrategy } from "@outlinewiki/passport-azure-ad-oauth2";
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module '@out... Remove this comment to see the full error message
|
||||
import passport from "@outlinewiki/koa-passport";
|
||||
import Router from "koa-router";
|
||||
import { capitalize } from "lodash";
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module '@out... Remove this comment to see the full error message
|
||||
import passport from "@outlinewiki/koa-passport";
|
||||
import Router from "koa-router";
|
||||
import { get } from "lodash";
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module '@out... Remove this comment to see the full error message
|
||||
import passport from "@outlinewiki/koa-passport";
|
||||
import Router from "koa-router";
|
||||
// @ts-expect-error ts-migrate(7016) FIXME: Could not find a declaration file for module 'pass... Remove this comment to see the full error message
|
||||
|
||||
204
server/typings/outlinewiki__koa-passport.d.ts
vendored
Normal file
204
server/typings/outlinewiki__koa-passport.d.ts
vendored
Normal file
@@ -0,0 +1,204 @@
|
||||
declare module "@outlinewiki/koa-passport" {
|
||||
// Type definitions for Passport 1.0
|
||||
// Project: http://passportjs.org
|
||||
// Definitions by: Horiuchi_H <https://github.com/horiuchi>
|
||||
// Eric Naeseth <https://github.com/enaeseth>
|
||||
// Igor Belagorudsky <https://github.com/theigor>
|
||||
// Tomek Łaziuk <https://github.com/tlaziuk>
|
||||
// Daniel Perez Alvarez <https://github.com/unindented>
|
||||
// Kevin Stiehl <https://github.com/kstiehl>
|
||||
// Oleg Vaskevich <https://github.com/vaskevich>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.3
|
||||
|
||||
import { IncomingMessage } from "http";
|
||||
// eslint-disable-next-line
|
||||
import Express from "express";
|
||||
import { Request } from "koa";
|
||||
import { IMiddleware } from "koa-router";
|
||||
|
||||
namespace passport {
|
||||
interface AuthenticateOptions {
|
||||
authInfo?: boolean | undefined;
|
||||
assignProperty?: string | undefined;
|
||||
failureFlash?: string | boolean | undefined;
|
||||
failureMessage?: boolean | string | undefined;
|
||||
failureRedirect?: string | undefined;
|
||||
failWithError?: boolean | undefined;
|
||||
session?: boolean | undefined;
|
||||
scope?: string | string[] | undefined;
|
||||
successFlash?: string | boolean | undefined;
|
||||
successMessage?: boolean | string | undefined;
|
||||
successRedirect?: string | undefined;
|
||||
successReturnToOrRedirect?: string | undefined;
|
||||
state?: string | undefined;
|
||||
pauseStream?: boolean | undefined;
|
||||
userProperty?: string | undefined;
|
||||
passReqToCallback?: boolean | undefined;
|
||||
prompt?: string | undefined;
|
||||
accessType?: string | undefined;
|
||||
}
|
||||
|
||||
interface Authenticator<
|
||||
InitializeRet = IMiddleware,
|
||||
AuthenticateRet = any,
|
||||
AuthorizeRet = AuthenticateRet,
|
||||
AuthorizeOptions = AuthenticateOptions
|
||||
> {
|
||||
use(strategy: Strategy): this;
|
||||
use(name: string, strategy: Strategy): this;
|
||||
unuse(name: string): this;
|
||||
framework<X, Y, Z>(fw: Framework<X, Y, Z>): Authenticator<X, Y, Z>;
|
||||
initialize(options?: { userProperty: string }): InitializeRet;
|
||||
session(options?: { pauseStream: boolean }): AuthenticateRet;
|
||||
|
||||
authenticate(
|
||||
strategy: string | string[] | Strategy,
|
||||
callback?: (...args: any[]) => any
|
||||
): AuthenticateRet;
|
||||
authenticate(
|
||||
strategy: string | string[] | Strategy,
|
||||
options: AuthenticateOptions,
|
||||
callback?: (...args: any[]) => any
|
||||
): AuthenticateRet;
|
||||
authorize(
|
||||
strategy: string | string[],
|
||||
callback?: (...args: any[]) => any
|
||||
): AuthorizeRet;
|
||||
authorize(
|
||||
strategy: string | string[],
|
||||
options: AuthorizeOptions,
|
||||
callback?: (...args: any[]) => any
|
||||
): AuthorizeRet;
|
||||
serializeUser<TID>(
|
||||
fn: (user: any, done: (err: any, id?: TID) => void) => void
|
||||
): void;
|
||||
serializeUser<TID, TR extends IncomingMessage>(
|
||||
fn: (req: TR, user: any, done: (err: any, id?: TID) => void) => void
|
||||
): void;
|
||||
deserializeUser<TID>(
|
||||
fn: (id: TID, done: (err: any, user?: any) => void) => void
|
||||
): void;
|
||||
deserializeUser<TID, TR extends IncomingMessage>(
|
||||
fn: (req: TR, id: TID, done: (err: any, user?: any) => void) => void
|
||||
): void;
|
||||
transformAuthInfo(
|
||||
fn: (info: any, done: (err: any, info: any) => void) => void
|
||||
): void;
|
||||
}
|
||||
|
||||
interface PassportStatic extends Authenticator {
|
||||
Authenticator: { new (): Authenticator };
|
||||
Passport: PassportStatic["Authenticator"];
|
||||
Strategy: { new (): Strategy & StrategyCreatedStatic };
|
||||
}
|
||||
|
||||
interface Strategy {
|
||||
name?: string | undefined;
|
||||
authenticate(
|
||||
this: StrategyCreated<this>,
|
||||
req: Request | Express.Request,
|
||||
options?: any
|
||||
): any;
|
||||
}
|
||||
|
||||
interface StrategyCreatedStatic {
|
||||
/**
|
||||
* Authenticate `user`, with optional `info`.
|
||||
*
|
||||
* Strategies should call this function to successfully authenticate a
|
||||
* user. `user` should be an object supplied by the application after it
|
||||
* has been given an opportunity to verify credentials. `info` is an
|
||||
* optional argument containing additional user information. This is
|
||||
* useful for third-party authentication strategies to pass profile
|
||||
* details.
|
||||
*/
|
||||
success(user: any, info?: object): void;
|
||||
/**
|
||||
* Fail authentication, with optional `challenge` and `status`, defaulting
|
||||
* to 401.
|
||||
*
|
||||
* Strategies should call this function to fail an authentication attempt.
|
||||
*/
|
||||
fail(challenge?: string | number, status?: number): void;
|
||||
/**
|
||||
* Redirect to `url` with optional `status`, defaulting to 302.
|
||||
*
|
||||
* Strategies should call this function to redirect the user (via their
|
||||
* user agent) to a third-party website for authentication.
|
||||
*/
|
||||
redirect(url: string, status?: number): void;
|
||||
/**
|
||||
* Pass without making a success or fail decision.
|
||||
*
|
||||
* Under most circumstances, Strategies should not need to call this
|
||||
* function. It exists primarily to allow previous authentication state
|
||||
* to be restored, for example from an HTTP session.
|
||||
*/
|
||||
pass(): void;
|
||||
/**
|
||||
* Internal error while performing authentication.
|
||||
*
|
||||
* Strategies should call this function when an internal error occurs
|
||||
* during the process of performing authentication; for example, if the
|
||||
* user directory is not available.
|
||||
*/
|
||||
error(err: any): void;
|
||||
}
|
||||
|
||||
type StrategyCreated<T, O = T & StrategyCreatedStatic> = {
|
||||
[P in keyof O]: O[P];
|
||||
};
|
||||
|
||||
interface Profile {
|
||||
provider: string;
|
||||
id: string;
|
||||
displayName: string;
|
||||
username?: string | undefined;
|
||||
name?:
|
||||
| {
|
||||
familyName: string;
|
||||
givenName: string;
|
||||
middleName?: string | undefined;
|
||||
}
|
||||
| undefined;
|
||||
emails?:
|
||||
| Array<{
|
||||
value: string;
|
||||
type?: string | undefined;
|
||||
}>
|
||||
| undefined;
|
||||
photos?:
|
||||
| Array<{
|
||||
value: string;
|
||||
}>
|
||||
| undefined;
|
||||
}
|
||||
|
||||
interface Framework<
|
||||
InitializeRet = any,
|
||||
AuthenticateRet = any,
|
||||
AuthorizeRet = AuthenticateRet
|
||||
> {
|
||||
initialize(
|
||||
passport: Authenticator<InitializeRet, AuthenticateRet, AuthorizeRet>,
|
||||
options?: any
|
||||
): (...args: any[]) => InitializeRet;
|
||||
authenticate(
|
||||
passport: Authenticator<InitializeRet, AuthenticateRet, AuthorizeRet>,
|
||||
name: string,
|
||||
options?: any,
|
||||
callback?: (...args: any[]) => any
|
||||
): (...args: any[]) => AuthenticateRet;
|
||||
authorize?(
|
||||
passport: Authenticator<InitializeRet, AuthenticateRet, AuthorizeRet>,
|
||||
name: string,
|
||||
options?: any,
|
||||
callback?: (...args: any[]) => any
|
||||
): (...args: any[]) => AuthorizeRet;
|
||||
}
|
||||
}
|
||||
|
||||
const passport: passport.PassportStatic;
|
||||
export = passport;
|
||||
}
|
||||
Reference in New Issue
Block a user