mizzkey/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 12:16:01 +01:00
import { validateEmailForAccount } from '@/services/validate-email-for-account';
export const meta = {
tags: ['users'],
requireCredential: false as const,
params: {
emailAddress: {
2021-12-09 15:58:30 +01: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 12:16:01 +01:00
},
reason: {
type: 'string' as const,
optional: false as const, nullable: true as const,
},
2021-12-09 15:58:30 +01:00
},
},
};
2022-01-02 18:12:50 +01:00
// eslint-disable-next-line import/no-default-export
export default define(meta, async (ps) => {
2021-11-07 12:16:01 +01:00
return await validateEmailForAccount(ps.emailAddress);
});