Skip to content

Commit 6357f34

Browse files
committed
fix: prefix
1 parent a3fad23 commit 6357f34

File tree

1 file changed

+45
-42
lines changed

1 file changed

+45
-42
lines changed

apps/basket/src/routes/email.ts

Lines changed: 45 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -77,54 +77,57 @@ async function checkEmailDuplicate(
7777
return false;
7878
}
7979

80-
const app = new Elysia({ prefix: '/email' })
81-
.post('/', async ({ body, request }: { body: unknown; request: Request }) => {
82-
// Validate API key
83-
if (!validateApiKey(request)) {
84-
return {
85-
status: 'error',
86-
message: 'Invalid or missing API key',
87-
};
88-
}
80+
const app = new Elysia()
81+
.post(
82+
'/email',
83+
async ({ body, request }: { body: unknown; request: Request }) => {
84+
// Validate API key
85+
if (!validateApiKey(request)) {
86+
return {
87+
status: 'error',
88+
message: 'Invalid or missing API key',
89+
};
90+
}
8991

90-
// Validate schema
91-
const parseResult = emailEventSchema.safeParse(body);
92-
if (!parseResult.success) {
93-
return {
94-
status: 'error',
95-
message: 'Invalid email event schema',
96-
errors: parseResult.error.issues,
97-
};
98-
}
92+
// Validate schema
93+
const parseResult = emailEventSchema.safeParse(body);
94+
if (!parseResult.success) {
95+
return {
96+
status: 'error',
97+
message: 'Invalid email event schema',
98+
errors: parseResult.error.issues,
99+
};
100+
}
99101

100-
const emailData = parseResult.data;
101-
const emailHash = hashEmailId(emailData.email_id, emailData.domain);
102-
const eventTime = emailData.event_time || Date.now();
102+
const emailData = parseResult.data;
103+
const emailHash = hashEmailId(emailData.email_id, emailData.domain);
104+
const eventTime = emailData.event_time || Date.now();
103105

104-
if (await checkEmailDuplicate(emailHash, eventTime)) {
105-
return { status: 'success', message: 'Duplicate event ignored' };
106-
}
106+
if (await checkEmailDuplicate(emailHash, eventTime)) {
107+
return { status: 'success', message: 'Duplicate event ignored' };
108+
}
107109

108-
try {
109-
await insertEmailEvent(emailData);
110-
return {
111-
status: 'success',
112-
type: 'email',
113-
event_id: emailHash,
114-
};
115-
} catch (error) {
116-
logger.error('Email event processing failed', {
117-
error: error as Error,
118-
domain: emailData.domain,
119-
});
120-
return {
121-
status: 'error',
122-
message: 'Failed to process email event',
123-
};
110+
try {
111+
await insertEmailEvent(emailData);
112+
return {
113+
status: 'success',
114+
type: 'email',
115+
event_id: emailHash,
116+
};
117+
} catch (error) {
118+
logger.error('Email event processing failed', {
119+
error: error as Error,
120+
domain: emailData.domain,
121+
});
122+
return {
123+
status: 'error',
124+
message: 'Failed to process email event',
125+
};
126+
}
124127
}
125-
})
128+
)
126129
.post(
127-
'/batch',
130+
'/email/batch',
128131
async ({ body, request }: { body: unknown; request: Request }) => {
129132
// Validate API key
130133
if (!validateApiKey(request)) {

0 commit comments

Comments
 (0)