diff --git a/app/drizzle/schema.ts b/app/drizzle/schema.ts index 2aaed519..86bbeef4 100644 --- a/app/drizzle/schema.ts +++ b/app/drizzle/schema.ts @@ -1601,6 +1601,10 @@ export const userDataRelations = relations(userData, ({ one, many }) => ({ fields: [userData.userId], references: [userNindo.userId], }), + home: one(userHome, { + fields: [userData.userId], + references: [userHome.userId], + }), userQuests: many(questHistory), conversations: many(user2conversation), items: many(userItem), diff --git a/app/src/server/api/routers/home.ts b/app/src/server/api/routers/home.ts index 9c02f54d..0f3b86b5 100644 --- a/app/src/server/api/routers/home.ts +++ b/app/src/server/api/routers/home.ts @@ -67,7 +67,15 @@ export const homeRouter = createTRPCRouter({ .input(z.object({ homeTypeId: z.string(), })) - .output(baseServerResponse) + .output(baseServerResponse.extend({ + home: z.object({ + id: z.string(), + name: z.string(), + regenBonus: z.number(), + storageSlots: z.number(), + cost: z.number(), + }).optional(), + })) .mutation(async ({ ctx, input }) => { const { user } = await fetchUpdatedUser({ client: ctx.drizzle, @@ -118,6 +126,7 @@ export const homeRouter = createTRPCRouter({ return { success: true, message: `Successfully upgraded to ${selectedHome.name}`, + home: selectedHome, }; }), diff --git a/app/src/server/api/routers/profile.ts b/app/src/server/api/routers/profile.ts index ef89a21b..d902bdde 100644 --- a/app/src/server/api/routers/profile.ts +++ b/app/src/server/api/routers/profile.ts @@ -1314,6 +1314,11 @@ export const fetchUpdatedUser = async (props: { relationshipB: true, }, }, + home: { + with: { + homeType: true, + }, + }, anbuSquad: { columns: { name: true }, }, @@ -1650,6 +1655,13 @@ export type UserWithRelations = loadout?: { jutsuIds: string[] } | null; userQuests: UserQuest[]; votes?: UserVote | null; + home?: { + id: string; + name: string; + regenBonus: number; + storageSlots: number; + cost: number; + } | null; }) | undefined;