* apps/bot: add feature add contact * apps/bot: check role 'master' before add contact * apps/bot: rename createCustomer -> createUser * remove ';' * app/bot: add contact define name & phone * apps/bot: check user already exists w/o telegramId (invited) * Чтобы добавить контакт, сначала поделитесь своим номером телефона. * apps/bot: create or update functions * apps/bot: remove api.ts -> move getCustomer to packages/graphql/api * packages/graphql: add api/customer tests * tests for createOrUpdateClient * fix(apps/web): user is undefined * fix(apps/web): actions getCustomer * feat(apps/web): update user photo on app launch * rename page 'masters' -> 'contacts' * feat(apps/web): add basic /contacts page * fix app layout * refactor customer queries * add action getProfile * get customer contacts * use zustand for contacts * add loading spinner * rename filteredContacts -> contacts * replace zustand with @tanstack/react-query * profile: use react-query * refactor updateRole function * move updateRole closer to profile-card * beautify actions * add page 'profile/[telegramId]' * profile: add button "message to telegram" * profile: add call feature * app/bot: normalize phone before register * do not open keyboard on page load * contacts: loading spinner * telegram login: customer.active=true * update name on telegram first login
31 lines
868 B
TypeScript
31 lines
868 B
TypeScript
'use server';
|
|
import { authOptions } from '@/config/auth';
|
|
import { getCustomerClients, getCustomerMasters } from '@repo/graphql/api';
|
|
import { getServerSession } from 'next-auth/next';
|
|
|
|
export async function getClients() {
|
|
const session = await getServerSession(authOptions);
|
|
if (!session) throw new Error('Missing session');
|
|
|
|
const { user } = session;
|
|
|
|
const getCustomerClientsResponse = await getCustomerClients({ telegramId: user?.telegramId });
|
|
|
|
return {
|
|
clients: getCustomerClientsResponse?.clients,
|
|
};
|
|
}
|
|
|
|
export async function getMasters() {
|
|
const session = await getServerSession(authOptions);
|
|
if (!session) throw new Error('Missing session');
|
|
|
|
const { user } = session;
|
|
|
|
const getCustomerMastersResponse = await getCustomerMasters({ telegramId: user?.telegramId });
|
|
|
|
return {
|
|
masters: getCustomerMastersResponse?.masters,
|
|
};
|
|
}
|