Compare commits
3 Commits
feat/dashb
...
fix/member
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4c7252610f | ||
|
|
0ec71b589d | ||
|
|
0cb69e2087 |
@@ -97,7 +97,7 @@ export default function MembersPage() {
|
|||||||
</td>
|
</td>
|
||||||
<td
|
<td
|
||||||
className={twMerge(
|
className={twMerge(
|
||||||
"w-auto min-w-[120px] sm:w-[35%] sm:min-w-[150px]",
|
"w-auto min-w-[120px] overflow-visible sm:w-[35%] sm:min-w-[150px]",
|
||||||
isLastRow && "rounded-br-lg",
|
isLastRow && "rounded-br-lg",
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
@@ -121,7 +121,7 @@ export default function MembersPage() {
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={twMerge(
|
className={twMerge(
|
||||||
"relative",
|
"relative z-50",
|
||||||
(workspace.role !== "admin" || showSkeleton) && "hidden",
|
(workspace.role !== "admin" || showSkeleton) && "hidden",
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
@@ -172,10 +172,10 @@ export default function MembersPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="mt-8 flow-root">
|
<div className="mt-8 flow-root">
|
||||||
<div className="-mx-4 -my-2 overflow-x-auto sm:-mx-6 lg:-mx-8">
|
<div className="-mx-4 -my-2 sm:-mx-6 lg:-mx-8">
|
||||||
<div className="inline-block min-w-full px-4 py-2 align-middle sm:px-6 lg:px-8">
|
<div className="inline-block min-w-full overflow-x-auto px-4 py-2 pb-16 align-middle sm:px-6 lg:px-8">
|
||||||
<div className="h-full shadow ring-1 ring-black ring-opacity-5 sm:rounded-lg">
|
<div className="h-full shadow ring-1 ring-black ring-opacity-5 sm:rounded-lg">
|
||||||
<table className="min-w-full divide-y divide-light-600 dark:divide-dark-600">
|
<table className="min-w-full divide-y divide-light-600 overflow-visible dark:divide-dark-600">
|
||||||
<thead className="rounded-t-lg bg-light-300 dark:bg-dark-200">
|
<thead className="rounded-t-lg bg-light-300 dark:bg-dark-200">
|
||||||
<tr>
|
<tr>
|
||||||
<th
|
<th
|
||||||
@@ -192,7 +192,7 @@ export default function MembersPage() {
|
|||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody className="divide-y divide-light-600 bg-light-50 dark:divide-dark-600 dark:bg-dark-100">
|
<tbody className="divide-y divide-light-600 overflow-visible bg-light-50 dark:divide-dark-600 dark:bg-dark-100">
|
||||||
{!isLoading &&
|
{!isLoading &&
|
||||||
data?.members.map((member, index) => (
|
data?.members.map((member, index) => (
|
||||||
<TableRow
|
<TableRow
|
||||||
|
|||||||
@@ -166,9 +166,19 @@ export const initAuth = (db: dbClient) => {
|
|||||||
databaseHooks: {
|
databaseHooks: {
|
||||||
user: {
|
user: {
|
||||||
create: {
|
create: {
|
||||||
before() {
|
async before(user) {
|
||||||
if (env("NEXT_PUBLIC_DISABLE_SIGN_UP")?.toLowerCase() === "true") {
|
if (env("NEXT_PUBLIC_DISABLE_SIGN_UP")?.toLowerCase() === "true") {
|
||||||
return Promise.resolve(false);
|
const pendingInvitation = await memberRepo.getByEmailAndStatus(
|
||||||
|
db,
|
||||||
|
user.email,
|
||||||
|
"invited",
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!pendingInvitation) {
|
||||||
|
return Promise.resolve(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Promise.resolve(true);
|
||||||
}
|
}
|
||||||
return Promise.resolve(true);
|
return Promise.resolve(true);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -41,6 +41,20 @@ export const getByPublicId = async (db: dbClient, publicId: string) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const getByEmailAndStatus = async (
|
||||||
|
db: dbClient,
|
||||||
|
email: string,
|
||||||
|
status: MemberStatus,
|
||||||
|
) => {
|
||||||
|
return db.query.workspaceMembers.findFirst({
|
||||||
|
where: and(
|
||||||
|
eq(workspaceMembers.email, email),
|
||||||
|
eq(workspaceMembers.status, status),
|
||||||
|
isNull(workspaceMembers.deletedAt),
|
||||||
|
),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
export const acceptInvite = async (
|
export const acceptInvite = async (
|
||||||
db: dbClient,
|
db: dbClient,
|
||||||
args: { memberId: number; userId: string },
|
args: { memberId: number; userId: string },
|
||||||
|
|||||||
Reference in New Issue
Block a user