feat: expand ISAC content modeling
This commit is contained in:
@@ -12,6 +12,12 @@ import { recordIsacAudit } from '$lib/server/audit';
|
||||
import type { Actions, PageServerLoad } from './$types';
|
||||
import { createNotification } from '$lib/server/notifications';
|
||||
import { conditionalRuleSnapshot } from '$lib/server/conditional-effects';
|
||||
import {
|
||||
getSkillChipPrimaryProfiles,
|
||||
getSkillChipSecondaryPool,
|
||||
} from '$lib/server/skill-chip-profiles';
|
||||
import { gameDataIconMetadata } from '$lib/server/game-data-icons';
|
||||
import { weaponModSlotDefinitionById } from '$lib/weapons/mod-slots';
|
||||
|
||||
const statuses = ['pending', 'approved', 'rejected', 'failed'];
|
||||
const modules = [
|
||||
@@ -174,16 +180,6 @@ async function skillChipProposalSnapshot(database: any, id: string) {
|
||||
'SELECT * FROM skill_chip_two_piece_bonuses WHERE skill_chip_set_id=?',
|
||||
)
|
||||
).get(id)) ?? null,
|
||||
primaryOptions: await (
|
||||
await database.prepare(
|
||||
'SELECT stat_attribute_id FROM skill_chip_primary_options WHERE skill_chip_set_id=? ORDER BY stat_attribute_id',
|
||||
)
|
||||
).all(id),
|
||||
secondaryOptions: await (
|
||||
await database.prepare(
|
||||
'SELECT stat_attribute_id FROM skill_chip_secondary_options WHERE skill_chip_set_id=? ORDER BY stat_attribute_id',
|
||||
)
|
||||
).all(id),
|
||||
talent: talent ?? null,
|
||||
talentEffects: talent
|
||||
? await (
|
||||
@@ -317,16 +313,35 @@ export const load: PageServerLoad = async ({ cookies, url }) => {
|
||||
? ((await (
|
||||
await database.prepare('SELECT * FROM stat_attributes WHERE id=?')
|
||||
).get(String(proposal.entity_id))) ?? null)
|
||||
: proposal.module === 'skillchips' && proposal.entity_id
|
||||
? await skillChipProposalSnapshot(
|
||||
database,
|
||||
String(proposal.entity_id),
|
||||
)
|
||||
: proposal.module === 'calculations'
|
||||
? await calculationProposalSnapshot(database, proposal)
|
||||
: proposal.module === 'specializations'
|
||||
? await specializationProposalSnapshot(database, proposal)
|
||||
: null,
|
||||
: proposal.module === 'skillchips' &&
|
||||
proposal.action === 'savePrimaryProfile'
|
||||
? await getSkillChipPrimaryProfiles(database)
|
||||
: proposal.module === 'skillchips' &&
|
||||
proposal.action === 'saveSecondaryPool'
|
||||
? await getSkillChipSecondaryPool(database)
|
||||
: proposal.module === 'weaponmods' &&
|
||||
proposal.action === 'saveSlotIcon' &&
|
||||
proposal.entity_id
|
||||
? {
|
||||
slot: weaponModSlotDefinitionById(
|
||||
String(proposal.entity_id),
|
||||
),
|
||||
icon: await gameDataIconMetadata(
|
||||
database,
|
||||
'weapon_mod_slot',
|
||||
String(proposal.entity_id),
|
||||
),
|
||||
}
|
||||
: proposal.module === 'skillchips' && proposal.entity_id
|
||||
? await skillChipProposalSnapshot(
|
||||
database,
|
||||
String(proposal.entity_id),
|
||||
)
|
||||
: proposal.module === 'calculations'
|
||||
? await calculationProposalSnapshot(database, proposal)
|
||||
: proposal.module === 'specializations'
|
||||
? await specializationProposalSnapshot(database, proposal)
|
||||
: null,
|
||||
})),
|
||||
);
|
||||
const summaryRows = await (
|
||||
|
||||
Reference in New Issue
Block a user