@opfr/services 0.1.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es.js +9465 -130309
- package/dist/index.umd.js +16 -399
- package/dist/services/crew/definition/schema.d.ts +5 -4
- package/dist/services/crew/definition/schema.d.ts.map +1 -1
- package/dist/services/crew/definition/schema.js +2 -1
- package/dist/services/crew/definition/schema.js.map +1 -1
- package/dist/services/crew/index.d.ts +4 -1
- package/dist/services/crew/index.d.ts.map +1 -1
- package/dist/services/crew/index.js +4 -1
- package/dist/services/crew/index.js.map +1 -1
- package/dist/services/crew/process/findOne.d.ts +6 -5
- package/dist/services/crew/process/findOne.d.ts.map +1 -1
- package/dist/services/crew/process/findOne.js.map +1 -1
- package/dist/services/crew/query/getters.d.ts +8 -0
- package/dist/services/crew/query/getters.d.ts.map +1 -0
- package/dist/services/crew/query/getters.js +42 -0
- package/dist/services/crew/query/getters.js.map +1 -0
- package/dist/services/crew/query/updates.d.ts +5 -0
- package/dist/services/crew/query/updates.d.ts.map +1 -1
- package/dist/services/crew/query/updates.js +61 -0
- package/dist/services/crew/query/updates.js.map +1 -1
- package/dist/services/crew/types.d.ts +3 -2
- package/dist/services/crew/types.d.ts.map +1 -1
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/invitations/definition/model.d.ts +30 -0
- package/dist/services/invitations/definition/model.d.ts.map +1 -0
- package/dist/services/invitations/definition/model.js +4 -0
- package/dist/services/invitations/definition/model.js.map +1 -0
- package/dist/services/invitations/definition/schema.d.ts +43 -0
- package/dist/services/invitations/definition/schema.d.ts.map +1 -0
- package/dist/services/invitations/definition/schema.js +13 -0
- package/dist/services/invitations/definition/schema.js.map +1 -0
- package/dist/services/invitations/index.d.ts +6 -0
- package/dist/services/invitations/index.d.ts.map +1 -0
- package/dist/services/invitations/index.js +6 -0
- package/dist/services/invitations/index.js.map +1 -0
- package/dist/services/invitations/process/create.d.ts +3 -0
- package/dist/services/invitations/process/create.d.ts.map +1 -0
- package/dist/services/invitations/process/create.js +7 -0
- package/dist/services/invitations/process/create.js.map +1 -0
- package/dist/services/invitations/process/deleteMany.d.ts +3 -0
- package/dist/services/invitations/process/deleteMany.d.ts.map +1 -0
- package/dist/services/invitations/process/deleteMany.js +7 -0
- package/dist/services/invitations/process/deleteMany.js.map +1 -0
- package/dist/services/invitations/process/findOne.d.ts +3 -0
- package/dist/services/invitations/process/findOne.d.ts.map +1 -0
- package/dist/services/invitations/process/findOne.js +11 -0
- package/dist/services/invitations/process/findOne.js.map +1 -0
- package/dist/services/invitations/process/updateOne.d.ts +29 -0
- package/dist/services/invitations/process/updateOne.d.ts.map +1 -0
- package/dist/services/invitations/process/updateOne.js +5 -0
- package/dist/services/invitations/process/updateOne.js.map +1 -0
- package/dist/services/invitations/types.d.ts +42 -0
- package/dist/services/invitations/types.d.ts.map +1 -0
- package/dist/services/invitations/types.js +2 -0
- package/dist/services/invitations/types.js.map +1 -0
- package/dist/services/user/definition/schema.d.ts +5 -4
- package/dist/services/user/definition/schema.d.ts.map +1 -1
- package/dist/services/user/index.d.ts +5 -1
- package/dist/services/user/index.d.ts.map +1 -1
- package/dist/services/user/index.js +5 -1
- package/dist/services/user/index.js.map +1 -1
- package/dist/services/user/process/create.d.ts +3 -2
- package/dist/services/user/process/create.d.ts.map +1 -1
- package/dist/services/user/process/create.js +2 -2
- package/dist/services/user/process/create.js.map +1 -1
- package/dist/services/user/process/deleteOne.d.ts +2 -0
- package/dist/services/user/process/deleteOne.d.ts.map +1 -0
- package/dist/services/user/process/deleteOne.js +5 -0
- package/dist/services/user/process/deleteOne.js.map +1 -0
- package/dist/services/user/process/findOne.d.ts +8 -11
- package/dist/services/user/process/findOne.d.ts.map +1 -1
- package/dist/services/user/process/findOne.js +1 -1
- package/dist/services/user/process/findOne.js.map +1 -1
- package/dist/services/user/process/populateUser.d.ts +30 -0
- package/dist/services/user/process/populateUser.d.ts.map +1 -0
- package/dist/services/user/process/populateUser.js +50 -0
- package/dist/services/user/process/populateUser.js.map +1 -0
- package/dist/services/user/query/getters.d.ts +36 -0
- package/dist/services/user/query/getters.d.ts.map +1 -0
- package/dist/services/user/query/getters.js +92 -0
- package/dist/services/user/query/getters.js.map +1 -0
- package/dist/services/user/query/updates.d.ts +4 -0
- package/dist/services/user/query/updates.d.ts.map +1 -1
- package/dist/services/user/query/updates.js +12 -0
- package/dist/services/user/query/updates.js.map +1 -1
- package/dist/services/user/types.d.ts +36 -33
- package/dist/services/user/types.d.ts.map +1 -1
- package/dist/services/user-crew/definition/schema.d.ts +5 -4
- package/dist/services/user-crew/definition/schema.d.ts.map +1 -1
- package/dist/services/user-crew/definition/schema.js +1 -1
- package/dist/services/user-crew/definition/schema.js.map +1 -1
- package/dist/services/user-crew/index.d.ts +3 -0
- package/dist/services/user-crew/index.d.ts.map +1 -1
- package/dist/services/user-crew/index.js +3 -0
- package/dist/services/user-crew/index.js.map +1 -1
- package/dist/services/user-crew/process/exists.d.ts +37 -0
- package/dist/services/user-crew/process/exists.d.ts.map +1 -0
- package/dist/services/user-crew/process/exists.js +5 -0
- package/dist/services/user-crew/process/exists.js.map +1 -0
- package/dist/services/user-crew/process/findOne.d.ts +1 -1
- package/dist/services/user-crew/process/findOne.d.ts.map +1 -1
- package/dist/services/user-crew/query/updates.d.ts +28 -0
- package/dist/services/user-crew/query/updates.d.ts.map +1 -0
- package/dist/services/user-crew/query/updates.js +9 -0
- package/dist/services/user-crew/query/updates.js.map +1 -0
- package/dist/services/user-crew/types.d.ts +6 -2
- package/dist/services/user-crew/types.d.ts.map +1 -1
- package/dist/services/user-daily-report/definition/schema.d.ts +2 -2
- package/dist/services/user-daily-report/process/create.d.ts +2 -6
- package/dist/services/user-daily-report/process/create.d.ts.map +1 -1
- package/dist/services/user-daily-report/process/create.js.map +1 -1
- package/dist/services/user-daily-report/process/findOne.d.ts +1 -6
- package/dist/services/user-daily-report/process/findOne.d.ts.map +1 -1
- package/dist/services/user-games/definition/schema.d.ts +2 -2
- package/dist/services/user-games/index.d.ts +2 -0
- package/dist/services/user-games/index.d.ts.map +1 -1
- package/dist/services/user-games/index.js +2 -0
- package/dist/services/user-games/index.js.map +1 -1
- package/dist/services/user-games/process/create.d.ts +2 -6
- package/dist/services/user-games/process/create.d.ts.map +1 -1
- package/dist/services/user-games/process/create.js.map +1 -1
- package/dist/services/user-games/process/findOne.d.ts +1 -6
- package/dist/services/user-games/process/findOne.d.ts.map +1 -1
- package/dist/services/user-games/query/getters.d.ts +1 -0
- package/dist/services/user-games/query/getters.d.ts.map +1 -0
- package/dist/services/user-games/query/getters.js +2 -0
- package/dist/services/user-games/query/getters.js.map +1 -0
- package/dist/services/user-games/query/updates.d.ts +29 -0
- package/dist/services/user-games/query/updates.d.ts.map +1 -0
- package/dist/services/user-games/query/updates.js +20 -0
- package/dist/services/user-games/query/updates.js.map +1 -0
- package/dist/services/user-inventory/definition/schema.d.ts +2 -2
- package/dist/services/user-inventory/definition/schema.js +1 -1
- package/dist/services/user-inventory/definition/schema.js.map +1 -1
- package/dist/services/user-inventory/index.d.ts +4 -0
- package/dist/services/user-inventory/index.d.ts.map +1 -1
- package/dist/services/user-inventory/index.js +4 -0
- package/dist/services/user-inventory/index.js.map +1 -1
- package/dist/services/user-inventory/process/create.d.ts +2 -6
- package/dist/services/user-inventory/process/create.d.ts.map +1 -1
- package/dist/services/user-inventory/process/create.js.map +1 -1
- package/dist/services/user-inventory/process/findOne.d.ts +3 -7
- package/dist/services/user-inventory/process/findOne.d.ts.map +1 -1
- package/dist/services/user-inventory/process/findOne.js +2 -2
- package/dist/services/user-inventory/process/findOne.js.map +1 -1
- package/dist/services/user-inventory/query/getters.d.ts +6 -0
- package/dist/services/user-inventory/query/getters.d.ts.map +1 -0
- package/dist/services/user-inventory/query/getters.js +41 -0
- package/dist/services/user-inventory/query/getters.js.map +1 -0
- package/dist/services/user-inventory/query/updates.d.ts +34 -0
- package/dist/services/user-inventory/query/updates.d.ts.map +1 -0
- package/dist/services/user-inventory/query/updates.js +35 -0
- package/dist/services/user-inventory/query/updates.js.map +1 -0
- package/dist/services/user-inventory/types.d.ts +3 -3
- package/dist/services/user-inventory/types.d.ts.map +1 -1
- package/dist/services/user-meta/definition/schema.d.ts +5 -4
- package/dist/services/user-meta/definition/schema.d.ts.map +1 -1
- package/dist/services/user-meta/definition/schema.js +2 -0
- package/dist/services/user-meta/definition/schema.js.map +1 -1
- package/dist/services/user-meta/index.d.ts +3 -1
- package/dist/services/user-meta/index.d.ts.map +1 -1
- package/dist/services/user-meta/index.js +3 -1
- package/dist/services/user-meta/index.js.map +1 -1
- package/dist/services/user-meta/process/create.d.ts +2 -6
- package/dist/services/user-meta/process/create.d.ts.map +1 -1
- package/dist/services/user-meta/process/create.js.map +1 -1
- package/dist/services/user-meta/process/findOne.d.ts +1 -6
- package/dist/services/user-meta/process/findOne.d.ts.map +1 -1
- package/dist/services/user-meta/process/findOneAndUpdate.d.ts +30 -0
- package/dist/services/user-meta/process/findOneAndUpdate.d.ts.map +1 -0
- package/dist/services/user-meta/process/findOneAndUpdate.js +8 -0
- package/dist/services/user-meta/process/findOneAndUpdate.js.map +1 -0
- package/dist/services/user-meta/query/getters.d.ts +44 -0
- package/dist/services/user-meta/query/getters.d.ts.map +1 -1
- package/dist/services/user-meta/query/getters.js +103 -0
- package/dist/services/user-meta/query/getters.js.map +1 -1
- package/dist/services/user-meta/query/updates.d.ts +39 -0
- package/dist/services/user-meta/query/updates.d.ts.map +1 -0
- package/dist/services/user-meta/query/updates.js +152 -0
- package/dist/services/user-meta/query/updates.js.map +1 -0
- package/dist/services/user-meta/types.d.ts +3 -2
- package/dist/services/user-meta/types.d.ts.map +1 -1
- package/dist/services/user-ornaments/definition/schema.d.ts +2 -2
- package/dist/services/user-ornaments/index.d.ts +3 -1
- package/dist/services/user-ornaments/index.d.ts.map +1 -1
- package/dist/services/user-ornaments/index.js +3 -1
- package/dist/services/user-ornaments/index.js.map +1 -1
- package/dist/services/user-ornaments/process/findOne.d.ts +1 -1
- package/dist/services/user-ornaments/process/findOne.d.ts.map +1 -1
- package/dist/services/user-ornaments/process/findOne.js.map +1 -1
- package/dist/services/user-ornaments/query/updates.d.ts +2 -0
- package/dist/services/user-ornaments/query/updates.d.ts.map +1 -1
- package/dist/services/user-ornaments/query/updates.js +10 -0
- package/dist/services/user-ornaments/query/updates.js.map +1 -1
- package/dist/services/user-quest/definition/schema.d.ts +2 -2
- package/dist/services/user-quest/definition/schema.js +1 -1
- package/dist/services/user-quest/definition/schema.js.map +1 -1
- package/dist/services/user-quest/index.d.ts +3 -2
- package/dist/services/user-quest/index.d.ts.map +1 -1
- package/dist/services/user-quest/index.js +3 -2
- package/dist/services/user-quest/index.js.map +1 -1
- package/dist/services/user-quest/process/create.d.ts +2 -6
- package/dist/services/user-quest/process/create.d.ts.map +1 -1
- package/dist/services/user-quest/process/create.js.map +1 -1
- package/dist/services/user-quest/query/getters.d.ts +1 -2
- package/dist/services/user-quest/query/getters.d.ts.map +1 -1
- package/dist/services/user-quest/query/getters.js.map +1 -1
- package/dist/services/user-quest-meta/definition/schema.d.ts +2 -2
- package/dist/services/user-quest-meta/index.d.ts +2 -0
- package/dist/services/user-quest-meta/index.d.ts.map +1 -1
- package/dist/services/user-quest-meta/index.js +2 -0
- package/dist/services/user-quest-meta/index.js.map +1 -1
- package/dist/services/user-quest-meta/process/create.d.ts +2 -6
- package/dist/services/user-quest-meta/process/create.d.ts.map +1 -1
- package/dist/services/user-quest-meta/process/create.js.map +1 -1
- package/dist/services/user-quest-meta/process/updateOne.d.ts +2 -2
- package/dist/services/user-quest-meta/process/updateOne.d.ts.map +1 -1
- package/dist/services/user-quest-meta/process/updateOne.js +2 -2
- package/dist/services/user-quest-meta/process/updateOne.js.map +1 -1
- package/dist/services/user-quest-meta/query/updates.d.ts +37 -0
- package/dist/services/user-quest-meta/query/updates.d.ts.map +1 -0
- package/dist/services/user-quest-meta/query/updates.js +68 -0
- package/dist/services/user-quest-meta/query/updates.js.map +1 -0
- package/dist/services/user-raid/definition/schema.d.ts +2 -2
- package/dist/services/user-raid/index.d.ts +3 -0
- package/dist/services/user-raid/index.d.ts.map +1 -1
- package/dist/services/user-raid/index.js +3 -0
- package/dist/services/user-raid/index.js.map +1 -1
- package/dist/services/user-raid/process/create.d.ts +2 -6
- package/dist/services/user-raid/process/create.d.ts.map +1 -1
- package/dist/services/user-raid/process/create.js.map +1 -1
- package/dist/services/user-raid/query/getters.d.ts +5 -0
- package/dist/services/user-raid/query/getters.d.ts.map +1 -0
- package/dist/services/user-raid/query/getters.js +10 -0
- package/dist/services/user-raid/query/getters.js.map +1 -0
- package/dist/services/user-raid/query/updates.d.ts +29 -0
- package/dist/services/user-raid/query/updates.d.ts.map +1 -0
- package/dist/services/user-raid/query/updates.js +25 -0
- package/dist/services/user-raid/query/updates.js.map +1 -0
- package/dist/services/user-shop/definition/schema.d.ts +2 -2
- package/dist/services/user-shop/process/create.d.ts +2 -6
- package/dist/services/user-shop/process/create.d.ts.map +1 -1
- package/dist/services/user-shop/process/create.js.map +1 -1
- package/dist/services/user-shop/process/findOne.d.ts +1 -6
- package/dist/services/user-shop/process/findOne.d.ts.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ItemId } from '@opfr/items';
|
|
2
|
+
import type { CharacteristicsRecord } from '@opfr/utils-type';
|
|
3
|
+
import type { UserInventory } from '../types';
|
|
4
|
+
export declare const getItemQuantity: (userInventory: UserInventory, itemId: ItemId) => number;
|
|
5
|
+
export declare const getUserEquipmentsCharacteristics: (userInventory: UserInventory) => CharacteristicsRecord;
|
|
6
|
+
//# sourceMappingURL=getters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getters.d.ts","sourceRoot":"","sources":["../../../../src/services/user-inventory/query/getters.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,eAAe,kBACX,aAAa,UACpB,MAAM,WAGf,CAAC;AAqBF,eAAO,MAAM,gCAAgC,kBAC5B,aAAa,0BA+B7B,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AllPanoplies, EQUIPMENT_SLOT, fromDBToEquipableEquipment, } from '@opfr/equipments';
|
|
2
|
+
import { filterNullAndUndefined, mergeObjects } from '@opfr/utils-lang';
|
|
3
|
+
export const getItemQuantity = (userInventory, itemId) => {
|
|
4
|
+
return userInventory.itemList.get(itemId) ?? 0;
|
|
5
|
+
};
|
|
6
|
+
const getPanoplyEffectiveBonus = (userInventory, panoply) => {
|
|
7
|
+
const equipments = filterNullAndUndefined(Object.values(userInventory.equippedItems));
|
|
8
|
+
const nbEquipped = panoply.equipments.filter(equipment => equipments.find(e => e.id === equipment.id)).length;
|
|
9
|
+
if (nbEquipped === panoply.equipments.length) {
|
|
10
|
+
return panoply.fullBonus;
|
|
11
|
+
}
|
|
12
|
+
else if (nbEquipped >= panoply.equipments.length / 2) {
|
|
13
|
+
return panoply.halfBonus;
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
};
|
|
17
|
+
export const getUserEquipmentsCharacteristics = (userInventory) => {
|
|
18
|
+
let characteristics = {
|
|
19
|
+
vitality: 0,
|
|
20
|
+
strength: 0,
|
|
21
|
+
agility: 0,
|
|
22
|
+
chance: 0,
|
|
23
|
+
intelligence: 0,
|
|
24
|
+
wisdom: 0,
|
|
25
|
+
};
|
|
26
|
+
for (const slot of EQUIPMENT_SLOT) {
|
|
27
|
+
const equipment = userInventory.equippedItems[slot];
|
|
28
|
+
if (!equipment) {
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
characteristics = mergeObjects(characteristics, fromDBToEquipableEquipment(equipment).characteristics, (a, b) => a + b);
|
|
32
|
+
}
|
|
33
|
+
for (const panoply of AllPanoplies) {
|
|
34
|
+
const result = getPanoplyEffectiveBonus(userInventory, panoply);
|
|
35
|
+
if (result) {
|
|
36
|
+
characteristics = mergeObjects(characteristics, result, (a, b) => a + b);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return characteristics;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=getters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../../src/services/user-inventory/query/getters.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQxE,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,aAA4B,EAC5B,MAAc,EACd,EAAE;IACF,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAC/B,aAA4B,EAC5B,OAAgB,EACkB,EAAE;IACpC,MAAM,UAAU,GAAG,sBAAsB,CACvC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAC3C,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CACvD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,CAC5C,CAAC,MAAM,CAAC;IAET,IAAI,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,SAAS,CAAC;IAC3B,CAAC;SAAM,IAAI,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,OAAO,CAAC,SAAS,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,aAA4B,EAC5B,EAAE;IACF,IAAI,eAAe,GAA0B;QAC3C,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;QACT,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,CAAC;KACV,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,eAAe,GAAG,YAAY,CAC5B,eAAe,EACf,0BAA0B,CAAC,SAAS,CAAC,CAAC,eAAe,EACrD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAChB,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,wBAAwB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAEhE,IAAI,MAAM,EAAE,CAAC;YACX,eAAe,GAAG,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
+
/// <reference types="mongoose/types/callback" />
|
|
3
|
+
/// <reference types="mongoose/types/collection" />
|
|
4
|
+
/// <reference types="mongoose/types/connection" />
|
|
5
|
+
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
7
|
+
/// <reference types="mongoose/types/error" />
|
|
8
|
+
/// <reference types="mongoose/types/expressions" />
|
|
9
|
+
/// <reference types="mongoose/types/helpers" />
|
|
10
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
11
|
+
/// <reference types="mongoose/types/indexes" />
|
|
12
|
+
/// <reference types="mongoose/types/models" />
|
|
13
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
|
+
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
|
+
/// <reference types="mongoose/types/populate" />
|
|
16
|
+
/// <reference types="mongoose/types/query" />
|
|
17
|
+
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
19
|
+
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
|
+
/// <reference types="mongoose/types/utility" />
|
|
22
|
+
/// <reference types="mongoose/types/validation" />
|
|
23
|
+
/// <reference types="mongoose/types/virtuals" />
|
|
24
|
+
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
+
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
26
|
+
import type { Types } from 'mongoose';
|
|
27
|
+
import type { ItemId } from '@opfr/items';
|
|
28
|
+
import type { UserInventory } from '../types';
|
|
29
|
+
export declare const addInventoryItem: (id: Types.ObjectId, itemId: ItemId, quantity: number) => Promise<void>;
|
|
30
|
+
export declare const addInventoryItems: (id: Types.ObjectId, items: Record<ItemId, number>) => Promise<void>;
|
|
31
|
+
export declare const removeInventoryItem: (id: Types.ObjectId, itemId: ItemId, quantity: number) => Promise<void>;
|
|
32
|
+
export declare const removeAllItemInventory: (id: Types.ObjectId, itemId: ItemId) => Promise<void>;
|
|
33
|
+
export declare const addEquipments: (id: Types.ObjectId, list: UserInventory['equipmentList']) => Promise<void>;
|
|
34
|
+
//# sourceMappingURL=updates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updates.d.ts","sourceRoot":"","sources":["../../../../src/services/user-inventory/query/updates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,gBAAgB,OACvB,MAAM,QAAQ,UACV,MAAM,YACJ,MAAM,kBAGjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,OACxB,MAAM,QAAQ,SACX,OAAO,MAAM,EAAE,MAAM,CAAC,kBAS9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,OAC1B,MAAM,QAAQ,UACV,MAAM,YACJ,MAAM,kBAiBjB,CAAC;AAEF,eAAO,MAAM,sBAAsB,OAC7B,MAAM,QAAQ,UACV,MAAM,kBAGf,CAAC;AAEF,eAAO,MAAM,aAAa,OACpB,MAAM,QAAQ,QACZ,aAAa,CAAC,eAAe,CAAC,kBAGrC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { updateUserInventory } from '../process/updateOne';
|
|
2
|
+
export const addInventoryItem = async (id, itemId, quantity) => {
|
|
3
|
+
await updateUserInventory(id, { $inc: { [`itemList.${itemId}`]: quantity } });
|
|
4
|
+
};
|
|
5
|
+
export const addInventoryItems = async (id, items) => {
|
|
6
|
+
await updateUserInventory(id, {
|
|
7
|
+
$inc: Object.fromEntries(Object.entries(items)
|
|
8
|
+
.filter(([, quantity]) => quantity > 0)
|
|
9
|
+
.map(([itemId, quantity]) => [`itemList.${itemId}`, quantity])),
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
export const removeInventoryItem = async (id, itemId, quantity) => {
|
|
13
|
+
await updateUserInventory(id, [
|
|
14
|
+
{
|
|
15
|
+
$set: {
|
|
16
|
+
[`itemList.${itemId}`]: {
|
|
17
|
+
$cond: {
|
|
18
|
+
if: {
|
|
19
|
+
$lt: [{ $add: [`$itemList.${itemId}`, -quantity] }, 0],
|
|
20
|
+
},
|
|
21
|
+
then: 0,
|
|
22
|
+
else: { $add: [`$itemList.${itemId}`, -quantity] },
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
]);
|
|
28
|
+
};
|
|
29
|
+
export const removeAllItemInventory = async (id, itemId) => {
|
|
30
|
+
await updateUserInventory(id, { $set: { [`itemList.${itemId}`]: 0 } });
|
|
31
|
+
};
|
|
32
|
+
export const addEquipments = async (id, list) => {
|
|
33
|
+
await updateUserInventory(id, { $push: { equipmentList: { $each: list } } });
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=updates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updates.js","sourceRoot":"","sources":["../../../../src/services/user-inventory/query/updates.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,EAAkB,EAClB,MAAc,EACd,QAAgB,EAChB,EAAE;IACF,MAAM,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,EAAkB,EAClB,KAA6B,EAC7B,EAAE;IACF,MAAM,mBAAmB,CAAC,EAAE,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC,WAAW,CACtB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC,CACjE;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,EAAkB,EAClB,MAAc,EACd,QAAgB,EAChB,EAAE;IACF,MAAM,mBAAmB,CAAC,EAAE,EAAE;QAC5B;YACE,IAAI,EAAE;gBACJ,CAAC,YAAY,MAAM,EAAE,CAAC,EAAE;oBACtB,KAAK,EAAE;wBACL,EAAE,EAAE;4BACF,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,aAAa,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;yBACvD;wBACD,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,aAAa,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;qBACnD;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,EAAkB,EAClB,MAAc,EACd,EAAE;IACF,MAAM,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,EAAkB,EAClB,IAAoC,EACpC,EAAE;IACF,MAAM,mBAAmB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/E,CAAC,CAAC"}
|
|
@@ -26,16 +26,16 @@
|
|
|
26
26
|
/// <reference types="mongoose/types/inferschematype" />
|
|
27
27
|
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
28
28
|
import type { Document, Types } from 'mongoose';
|
|
29
|
-
import type { EquippedItems } from '@opfr/equipments';
|
|
29
|
+
import type { EquipmentId, EquippedItems } from '@opfr/equipments';
|
|
30
30
|
import type { ItemId } from '@opfr/items';
|
|
31
31
|
export interface UserInventory {
|
|
32
32
|
user: Types.ObjectId;
|
|
33
33
|
equippedItems: EquippedItems;
|
|
34
34
|
equipmentList: {
|
|
35
|
-
id:
|
|
35
|
+
id: EquipmentId;
|
|
36
36
|
seed: number;
|
|
37
37
|
}[];
|
|
38
|
-
itemList:
|
|
38
|
+
itemList: Map<ItemId, number>;
|
|
39
39
|
recipes: string[];
|
|
40
40
|
}
|
|
41
41
|
export interface UserInventoryDocument extends Document, UserInventory {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/user-inventory/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/user-inventory/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IAErB,aAAa,EAAE,aAAa,CAAC;IAE7B,aAAa,EAAE;QACb,EAAE,EAAE,WAAW,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IACJ,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,EAAE,aAAa;CAAG"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="mongoose/types/document" />
|
|
2
|
+
/// <reference types="mongoose/types/types" />
|
|
2
3
|
/// <reference types="mongoose/types/models" />
|
|
3
4
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
4
5
|
/// <reference types="mongoose/types/utility" />
|
|
@@ -30,13 +31,13 @@
|
|
|
30
31
|
import { Schema } from 'mongoose';
|
|
31
32
|
import type { UserMetaDocument } from '../types';
|
|
32
33
|
declare const userMetaSchema: Schema<UserMetaDocument, import("mongoose").Model<UserMetaDocument, any, any, any, import("mongoose").Document<unknown, any, UserMetaDocument> & UserMetaDocument & Required<{
|
|
33
|
-
_id:
|
|
34
|
+
_id: import("mongoose").Types.ObjectId;
|
|
34
35
|
}> & {
|
|
35
|
-
__v?: number;
|
|
36
|
+
__v?: number | undefined;
|
|
36
37
|
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, UserMetaDocument, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<UserMetaDocument>> & import("mongoose").FlatRecord<UserMetaDocument> & Required<{
|
|
37
|
-
_id:
|
|
38
|
+
_id: import("mongoose").Types.ObjectId;
|
|
38
39
|
}> & {
|
|
39
|
-
__v?: number;
|
|
40
|
+
__v?: number | undefined;
|
|
40
41
|
}>;
|
|
41
42
|
export { userMetaSchema };
|
|
42
43
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/services/user-meta/definition/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/services/user-meta/definition/schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AASjD,QAAA,MAAM,cAAc;;;;;;;;EA8ElB,CAAC;AAUH,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -81,6 +81,8 @@ const userMetaSchema = new Schema({
|
|
|
81
81
|
},
|
|
82
82
|
});
|
|
83
83
|
userMetaSchema.index({ user: 1 });
|
|
84
|
+
userMetaSchema.index({ 'xp.amount': -1 });
|
|
85
|
+
userMetaSchema.index({ berry: -1 });
|
|
84
86
|
userMetaSchema.post('updateOne', async function (doc) {
|
|
85
87
|
await userMetaMiddleware(doc);
|
|
86
88
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/services/user-meta/definition/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD,MAAM,QAAQ,GAAG;IACf,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;IACxC,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;CACvC,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,MAAM,CAAmB;IAClD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC3B,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,MAAM;KACZ;IAED,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IAE1C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,EAAE,EAAE;QACF,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE;QACtD,KAAK,EAAE;YACL,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE;YACnD,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;SAClD;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;QACjD,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;KACrC;IAED,KAAK,EAAE;QACL,QAAQ,EAAE;YACR,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,EAAE;aACZ;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,EAAE;aACZ;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,EAAE;aACZ;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,EAAE;aACZ;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,EAAE;aACZ;SACF;QACD,EAAE,EAAE;YACF,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,QAAQ,CAAC;gBAChB,OAAO,EAAE,EAAE;aACZ;SACF;KACF;IAED,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;IAElC,eAAe,EAAE;QACf,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACtC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACrC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACpC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;KACrC;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;QACtC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;KAC7C;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACtC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACrC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACpC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;KACrC;CACF,CAAC,CAAC;AAEH,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/services/user-meta/definition/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import * as userMetaGetters from './query/getters';
|
|
2
|
+
import * as userMetaUpdates from './query/updates';
|
|
1
3
|
export type * from './types';
|
|
2
4
|
export { userMetaModel } from './definition/model';
|
|
3
|
-
export * as userMetaGetters from './query/getters';
|
|
4
5
|
export * from './process/findOne';
|
|
6
|
+
export { userMetaGetters, userMetaUpdates };
|
|
5
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-meta/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/user-meta/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AAEnD,mBAAmB,SAAS,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import * as userMetaGetters from './query/getters';
|
|
2
|
+
import * as userMetaUpdates from './query/updates';
|
|
1
3
|
export { userMetaModel } from './definition/model';
|
|
2
|
-
export * as userMetaGetters from './query/getters';
|
|
3
4
|
export * from './process/findOne';
|
|
5
|
+
export { userMetaGetters, userMetaUpdates };
|
|
4
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/user-meta/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/user-meta/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,iBAAiB,CAAC;AAInD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/document" />
|
|
2
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
3
2
|
/// <reference types="mongoose/types/callback" />
|
|
4
3
|
/// <reference types="mongoose/types/collection" />
|
|
@@ -25,9 +24,6 @@
|
|
|
25
24
|
/// <reference types="mongoose/types/inferschematype" />
|
|
26
25
|
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
27
26
|
import type { Types } from 'mongoose';
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}> & {
|
|
31
|
-
__v?: number;
|
|
32
|
-
}>;
|
|
27
|
+
import type { UserMetaDocument } from '../types';
|
|
28
|
+
export declare const createUserMeta: (user: Types.ObjectId) => Promise<UserMetaDocument>;
|
|
33
29
|
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/services/user-meta/process/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/services/user-meta/process/create.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,eAAO,MAAM,cAAc,SACnB,MAAM,QAAQ,KACnB,QAAQ,gBAAgB,CAI1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/services/user-meta/process/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/services/user-meta/process/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,IAAoB,EACO,EAAE;IAC7B,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC;QAChC,IAAI;KACL,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/document" />
|
|
2
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
3
2
|
/// <reference types="mongoose/types/callback" />
|
|
4
3
|
/// <reference types="mongoose/types/collection" />
|
|
@@ -26,9 +25,5 @@
|
|
|
26
25
|
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
27
26
|
import type { ProjectionType, Types } from 'mongoose';
|
|
28
27
|
import type { UserMetaDocument } from '../types';
|
|
29
|
-
export declare const findUserMeta: (user: Types.ObjectId, projection?: ProjectionType<UserMetaDocument>) => Promise<
|
|
30
|
-
_id: unknown;
|
|
31
|
-
}> & {
|
|
32
|
-
__v?: number;
|
|
33
|
-
}>;
|
|
28
|
+
export declare const findUserMeta: (user: Types.ObjectId, projection?: ProjectionType<UserMetaDocument>) => Promise<UserMetaDocument>;
|
|
34
29
|
//# sourceMappingURL=findOne.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findOne.d.ts","sourceRoot":"","sources":["../../../../src/services/user-meta/process/findOne.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"findOne.d.ts","sourceRoot":"","sources":["../../../../src/services/user-meta/process/findOne.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,eAAO,MAAM,YAAY,SACjB,MAAM,QAAQ,eACR,eAAe,gBAAgB,CAAC,8BAQ7C,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/query" />
|
|
2
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
3
|
+
/// <reference types="mongoose/types/callback" />
|
|
4
|
+
/// <reference types="mongoose/types/collection" />
|
|
5
|
+
/// <reference types="mongoose/types/connection" />
|
|
6
|
+
/// <reference types="mongoose/types/cursor" />
|
|
7
|
+
/// <reference types="mongoose/types/document" />
|
|
8
|
+
/// <reference types="mongoose/types/error" />
|
|
9
|
+
/// <reference types="mongoose/types/expressions" />
|
|
10
|
+
/// <reference types="mongoose/types/helpers" />
|
|
11
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
12
|
+
/// <reference types="mongoose/types/indexes" />
|
|
13
|
+
/// <reference types="mongoose/types/models" />
|
|
14
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
15
|
+
/// <reference types="mongoose/types/pipelinestage" />
|
|
16
|
+
/// <reference types="mongoose/types/populate" />
|
|
17
|
+
/// <reference types="mongoose/types/query" />
|
|
18
|
+
/// <reference types="mongoose/types/schemaoptions" />
|
|
19
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
20
|
+
/// <reference types="mongoose/types/session" />
|
|
21
|
+
/// <reference types="mongoose/types/types" />
|
|
22
|
+
/// <reference types="mongoose/types/utility" />
|
|
23
|
+
/// <reference types="mongoose/types/validation" />
|
|
24
|
+
/// <reference types="mongoose/types/virtuals" />
|
|
25
|
+
/// <reference types="mongoose/types/inferschematype" />
|
|
26
|
+
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
27
|
+
import type { Types, UpdateQuery, UpdateWithAggregationPipeline } from 'mongoose';
|
|
28
|
+
import type { UserMetaDocument } from '../types';
|
|
29
|
+
export declare const findUserMetaAndUpdate: (user: Types.ObjectId, update: UpdateQuery<UserMetaDocument> | UpdateWithAggregationPipeline) => import("mongoose").Query<UserMetaDocument, UserMetaDocument, {}, UserMetaDocument, "findOneAndUpdate", {}>;
|
|
30
|
+
//# sourceMappingURL=findOneAndUpdate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findOneAndUpdate.d.ts","sourceRoot":"","sources":["../../../../src/services/user-meta/process/findOneAndUpdate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,6BAA6B,EAC9B,MAAM,UAAU,CAAC;AAGlB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,eAAO,MAAM,qBAAqB,SAC1B,MAAM,QAAQ,UACZ,YAAY,gBAAgB,CAAC,GAAG,6BAA6B,+GAMtE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { userMetaModel } from '../definition/model';
|
|
2
|
+
export const findUserMetaAndUpdate = (user, update) => {
|
|
3
|
+
return userMetaModel.findOneAndUpdate({ user }, update, {
|
|
4
|
+
returnDocument: 'after',
|
|
5
|
+
upsert: true,
|
|
6
|
+
});
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=findOneAndUpdate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findOneAndUpdate.js","sourceRoot":"","sources":["../../../../src/services/user-meta/process/findOneAndUpdate.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAoB,EACpB,MAAqE,EACrE,EAAE;IACF,OAAO,aAAa,CAAC,gBAAgB,CAAmB,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE;QACxE,cAAc,EAAE,OAAO;QACvB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,3 +1,47 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
+
/// <reference types="mongoose/types/callback" />
|
|
3
|
+
/// <reference types="mongoose/types/collection" />
|
|
4
|
+
/// <reference types="mongoose/types/connection" />
|
|
5
|
+
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
7
|
+
/// <reference types="mongoose/types/error" />
|
|
8
|
+
/// <reference types="mongoose/types/expressions" />
|
|
9
|
+
/// <reference types="mongoose/types/helpers" />
|
|
10
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
11
|
+
/// <reference types="mongoose/types/indexes" />
|
|
12
|
+
/// <reference types="mongoose/types/models" />
|
|
13
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
|
+
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
|
+
/// <reference types="mongoose/types/populate" />
|
|
16
|
+
/// <reference types="mongoose/types/query" />
|
|
17
|
+
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
19
|
+
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
|
+
/// <reference types="mongoose/types/utility" />
|
|
22
|
+
/// <reference types="mongoose/types/validation" />
|
|
23
|
+
/// <reference types="mongoose/types/virtuals" />
|
|
24
|
+
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
+
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
26
|
+
import type { Types } from 'mongoose';
|
|
27
|
+
import type { CharacteristicsRecord } from '@opfr/utils-type';
|
|
28
|
+
import type { UserInventory } from '../../user-inventory';
|
|
1
29
|
import type { UserMeta } from '../types';
|
|
30
|
+
export declare const getTotalCharacteristics: (userMeta: UserMeta) => CharacteristicsRecord;
|
|
2
31
|
export declare const calcXpBoost: (userMeta: UserMeta) => number;
|
|
32
|
+
export declare const calcXp: (userMeta: UserMeta, amount: number, multiplier: number) => number;
|
|
33
|
+
export declare const calcBerry: (userMeta: UserMeta, amount: number) => number;
|
|
34
|
+
export declare const calcCooldownWorkBuff: (userMeta: UserMeta) => number;
|
|
35
|
+
export declare const calcDropWorkBuff: (userMeta: UserMeta) => number;
|
|
36
|
+
export declare const calcBerryWorkBuff: (userMeta: UserMeta) => number;
|
|
37
|
+
export declare const calcBerryGlobalBuff: (userMeta: UserMeta) => number;
|
|
38
|
+
export declare const calcCooldownCasinoBuff: (userMeta: UserMeta) => number;
|
|
39
|
+
export declare const getMaxHp: (userMeta: UserMeta, userInventory: UserInventory) => number;
|
|
40
|
+
export declare const getGlobalRank: (id: Types.ObjectId) => Promise<{
|
|
41
|
+
rank: number;
|
|
42
|
+
}>;
|
|
43
|
+
export declare const getBerryRank: (id: Types.ObjectId) => Promise<{
|
|
44
|
+
rank: number;
|
|
45
|
+
}>;
|
|
46
|
+
export declare const hasMalusBuff: (userMeta: UserMeta) => boolean;
|
|
3
47
|
//# sourceMappingURL=getters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getters.d.ts","sourceRoot":"","sources":["../../../../src/services/user-meta/query/getters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getters.d.ts","sourceRoot":"","sources":["../../../../src/services/user-meta/query/getters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAItC,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAI9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,uBAAuB,aACxB,QAAQ,KACjB,qBAQF,CAAC;AAEF,eAAO,MAAM,WAAW,aAAc,QAAQ,KAAG,MAehD,CAAC;AAEF,eAAO,MAAM,MAAM,aACP,QAAQ,UACV,MAAM,cACF,MAAM,KACjB,MAIF,CAAC;AAEF,eAAO,MAAM,SAAS,aAAc,QAAQ,UAAU,MAAM,KAAG,MAK9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAAc,QAAQ,WAStD,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAc,QAAQ,WASlD,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAAc,QAAQ,WASnD,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAAc,QAAQ,WASrD,CAAC;AAEF,eAAO,MAAM,sBAAsB,aAAc,QAAQ,WASxD,CAAC;AAEF,eAAO,MAAM,QAAQ,aAAc,QAAQ,iBAAiB,aAAa,WAKzD,CAAC;AAEjB,eAAO,MAAM,aAAa,OACpB,MAAM,QAAQ,KACjB,QAAQ;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAe1B,CAAC;AAEF,eAAO,MAAM,YAAY,OACnB,MAAM,QAAQ,KACjB,QAAQ;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAe1B,CAAC;AAEF,eAAO,MAAM,YAAY,aAAc,QAAQ,YAoB9C,CAAC"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
+
import { getComputedCharacteristicValue } from '@opfr/raids';
|
|
1
2
|
import { hasExpire } from '@opfr/utils-lang';
|
|
3
|
+
import { DEFAULT_MAX_HP, HP_PER_VITALITY } from '@opfr/utils-type';
|
|
4
|
+
import { CHARACTERISTICS } from '@opfr/utils-type';
|
|
5
|
+
import { userInventoryGetters } from '../../user-inventory';
|
|
6
|
+
import { userMetaModel } from '../definition/model';
|
|
7
|
+
export const getTotalCharacteristics = (userMeta) => {
|
|
8
|
+
return Object.fromEntries(CHARACTERISTICS.map(c => [
|
|
9
|
+
c,
|
|
10
|
+
getComputedCharacteristicValue(userMeta.characteristics[c]) +
|
|
11
|
+
userMeta.scrolls[c],
|
|
12
|
+
]));
|
|
13
|
+
};
|
|
2
14
|
export const calcXpBoost = (userMeta) => {
|
|
3
15
|
const { boost } = userMeta.xp;
|
|
4
16
|
return ((boost !== null && Date.now() < boost.getTime() ? 0.2 : 0) +
|
|
@@ -8,4 +20,95 @@ export const calcXpBoost = (userMeta) => {
|
|
|
8
20
|
? multiplier
|
|
9
21
|
: 0), 0));
|
|
10
22
|
};
|
|
23
|
+
export const calcXp = (userMeta, amount, multiplier) => {
|
|
24
|
+
amount *= 1 + calcXpBoost(userMeta);
|
|
25
|
+
return Math.ceil(amount * multiplier);
|
|
26
|
+
};
|
|
27
|
+
export const calcBerry = (userMeta, amount) => {
|
|
28
|
+
const boost = calcBerryGlobalBuff(userMeta);
|
|
29
|
+
if (amount <= 0)
|
|
30
|
+
return amount;
|
|
31
|
+
return Math.ceil(amount * (boost || 1));
|
|
32
|
+
};
|
|
33
|
+
export const calcCooldownWorkBuff = (userMeta) => {
|
|
34
|
+
return userMeta.buffs.cooldown.work.reduce((acc, { expireAt, startAt, multiplier }) => acc +
|
|
35
|
+
(new Date() >= (startAt ?? new Date()) && !hasExpire(expireAt)
|
|
36
|
+
? multiplier
|
|
37
|
+
: 0), 1);
|
|
38
|
+
};
|
|
39
|
+
export const calcDropWorkBuff = (userMeta) => {
|
|
40
|
+
return userMeta.buffs.drop.work.reduce((acc, { expireAt, startAt, multiplier }) => acc +
|
|
41
|
+
(new Date() >= (startAt ?? new Date()) && !hasExpire(expireAt)
|
|
42
|
+
? multiplier
|
|
43
|
+
: 0), 1);
|
|
44
|
+
};
|
|
45
|
+
export const calcBerryWorkBuff = (userMeta) => {
|
|
46
|
+
return userMeta.buffs.berry.work.reduce((acc, { expireAt, startAt, multiplier }) => acc +
|
|
47
|
+
(new Date() >= (startAt ?? new Date()) && !hasExpire(expireAt)
|
|
48
|
+
? multiplier
|
|
49
|
+
: 0), 1);
|
|
50
|
+
};
|
|
51
|
+
export const calcBerryGlobalBuff = (userMeta) => {
|
|
52
|
+
return userMeta.buffs.berry.global.reduce((acc, { expireAt, startAt, multiplier }) => acc +
|
|
53
|
+
(new Date() >= (startAt ?? new Date()) && !hasExpire(expireAt)
|
|
54
|
+
? multiplier
|
|
55
|
+
: 0), 1);
|
|
56
|
+
};
|
|
57
|
+
export const calcCooldownCasinoBuff = (userMeta) => {
|
|
58
|
+
return userMeta.buffs.cooldown.casino.reduce((acc, { expireAt, startAt, multiplier }) => acc +
|
|
59
|
+
(new Date() >= (startAt ?? new Date()) && !hasExpire(expireAt)
|
|
60
|
+
? multiplier
|
|
61
|
+
: 0), 1);
|
|
62
|
+
};
|
|
63
|
+
export const getMaxHp = (userMeta, userInventory) => ((getTotalCharacteristics(userMeta).vitality ?? 0) +
|
|
64
|
+
userInventoryGetters.getUserEquipmentsCharacteristics(userInventory)
|
|
65
|
+
.vitality) *
|
|
66
|
+
HP_PER_VITALITY +
|
|
67
|
+
DEFAULT_MAX_HP;
|
|
68
|
+
export const getGlobalRank = async (id) => {
|
|
69
|
+
return (await userMetaModel.aggregate([
|
|
70
|
+
{
|
|
71
|
+
$setWindowFields: {
|
|
72
|
+
sortBy: { 'xp.amount': -1 },
|
|
73
|
+
output: {
|
|
74
|
+
rank: { $rank: {} },
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
{ $match: { _id: id } },
|
|
79
|
+
{ $project: { rank: 1 } },
|
|
80
|
+
]))[0];
|
|
81
|
+
};
|
|
82
|
+
export const getBerryRank = async (id) => {
|
|
83
|
+
return (await userMetaModel.aggregate([
|
|
84
|
+
{
|
|
85
|
+
$setWindowFields: {
|
|
86
|
+
sortBy: { berry: -1 },
|
|
87
|
+
output: {
|
|
88
|
+
rank: { $rank: {} },
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
{ $match: { _id: id } },
|
|
93
|
+
{ $project: { rank: 1 } },
|
|
94
|
+
]))[0];
|
|
95
|
+
};
|
|
96
|
+
export const hasMalusBuff = (userMeta) => {
|
|
97
|
+
const allBuffs = [
|
|
98
|
+
...userMeta.buffs.xp.global,
|
|
99
|
+
...userMeta.buffs.berry.global,
|
|
100
|
+
...userMeta.buffs.berry.work,
|
|
101
|
+
...userMeta.buffs.cooldown.work,
|
|
102
|
+
...userMeta.buffs.cooldown.casino,
|
|
103
|
+
...userMeta.buffs.drop.work,
|
|
104
|
+
];
|
|
105
|
+
for (const { multiplier, startAt, expireAt } of allBuffs) {
|
|
106
|
+
if (multiplier < 0 &&
|
|
107
|
+
new Date() < expireAt &&
|
|
108
|
+
(startAt ?? new Date()) <= new Date()) {
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return false;
|
|
113
|
+
};
|
|
11
114
|
//# sourceMappingURL=getters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../../src/services/user-meta/query/getters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../../src/services/user-meta/query/getters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
+
/// <reference types="mongoose/types/callback" />
|
|
3
|
+
/// <reference types="mongoose/types/collection" />
|
|
4
|
+
/// <reference types="mongoose/types/connection" />
|
|
5
|
+
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
7
|
+
/// <reference types="mongoose/types/error" />
|
|
8
|
+
/// <reference types="mongoose/types/expressions" />
|
|
9
|
+
/// <reference types="mongoose/types/helpers" />
|
|
10
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
11
|
+
/// <reference types="mongoose/types/indexes" />
|
|
12
|
+
/// <reference types="mongoose/types/models" />
|
|
13
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
|
+
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
|
+
/// <reference types="mongoose/types/populate" />
|
|
16
|
+
/// <reference types="mongoose/types/query" />
|
|
17
|
+
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
19
|
+
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
|
+
/// <reference types="mongoose/types/utility" />
|
|
22
|
+
/// <reference types="mongoose/types/validation" />
|
|
23
|
+
/// <reference types="mongoose/types/virtuals" />
|
|
24
|
+
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
+
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
26
|
+
import type { Types } from 'mongoose';
|
|
27
|
+
import type { ItemId } from '@opfr/items';
|
|
28
|
+
import type { UserInventory } from '../../user-inventory';
|
|
29
|
+
import type { UserMeta } from '../types';
|
|
30
|
+
export declare const addXp: (userId: Types.ObjectId, amount: number) => Promise<void>;
|
|
31
|
+
export declare const addBerry: (userId: Types.ObjectId, amount: number) => Promise<void>;
|
|
32
|
+
export declare const updatePremium: (userId: Types.ObjectId, premium: boolean) => Promise<void>;
|
|
33
|
+
export declare const updateBoost: (userId: Types.ObjectId, ms: number) => Promise<Date | null>;
|
|
34
|
+
export declare const updateBuff: (userId: Types.ObjectId, path: 'cooldown.casino' | 'cooldown.work' | 'berry.work' | 'berry.global' | 'drop.work' | 'xp.global', origin: `${string}$${ItemId}`, multiplier: number, endIn: number, startIn?: number) => Promise<void>;
|
|
35
|
+
export declare const gainHp: (user: Types.ObjectId, hp: number, { userMeta: _userMeta, userInventory: _userInventory, }: {
|
|
36
|
+
userMeta?: UserMeta;
|
|
37
|
+
userInventory?: UserInventory;
|
|
38
|
+
}) => Promise<void>;
|
|
39
|
+
//# sourceMappingURL=updates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updates.d.ts","sourceRoot":"","sources":["../../../../src/services/user-meta/query/updates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,eAAO,MAAM,KAAK,WAAkB,MAAM,QAAQ,UAAU,MAAM,kBAEjE,CAAC;AAEF,eAAO,MAAM,QAAQ,WAAkB,MAAM,QAAQ,UAAU,MAAM,kBAgBpE,CAAC;AAEF,eAAO,MAAM,aAAa,WAChB,MAAM,QAAQ,WACb,OAAO,kBAGjB,CAAC;AAEF,eAAO,MAAM,WAAW,WAAkB,MAAM,QAAQ,MAAM,MAAM,yBAoBnE,CAAC;AAEF,eAAO,MAAM,UAAU,WACb,MAAM,QAAQ,QAElB,iBAAiB,GACjB,eAAe,GACf,YAAY,GACZ,cAAc,GACd,WAAW,GACX,WAAW,UACP,GAAG,MAAM,IAAI,MAAM,EAAE,cACjB,MAAM,SACX,MAAM,YACH,MAAM,kBA+FjB,CAAC;AAEF,eAAO,MAAM,MAAM,SACX,MAAM,QAAQ,MAChB,MAAM,2DAIP;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,aAAa,CAAC,EAAE,aAAa,CAAA;CAAE,kBAc1D,CAAC"}
|