From ba1eb065a4831ec74fa787028423120243363fba Mon Sep 17 00:00:00 2001 From: Christoph Niehoff Date: Fri, 15 Oct 2021 12:40:20 +0200 Subject: [PATCH] Fix unhandled rejected promise. Error was that boradgame.io does not like subfolders of the db/ folder --- .gitignore | 3 ++- {db/images => db-images}/.gitkeep | 0 docker/server.dockerfile | 2 +- heroku/Dockerfile | 2 +- src/server/endpoints.js | 4 ++-- src/server/publicApi.js | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) rename {db/images => db-images}/.gitkeep (100%) diff --git a/.gitignore b/.gitignore index 2f944d8d..34f02858 100644 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,5 @@ yarn-debug.log* yarn-error.log* db/ -deploy/ \ No newline at end of file +db-images/ +deploy/ diff --git a/db/images/.gitkeep b/db-images/.gitkeep similarity index 100% rename from db/images/.gitkeep rename to db-images/.gitkeep diff --git a/docker/server.dockerfile b/docker/server.dockerfile index 3d97558e..98fa96d1 100644 --- a/docker/server.dockerfile +++ b/docker/server.dockerfile @@ -10,7 +10,7 @@ WORKDIR /usr/src/app RUN chown node:node /usr/src/app USER node ENV NODE_ENV production -RUN mkdir -p /usr/src/app/db/images +RUN mkdir -p /usr/src/app/db-images COPY --chown=node:node --from=builder /usr/src/app/node_modules /usr/src/app/node_modules COPY --chown=node:node ./src/server /usr/src/app/src/server COPY --chown=node:node ./src/game /usr/src/app/src/game diff --git a/heroku/Dockerfile b/heroku/Dockerfile index 2509cb6a..c39d0cda 100644 --- a/heroku/Dockerfile +++ b/heroku/Dockerfile @@ -8,7 +8,7 @@ COPY package*.json ./ RUN npm install COPY src ./src COPY public ./public -RUN mkdir -p ./db/images +RUN mkdir -p ./db-images RUN npm run build diff --git a/src/server/endpoints.js b/src/server/endpoints.js index 801eac6e..66797b1d 100644 --- a/src/server/endpoints.js +++ b/src/server/endpoints.js @@ -54,7 +54,7 @@ export const createGame = gameServer => async (ctx, next) => { throw Error("Filetype not supported"); } - await rename(ctx.request.files.model.path, `./db/images/${gameId}.${extension}`); + await rename(ctx.request.files.model.path, `./db-images/${gameId}.${extension}`); //use model object to store info about image await gameServer.db.setModel(gameId, {extension}); @@ -97,7 +97,7 @@ export const getImage = gameServer => async ctx => { const game = await gameServer.db.fetch(matchID, { model: true }); //send image - await send(ctx, `${matchID}.${game.model.extension}`, {root: './db/images'}); + await send(ctx, `${matchID}.${game.model.extension}`, {root: './db-images'}); } export const downloadThreatDragonModel = gameServer => async ctx => { diff --git a/src/server/publicApi.js b/src/server/publicApi.js index dc5dda2b..45b08c90 100644 --- a/src/server/publicApi.js +++ b/src/server/publicApi.js @@ -17,7 +17,7 @@ const runPublicApi = gameServer => { //require authentication for all routes starting with `/:matchID/*` router.use('/:matchID/', authMiddleware(gameServer)); - router.post('/create', koaBody({multipart: true, formidable: {uploadDir: './db/images'}}), createGame(gameServer)); + router.post('/create', koaBody({multipart: true, formidable: {uploadDir: './db-images'}}), createGame(gameServer)); router.get('/:matchID/players', getPlayerNames(gameServer)); router.get('/:matchID/model', getModel(gameServer)); router.get('/:matchID/image', getImage(gameServer));