feat: Quests 2 #878

Merged
OrdisPrime merged 5 commits from Quests2 into main 2025-02-01 07:26:02 -08:00
5 changed files with 17 additions and 9 deletions
Showing only changes of commit 49b702df2e - Show all commits

View File

@ -5,6 +5,7 @@ import { getJSONfromString } from "@/src/helpers/stringHelpers";
import { updateQuestKey, IUpdateQuestRequest } from "@/src/services/questService"; import { updateQuestKey, IUpdateQuestRequest } from "@/src/services/questService";
import { getQuestCompletionItems } from "@/src/services/itemDataService"; import { getQuestCompletionItems } from "@/src/services/itemDataService";
import { addItems, getInventory } from "@/src/services/inventoryService"; import { addItems, getInventory } from "@/src/services/inventoryService";
import { IInventoryChanges } from "@/src/types/purchaseTypes";
OrdisPrime marked this conversation as resolved Outdated
coderabbitai[bot] commented 2025-01-31 14:04:17 -08:00 (Migrated from github.com)
Outdated
Review

⚠️ Potential issue

Remove unused imports.

The imports addItem and combineInventoryChanges are no longer used in the code. This is causing build failures.

Apply this diff to fix the build:

-import { addItem, addItems, combineInventoryChanges, getInventory } from "@/src/services/inventoryService";
+import { addItems, getInventory } from "@/src/services/inventoryService";
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

import { addItems, getInventory } from "@/src/services/inventoryService";
🧰 Tools
🪛 GitHub Check: build (22)

[failure] 7-7:
'addItem' is defined but never used


[failure] 7-7:
'combineInventoryChanges' is defined but never used

🪛 GitHub Check: build (20)

[failure] 7-7:
'addItem' is defined but never used


[failure] 7-7:
'combineInventoryChanges' is defined but never used

🪛 GitHub Check: build (18)

[failure] 7-7:
'addItem' is defined but never used


[failure] 7-7:
'combineInventoryChanges' is defined but never used

🪛 ESLint

[error] 7-7: 'addItem' is defined but never used.

(@typescript-eslint/no-unused-vars)


[error] 7-7: 'combineInventoryChanges' is defined but never used.

(@typescript-eslint/no-unused-vars)

🪛 GitHub Actions: Build

[error] 7-7: 'addItem' is defined but never used

_:warning: Potential issue_ **Remove unused imports.** The imports `addItem` and `combineInventoryChanges` are no longer used in the code. This is causing build failures. Apply this diff to fix the build: ```diff -import { addItem, addItems, combineInventoryChanges, getInventory } from "@/src/services/inventoryService"; +import { addItems, getInventory } from "@/src/services/inventoryService"; ``` <!-- suggestion_start --> <details> <summary>📝 Committable suggestion</summary> > ‼️ **IMPORTANT** > Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements. `````suggestion import { addItems, getInventory } from "@/src/services/inventoryService"; ````` </details> <!-- suggestion_end --> <details> <summary>🧰 Tools</summary> <details> <summary>🪛 GitHub Check: build (22)</summary> [failure] 7-7: 'addItem' is defined but never used --- [failure] 7-7: 'combineInventoryChanges' is defined but never used </details> <details> <summary>🪛 GitHub Check: build (20)</summary> [failure] 7-7: 'addItem' is defined but never used --- [failure] 7-7: 'combineInventoryChanges' is defined but never used </details> <details> <summary>🪛 GitHub Check: build (18)</summary> [failure] 7-7: 'addItem' is defined but never used --- [failure] 7-7: 'combineInventoryChanges' is defined but never used </details> <details> <summary>🪛 ESLint</summary> [error] 7-7: 'addItem' is defined but never used. (@typescript-eslint/no-unused-vars) --- [error] 7-7: 'combineInventoryChanges' is defined but never used. (@typescript-eslint/no-unused-vars) </details> <details> <summary>🪛 GitHub Actions: Build</summary> [error] 7-7: 'addItem' is defined but never used </details> </details> <!-- This is an auto-generated comment by CodeRabbit -->
// eslint-disable-next-line @typescript-eslint/no-misused-promises // eslint-disable-next-line @typescript-eslint/no-misused-promises
export const updateQuestController: RequestHandler = async (req, res) => { export const updateQuestController: RequestHandler = async (req, res) => {
@ -18,6 +19,9 @@ export const updateQuestController: RequestHandler = async (req, res) => {
const inventory = await getInventory(accountId); const inventory = await getInventory(accountId);
const updateQuestResponse: { CustomData?: string; InventoryChanges?: IInventoryChanges; MissionRewards: [] } = {
MissionRewards: []
};
updateQuestKey(inventory, updateQuestRequest.QuestKeys); updateQuestKey(inventory, updateQuestRequest.QuestKeys);
if (updateQuestRequest.QuestKeys[0].Completed) { if (updateQuestRequest.QuestKeys[0].Completed) {
@ -28,12 +32,15 @@ export const updateQuestController: RequestHandler = async (req, res) => {
const inventoryChanges = await addItems(inventory, questCompletionItems); const inventoryChanges = await addItems(inventory, questCompletionItems);
inventory.ActiveQuest = ""; inventory.ActiveQuest = "";
await inventory.save();
res.json({ MissionRewards: [], inventoryChanges }); updateQuestResponse.InventoryChanges = inventoryChanges;
return; }
//TODO: might need to parse the custom data and add the associated items to inventory
if (updateQuestRequest.QuestKeys[0].CustomData) {
updateQuestResponse.CustomData = updateQuestRequest.QuestKeys[0].CustomData;
} }
await inventory.save(); await inventory.save();
res.send({ MissionRewards: [] }); res.send(updateQuestResponse);
}; };

View File

@ -494,7 +494,7 @@ const questKeysSchema = new Schema<IQuestKeyDatabase>(
Progress: { type: [questProgressSchema], default: undefined }, Progress: { type: [questProgressSchema], default: undefined },
unlock: Boolean, unlock: Boolean,
Completed: Boolean, Completed: Boolean,
//CustomData: Schema.Types.Mixed, CustomData: String,
CompletionDate: Date, CompletionDate: Date,
ItemType: String ItemType: String
}, },

View File

@ -28,6 +28,7 @@ export const updateQuestKey = (
throw new Error(`quest key ${questKeyUpdate[0].ItemType} not found`); throw new Error(`quest key ${questKeyUpdate[0].ItemType} not found`);
} }
console.log(questKeyUpdate[0]);
inventory.QuestKeys[questKeyIndex] = questKeyUpdate[0]; inventory.QuestKeys[questKeyIndex] = questKeyUpdate[0];
if (questKeyUpdate[0].Completed) { if (questKeyUpdate[0].Completed) {

View File

@ -86,7 +86,7 @@ export interface IQuestKeyDatabase {
Progress?: IQuestStage[]; Progress?: IQuestStage[];
unlock?: boolean; unlock?: boolean;
Completed?: boolean; Completed?: boolean;
CustomData?: string; //TODO: check whether this actually exists CustomData?: string;
ItemType: string; ItemType: string;
CompletionDate?: Date; CompletionDate?: Date;
} }

View File

@ -11,8 +11,8 @@ import {
TSolarMapRegion, TSolarMapRegion,
TEquipmentKey, TEquipmentKey,
IFusionTreasure, IFusionTreasure,
IQuestKeyClient, IPlayerSkills,
IPlayerSkills IQuestKeyDatabase
} from "./inventoryTypes/inventoryTypes"; } from "./inventoryTypes/inventoryTypes";
export interface IThemeUpdateRequest { export interface IThemeUpdateRequest {
@ -46,7 +46,7 @@ export type IMissionInventoryUpdateRequest = {
Consumables?: ITypeCount[]; Consumables?: ITypeCount[];
FusionTreasures?: IFusionTreasure[]; FusionTreasures?: IFusionTreasure[];
Recipes?: ITypeCount[]; Recipes?: ITypeCount[];
QuestKeys?: IQuestKeyClient[]; QuestKeys?: Omit<IQuestKeyDatabase, "CompletionDate">[];
RegularCredits?: number; RegularCredits?: number;
MissionFailed: boolean; MissionFailed: boolean;
MissionStatus: IMissionStatus; MissionStatus: IMissionStatus;