Compare commits
3 Commits
136b58c44f
...
8c0970a19a
| Author | SHA1 | Date | |
|---|---|---|---|
| 8c0970a19a | |||
| fca17a796d | |||
| 0c002edefa |
@ -1,5 +1,6 @@
|
||||
import { type DB, db } from "$lib/server/db/db";
|
||||
import logger from "../logger";
|
||||
|
||||
class TasksService {
|
||||
private db: DB;
|
||||
private caller: "internal" | "api";
|
||||
@ -12,16 +13,57 @@ class TasksService {
|
||||
public async getAll() {
|
||||
logger.info("Fetching all task records...");
|
||||
try {
|
||||
const result = await this.db.query.tasks.findMany({
|
||||
const tasks = await this.db.query.tasks.findMany({
|
||||
with: {
|
||||
type: true,
|
||||
},
|
||||
});
|
||||
logger.debug(`Found ${result.length} records.`);
|
||||
return result;
|
||||
} catch (e) {
|
||||
logger.error({ msg: "Error querying the database.", error: e });
|
||||
return false as const;
|
||||
logger.debug(`Found ${tasks.length} records.`);
|
||||
return { tasks, status: "ok" };
|
||||
} catch (error) {
|
||||
logger.error({ msg: "Error querying the database.", error });
|
||||
return { status: "failed", error };
|
||||
}
|
||||
}
|
||||
|
||||
public async getByTaskId(taskIds: Array<string>) {
|
||||
const mappedTasks = taskIds.map(x => {
|
||||
const prefix = x.slice(0, 2);
|
||||
const task_id = x.slice(2);
|
||||
return { prefix, task_id };
|
||||
});
|
||||
logger.info(
|
||||
`Fetching ${
|
||||
taskIds.length === 0
|
||||
? "0 records"
|
||||
: taskIds.length < 10
|
||||
? taskIds.join(", ")
|
||||
: `${taskIds.length} records`
|
||||
}.`,
|
||||
);
|
||||
try {
|
||||
const tasks = await db.query.tasks.findMany({
|
||||
with: { type: true },
|
||||
where: (tasks, { inArray }) => inArray(tasks.taskId, mappedTasks.map(x => x.task_id)),
|
||||
});
|
||||
return { tasks, status: "ok" };
|
||||
} catch (error) {
|
||||
logger.error({ msg: "Error querying the database.", error });
|
||||
return { status: "failed", error };
|
||||
}
|
||||
}
|
||||
|
||||
public async getByDbId(ids: Array<number>) {
|
||||
logger.info(`Fetching ${ids.length} records.`);
|
||||
try {
|
||||
const tasks = await db.query.tasks.findMany({
|
||||
with: { type: true },
|
||||
where: (tasks, { inArray }) => inArray(tasks.id, ids),
|
||||
});
|
||||
return { tasks, status: "ok" };
|
||||
} catch (error) {
|
||||
logger.error({ msg: "Error querying the database.", error });
|
||||
return { status: "failed", error };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
let { data }: PageProps = $props();
|
||||
</script>
|
||||
|
||||
{#if data.tasks}
|
||||
<p>{data.tasks.length} total records.</p>
|
||||
{#if data.tasks.status === "ok" && data.tasks.tasks !== undefined}
|
||||
<p>{data.tasks.tasks.length} total records.</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
@ -15,7 +15,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{#each data.tasks as task (task.id)}
|
||||
{#each data.tasks.tasks as task (task.id)}
|
||||
<tr>
|
||||
<td
|
||||
>{task.type?.prefix +
|
||||
|
||||
Loading…
Reference in New Issue
Block a user