Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Исправить avatar на avatar_id для текущего кода (#146) #147

Merged
merged 1 commit into from
Nov 24, 2023

Conversation

birthdaysgift
Copy link
Member

В рамках работы над задачами добавления сваггера для профиля (#95), дружбы (#100) и желания (#104), мы предполагали, что файл будет иметь строковый тип и будет представлен ссылкой, поэтому в код сваггера мы добавили его в таком виде:

"avatar": "/files/0b928aaa-521f-47ec-8be5-396650e2a187"

И схемы для сваггера выглядели соответствующим образом:

class Avatar(str):
    """Avatar value field."""

class Profile(Schema):

    ...  # something here

    avatar: Avatar | None

    ...  # something here

Также исходя из этого предположения, во время работы над задачей реализации эндпойнта регистрации (#88) была добавлена колонка avatar в модель Profile с типом строка:

avatar: Mapped[str | None] = mapped_column(String, unique=True)

Но после того, как мы начали работать над задачей добавления сваггера для эндпойнтов файла (#108), мы поняли, что вместо строкового типа нам надо использовать uuid в качестве идентификатора файла. Из этого следует, что нам необходимо внести следующие изменения в уже существующий код, описаный выше:

  • Заменить avatar (string) на avatar_id (uuid) в существующих схемах и примерах сваггера
  • Заменить avatar (string) на avatar_id (uuid) в существующей модели базы данных (Profile)

В рамках этой задачи необходимо внести изменения, описанные выше.


Примечания

Внесения подобных изменений можно было бы избежать, если бы схема для работы с файлами была продумана и добавлена в репозиторий заранее. Т.е. сваггер для эндпойнтов файлов, необходимо было добавить ещё до того, как будет добавлен хоть какой-то сваггер для эндпойнтов приложения, т.к. эндпойнты приложения используют файлы, и необходимо знать заранее как мы планируем работать с файлами.

Но поскольку это не было сделано вовремя, то сейчас необходимо внести правки в уже существующий функционал, а так же добавить сваггер для эндпойнтов файла (#108) и реализацию для них этих эндпойнтов, до того как будет добавлен какой-либо новый функционал приложения.

В рамках работы над задачами добавления сваггера для профиля (#95), дружбы (#100) и желания (#104), мы предполагали, что файл будет иметь строковый тип и будет представлен ссылкой, поэтому в код сваггера мы добавили его в таком виде:
```python
"avatar": "/files/0b928aaa-521f-47ec-8be5-396650e2a187"
```
И схемы для сваггера выглядели соответствующим образом:
```python
# src/profile/fields.py:
class Avatar(str):
    """Avatar value field."""

# src/profile/schemas.py:
class Profile(Schema):

    ...  # something here

    avatar: Avatar | None

    ...  # something here
```

Также исходя из этого предположения, во время работы над задачей реализации эндпойнта регистрации (#88) была добавлена колонка `avatar` в модель `Profile` с типом строка:
```python
avatar: Mapped[str | None] = mapped_column(String, unique=True)
```

Но после того, как мы начали работать над задачей добавления сваггера для эндпойнтов файла (#108), мы поняли, что вместо строкового типа нам надо использовать uuid в качестве идентификатора файла. Из этого следует, что нам необходимо внести следующие изменения в уже существующий код, описаный выше:

- Заменить `avatar` (string) на `avatar_id` (uuid) в существующих схемах и примерах сваггера
- Заменить `avatar` (string) на `avatar_id` (uuid) в существующей модели базы данных (`Profile`)

В рамках этой задачи необходимо внести изменения, описанные выше.

---

**Примечания**

Внесения подобных изменений можно было бы избежать, если бы схема для работы с файлами была продумана и добавлена в репозиторий заранее. Т.е. сваггер для эндпойнтов файлов, необходимо было добавить ещё до того, как будет добавлен хоть какой-то сваггер для эндпойнтов приложения, т.к. эндпойнты приложения используют файлы, и необходимо знать заранее как мы планируем работать с файлами.

Но поскольку это не было сделано вовремя, то сейчас необходимо внести правки в уже существующий функционал, а так же добавить сваггер для эндпойнтов файла (#108) и реализацию для них этих эндпойнтов, до того как будет добавлен какой-либо новый функционал приложения.
@birthdaysgift birthdaysgift changed the title Исправить file на file_id для текущего кода (#146) Исправить avatar на avatar_id для текущего кода (#146) Nov 24, 2023
@birthdaysgift birthdaysgift force-pushed the fix-file-to-be-file-id branch 2 times, most recently from 46d9580 to 768108c Compare November 24, 2023 09:43
@birthdaysgift birthdaysgift merged commit 768108c into develop Nov 24, 2023
@birthdaysgift birthdaysgift deleted the fix-file-to-be-file-id branch November 24, 2023 09:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Исправить avatar на avatar_id для текущего кода
1 participant