返回提交历史
Modified
src/controllers/api/giveStartingGearController.ts
+1
-1
Modified
src/controllers/api/infestedFoundryController.ts
+1
-1
Modified
src/controllers/api/projectionManagerController.ts
+1
-0
Modified
src/controllers/custom/getItemListsController.ts
+5
-11
Modified
src/index.ts
+2
-0
Modified
src/models/inventoryModels/inventoryModel.ts
+2
-2
Modified
src/services/importService.ts
+1
-0
Modified
src/services/inboxService.ts
+1
-1
Modified
src/services/inventoryService.ts
+3
-0
Modified
src/services/missionInventoryUpdateService.ts
+3
-3
Modified
src/services/questService.ts
+8
-2
Modified
src/services/saveLoadoutService.ts
+1
-1
Modified
src/services/statsService.ts
+2
-0
Modified
src/types/inventoryTypes/inventoryTypes.ts
+3
-3
Modified
src/utils/logger.ts
+2
-2
XFEstudio/XFESpaceNinjaServer
chore: fix some eslint warnings (#1007)
Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1007
2efe0df2
代码差异
15 个文件
+36
-27
@@ -39,7 +39,7 @@ const awakeningRewards = [
39
39
export const addStartingGear = async (
40
40
inventory: HydratedDocument<IInventoryDatabase, InventoryDocumentProps>,
41
41
startingGear: TPartialStartingGear | undefined = undefined
42
) => {
42
): Promise<IInventoryChanges> => {
43
43
const { LongGuns, Pistols, Suits, Melee } = startingGear || {
44
44
LongGuns: [{ ItemType: "/Lotus/Weapons/Tenno/Rifle/Rifle" }],
45
45
Pistols: [{ ItemType: "/Lotus/Weapons/Tenno/Pistol/Pistol" }],
@@ -249,7 +249,7 @@ export const infestedFoundryController: RequestHandler = async (req, res) => {
249
249
const suit = inventory.Suits.id(request.SuitId.$oid)!;
250
250
inventory.Suits.pull(suit);
251
251
const consumedSuit: IConsumedSuit = { s: suit.ItemType };
252
if (suit.Configs && suit.Configs[0] && suit.Configs[0].pricol) {
252
if (suit.Configs[0] && suit.Configs[0].pricol) {
253
253
consumedSuit.c = suit.Configs[0].pricol;
254
254
}
255
255
if ((inventory.InfestedFoundry!.XP ?? 0) < 73125_00) {
@@ -50,6 +50,7 @@ const qualityKeywordToNumber: Record<VoidProjectionQuality, number> = {
50
50
// e.g. "/Lotus/Types/Game/Projections/T2VoidProjectionProteaPrimeDBronze" -> ["Lith", "W5", "VPQ_BRONZE"]
51
51
const parseProjection = (typeName: string): [string, string, VoidProjectionQuality] => {
52
52
const relic: IRelic | undefined = ExportRelics[typeName];
53
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
53
54
if (!relic) {
54
55
throw new Error(`Unknown projection ${typeName}`);
55
56
}
@@ -39,17 +39,11 @@ const getItemListsController: RequestHandler = (req, response) => {
39
39
res.miscitems = [];
40
40
res.Syndicates = [];
41
41
for (const [uniqueName, item] of Object.entries(ExportWarframes)) {
42
if (
43
item.productCategory == "Suits" ||
44
item.productCategory == "SpaceSuits" ||
45
item.productCategory == "MechSuits"
46
) {
47
res[item.productCategory].push({
48
uniqueName,
49
name: getString(item.name, lang),
50
exalted: item.exalted
51
});
52
}
42
res[item.productCategory].push({
43
uniqueName,
44
name: getString(item.name, lang),
45
exalted: item.exalted
46
});
53
47
}
54
48
for (const [uniqueName, item] of Object.entries(ExportSentinels)) {
55
49
if (item.productCategory == "Sentinels") {
@@ -25,8 +25,10 @@ mongoose
25
25
cert: fs.readFileSync("static/certs/cert.pem")
26
26
};
27
27
28
// eslint-disable-next-line @typescript-eslint/no-misused-promises
28
29
http.createServer(app).listen(httpPort, () => {
29
30
logger.info("HTTP server started on port " + httpPort);
31
// eslint-disable-next-line @typescript-eslint/no-misused-promises
30
32
https.createServer(options, app).listen(httpsPort, () => {
31
33
logger.info("HTTPS server started on port " + httpsPort);
32
34
@@ -808,7 +808,7 @@ detailsSchema.set("toJSON", {
808
808
const EquipmentSchema = new Schema<IEquipmentDatabase>(
809
809
{
810
810
ItemType: String,
811
Configs: [ItemConfigSchema],
811
Configs: { type: [ItemConfigSchema], default: [] },
812
812
UpgradeVer: { type: Number, default: 101 },
813
813
XP: { type: Number, default: 0 },
814
814
Features: Number,
@@ -1303,7 +1303,7 @@ inventorySchema.set("toJSON", {
1303
1303
if (inventoryDatabase.GuildId) {
1304
1304
inventoryResponse.GuildId = toOid(inventoryDatabase.GuildId);
1305
1305
}
1306
if (inventoryResponse.BlessingCooldown) {
1306
if (inventoryDatabase.BlessingCooldown) {
1307
1307
inventoryResponse.BlessingCooldown = toMongoDate(inventoryDatabase.BlessingCooldown);
1308
1308
}
1309
1309
}
@@ -50,6 +50,7 @@ const convertEquipment = (client: IEquipmentClient): IEquipmentDatabase => {
50
50
UpgradesExpiry: convertOptionalDate(client.UpgradesExpiry),
51
51
CrewMembers: client.CrewMembers ? convertCrewShipMembers(client.CrewMembers) : undefined,
52
52
Details: client.Details ? convertKubrowDetails(client.Details) : undefined,
53
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
53
54
Configs: client.Configs
54
55
? client.Configs.map(obj =>
55
56
Object.fromEntries(
@@ -27,7 +27,7 @@ export const deleteAllMessagesRead = async (accountId: string): Promise<void> =>
27
27
await Inbox.deleteMany({ ownerId: accountId, r: true });
28
28
};
29
29
30
export const createNewEventMessages = async (req: Request) => {
30
export const createNewEventMessages = async (req: Request): Promise<void> => {
31
31
const account = await getAccountForRequest(req);
32
32
const latestEventMessageDate = account.LatestEventMessageDate;
33
33
@@ -203,6 +203,7 @@ export const addItem = async (
203
203
const inventoryChanges = {
204
204
...addCrewShip(inventory, typeName),
205
205
// fix to unlock railjack modding, item bellow supposed to be obtained from archwing quest
206
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
206
207
...(!inventory.CrewShipHarnesses?.length
207
208
? addCrewShipHarness(inventory, "/Lotus/Types/Game/CrewShip/RailJack/DefaultHarness")
208
209
: {})
@@ -525,12 +526,14 @@ export const addSentinel = (
525
526
sentinelName: string,
526
527
inventoryChanges: IInventoryChanges = {}
527
528
): IInventoryChanges => {
529
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
528
530
if (ExportSentinels[sentinelName]?.defaultWeapon) {
529
531
addSentinelWeapon(inventory, ExportSentinels[sentinelName].defaultWeapon, inventoryChanges);
530
532
}
531
533
532
534
const modsToGive: IRawUpgrade[] = [];
533
535
const configs: IItemConfig[] = [];
536
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
534
537
if (ExportSentinels[sentinelName]?.defaultUpgrades) {
535
538
const upgrades = [];
536
539
for (const defaultUpgrade of ExportSentinels[sentinelName].defaultUpgrades) {
@@ -80,7 +80,7 @@ export const creditBundles: Record<string, number> = {
80
80
export const addMissionInventoryUpdates = (
81
81
inventory: HydratedDocument<IInventoryDatabase, InventoryDocumentProps>,
82
82
inventoryUpdates: IMissionInventoryUpdateRequest
83
) => {
83
): Partial<IInventoryDatabase> | undefined => {
84
84
//TODO: type this properly
85
85
const inventoryChanges: Partial<IInventoryDatabase> = {};
86
86
if (inventoryUpdates.MissionFailed === true) {
@@ -287,7 +287,7 @@ export const addMissionRewards = async (
287
287
288
288
//node based credit rewards for mission completion
289
289
if (node.missionIndex !== 28) {
290
const levelCreditReward = getLevelCreditRewards(missions?.Tag);
290
const levelCreditReward = getLevelCreditRewards(missions.Tag);
291
291
missionCompletionCredits += levelCreditReward;
292
292
inventory.RegularCredits += levelCreditReward;
293
293
logger.debug(`levelCreditReward ${levelCreditReward}`);
@@ -393,7 +393,7 @@ function getRandomMissionDrops(RewardInfo: IRewardInfo): IRngResult[] {
393
393
const drops: IRngResult[] = [];
394
394
if (RewardInfo.node in ExportRegions) {
395
395
const region = ExportRegions[RewardInfo.node];
396
const rewardManifests = region.rewardManifests ?? [];
396
const rewardManifests = region.rewardManifests;
397
397
398
398
let rotations: number[] = [];
399
399
if (RewardInfo.VaultsCracked) {
@@ -15,6 +15,7 @@ import { logger } from "@/src/utils/logger";
15
15
import { HydratedDocument } from "mongoose";
16
16
import { ExportKeys } from "warframe-public-export-plus";
17
17
import { addFixedLevelRewards } from "./missionInventoryUpdateService";
18
import { IInventoryChanges } from "../types/purchaseTypes";
18
19
19
20
export interface IUpdateQuestRequest {
20
21
QuestKeys: Omit<IQuestKeyDatabase, "CompletionDate">[];
@@ -64,6 +65,7 @@ export const updateQuestStage = (
64
65
65
66
const questStage = quest.Progress[ChainStage];
66
67
68
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
67
69
if (!questStage) {
68
70
const questStageIndex = quest.Progress.push(questStageUpdate) - 1;
69
71
if (questStageIndex !== ChainStage) {
@@ -86,6 +88,7 @@ export const addQuestKey = (inventory: TInventoryDatabaseDocument, questKey: IQu
86
88
};
87
89
88
90
export const completeQuest = async (inventory: TInventoryDatabaseDocument, questKey: string) => {
91
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
89
92
const chainStages = ExportKeys[questKey]?.chainStages;
90
93
91
94
if (!chainStages) {
@@ -164,7 +167,10 @@ export const completeQuest = async (inventory: TInventoryDatabaseDocument, quest
164
167
//TODO: handle quest completion items
165
168
};
166
169
167
export const giveKeyChainItem = async (inventory: TInventoryDatabaseDocument, keyChainInfo: IKeyChainRequest) => {
170
export const giveKeyChainItem = async (
171
inventory: TInventoryDatabaseDocument,
172
keyChainInfo: IKeyChainRequest
173
): Promise<IInventoryChanges> => {
168
174
const inventoryChanges = await addKeyChainItems(inventory, keyChainInfo);
169
175
170
176
if (isEmptyObject(inventoryChanges)) {
@@ -189,7 +195,7 @@ export const giveKeyChainMessage = async (
189
195
inventory: TInventoryDatabaseDocument,
190
196
accountId: string,
191
197
keyChainInfo: IKeyChainRequest
192
) => {
198
): Promise<void> => {
193
199
const keyChainMessage = getKeyChainMessage(keyChainInfo);
194
200
195
201
const message = {
@@ -148,7 +148,7 @@ export const handleInventoryItemConfigChange = async (
148
148
149
149
const itemEntries = equipment as IItemEntry;
150
150
for (const [itemId, itemConfigEntries] of Object.entries(itemEntries)) {
151
const inventoryItem = inventory[equipmentName].find(item => item._id?.toString() === itemId);
151
const inventoryItem = inventory[equipmentName].id(itemId);
152
152
153
153
if (!inventoryItem) {
154
154
throw new Error(`inventory item ${equipmentName} not found with id ${itemId}`);