From 35f23f710ce36a51814485004cadad3897daf406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20L=C3=B3pez=20Guimaraes?= Date: Sun, 9 Nov 2025 21:42:12 +0000 Subject: [PATCH] feat: Store task interval --- src/models/task.ts | 1 + src/services/grpc/boss/v2/register-task.ts | 4 +++- src/services/grpc/boss/v2/update-task.ts | 1 + src/types/mongoose/task.ts | 3 ++- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/models/task.ts b/src/models/task.ts index cb374b1..21f4c72 100644 --- a/src/models/task.ts +++ b/src/models/task.ts @@ -15,6 +15,7 @@ const TaskSchema = new mongoose.Schema({ required: true, enum: ['open', 'close'] }, + interval: Number, title_id: String, description: String, created: BigInt, diff --git a/src/services/grpc/boss/v2/register-task.ts b/src/services/grpc/boss/v2/register-task.ts index 30c67f4..6ec103c 100644 --- a/src/services/grpc/boss/v2/register-task.ts +++ b/src/services/grpc/boss/v2/register-task.ts @@ -17,6 +17,7 @@ export async function registerTask(request: RegisterTaskRequest, context: CallCo const bossAppID = request.bossAppId.trim(); const titleID = request.titleId.toString(16).toLowerCase().padStart(16, '0'); const status = request.status; + const interval = request.interval; const description = request.description.trim(); if (!taskID) { @@ -59,6 +60,7 @@ export async function registerTask(request: RegisterTaskRequest, context: CallCo boss_app_id: bossAppID, creator_pid: context.user?.pid, status, + interval, title_id: titleID, description: description, created: Date.now(), @@ -73,7 +75,7 @@ export async function registerTask(request: RegisterTaskRequest, context: CallCo bossAppId: task.boss_app_id, creatorPid: task.creator_pid, status: task.status, - interval: 0, // TODO - Don't stub this + interval: task.interval, titleId: BigInt(parseInt(task.title_id, 16)), description: task.description, createdTimestamp: task.created, diff --git a/src/services/grpc/boss/v2/update-task.ts b/src/services/grpc/boss/v2/update-task.ts index be2413b..e883678 100644 --- a/src/services/grpc/boss/v2/update-task.ts +++ b/src/services/grpc/boss/v2/update-task.ts @@ -45,6 +45,7 @@ export async function updateTask(request: UpdateTaskRequest, context: CallContex task.boss_app_id = updateData.bossAppId ? updateData.bossAppId : task.boss_app_id; task.title_id = updateData.titleId ? updateData.titleId.toString(16).toLowerCase().padStart(16, '0') : task.title_id; task.status = updateData.status ? updateData.status : task.status; + task.interval = updateData.interval ? updateData.interval : task.interval; task.description = updateData.description ? updateData.description : task.description; task.updated = BigInt(Date.now()); diff --git a/src/types/mongoose/task.ts b/src/types/mongoose/task.ts index d50e362..6e92fdb 100644 --- a/src/types/mongoose/task.ts +++ b/src/types/mongoose/task.ts @@ -6,7 +6,8 @@ export interface ITask { in_game_id: string; boss_app_id: string; creator_pid: number; - status: 'open' | 'close'; // TODO - Make this a union. What else is there? + status: 'open' | 'close'; + interval: number; title_id: string; description: string; created: bigint;