fragment CustomerFields on Customer { active bannedUntil documentId name surname phone photoUrl role telegramId services(filters: { active: { eq: true } }) { documentId name } } mutation CreateCustomer($data: CustomerInput!) { createCustomer(data: $data) { documentId } } query GetCustomer($telegramId: Long, $documentId: ID) { customers( filters: { or: [{ telegramId: { eq: $telegramId } }, { documentId: { eq: $documentId } }] } ) { ...CustomerFields } } query _NOCACHE_GetCustomer($phone: String, $telegramId: Long) { customers(filters: { or: [{ phone: { eq: $phone } }, { telegramId: { eq: $telegramId } }] }) { ...CustomerFields } } mutation UpdateCustomer($documentId: ID!, $data: CustomerInput!) { updateCustomer(documentId: $documentId, data: $data) { ...CustomerFields } } query GetCustomers($filters: CustomerFiltersInput, $pagination: PaginationArg, $sort: [String!]) { customers(filters: $filters, pagination: $pagination, sort: $sort) { ...CustomerFields } } query GetInvitedBy($phone: String, $telegramId: Long, $documentId: ID) { customers( filters: { or: [ { phone: { eq: $phone } } { telegramId: { eq: $telegramId } } { documentId: { eq: $documentId } } ] # and: [{ active: { eq: true } }] } ) { documentId invitedBy { ...CustomerFields } } } query GetInvited($phone: String, $telegramId: Long) { customers( filters: { or: [{ phone: { eq: $phone } }, { telegramId: { eq: $telegramId } }] # and: [{ active: { eq: true } }] } ) { documentId invited { ...CustomerFields } } }