From 8c3b0071c2a2d43e1b644d82b0c9a773caf26e31 Mon Sep 17 00:00:00 2001 From: Wyatt Johnson Date: Mon, 24 Sep 2018 12:32:57 -0600 Subject: [PATCH] fix: renamed, middleware fixes --- src/core/server/app/middleware/error.ts | 10 ++-------- src/core/server/app/middleware/playground.ts | 15 ++++++++++++++- src/core/server/graph/tenant/loaders/comments.ts | 2 +- src/core/server/graph/tenant/resolvers/asset.ts | 2 +- src/core/server/graph/tenant/resolvers/comment.ts | 2 +- .../models/{actions.spec.ts => action.spec.ts} | 2 +- src/core/server/models/{actions.ts => action.ts} | 1 + src/core/server/models/asset.ts | 2 +- src/core/server/models/comment.ts | 2 +- src/core/server/models/user.ts | 2 +- src/core/server/services/comments/index.ts | 2 +- .../services/comments/moderation/index.spec.ts | 2 +- .../server/services/comments/moderation/index.ts | 2 +- .../comments/moderation/phases/commentLength.ts | 2 +- .../services/comments/moderation/phases/karma.ts | 2 +- .../services/comments/moderation/phases/links.ts | 2 +- .../services/comments/moderation/phases/spam.ts | 2 +- .../services/comments/moderation/phases/toxic.ts | 2 +- .../comments/moderation/phases/wordlist.ts | 2 +- 19 files changed, 33 insertions(+), 25 deletions(-) rename src/core/server/models/{actions.spec.ts => action.spec.ts} (99%) rename src/core/server/models/{actions.ts => action.ts} (99%) diff --git a/src/core/server/app/middleware/error.ts b/src/core/server/app/middleware/error.ts index b7be782cb..8eadfc187 100644 --- a/src/core/server/app/middleware/error.ts +++ b/src/core/server/app/middleware/error.ts @@ -9,15 +9,9 @@ export const errorHandler: ErrorRequestHandler = (err, req, res, next) => { // TODO: handle better when we improve errors. if (err.message === "not found") { // TODO: handle better when we improve errors. - res - .status(404) - .send(err.message) - .end(); + res.status(404).send(err.message); } else { // TODO: handle better when we improve errors. - res - .status(500) - .send(err.message) - .end(); + res.status(500).send(err.message); } }; diff --git a/src/core/server/app/middleware/playground.ts b/src/core/server/app/middleware/playground.ts index 1873a0537..0364d10aa 100644 --- a/src/core/server/app/middleware/playground.ts +++ b/src/core/server/app/middleware/playground.ts @@ -1,4 +1,17 @@ +import { RequestHandler } from "express"; import { MiddlewareOptions } from "graphql-playground-html"; import playground from "graphql-playground-middleware-express"; -export default (options: MiddlewareOptions) => playground(options); +export default (options: MiddlewareOptions): RequestHandler => ( + req, + res, + next +) => { + try { + playground(options)(req, res, () => { + // The playground calls next() when it's not supposed to. + }); + } catch (err) { + return next(err); + } +}; diff --git a/src/core/server/graph/tenant/loaders/comments.ts b/src/core/server/graph/tenant/loaders/comments.ts index c90c1ef6b..abd78803f 100644 --- a/src/core/server/graph/tenant/loaders/comments.ts +++ b/src/core/server/graph/tenant/loaders/comments.ts @@ -10,7 +10,7 @@ import { import { ACTION_ITEM_TYPE, retrieveManyUserActionPresence, -} from "talk-server/models/actions"; +} from "talk-server/models/action"; import { retrieveCommentAssetConnection, retrieveCommentRepliesConnection, diff --git a/src/core/server/graph/tenant/resolvers/asset.ts b/src/core/server/graph/tenant/resolvers/asset.ts index 98c09ca88..f1ebc640c 100644 --- a/src/core/server/graph/tenant/resolvers/asset.ts +++ b/src/core/server/graph/tenant/resolvers/asset.ts @@ -1,5 +1,5 @@ import { GQLAssetTypeResolver } from "talk-server/graph/tenant/schema/__generated__/types"; -import { decodeActionCounts } from "talk-server/models/actions"; +import { decodeActionCounts } from "talk-server/models/action"; import { Asset } from "talk-server/models/asset"; const Asset: GQLAssetTypeResolver = { diff --git a/src/core/server/graph/tenant/resolvers/comment.ts b/src/core/server/graph/tenant/resolvers/comment.ts index 25b9b2f73..5919732d0 100644 --- a/src/core/server/graph/tenant/resolvers/comment.ts +++ b/src/core/server/graph/tenant/resolvers/comment.ts @@ -1,5 +1,5 @@ import { GQLCommentTypeResolver } from "talk-server/graph/tenant/schema/__generated__/types"; -import { decodeActionCounts } from "talk-server/models/actions"; +import { decodeActionCounts } from "talk-server/models/action"; import { Comment } from "talk-server/models/comment"; const Comment: GQLCommentTypeResolver = { diff --git a/src/core/server/models/actions.spec.ts b/src/core/server/models/action.spec.ts similarity index 99% rename from src/core/server/models/actions.spec.ts rename to src/core/server/models/action.spec.ts index a09595003..f89f587eb 100644 --- a/src/core/server/models/actions.spec.ts +++ b/src/core/server/models/action.spec.ts @@ -6,7 +6,7 @@ import { decodeActionCounts, encodeActionCounts, validateAction, -} from "talk-server/models/actions"; +} from "talk-server/models/action"; describe("#encodeActionCounts", () => { it("generates the action counts correctly", () => { diff --git a/src/core/server/models/actions.ts b/src/core/server/models/action.ts similarity index 99% rename from src/core/server/models/actions.ts rename to src/core/server/models/action.ts index a9e3a4654..2c1834c4e 100644 --- a/src/core/server/models/actions.ts +++ b/src/core/server/models/action.ts @@ -186,6 +186,7 @@ export async function createActions( tenantID: string, inputs: CreateActionInput[] ): Promise { + // TODO: (wyattjoh) replace with a batch write. return Promise.all(inputs.map(input => createAction(mongo, tenantID, input))); } diff --git a/src/core/server/models/asset.ts b/src/core/server/models/asset.ts index 0d15cf6d3..aa3289503 100644 --- a/src/core/server/models/asset.ts +++ b/src/core/server/models/asset.ts @@ -3,7 +3,7 @@ import uuid from "uuid"; import { Omit } from "talk-common/types"; import { dotize } from "talk-common/utils/dotize"; -import { EncodedActionCounts } from "talk-server/models/actions"; +import { EncodedActionCounts } from "talk-server/models/action"; import { ModerationSettings } from "talk-server/models/settings"; import { TenantResource } from "talk-server/models/tenant"; diff --git a/src/core/server/models/comment.ts b/src/core/server/models/comment.ts index 99780bda1..e2ff8da1d 100644 --- a/src/core/server/models/comment.ts +++ b/src/core/server/models/comment.ts @@ -7,7 +7,7 @@ import { GQLCOMMENT_SORT, GQLCOMMENT_STATUS, } from "talk-server/graph/tenant/schema/__generated__/types"; -import { EncodedActionCounts } from "talk-server/models/actions"; +import { EncodedActionCounts } from "talk-server/models/action"; import { Connection, Cursor, diff --git a/src/core/server/models/user.ts b/src/core/server/models/user.ts index 8bfac404a..a89d3b42a 100644 --- a/src/core/server/models/user.ts +++ b/src/core/server/models/user.ts @@ -7,7 +7,7 @@ import { GQLUSER_ROLE, GQLUSER_USERNAME_STATUS, } from "talk-server/graph/tenant/schema/__generated__/types"; -import { EncodedActionCounts } from "talk-server/models/actions"; +import { EncodedActionCounts } from "talk-server/models/action"; import { FilterQuery } from "talk-server/models/query"; import { TenantResource } from "talk-server/models/tenant"; diff --git a/src/core/server/services/comments/index.ts b/src/core/server/services/comments/index.ts index 7fa33fa75..7acc5f5bb 100644 --- a/src/core/server/services/comments/index.ts +++ b/src/core/server/services/comments/index.ts @@ -6,7 +6,7 @@ import { CreateActionInput, createActions, encodeActionCounts, -} from "talk-server/models/actions"; +} from "talk-server/models/action"; import { retrieveAsset, updateAssetActionCounts, diff --git a/src/core/server/services/comments/moderation/index.spec.ts b/src/core/server/services/comments/moderation/index.spec.ts index f0367bb65..3adcccfd2 100644 --- a/src/core/server/services/comments/moderation/index.spec.ts +++ b/src/core/server/services/comments/moderation/index.spec.ts @@ -2,7 +2,7 @@ import { GQLCOMMENT_FLAG_REASON, GQLCOMMENT_STATUS, } from "talk-server/graph/tenant/schema/__generated__/types"; -import { ACTION_TYPE } from "talk-server/models/actions"; +import { ACTION_TYPE } from "talk-server/models/action"; import { compose, ModerationPhaseContext, diff --git a/src/core/server/services/comments/moderation/index.ts b/src/core/server/services/comments/moderation/index.ts index cc4d91a34..7bf497f75 100644 --- a/src/core/server/services/comments/moderation/index.ts +++ b/src/core/server/services/comments/moderation/index.ts @@ -1,6 +1,6 @@ import { Omit, Promiseable } from "talk-common/types"; import { GQLCOMMENT_STATUS } from "talk-server/graph/tenant/schema/__generated__/types"; -import { CreateActionInput } from "talk-server/models/actions"; +import { CreateActionInput } from "talk-server/models/action"; import { Asset } from "talk-server/models/asset"; import { Comment } from "talk-server/models/comment"; import { Tenant } from "talk-server/models/tenant"; diff --git a/src/core/server/services/comments/moderation/phases/commentLength.ts b/src/core/server/services/comments/moderation/phases/commentLength.ts index 65e37df03..5ea6393fd 100644 --- a/src/core/server/services/comments/moderation/phases/commentLength.ts +++ b/src/core/server/services/comments/moderation/phases/commentLength.ts @@ -2,7 +2,7 @@ import { GQLCOMMENT_FLAG_REASON, GQLCOMMENT_STATUS, } from "talk-server/graph/tenant/schema/__generated__/types"; -import { ACTION_TYPE } from "talk-server/models/actions"; +import { ACTION_TYPE } from "talk-server/models/action"; import { ModerationSettings } from "talk-server/models/settings"; import { IntermediateModerationPhase, diff --git a/src/core/server/services/comments/moderation/phases/karma.ts b/src/core/server/services/comments/moderation/phases/karma.ts index 4fdf50fec..91ffb069f 100755 --- a/src/core/server/services/comments/moderation/phases/karma.ts +++ b/src/core/server/services/comments/moderation/phases/karma.ts @@ -2,7 +2,7 @@ import { GQLCOMMENT_FLAG_REASON, GQLCOMMENT_STATUS, } from "talk-server/graph/tenant/schema/__generated__/types"; -import { ACTION_TYPE } from "talk-server/models/actions"; +import { ACTION_TYPE } from "talk-server/models/action"; import { IntermediateModerationPhase, IntermediatePhaseResult, diff --git a/src/core/server/services/comments/moderation/phases/links.ts b/src/core/server/services/comments/moderation/phases/links.ts index 4bf584428..ae2c0e723 100755 --- a/src/core/server/services/comments/moderation/phases/links.ts +++ b/src/core/server/services/comments/moderation/phases/links.ts @@ -5,7 +5,7 @@ import { GQLCOMMENT_FLAG_REASON, GQLCOMMENT_STATUS, } from "talk-server/graph/tenant/schema/__generated__/types"; -import { ACTION_TYPE } from "talk-server/models/actions"; +import { ACTION_TYPE } from "talk-server/models/action"; import { ModerationSettings } from "talk-server/models/settings"; import { IntermediateModerationPhase, diff --git a/src/core/server/services/comments/moderation/phases/spam.ts b/src/core/server/services/comments/moderation/phases/spam.ts index 2e73b90dc..5e3c495a7 100644 --- a/src/core/server/services/comments/moderation/phases/spam.ts +++ b/src/core/server/services/comments/moderation/phases/spam.ts @@ -5,7 +5,7 @@ import { GQLCOMMENT_STATUS, } from "talk-server/graph/tenant/schema/__generated__/types"; import logger from "talk-server/logger"; -import { ACTION_TYPE } from "talk-server/models/actions"; +import { ACTION_TYPE } from "talk-server/models/action"; import { IntermediateModerationPhase, IntermediatePhaseResult, diff --git a/src/core/server/services/comments/moderation/phases/toxic.ts b/src/core/server/services/comments/moderation/phases/toxic.ts index 0a9cda887..ec3a9f6ae 100644 --- a/src/core/server/services/comments/moderation/phases/toxic.ts +++ b/src/core/server/services/comments/moderation/phases/toxic.ts @@ -9,7 +9,7 @@ import { GQLPerspectiveExternalIntegration, } from "talk-server/graph/tenant/schema/__generated__/types"; import logger from "talk-server/logger"; -import { ACTION_TYPE } from "talk-server/models/actions"; +import { ACTION_TYPE } from "talk-server/models/action"; import { IntermediateModerationPhase, IntermediatePhaseResult, diff --git a/src/core/server/services/comments/moderation/phases/wordlist.ts b/src/core/server/services/comments/moderation/phases/wordlist.ts index 4a4eebb42..05f6431b9 100755 --- a/src/core/server/services/comments/moderation/phases/wordlist.ts +++ b/src/core/server/services/comments/moderation/phases/wordlist.ts @@ -2,7 +2,7 @@ import { GQLCOMMENT_FLAG_REASON, GQLCOMMENT_STATUS, } from "talk-server/graph/tenant/schema/__generated__/types"; -import { ACTION_TYPE } from "talk-server/models/actions"; +import { ACTION_TYPE } from "talk-server/models/action"; import { IntermediateModerationPhase, IntermediatePhaseResult,