idz: Implement saveTeamBanner
This commit is contained in:
@@ -31,6 +31,7 @@ import { saveProfile2 } from "./saveProfile2";
|
||||
import { saveProfile3 } from "./saveProfile3";
|
||||
import { saveSettings } from "./saveSettings";
|
||||
import { saveStocker } from "./saveStocker";
|
||||
import { saveTeamBanner } from "./saveTeamBanner";
|
||||
import { saveTimeAttack1, saveTimeAttack2 } from "./saveTimeAttack";
|
||||
import { saveTopic } from "./saveTopic";
|
||||
import { unlockProfile } from "./unlockProfile";
|
||||
@@ -90,6 +91,7 @@ const funcList: ReaderFn[] = [
|
||||
saveProfile3,
|
||||
saveSettings,
|
||||
saveStocker,
|
||||
saveTeamBanner,
|
||||
saveTimeAttack1,
|
||||
saveTimeAttack2,
|
||||
saveTopic,
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
import { RequestCode } from "./_defs";
|
||||
import { SaveTeamBannerRequest } from "../request/saveTeamBanner";
|
||||
import { ExtId } from "../model/base";
|
||||
import { Team } from "../model/team";
|
||||
|
||||
saveTeamBanner.msgCode = 0x0089 as RequestCode;
|
||||
saveTeamBanner.msgLen = 0x0010;
|
||||
|
||||
export function saveTeamBanner(buf: Buffer): SaveTeamBannerRequest {
|
||||
return {
|
||||
type: "save_team_banner_req",
|
||||
teamExtId: buf.readUInt32LE(0x0004) as ExtId<Team>,
|
||||
nameBg: buf.readUInt32LE(0x0008),
|
||||
nameFx: buf.readUInt32LE(0x000c),
|
||||
};
|
||||
}
|
||||
@@ -28,6 +28,7 @@ import { saveNewCar } from "./saveNewCar";
|
||||
import { saveProfile } from "./saveProfile";
|
||||
import { saveSettings } from "./saveSettings";
|
||||
import { saveStocker } from "./saveStocker";
|
||||
import { saveTeamBanner } from "./saveTeamBanner";
|
||||
import { saveTimeAttack } from "./saveTimeAttack";
|
||||
import { saveTopic } from "./saveTopic";
|
||||
import { unlockProfile } from "./unlockProfile";
|
||||
@@ -139,6 +140,9 @@ export async function dispatch(
|
||||
case "save_stocker_req":
|
||||
return saveStocker(w, req);
|
||||
|
||||
case "save_team_banner_req":
|
||||
return saveTeamBanner(w, req);
|
||||
|
||||
case "save_time_attack_req":
|
||||
return saveTimeAttack(w, req);
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
import { Repositories } from "../repo";
|
||||
import { SaveTeamBannerRequest } from "../request/saveTeamBanner";
|
||||
import { GenericResponse } from "../response/generic";
|
||||
|
||||
export async function saveTeamBanner(
|
||||
w: Repositories,
|
||||
req: SaveTeamBannerRequest
|
||||
): Promise<GenericResponse> {
|
||||
const teamId = await w.teams().find(req.teamExtId);
|
||||
const orig = await w.teams().load(teamId);
|
||||
|
||||
await w.teams().save(teamId, {
|
||||
...orig,
|
||||
nameBg: req.nameBg,
|
||||
nameFx: req.nameFx,
|
||||
});
|
||||
|
||||
return {
|
||||
type: "generic_res",
|
||||
status: 0, // ignored
|
||||
};
|
||||
}
|
||||
@@ -28,6 +28,7 @@ import { SaveNewCarRequest } from "./saveNewCar";
|
||||
import { SaveProfileRequest } from "./saveProfile";
|
||||
import { SaveSettingsRequest } from "./saveSettings";
|
||||
import { SaveStockerRequest } from "./saveStocker";
|
||||
import { SaveTeamBannerRequest } from "./saveTeamBanner";
|
||||
import { SaveTimeAttackRequest } from "./saveTimeAttack";
|
||||
import { SaveTopicRequest } from "./saveTopic";
|
||||
import { UnlockProfileRequest } from "./unlockProfile";
|
||||
@@ -69,6 +70,7 @@ export type Request =
|
||||
| SaveProfileRequest
|
||||
| SaveSettingsRequest
|
||||
| SaveStockerRequest
|
||||
| SaveTeamBannerRequest
|
||||
| SaveTimeAttackRequest
|
||||
| SaveTopicRequest
|
||||
| UnlockProfileRequest
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
import { ExtId } from "../model/base";
|
||||
import { Team } from "../model/team";
|
||||
|
||||
export interface SaveTeamBannerRequest {
|
||||
type: "save_team_banner_req";
|
||||
teamExtId: ExtId<Team>;
|
||||
nameBg: number;
|
||||
nameFx: number;
|
||||
}
|
||||
Reference in New Issue
Block a user