Commit Graph
230 Commits
Author SHA1 Message Date
Tau bbb5a3b408 aimedb/pipeline.ts: Silence a deprecation warning 2019-11-06 17:28:30 -05:00
Tau 072d70b42a Migrate to SQLite3
We'll keep the door open for side-by-side support of Postgres in
the background, but due to SQLite's type system quirks we cannot
use the same DDL for both databases, so we would have to maintain
two sets of DDL (schema init and schema migration scripts) at once.

Interested future contributors can shoulder this maintenance burden
if they so choose.
2019-11-06 17:28:30 -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 6be23145d8 Crack Diva handlers 2019-11-06 17:28:30 -05:00
Tau cc0cd06c92 Crack Chunithm handlers 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 84023e2eb8 chunithm.ts: Beat compression m/ware with a wrench
Force unconditional compression of responses harder.
2019-11-06 17:28:30 -05:00
Tau 4298810728 aimedb: Defensively close connection after a Goodbye
We should probably also add request timeouts and such.
2019-11-06 17:28:30 -05:00
Tau 3fea2dae56 allnet.ts: Restrict request filter to PowerOn
PowerOn uses HTTP slightly incorrectly, but other endpoints use
HTTP incorrectly in different ways (or maybe even correctly, who
knows). Scope the current request interceptor to just PowerOn.
2019-11-06 17:28:30 -05:00
Tau 4a2b3f51a4 allnet.ts: Rename from startup.ts 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 ff4545d468 aimedb: Return decimal IDm as access code 2019-11-06 17:28:30 -05:00
Tau 7fd6f74986 db: Fix expected schema version 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 9dd45558ec aimedb: Stub a FeliCa lookup response 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 0f67c00664 db: Add connectivity and schema version check 2019-11-06 17:28:30 -05:00