163 Commits
Author SHA1 Message Date
Tau c50a0093fd idz/sql/teamReservation.ts: Fix ignored result set
Apparently the latest SQLite driver doesn't like it if you do that.
2019-11-06 17:29:07 -05:00
Tau 82bd9ad7bb Additional assorted layering cleanups 2019-11-06 17:29:07 -05:00
Tau 6a4ac795b2 Heal the layer break around the Id<> type 2019-11-06 17:29:07 -05:00
Tau 650e05310d Flip-flop on debug logging code style 2019-11-06 17:29:07 -05:00
Tau f9970fa81c Force explicit conversion of rows fetched from SQL DB
Everything is a scalar value now, and while this does involve more
boilerplate it will also catch type conversion issues like
"1" + 0 === "10" in the future.
2019-11-06 17:28:30 -05:00
Tau 30d42bd832 Store array colums as CSV text
This is in preparation for a transition to SQLite, which sadly does
not support array-valued columns (or indeed have much of a type
system in general).
2019-11-06 17:28:30 -05:00
Tau 3e6b4f4798 Add an SQL DB abstraction layer
Because what self-respecting Enterprise(R) project doesn't have
one of those?
2019-11-06 17:28:30 -05:00
Tau 4dd3f39472 Fix sql-bricks import style 2019-11-06 17:28:30 -05:00
Tau 6ab2112ea9 Stop using SQL namespaces ("schemas")
This is in preparation for a transition to SQLite. SQLite does have
a similar concept called "attached databases", but it's kind of a
pain to deal with if you're casually browsing a database from the
`sqlite3` CLI so we'll just use some slightly uglier explicitly
namespaced table name identifiers instead.
2019-11-06 17:28:30 -05:00
Tau 9697b4b06e Use debug package for logging 2019-11-06 17:28:30 -05:00
Tau db260d5f2f idz/decoder: Drop RequestCode typedef
This is just boilerplate for its own sake.
2019-11-06 17:28:30 -05:00
Tau 3f62f1683b idz/handler/createTeam.ts: Fix incomplete refactor
This looks like duplicated code that wasn't deleted after being
factored out into a helper proc.
2019-11-06 17:28:30 -05:00
Tau 7118a72b3b Use esModuleInterop 2019-11-06 17:28:30 -05:00
Tau a5256c97d3 Fix SQL column capitalization 2019-11-06 17:28:30 -05:00
Tau 355f20c50b Add host/port "switchboard" module
Centrally list all hostnames and port numbers here. Need to push
this into IDZ further but I'm a bit short on time (so what else is
new).
2019-11-06 17:28:30 -05:00
Tau 2478bc5ceb idz: Implement team leadership transfer 2019-11-06 17:28:30 -05:00
Tau 3bee10d948 idz: Implement team member add/remove 2019-11-06 17:28:30 -05:00
Tau 2bd9ce919a idz: Implement saveTeamBanner 2019-11-06 17:28:30 -05:00
Tau a3df4df277 idz: Wire up team create and load 2019-11-06 17:28:30 -05:00
Tau ec214d5beb idz: Add team "reservation" repository
This is a hack necessary to support certain quirks of the
Initial D Zero profile creation process.
2019-11-06 17:28:30 -05:00
Tau a5dbdef33f idz: Add TeamAutoRepository 2019-11-06 17:28:30 -05:00
Tau be48619a4a idz: Add TeamMemberRepository 2019-11-06 17:28:30 -05:00
Tau c6a67bd647 idz: Add TeamRepository 2019-11-06 17:28:30 -05:00
Tau f874f56816 idz: Expose some row mappers 2019-11-06 17:28:30 -05:00
Tau 4f044de9fb idz: Add "Auto team" data model
New players get packed into automatically-created teams whose
names follow an automated pattern. Add data models to support this.
2019-11-06 17:28:30 -05:00
Tau 33e2f55dce idz: Clean up Team and TeamMember data models 2019-11-06 17:28:30 -05:00
Tau 85510ee0e1 idz: Tweak ProfileRepository interface 2019-11-06 17:28:30 -05:00
Tau 9c06d6635f idz: Rename encoder funcs
Avoid name collision between nouns and verbs.
2019-11-06 17:28:30 -05:00
Tau c2b0bcabc4 idz: Remove profile ext id
Turns out (while researching team creation) the profile ext id
is just the aime id. After creating a team a profile discovery
request is immediately issued with the "profile id" in the field
that holds the aime id during initial profile load.
2019-11-06 17:28:30 -05:00
Tau 7c96253160 idz: Trim trailing NULs in team name 2019-11-06 17:28:30 -05:00
Tau faaeb53cd9 idz: Label banner field in team creation 2019-11-06 17:28:30 -05:00
Tau 98f6fb9d5b idz: Fix backwards compatibility
Silently drop OOB course IDs instead of erroring. Those IDs may
come from later versions which have bigger arrays in that spot.
2019-11-06 17:28:30 -05:00
Tau 4d7a0d64a1 idz: Fix loadTopTen harder
Unconditionally return a response; the team ID and profile ID
don't actually seem to affect what the client expects to receive
(world top ten must be returned in all cases).
2019-11-06 17:28:30 -05:00
Tau af8cdf3072 idz: TA world record fixes 2019-11-06 17:28:30 -05:00
Tau a3705730ce idz: Stub new UpdateStoryClearNum 2019-11-06 17:28:30 -05:00
Tau 83ddfcc022 idz: Decode new LoadTopTenRequest
Response code and presumably layout is still the same.
2019-11-06 17:28:30 -05:00
Tau 5c6b8f27a4 idz: Add LockProfileExtend 2019-11-06 17:28:30 -05:00
Tau 6a89e6a15a idz: Fix LockProfileRequest type name 2019-11-06 17:28:30 -05:00
Tau 1e809f59a3 idz: Implement new req code for TA save..? 2019-11-06 17:28:30 -05:00
Tau cb5f281236 TA load fixup 2019-11-06 17:28:30 -05:00
Tau 2a365651a8 Fix v3 story 2019-11-06 17:28:30 -05:00
Tau 2f48efdbb9 idz: Add new saveExpedition msg format 2019-11-06 17:28:30 -05:00
Tau 2fd8081a8f idz: Add "loadGacha" message implementation 2019-11-06 17:28:30 -05:00
Tau ddad7efd67 Profile re-enable 2019-11-06 17:28:30 -05:00
Tau 6be956ad3c *cries in spanish* 2019-11-06 17:28:30 -05:00
Tau 5d8e135c07 idz: Add LoadGeneralRewardRequest detail 2019-11-06 17:28:30 -05:00
Tau 2392aaa205 idz: Deal with multiple load2on2 formats 2019-11-06 17:28:30 -05:00
Tau dfdd775370 idz: Fill in Load2on2Request details 2019-11-06 17:28:30 -05:00
Tau 5b6534ae9a wip 2019-11-06 17:28:30 -05:00
Tau fecc0e7981 wip 2019-11-06 17:28:30 -05:00