mirror of
https://github.com/eliasstepanik/core.git
synced 2026-01-10 23:48:26 +00:00
fix: print response to understand email delivery
This commit is contained in:
parent
de94f67f7b
commit
0b88a2cd49
@ -23,6 +23,7 @@ interface EpisodeFact {
|
||||
|
||||
interface EpisodeFactsResponse {
|
||||
facts: EpisodeFact[];
|
||||
invalidFacts: EpisodeFact[];
|
||||
}
|
||||
|
||||
export function LogDetails({
|
||||
@ -33,6 +34,7 @@ export function LogDetails({
|
||||
log,
|
||||
}: LogDetailsProps) {
|
||||
const [facts, setFacts] = useState<any[]>([]);
|
||||
const [invalidFacts, setInvalidFacts] = useState<any[]>([]);
|
||||
const [factsLoading, setFactsLoading] = useState(false);
|
||||
const fetcher = useFetcher<EpisodeFactsResponse>();
|
||||
|
||||
@ -50,6 +52,7 @@ export function LogDetails({
|
||||
setFactsLoading(false);
|
||||
const response = fetcher.data;
|
||||
setFacts(response.facts);
|
||||
setInvalidFacts(response.invalidFacts);
|
||||
}
|
||||
}, [fetcher.data, fetcher.state]);
|
||||
|
||||
@ -122,6 +125,33 @@ export function LogDetails({
|
||||
<span>
|
||||
Valid: {new Date(fact.validAt).toLocaleString()}
|
||||
</span>
|
||||
{fact.invalidAt && (
|
||||
<span>
|
||||
Invalid:{" "}
|
||||
{new Date(fact.invalidAt).toLocaleString()}
|
||||
</span>
|
||||
)}
|
||||
{Object.keys(fact.attributes).length > 0 && (
|
||||
<Badge variant="secondary" className="text-xs">
|
||||
{Object.keys(fact.attributes).length} attributes
|
||||
</Badge>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
{invalidFacts.map((fact) => (
|
||||
<div
|
||||
key={fact.uuid}
|
||||
className="bg-grayAlpha-100 rounded-md p-3"
|
||||
>
|
||||
<p className="mb-1 text-sm">{fact.fact}</p>
|
||||
<div className="text-muted-foreground flex items-center gap-2 text-xs">
|
||||
{fact.invalidAt && (
|
||||
<span>
|
||||
Invalid:{" "}
|
||||
{new Date(fact.invalidAt).toLocaleString()}
|
||||
</span>
|
||||
)}
|
||||
{Object.keys(fact.attributes).length > 0 && (
|
||||
<Badge variant="secondary" className="text-xs">
|
||||
{Object.keys(fact.attributes).length} attributes
|
||||
|
||||
@ -48,9 +48,10 @@ export async function createWorkspace(
|
||||
});
|
||||
|
||||
try {
|
||||
await sendEmail({ email: "welcome", to: user.email });
|
||||
const response = await sendEmail({ email: "welcome", to: user.email });
|
||||
logger.info(`${JSON.stringify(response)}`);
|
||||
} catch (e) {
|
||||
logger.error("Error sending email");
|
||||
logger.error(`Error sending email: ${e}`);
|
||||
}
|
||||
|
||||
return workspace;
|
||||
|
||||
@ -86,7 +86,9 @@ export async function scheduleEmail(
|
||||
|
||||
export async function sendEmail(data: DeliverEmail) {
|
||||
try {
|
||||
return client.send(data);
|
||||
const response = client.send(data);
|
||||
|
||||
return response;
|
||||
} catch (e) {
|
||||
logger.error(`Error: ${e}`);
|
||||
}
|
||||
|
||||
@ -1,4 +1,7 @@
|
||||
import { getEpisodeStatements } from "~/services/graphModels/episode";
|
||||
import {
|
||||
getEpisodeStatements,
|
||||
getStatementsInvalidatedByEpisode,
|
||||
} from "~/services/graphModels/episode";
|
||||
|
||||
export async function getEpisodeFacts(episodeUuid: string, userId: string) {
|
||||
try {
|
||||
@ -7,13 +10,27 @@ export async function getEpisodeFacts(episodeUuid: string, userId: string) {
|
||||
userId,
|
||||
});
|
||||
|
||||
const invalidFacts = await getStatementsInvalidatedByEpisode({
|
||||
episodeUuid,
|
||||
userId,
|
||||
});
|
||||
|
||||
return {
|
||||
success: true,
|
||||
facts: facts.map(fact => ({
|
||||
facts: facts.map((fact) => ({
|
||||
uuid: fact.uuid,
|
||||
fact: fact.fact,
|
||||
createdAt: fact.createdAt.toISOString(),
|
||||
validAt: fact.validAt.toISOString(),
|
||||
invalidAt: fact.invalidAt ? fact.invalidAt.toISOString() : null,
|
||||
attributes: fact.attributes,
|
||||
})),
|
||||
invalidFacts: invalidFacts.map((fact) => ({
|
||||
uuid: fact.uuid,
|
||||
fact: fact.fact,
|
||||
createdAt: fact.createdAt.toISOString(),
|
||||
validAt: fact.validAt.toISOString(),
|
||||
invalidAt: fact.invalidAt ? fact.invalidAt.toISOString() : null,
|
||||
attributes: fact.attributes,
|
||||
})),
|
||||
};
|
||||
@ -25,4 +42,4 @@ export async function getEpisodeFacts(episodeUuid: string, userId: string) {
|
||||
facts: [],
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -315,6 +315,35 @@ export async function getEpisodeStatements(params: {
|
||||
userId: params.userId,
|
||||
});
|
||||
|
||||
return result.map((record) => {
|
||||
const stmt = record.get("stmt").properties;
|
||||
|
||||
return {
|
||||
uuid: stmt.uuid,
|
||||
fact: stmt.fact,
|
||||
factEmbedding: stmt.factEmbedding,
|
||||
createdAt: new Date(stmt.createdAt),
|
||||
validAt: new Date(stmt.validAt),
|
||||
invalidAt: stmt.invalidAt ? new Date(stmt.invalidAt) : null,
|
||||
attributes: stmt.attributesJson ? JSON.parse(stmt.attributesJson) : {},
|
||||
userId: stmt.userId,
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
export async function getStatementsInvalidatedByEpisode(params: {
|
||||
episodeUuid: string;
|
||||
userId: string;
|
||||
}) {
|
||||
const query = `
|
||||
MATCH (stmt:Statement {invalidatedBy: $episodeUuid})
|
||||
RETURN stmt
|
||||
`;
|
||||
|
||||
const result = await runQuery(query, {
|
||||
episodeUuid: params.episodeUuid,
|
||||
});
|
||||
|
||||
return result.map((record) => {
|
||||
const stmt = record.get("stmt").properties;
|
||||
return {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user