22 lines
867 B
TypeScript
22 lines
867 B
TypeScript
import { useSession, useQuery } from "blitz";
|
|
|
|
import getCurrentUser from "../../users/queries/get-current-user";
|
|
import getCurrentPhoneNumber from "../../phone-numbers/queries/get-current-phone-number";
|
|
|
|
export default function useCurrentUser() {
|
|
const session = useSession();
|
|
const [user, userQuery] = useQuery(getCurrentUser, null, { enabled: Boolean(session.userId) });
|
|
const organization = user?.memberships[0]!.organization;
|
|
const hasFilledTwilioCredentials = Boolean(organization?.twilioAccountSid && organization?.twilioAuthToken);
|
|
const [phoneNumber] = useQuery(getCurrentPhoneNumber, {}, { enabled: hasFilledTwilioCredentials });
|
|
|
|
return {
|
|
user,
|
|
organization,
|
|
hasFilledTwilioCredentials,
|
|
hasPhoneNumber: Boolean(phoneNumber),
|
|
hasOngoingSubscription: organization && organization.subscriptions.length > 0,
|
|
refetch: userQuery.refetch,
|
|
};
|
|
}
|