diff --git a/.gitignore b/.gitignore index 50ca305..36e8cf3 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ config.yaml sqz-force greenvironment.db logs +logs* diff --git a/src/graphql/resolvers.ts b/src/graphql/resolvers.ts index 4fa7f1f..fcd2eb2 100644 --- a/src/graphql/resolvers.ts +++ b/src/graphql/resolvers.ts @@ -144,9 +144,13 @@ export function resolver(req: any, res: any): any { async createPost({content}: { content: string }) { if (content) { if (req.session.userId) { - const post = await dataaccess.createPost(content, req.session.userId); - globals.internalEmitter.emit(InternalEvents.GQLPOSTCREATE, post); - return post; + if (content.length > 2048) { + return new GraphQLError("Content too long."); + } else { + const post = await dataaccess.createPost(content, req.session.userId); + globals.internalEmitter.emit(InternalEvents.GQLPOSTCREATE, post); + return post; + } } else { res.status(status.UNAUTHORIZED); return new NotLoggedInGqlError(); diff --git a/src/lib/dataaccess.ts b/src/lib/dataaccess.ts index 50b0cd6..b11897a 100644 --- a/src/lib/dataaccess.ts +++ b/src/lib/dataaccess.ts @@ -18,7 +18,7 @@ import * as models from "./models"; * @param username */ async function generateHandle(username: string) { - username = username.toLowerCase(); + username = username.toLowerCase().replace(/\s/g, "_"); const count = await models.User.count({where: {handle: {[sqz.Op.like]: `%${username}%`}}}); if (count > 0) { return `${username}${count}`; diff --git a/src/lib/globals.ts b/src/lib/globals.ts index 9063c49..9b13f38 100644 --- a/src/lib/globals.ts +++ b/src/lib/globals.ts @@ -9,7 +9,7 @@ import {EventEmitter} from "events"; import * as fsx from "fs-extra"; import * as yaml from "js-yaml"; import * as winston from "winston"; -require('winston-daily-rotate-file'); +require("winston-daily-rotate-file"); const configPath = "config.yaml"; const defaultConfig = __dirname + "/../default-config.yaml";