From baf8e0f9546b1003a442714395191b8f06b8038e Mon Sep 17 00:00:00 2001 From: Annika Merris Date: Mon, 5 Feb 2024 21:56:07 -0500 Subject: [PATCH] Made Changes To Allow The Base API URL To Be From Config --- Dockerfile.dev | 31 -------------------------- bun.lockb | Bin 180269 -> 181040 bytes package.json | 1 + public/config.json | 3 +++ src/main.ts | 19 ++++++++++++---- src/stores/powerItems.ts | 47 +++++++++++++++++++++------------------ 6 files changed, 44 insertions(+), 57 deletions(-) delete mode 100644 Dockerfile.dev create mode 100644 public/config.json diff --git a/Dockerfile.dev b/Dockerfile.dev deleted file mode 100644 index f25be24..0000000 --- a/Dockerfile.dev +++ /dev/null @@ -1,31 +0,0 @@ -# This is making minimal changes from the guide at -# https://bun.sh/guides/ecosystem/docker (as of 2024-02-04) - -# use the official Bun image -# see all versions at https://hub.docker.com/r/oven/bun/tags -FROM oven/bun:1-alpine as base -WORKDIR /app - -# install dependencies into temp directory -# this will cache them and speed up future builds -FROM base as install -RUN mkdir -p /tmp/dev -COPY package.json bun.lockb /temp/dev/ -RUN cd /temp/dev && bun install --frozen-lockfile - -# install with --production (exclude devDependencies) -RUN mkdir -p /temp/prod -COPY package.json bun.lockb /temp/prod/ -RUN cd /temp/prod && bun install --frozen-lockfile --production -# ^ Is this necessary? Don't we either need prod or not prod? - -# copy node_modules from temp directory -# then copy all (non-ignored) project files into the image -FROM base AS prerelease -COPY --from=install /temp/dev/node_modules node_modules -COPY . . - -FROM nginx:stable-alpine as release - -COPY --from=build-stage /app/docker/nginx.conf /etc/nginx/nginx.conf -COPY --from=build-stage /app/dist /usr/share/nginx/html diff --git a/bun.lockb b/bun.lockb index 6e01c21303de51437b0f8cab0452c6982a1c0ee4..4a06b7450b91256856371eaf6c1a7a2e7623f10c 100755 GIT binary patch delta 32208 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 sw%3%8k7k?kkyl<%Dw;A`%^j~d+@<36v(R13 { + console.log(err) + }) diff --git a/src/stores/powerItems.ts b/src/stores/powerItems.ts index f979e49..35dd629 100644 --- a/src/stores/powerItems.ts +++ b/src/stores/powerItems.ts @@ -1,7 +1,22 @@ import type { PowerItem } from '@/types/PowerItem' -import axios from 'axios' +import axios, { type AxiosRequestConfig } from 'axios' import { defineStore } from 'pinia' import { computed, ref, toRaw } from 'vue' +import axiosRetry from 'axios-retry' +import { getCurrentInstance } from 'vue' + +const BLESSING = 1 +const INTIMACY = 2 +const FELLOW = 3 + +const noCacheConfig:AxiosRequestConfig = { + responseType: "json", + headers: { + 'Cache-Control': 'no-cache', + 'Pragma': 'no-cache', + 'Expires': '0', + } +} export const usePowerItems = defineStore('powerItems', () => { const BLESSING_POWER_ITEM_STORAGE = 'BLESSING_POWER_ITEM_STORAGE' @@ -11,16 +26,16 @@ export const usePowerItems = defineStore('powerItems', () => { const fellowPowerItems = ref(new Map()) const intimacyPowerItems = ref(new Map()) const isLoadComplete = ref(false) + const apiBaseUrl = getCurrentInstance()?.appContext.config.globalProperties.$apiBaseUrl + + axiosRetry(axios, { + retries: 3, + retryDelay: axiosRetry.exponentialDelay, + }) async function fetchPowerItems() { axios - .get('/items/blessingPowerItems.json', { - headers: { - 'Cache-Control': 'no-cache', - Pragma: 'no-cache', - Expires: '0' - } - }) + .get(apiBaseUrl + '/powerItem/byType/' + BLESSING + '/asMap', noCacheConfig) .then((resp) => { const plainMap = new Map( Object.entries(JSON.parse(localStorage.getItem(BLESSING_POWER_ITEM_STORAGE) || '{}')) @@ -36,13 +51,7 @@ export const usePowerItems = defineStore('powerItems', () => { console.log(err) }) axios - .get('/items/fellowPowerItems.json', { - headers: { - 'Cache-Control': 'no-cache', - Pragma: 'no-cache', - Expires: '0' - } - }) + .get(apiBaseUrl + '/powerItem/byType/' + FELLOW + '/asMap', noCacheConfig) .then((resp) => { const plainMap = new Map( Object.entries(JSON.parse(localStorage.getItem(FELLOW_POWER_ITEM_STORAGE) || '{}')) @@ -58,13 +67,7 @@ export const usePowerItems = defineStore('powerItems', () => { console.log(err) }) axios - .get('/items/intimacyPowerItems.json', { - headers: { - 'Cache-Control': 'no-cache', - Pragma: 'no-cache', - Expires: '0' - } - }) + .get(apiBaseUrl + '/powerItem/byType/' + INTIMACY + '/asMap', noCacheConfig) .then((resp) => { const plainMap = new Map( Object.entries(JSON.parse(localStorage.getItem(INTIMACY_POWER_ITEM_STORAGE) || '{}'))