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