Video ID: video-1760982206808-607748823
Created with reels.hurated.com/analyze
Я:
Так, я запись включил. Юрия нет с нами пока, так что давай просто проговорим.Я вот сейчас ожидающие сотрудники прикрутил. Добавил по генацию, все дела.
Остается здесь добавить фильтры, сортировку, поиск и подтвердить, отклонить, привязать опишку на странице сотрудников. Таблицу данных я получаю, все окей.
Тут нужно будет подрубить — 5 минут дела — по аналогии с обычными эмплойи сделать. И также им тоже нужны фильтры, поиск, сортировка.
По поводу дерева сотрудников, здесь мне выдает...
Давай экран пошарим.
Миша:
Мне вот деревья в ответе выдает, получается, двух как бы родителей на одном уровне. Я, соответственно, двух сотрудников. Ты, Миша, иду... ну, сотрудников в любом случае.Собеседник: Первый сотрудник от родителей — дерево возвращаешь, то есть на верхнем уровне надо, чтобы был один.
Миша: Ну да, подожди. Ты сейчас это как? Ты админ запрашиваешь или как супер-админ?
Собеседник: Я, как сейчас скажу... У них разные организации просто или нет? Я это, наверное, как супер-админ. Я из-под своего ака всё супер-админом делал. По идее, если ты как супер-админ, то на верхнем уровне может быть много сотрудников, потому что из разных организаций.
Миша: Вот, и... ну, и не, вы даже если как супер-админ, как мне их отображать? Супер-админ мы как бы никому не показываем, это для нас. Это можно через вот это предложение, которое сгенерировал. Надо его, кстати, перегенерировать. Админ нужен только для нас, и как бы там пофигу, какой интерфейс. А для пользователей надо начинать с админа.
Собеседник: Сейчас у меня сделано... Раньше я делал так, что изменения нельзя делать в чужих компаниях. Сейчас, в принципе, он показывает: если ты просто админ, то он тебе показывает, когда ты запрашиваешь списки, он должен тебе выдавать только с твоей компанией. Правда, там компания не инфорсится — это как бы отдельная песня. Может быть, надо удалить и заново создать уже с компаниями.
Миша: То есть я могу заинфорсить следующее: чтобы наверху у компании был один человек. Соответственно, ты будешь запрашивать как админ. У меня вот еще идея: когда запрашиваю купер-один, ты можешь симулировать админа, то есть надо еще параметры ввести, чтобы сделать компанию до Юрии.
Юрий: Здравствуйте! Дерево сотрудников... Я могу просто себе на свою вторую почту зарегать аккаунт и выдам ему админа, поставлю ему там подчиненных. И тогда со второго ака буду просто логиниться и проверять, чтобы всё окей.
Миша: А супер-админ тогда... ну, супер-админ он только для того, чтобы всех видеть и всех составлять пользователем. Мы его не выдаем. Но в смысле, компания у компании максимально — это просто одни.
Собеседник: Ну да, как раз так. Тут если... Давайте, может, заново, в целом по подробке я проговорю. Там на предыдущих звонках всё спонтанно и не по теме было, последовательно это всё обговаривать. Давайте тогда проговорю сейчас в целом, как у нас, как и что я подключил, что планирую.
---
Миша: Давайте так. По авторизации — еще на прошлом звонке говорил, у нас она теперь есть, все проверки на неё тоже имеются. Подключил страницу ожидающих сотрудников, здесь добавил интенсивную пагинацию, чтобы они подгружались постепенно, а не одним блоком за раз. Добавил вывод, сколько загружено сотрудников и из скольких — вот можно смотреть общее количество.
Денис: Это вот это запихнул? Я подумал, почему бы нет. Ну, по-моему, как раз хорошо, чтобы видеть общий список, количество людей.
Миша: Добавил виртуализацию сюда, чтобы... Короче, та штука, когда у нас очень длинный список, вот мы там подгрузим много ожидающих, например, чтобы у нас браузер, если устройство не такое мощное, рендер происходил в фоне по необходимости, а не происходил по мне, а происходил только по необходимости.
И обработка ошибок написал здесь.
Сейчас ближайшее, я планирую добавить поиск или просортировки — они уже есть — и добавить функции для подтверждения, для отклонения, чтобы это можно было реально проводить.
Сделал чек, сделал переключение между сотрудниками и списком — у нас запрос туда-сюда ходили. Подрубил дерево, здесь деревом там не... Сейчас супер-админ не появляются, все пользователи нет. Если создам аккаунт, наполню его юзерами, чтобы
Чёрный экран почему-то у меня на телефоне. Ну, у меня экран шарится. Может, интернет не очень... Ну, может быть.
Да, у меня ничего, да, я только чёрный экран вижу. Ну, я, в принципе, еду, да, здесь у меня такое, не очень хороший интернет.
Ну, я могу это склинить сейчас. Ну, не суть, мы же всё равно в процессе. Я могу это потом в записи, в принципе, даже посмотреть.
Да, но API-шка наконец обогнала. То есть, сейчас я бежал за Андреем, он делал вперёд, а сейчас, наоборот, ему надо интегрировать.
Ну, сейчас, Андрей, продолжай, я вот потом, чтобы твой не прерывать.
Андрей: Да, я в целом закончил. У меня просто сейчас появилась идея, так как у меня открытый... Ну, то есть, я держу открытым...
Извини, перебью. Давай, давай, давай. Забыл.
Юрий, тут ещё у меня вопрос был. Мы на странице со всеми сотрудниками, там, где выбрали структуру либо список, там в таблице, мы отдельно таблицей делали поле поиска. Здесь у меня внутри ещё таблицей я сделал.
Давайте скину, покажу, как это выглядит. Я вот убрал то поле, которое мы делали, и оставил вот которое в таблице. Мне кажется, так симпатичнее и удобнее, чтобы унифицировать, потому что во всех остальных таблицах поиск аналогичен будет.
Так. Да, отлично. Правый верхний угол, да. Хорошо, отлично.
Ну, вот я вот таким тогда оставляю.
Да, да, хорошо. Всё, у меня вопросов нет.
Да, дай мне тогда экран.
Значит, по поводу API.
Вроде всё, что мы с тобой обсуждали, в том числе вчера (ну, по твоему времени уже сегодня), реализовано.Соответственно, когда дойдёшь и будут возникать вопросы, у него можно спрашивать не только что-то сделать, но и сами вопросы. Я даже некоторые твои вопросы передавал ему, чтобы он мне сам лучше объяснил, как проходит процесс.
Я думаю, я его сейчас держу открытым, чтобы он был в контексте. Но если будет просто, я попробую его куда-нибудь перекинуть — либо в админку, либо в то приложение, которое мы для себя генерируем. Сейчас попробую его перегенерировать и посмотреть, можно ли туда вывести это.
В крайнем случае, можно сделать какой-нибудь телеграм-канал, чтобы когда я сплю, ты тоже мог задать ему вопрос. И это будет самая мощная подсказка для тебя.
Это тесты. Я их уже в прошлый раз показывал, но в этот раз он довел до 100% покрытия. Каждая функция API тестируется в тестах.
Сейчас их уже 30, но это 30 подобластей, то есть там запросов гораздо больше. Соответственно, эти тесты просто запускают TestSH снаружи. Это не нужно делать с сервера, можно запускать со своей машины. Он сам логинится, проходит все этапы: сам логинится, сам разлогинится, создает, убирает.
После тестов база остается в том же самом состоянии, как она и была. Он проводит тесты: создает, изменяет, убивает и проверяет результат.
Здесь тесты перечислены:
All — это все тесты, отдельно по категориям: List — просто список тестов, Database — все, что связано с базой данных, Storage — это Storage, Out — авторизация, User, Companies, Employees, Waiting Employees (они же Pending, но здесь пока называются Waiting), Tasks, Files, Pagination, Filtering, Enhanced Data Structure.Если у теста задать "-v", то есть Test "-v", он будет показывать непосредственно запросы, которые уходят (эти курлы). Если задать "-p", то он будет ставить на паузу каждые 30 секунд, точнее после каждого запроса, можно увеличить интервал.
Вопрос какой-то?
Алло.
Так, Юрий, наверное, отключился, да. Ну то есть у тебя есть какие-то вопросы по тестам?
— Да, мне тесты с большего...
— Ну да, связь лагает.
— Да, Юрий, мы вас не слышим, к сожалению.
Алло.
— Да, алло, слышно.
— Алло, сейчас перезвонить надо будет, у меня нет связи.
— Алло, теперь слышно?
— Сейчас слышно, да.
— Хорошо. Я говорю, у меня минут 10 осталось, дальше связи не будет, я не смогу говорить.
— А, ну хорошо. В принципе, это для Андрея больше, я закончил, и как бы он...
— Да, да, давайте со мной, я всё...
То, что меня касается, обсудим, а остальное тогда сами для меня уже обсудите, если у вас какие-то вопросы будут. Хорошо.
Ну, я там написал, что мне офис подтвердили, часы мне пришли, на самом деле даже в субботу пришли, но мне человек написал только в воскресенье, и сегодня у нас мероприятие в час, он мне их передаст. Он уже фотку прислал, то есть они реально пришли. Конечно, мне страшно, когда приходят и валяются на пороге, но он говорит, типа, не воруют. Вот плату мы первый раз искали долго, но нашли. Слава богу, значит, пришли, он сфотографировал, пока ни разу не своровали.
По офису я вам там написал, что если есть, чтобы мы с вами еще раз что-то заплатить за все, потому что я там неделю продлевал, и мы тогда с вами будем на том же состоянии, что неделю назад, как бы на две недели вперед.
— Да, хорошо, хорошо, сделаем так.
Ну, как бы, если все нормально, завтра уже вроде ничего не должно. Самое главное прошло, что утвердили этого кредитора. Он там, правда, где-то катается, между Лос-Анджелесом и прочим, но на связи, подпишет, так что это уже формальности. Они, в принципе, сказали, что можно даже пока месячную плату не платить, а можно уже заплатить вот эту вторую и въехать, они потом месячную выставят, пересчитают за эти 10 дней уже, 9, 10, да, 31 октября. И вроде как мне сказали, что из этих ближайших трех месяцев один будет бесплатный, но я не понял какой. Ну, посмотрим.
— Ну, здорово, здорово.
Так, у меня три минуты осталось. Что еще со мной можно, надо обсудить.
Ну, соответственно, все новости по UWB, по часам будут.
— Ну, да, я как только въеду, я начну собирать. Просто там куча мелких деталей, и даже если там собирать, разбирать, там больше времени не займет в отеле это делать, ну, в хостеле. А там уже я разложусь, и, в принципе, оно там никуда не потеряется.
Хорошо, а этот человек пропал совсем, да? Первый, который мы через часы заказывали, через который...
— А, это был Костя, да. Ну, он мне и так денег должен, но мы вроде разобрались с тем, что это... Но ничего не ответил. Я, честно говоря, даже после того раза написал и не фоловил как следует. В смысле, он пропал по-прежнему, он так и не появлялся. Ну, я его вроде видел в этом, в Телеграме, но вот сейчас вспомнили, сейчас еще раз напишу. Он нам уже особо не нужен, потому что, в принципе, мы все уже заказали, что...
— Нет, но мы же часы не заказали эти, которые вот...
— А, английские, английские.
— Нет, не английские, наоборот, эти, которые не английские.
— А, если это он, да. Ну, Лиёва, или как он там называется.
Так, смотрите, мы с вами последний раз говорили, я же хотел их заказать от себя уже, ну, как бы уже... Я, в принципе, уже написал, что все, не надо ничего заказать, но он вот не ответил, что как бы заказал, он не заказал, что там случилось. Но думаю, что не заказал.
— И вы мне тогда написали, что вы попросите в Таиланде их заказать, потому что...
— Да, я попросил, но он ломается страшно. Просто, как девочка, не могу дойти до DHL, это сложно, это пипец, не могу, ничего не могу.
Слушайте, я тут в Сербию отправлял ключ, ну, уехал, забыл ключ отдать хозяину, а там дочка съезжала. И как бы оказалось, что вот такая фигня, там 20 долларов стоит отправить. Вот, ну, отправил, дошел до почты.
— Не, ну, он говорит, что он типа не может оттуда отправить, говорит, ерунду говорит. А ты хоть, говорит, дойди до DHL. А он, нет, ломаться
Спикер 1:
Обновляет. То есть, видишь, вот запрос. Тебе виден экран сейчас, да? Вот — employee spending, и как бы всё видно: что он послал, что возвратил.Спикер 2: А Swagger он иногда почему-то... Ну, сейчас вроде он должен быть обновлён. Но да, в прошлый раз он его как бы просто... Если сейчас ещё чего-нибудь добавлять, он может не всегда добавить все вещи.
Спикер 1: То есть, тесты — они более живые. Потому что, хотя я ему каждый раз говорю: "Обновляй тесты, обновляй README, обновляй API docs", но он иногда как бы только часть делает. Потом приходится второй, третий раз напоминать.
Спикер 2: Но как бы окей, там он даже тесты делает специально. То есть, пытается от имени не владельца, а обычного админа что-нибудь удалить или что-нибудь ещё, и как бы проверяет, что система ему не даёт.
Спикер 1: То есть, он не только тестирует, что работает, но и тесты того, что отказывает.
Собеседник 1:
Пока всё в целом понятно. Если идти итерационно, то мне в ближайшую очередь понадобится трудника. Завтра-послезавтра распишу, когда к этому буду приближаться: какие поля мне нужны, какие функции.В целом, пока скоб у меня есть. Аппишка наперёд ушла. Мы сначала разрабатывали по админке, что ты делал, и потом уже аппишка. Сейчас очень хорошо получилось, потому что я ему дал твой адрес. Всё равно там много пришлось запросов делать, но это уже...
С моей стороны в этом плане есть косяки, потому что я не везде указывал пагинацию. Это я ему говорю. Он тоже иногда тупит: в одном месте вставить, в другом нет. Но я ему говорю: "Вставь компанию везде, вставь пагинацию везде, где имеет смысл."
Иногда бывают какие-то вещи, которые... условно авторизация — там не нужна пагинация. Он задел её на дереве, на запросе мне тоже выдаёт пагинацию. Это, наверное, из-за того, что я ему сказал вставить везде, где можно, и он решил, что там тоже можно. Вообще лишнее, но мне так-то не мешает.
Ну да, если её не использовать, то это не обязательные поля. У меня в целом вопросов больше нет.
Собеседник 2: Ну хорошо, тогда четвёртое число помни и пиши, если будут эти. Пока виртуального Дениса нет, буду обращаться к практическому.
Собеседник 1: Сейчас у меня утро, поэтому весь день я доступен, но у тебя уже вечер. А может быть к вечеру я попробую. Тут уже и я недоступен.
Собеседник 2: Ну да, я попробую пробросить, потому что на самом деле вроде как не должно быть сложно с помощью его же создать ему проброс. Единственное, что я с этого свинсерфа не смогу, но можно какую-нибудь модель поставить, более простую. Просто чтобы она была в контексте.
Да, в целом в этом смысла больше нет. У меня доступ к API есть, я просто тебе выгружу. Ромки сам будут спрашивать про проект.
Собеседник 1: Ну да, ну окей. Выйдет только локально. Если не получится, то я на это сильно время тратить не буду. Даже я сейчас думал, что может сейчас целыми тратить. Это бессмысленно. Ну, типа мне её выгрузить, скормить нейронке — и две минуты дела по факту.
Собеседник 2: Окей, тогда пиши мне, когда у тебя нейронка не справляется.
Собеседник 1: Окей, хорошо. И сам смотрите свою нейронку напрягать.
Собеседник 2: Да, ну по крайней мере я тогда нашу суперадминку перегенерирую, потому что она ещё на старом API.
Собеседник 1: Ну, всё тогда. Да?
Собеседник 2: Давай тогда.
Собеседник 1: Всё. Давай, пока. Хорошего дня.
Собеседник 2: Пока. Тебе тоже.
Редактор субтитров: А. Синецкая
Корректор: А. Егорова