-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Сейчас мы парсим ресурсы с помощью сайта https://git.door43.org/.
Это происходит в нескольких компонентах и в разных функциях.
Создание проекта ( парсим ресурсы и записываем url коммитов в базу данных) https://github.com/hiscoder-com/level/blob/ed59d4538aa1dba10fcfc9a9b16c73c405661d12/pages/api/projects/[code]/update_commits.js
Скачивание проекта для десктопной версии (скрипт идёт в https://git.door43.org/ и скачивает определённые файлы и архивирует это в zip)
level/components/Project/Download.js
Line 212 in ed59d45
| if (link.includes('commit')) { |
Парсим ресурсы внутри шагов в самих инструментах. - практически все роуты нашего API
https://github.com/hiscoder-com/level/tree/ed59d4538aa1dba10fcfc9a9b16c73c405661d12/pages/api/git
Делаем это примитивно - собирая вот такой url
const url = `${
process.env.NODE_HOST ?? 'https://git.door43.org'
}/${owner}/${repo}/raw/commit/${commit}${bookPath.slice(1)}`
затем фетчим этот url и полученные даные уже преобразовываем в json c помощью различных библиотек.
Сейчас это нельзя делать, потому что такие url можно получить, только авторизовавшись.
я сделал фикс, добавил свой токен, но в некоторых функциях это работает нестабильно.
Поэтому надо более надёжный вариант с использованием url не коммитов, а ветки мастер.
TODO
Найти все места, где:
происходит такой парсинг и поменять такой тип url на другой, с использованием ветки мастер, а не конкретного коммита
было так -
https://git.door43.org/translationCore-Create-BCS/ne_glt/raw/commit/d45bb78d4b9fd64366cb634d6fbaa6c6dfc4f00e/08-RUT.usfm
должно стать так -
https://git.door43.org/translationCore-Create-BCS/ne_glt/raw/branch/master/08-RUT.usfm
- Сначала в создании проекта (https://level.bible/ru/account?tab=2)
и в обновлении ресурсов проекта (https://level.bible/ru/projects/Mov_Ru/edit?setting=resources) - используется один компонент и одинаковые функции (доступ к созданию - только под ролью администратора, к редактированию - координатора).
a. переписать функции, которые записывают коммит
б. проверить, что это работает.
-
Нужно изменить url, которые парсятся внутри инструментов на шагах переводов.
-
И в конце - там где скачивается проект(мне кажется я это исправил, но там пока временный фикс.
После каждого фикса надо проверить, что это работает.
Когда на клиенте всё будет работать, то надо будет скорей всего изменить по всей базе данных.
Либо можно вариант простой - сделать поддержку и новых проектов с новым типом url и старый тип - что будет быстрей, надёжней и дешевле по времени