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

Closed
birthdaysgift opened this issue Nov 21, 2023 · 0 comments · Fixed by #147
Closed

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

birthdaysgift opened this issue Nov 21, 2023 · 0 comments · Fixed by #147
Assignees

Comments

@birthdaysgift
Copy link
Member

birthdaysgift commented Nov 21, 2023

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

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

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

# 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 с типом строка:

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 self-assigned this Nov 21, 2023
@birthdaysgift birthdaysgift changed the title Заменить file на file_id для текущего кода Исправить file на file_id для текущего кода Nov 21, 2023
birthdaysgift added a commit that referenced this issue Nov 21, 2023
В рамках работы над задачами добавления сваггера для профиля (#95), дружбы (#100) и желания (#104), мы предполагали, что файл будет иметь строковый тип и будет представлен ссылкой, поэтому в код сваггера мы добавили его в таком виде:
```python
"avatar": "/files/0b928aaa-521f-47ec-8be5-396650e2a187"
```
И схемы для сваггера выглядели соответствующим образом:
```python
class Avatar(str):
    """Avatar value field."""

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 для текущего кода Исправить avatar на avatar_id для текущего кода Nov 24, 2023
birthdaysgift added a commit that referenced this issue Nov 24, 2023
В рамках работы над задачами добавления сваггера для профиля (#95), дружбы (#100) и желания (#104), мы предполагали, что файл будет иметь строковый тип и будет представлен ссылкой, поэтому в код сваггера мы добавили его в таком виде:
```python
"avatar": "/files/0b928aaa-521f-47ec-8be5-396650e2a187"
```
И схемы для сваггера выглядели соответствующим образом:
```python
class Avatar(str):
    """Avatar value field."""

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 added a commit that referenced this issue Nov 24, 2023
В рамках работы над задачами добавления сваггера для профиля (#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) и реализацию для них этих эндпойнтов, до того как будет добавлен какой-либо новый функционал приложения.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
1 participant