feat(maitred): Update maitred - hookup to the API (#198)

## Description
We are attempting to hookup maitred to the API
Maitred duties will be:
- [ ] Hookup to the API
- [ ]  Wait for signal (from the API) to start Steam
- [ ] Stop signal to stop the gaming session, clean up Steam... and
maybe do the backup

## Summary by CodeRabbit

- **New Features**
- Introduced Docker-based deployment configurations for both the main
and relay applications.
- Added new API endpoints enabling real-time machine messaging and
enhanced IoT operations.
- Expanded database schema and actor types to support improved machine
tracking.

- **Improvements**
- Enhanced real-time communication and relay management with streamlined
room handling.
- Upgraded dependencies, logging, and error handling for greater
stability and performance.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
Co-authored-by: Kristian Ollikainen <14197772+DatCaptainHorse@users.noreply.github.com>
This commit is contained in:
Wanjohi
2025-04-07 23:23:53 +03:00
committed by GitHub
parent 6990494b34
commit de80f3e6ab
84 changed files with 7357 additions and 1331 deletions

View File

@@ -5,7 +5,7 @@ import { Common } from "../common";
import { Examples } from "../examples";
import { createEvent } from "../event";
import { createID, fn } from "../utils";
import { and, eq, sql } from "../drizzle";
import { and, eq, sql, isNull } from "../drizzle";
import { PlanType, teamTable } from "./team.sql";
import { assertActor, withActor } from "../actor";
import { memberTable } from "../member/member.sql";
@@ -111,6 +111,7 @@ export module Team {
tx
.select()
.from(teamTable)
.where(isNull(teamTable.timeDeleted))
.execute()
.then((rows) => rows.map(serialize)),
),
@@ -121,10 +122,9 @@ export module Team {
return tx
.select()
.from(teamTable)
.where(eq(teamTable.id, id))
.where(and(eq(teamTable.id, id), isNull(teamTable.timeDeleted)))
.execute()
.then((rows) => rows.map(serialize))
.then((rows) => rows.at(0));
.then((rows) => rows.map(serialize).at(0))
}),
);
@@ -133,10 +133,9 @@ export module Team {
return tx
.select()
.from(teamTable)
.where(eq(teamTable.slug, input))
.where(and(eq(teamTable.slug, input), isNull(teamTable.timeDeleted)))
.execute()
.then((rows) => rows.map(serialize))
.then((rows) => rows.at(0));
.then((rows) => rows.map(serialize).at(0))
}),
);