Sharkey/packages/backend/src/server/api/endpoints/email-address/available.ts

36 lines
763 B
TypeScript
Raw Normal View History

import $ from 'cafy';
import define from '../../define';
2021-11-07 13:16:01 +02:00
import { validateEmailForAccount } from '@/services/validate-email-for-account';
export const meta = {
tags: ['users'],
requireCredential: false as const,
params: {
emailAddress: {
2021-12-09 16:58:30 +02:00
validator: $.str,
},
},
res: {
type: 'object' as const,
optional: false as const, nullable: false as const,
properties: {
available: {
type: 'boolean' as const,
optional: false as const, nullable: false as const,
2021-11-07 13:16:01 +02:00
},
reason: {
type: 'string' as const,
optional: false as const, nullable: true as const,
},
2021-12-09 16:58:30 +02:00
},
},
};
2022-01-02 19:12:50 +02:00
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps) => {
2021-11-07 13:16:01 +02:00
return await validateEmailForAccount(ps.emailAddress);
});