@vulog/aima-promocode
Version:
Promo codes and referral system — validate, submit, and query promo/referral codes.
22 lines (18 loc) • 673 B
text/typescript
import { Client } from '@vulog/aima-client';
import { z } from 'zod';
const schema = z.object({
userId: z.string().uuid(),
entityId: z.string().uuid(),
code: z.string().min(1),
});
export const submitReferral = async (client: Client, userId: string, entityId: string, code: string): Promise<void> => {
const result = schema.safeParse({ userId, entityId, code });
if (!result.success) {
throw new TypeError('Invalid args', {
cause: result.error.issues,
});
}
await client.post(
`boapi/proxy/user/fleets/${client.clientOptions.fleetId}/invitation/users/${userId}/entity/${entityId}/redeem/${code}`
);
};