TimMikeladze / next-invite

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

๐Ÿ“ฎ next-invite

A drop-in invite system for your Next.js app. Generate and share invite links for users to join your app.

Check out this example of a Next.js codebase showcasing an advanced implementation of next-invite.

๐Ÿšง Under active development. Expect breaking changes until v1.0.0.

๐Ÿ“ก Install

npm install next-invite

yarn add next-invite

pnpm add next-invite

๐Ÿ‘‹ Hello there! Follow me @linesofcode or visit linesofcode.dev for more cool projects like this one.

๐Ÿš€ Getting Started

๐Ÿงณ Storage

๐Ÿ”บ Upstash

โ˜”๏ธ Drizzle

๐Ÿ˜ DrizzlePgStore - Postgres

๐Ÿ”ง Constants

โš™๏ธ zInvite

Constant Type
zInvite ZodObject<{ id: ZodString; email: ZodNullable<ZodOptional<ZodString>>; code: ZodString; expires: ZodNullable<ZodOptional<ZodNumber>>; ... 7 more ...; uses: ZodNullable<...>; }, "strip", ZodTypeAny, { ...; }, { ...; }>

โš™๏ธ zDeleteInviteArgs

Constant Type
zDeleteInviteArgs ZodObject<{ id: ZodString; }, "strip", ZodTypeAny, { id?: string; }, { id?: string; }>

โš™๏ธ zGetInviteArgs

Constant Type
zGetInviteArgs ZodObject<{ id: ZodString; }, "strip", ZodTypeAny, { id?: string; }, { id?: string; }>

โš™๏ธ zFindInviteArgs

Constant Type
zFindInviteArgs ZodObject<{ email: ZodNullable<ZodOptional<ZodString>>; code: ZodString; }, "strip", ZodTypeAny, { email?: string; code?: string; }, { ...; }>

โš™๏ธ zCreateInviteArgs

Constant Type
zCreateInviteArgs ZodObject<{ id: ZodNullable<ZodOptional<ZodString>>; email: ZodNullable<ZodOptional<ZodString>>; expires: ZodNullable<...>; data: ZodNullable<...>; unlimited: ZodOptional<...>; total: ZodNullable<...>; }, "strip", ZodTypeAny, { ...; }, { ...; }>

โš™๏ธ zInvalidateInviteArgs

Constant Type
zInvalidateInviteArgs ZodObject<{ id: ZodString; }, "strip", ZodTypeAny, { id?: string; }, { id?: string; }>

โš™๏ธ zUseInviteArgs

Constant Type
zUseInviteArgs ZodObject<{ code: ZodString; email: ZodNullable<ZodOptional<ZodString>>; data: ZodNullable<ZodOptional<ZodAny>>; }, "strip", ZodTypeAny, { ...; }, { ...; }>

โš™๏ธ zLogInviteUseArgs

Constant Type
zLogInviteUseArgs ZodObject<{ id: ZodString; inviteId: ZodString; email: ZodNullable<ZodOptional<ZodString>>; data: ZodNullable<ZodOptional<ZodAny>>; }, "strip", ZodTypeAny, { ...; }, { ...; }>

โš™๏ธ zInviteLog

Constant Type
zInviteLog ZodObject<{ id: ZodString; inviteId: ZodNullable<ZodOptional<ZodString>>; email: ZodNullable<ZodOptional<ZodString>>; data: ZodNullable<...>; createdAt: ZodUnion<...>; updatedAt: ZodUnion<...>; }, "strip", ZodTypeAny, { ...; }, { ...; }>

โš™๏ธ zBaseFilterArgs

Constant Type
zBaseFilterArgs ZodObject<{ limit: ZodNullable<ZodOptional<ZodNumber>>; offset: ZodNullable<ZodOptional<ZodNumber>>; all: ZodNullable<...>; }, "strip", ZodTypeAny, { ...; }, { ...; }>

โš™๏ธ zFilterInvitesArgs

Constant Type
zFilterInvitesArgs ZodObject<{ limit: ZodNullable<ZodOptional<ZodNumber>>; offset: ZodNullable<ZodOptional<ZodNumber>>; all: ZodNullable<...>; }, "strip", ZodTypeAny, { ...; }, { ...; }>

โš™๏ธ zFilterInviteLogsArgs

Constant Type
zFilterInviteLogsArgs ZodObject<{ limit: ZodNullable<ZodOptional<ZodNumber>>; offset: ZodNullable<ZodOptional<ZodNumber>>; all: ZodNullable<...>; }, "strip", ZodTypeAny, { ...; }, { ...; }>

โš™๏ธ zDeleteInviteLogArgs

Constant Type
zDeleteInviteLogArgs ZodObject<{ id: ZodString; }, "strip", ZodTypeAny, { id?: string; }, { id?: string; }>

โš™๏ธ zGetInviteLogArgs

Constant Type
zGetInviteLogArgs ZodObject<{ id: ZodString; }, "strip", ZodTypeAny, { id?: string; }, { id?: string; }>

๐Ÿญ NextInvite

Methods

โš™๏ธ createInvite

| Method | Type | | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- | | createInvite | (args: any) => Promise<{ invite: { id?: string; email?: string; code?: string; expires?: number; data?: any; createdAt?: string or Date; updatedAt?: string | Date; invalid?: boolean; unlimited?: boolean; total?: number; remaining?: number; uses?: number; }; }> |

โš™๏ธ createInvite

Method Type
createInvite (args?: { id?: string; email?: string; expires?: number; data?: any; unlimited?: boolean; total?: number; }) => Promise<{ invite: { id?: string; email?: string; code?: string; expires?: number; data?: any; createdAt?: string or Date; ... 5 more ...; uses?: number; }; }>

โš™๏ธ invalidateInvite

| Method | Type | | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | | invalidateInvite | (args: { id?: string; }) => Promise<{ invite: { id?: string; email?: string; code?: string; expires?: number; data?: any; createdAt?: string or Date; updatedAt?: string | Date; invalid?: boolean; unlimited?: boolean; total?: number; remaining?: number; uses?: number; }; }> |

โš™๏ธ filterInvites

Method Type
filterInvites (args?: { limit?: number; offset?: number; all?: boolean; }) => Promise<{ invites: { count: number; results: { id?: string; email?: string; code?: string; expires?: number; data?: any; createdAt?: string or Date; ... 5 more ...; uses?: number; }[]; }; }>

โš™๏ธ filterInviteLogs

| Method | Type | | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | | filterInviteLogs | (args?: { limit?: number; offset?: number; all?: boolean; }) => Promise<{ inviteLogs: { count: number; results: { id?: string; inviteId?: string; email?: string; data?: any; createdAt?: string or Date; updatedAt?: string | Date; }[]; }; }> |

โš™๏ธ findInvite

| Method | Type | | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | | findInvite | (args: { email?: string; code?: string; }) => Promise<{ invite: { id?: string; email?: string; code?: string; expires?: number; data?: any; createdAt?: string or Date; updatedAt?: string | Date; invalid?: boolean; unlimited?: boolean; total?: number; remaining?: number; uses?: number; }; }> |

โš™๏ธ getInvite

| Method | Type | | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | | getInvite | (args: { id?: string; }) => Promise<{ invite: { id?: string; email?: string; code?: string; expires?: number; data?: any; createdAt?: string or Date; updatedAt?: string | Date; invalid?: boolean; unlimited?: boolean; total?: number; remaining?: number; uses?: number; }; }> |

โš™๏ธ deleteInvite

Method Type
deleteInvite (args: { id?: string; }) => Promise<boolean>

โš™๏ธ getInviteLog

| Method | Type | | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | | getInviteLog | (args: { id?: string; }) => Promise<{ inviteLog: { id?: string; inviteId?: string; email?: string; data?: any; createdAt?: string or Date; updatedAt?: string | Date; }; }> |

โš™๏ธ deleteInviteLog

Method Type
deleteInviteLog (args: { id?: string; }) => Promise<boolean>

โš™๏ธ isValidInviteById

Method Type
isValidInviteById (args: { id?: string; }) => Promise<boolean>

โš™๏ธ isValidInviteByCode

Method Type
isValidInviteByCode (args: { email?: string; code?: string; }) => Promise<boolean>

โš™๏ธ useInvite

| Method | Type | | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | | useInvite | (args: { code?: string; email?: string; data?: any; }) => Promise<{ invite: { id?: string; email?: string; code?: string; expires?: number; data?: any; createdAt?: string or Date; updatedAt?: string | Date; ... 4 more ...; uses?: number; }; inviteLog?: { ...; }; }> |

About

License:MIT License


Languages

Language:TypeScript 94.4%Language:JavaScript 4.8%Language:Shell 0.8%