* add endpoint to fetch managed user from client id * update typings * minor tweaks * custom hook to fetch managed users from client id * add translations for platform onboarding * add isPlatformOrg boolean to figure out which is platform and which is not * set isPlatform hook based on data obtained from org * add limitWidth prop to control component width * add props to shell to make sidebar display different tabs based on if the shell isPlattform or not * platform related pages * fix merge conflicts * fix merge conflicts * platform oauth client form and card * remove everything related to platform from organization * update oauth client card and form * fixup * fix imports and remove logs * fixup * update redirect url * split oauth client form into separate update and create forms * separate forms for create and edit oauth clients * fixup * fixup * dynamic routes for oauth client edit page * fixup fixup * fix to not show error when redirect uri is empty * refactor create handler for org * cleaup comments * add custom hook to check user billing * export managed user type * refactor platform index page * refactor edit and create pages * dashboard component containing oauth client list and managed user * common oauth client form used for create and edit form * platform pricing helper * platform pricing component * fix typing and data response for billing * use custom hook to check team billing info * fix type checks * upgrade conditional rendering for upgrade to org banner * add isLoading prop to check button loading state * pass in button handler * add custom hook to subscribe to stripe and typings * update typings * fix incorrect endpoint * pass in team id as prop * fix type check * update stripe success and cancel redirect url * add and pass redirect url param to custom hook * custom hooks for platform * cleanup * update imports * fix merge conflicts * fixup * fixup fixup * fixup * merge conflicts fixup * merge conlficts battle :( * minor fixes * skip admin checks for a platform client * fix typo * append slug with _platform for a platform user * PR feedback * dashboard refactor * bring back org form to its orginal state * add platform folder to ee * update typings * use new create platform form * fixup * fix typo and update plans * simplifying rendering * remove managed users endpoint since it already exists * url for endpoint * rename tabs * pr feedback * managed users endpoint * update endpoint * remove form --------- Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com> Co-authored-by: exception <erik@erosemberg.com> Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com> Co-authored-by: Keith Williams <keithwillcode@gmail.com> Co-authored-by: Peer Richelsen <peeroke@gmail.com>
61 lines
2.2 KiB
TypeScript
61 lines
2.2 KiB
TypeScript
import { EmptyScreen } from "@calcom/ui";
|
|
|
|
import type { ManagedUser } from "@lib/hooks/settings/platform/oauth-clients/useOAuthClients";
|
|
|
|
type ManagedUserTableProps = {
|
|
managedUsers?: ManagedUser[];
|
|
isManagedUserLoading: boolean;
|
|
initialClientId: string;
|
|
};
|
|
|
|
export const ManagedUserTable = ({
|
|
managedUsers,
|
|
isManagedUserLoading,
|
|
initialClientId,
|
|
}: ManagedUserTableProps) => {
|
|
const showUsers = !isManagedUserLoading && managedUsers?.length;
|
|
|
|
return (
|
|
<div>
|
|
{showUsers ? (
|
|
<>
|
|
<table className="w-[100%] rounded-lg">
|
|
<colgroup className="border-subtle overflow-hidden rounded-b-lg border border-b-0" span={3} />
|
|
<tr>
|
|
<td className="border-subtle border px-4 py-3 md:text-center">Id</td>
|
|
<td className="border-subtle border px-4 py-3 md:text-center">Username</td>
|
|
<td className="border-subtle border px-4 py-3 md:text-center">Email</td>
|
|
</tr>
|
|
{managedUsers.map((user) => {
|
|
return (
|
|
<tr key={user.id} className="">
|
|
<td className="border-subtle overflow-hidden border px-4 py-3 md:text-center">{user.id}</td>
|
|
<td className="border-subtle border px-4 py-3 md:text-center">{user.username}</td>
|
|
<td className="border-subtle overflow-hidden border px-4 py-3 md:overflow-auto md:text-center">
|
|
{user.email}
|
|
</td>
|
|
</tr>
|
|
);
|
|
})}
|
|
</table>
|
|
</>
|
|
) : (
|
|
<EmptyScreen
|
|
limitWidth={false}
|
|
headline={
|
|
initialClientId == undefined
|
|
? "OAuth client is missing. You need to create an OAuth client first in order to create a managed user."
|
|
: `OAuth client ${initialClientId} does not have a managed user present.`
|
|
}
|
|
description={
|
|
initialClientId == undefined
|
|
? "Refer to the Platform Docs from the sidebar in order to create an OAuth client."
|
|
: "Refer to the Platform Docs from the sidebar in order to create a managed user."
|
|
}
|
|
className="items-center border"
|
|
/>
|
|
)}
|
|
</div>
|
|
);
|
|
};
|