Контекст
В проекте используется идентификатор команды в двух форматах: teamSlug и teamId. Использование slug в API-контрактах, схемах валидации и клиентской логике приводит к дублированию подходов, усложняет поддержку и создает дополнительные зависимости от человекочитаемых идентификаторов.
Необходимо завершить переход на использование teamId как единственного идентификатора команды и удалить оставшиеся упоминания teamSlug из проекта.
Технические требования
- Локация логики:
src/entities/team/**/*.ts, src/entities/projects/**/*.ts, src/features/team/**/*.ts, src/features/projects/**/*.ts, src/entities/user/**/*.ts, src/pages/team/**/*.ts, src/pages/project/**/*.ts, src/pages/profile/**/*.ts, src/widgets/app-sidebar/**/*.ts, src/widgets/quick-create/ui/QuickCreate.ts, src/app/layouts/SidebarLayout.ts
- Инструменты:
TypeScript, Zod, React, существующая архитектура проекта
- Логика работы:
- Заменить использование
slug, teamSlug на teamId во всех слоях приложения.
- Обновить схемы валидации и типы данных в соответствии с новыми контрактами.
- Удалить устаревшие поля, типы и зависимости, связанные со slug.
- Сохранить существующее поведение приложения без изменения бизнес-логики
Основные изменения
- Обновить пользовательские схемы:
UserActivityResponse
ProfileUpdateBody
- Удалить
teamSlug из API-контрактов и клиентской логики.
- Перевести все обращения к командам на использование
teamId.
Цель и критерии приемки (Definition of Done)
Важные указания
- Совместимость: не изменять пользовательское поведение приложения.
- Безопасность: сохранить существующую валидацию входных и выходных данных.
- Рефакторинг: изменения должны касаться только перехода с
teamSlug на teamId и сопутствующих обновлений схем.
- Тестирование: проверить создание, получение и обновление данных команд после миграции на новый идентификатор.
Контекст
В проекте используется идентификатор команды в двух форматах:
teamSlugиteamId. Использование slug в API-контрактах, схемах валидации и клиентской логике приводит к дублированию подходов, усложняет поддержку и создает дополнительные зависимости от человекочитаемых идентификаторов.Необходимо завершить переход на использование
teamIdкак единственного идентификатора команды и удалить оставшиеся упоминанияteamSlugиз проекта.Технические требования
src/entities/team/**/*.ts,src/entities/projects/**/*.ts,src/features/team/**/*.ts,src/features/projects/**/*.ts,src/entities/user/**/*.ts,src/pages/team/**/*.ts,src/pages/project/**/*.ts,src/pages/profile/**/*.ts,src/widgets/app-sidebar/**/*.ts,src/widgets/quick-create/ui/QuickCreate.ts,src/app/layouts/SidebarLayout.tsTypeScript,Zod,React, существующая архитектура проектаslug,teamSlugнаteamIdво всех слоях приложения.Основные изменения
UserActivityResponseProfileUpdateBodyteamSlugиз API-контрактов и клиентской логики.teamId.Цель и критерии приемки (Definition of Done)
slugиteamSlugудалены из проекта.teamId.UserActivityResponseиProfileUpdateBody.Важные указания
teamSlugнаteamIdи сопутствующих обновлений схем.