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

API version migration from v0.6 to v0.7 #17

Closed
wants to merge 9 commits into from

Conversation

CheK539
Copy link
Collaborator

@CheK539 CheK539 commented Sep 27, 2023

This pull request closes uploadcare#78

@CheK539 CheK539 requested a review from onthecrow September 27, 2023 16:12
@CheK539 CheK539 self-assigned this Sep 27, 2023
/**
* Add special fields to the file object in the result.
*
* @param fields Example: "rekognition_info"
*/
fun addFields(fields: String): FilesQueryBuilder {
parameters["add_fields"] = AddFieldsParameter(fields)
fun include(fields: String): FilesQueryBuilder {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А ничего что мы ломаем апи взаимодействия с либой? Мы же можем оставить тот же нейминг чтобы клиентам было меньше рефакторить кода после обновления на новую версию либы?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Мы можем оставить тот же нейминг, чтобы не ломать обратную совместимость, но это будет выглядеть странно, как минимум потому, что в доке апи они для либы свифта используют именно include. Можно сделать, конечно старый метод deprecated, и вызывать в нем include. Но я изначально в issue описывал именно переименование методов
image

fun addFields(fields: String): FilesQueryBuilder {
parameters["add_fields"] = AddFieldsParameter(fields)
fun include(fields: String): FilesQueryBuilder {
parameters["include"] = IncludeParameter(fields)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тот же вопрос по сути тут, зачем переименовал класс, только для семантики?

@@ -142,11 +142,11 @@ class UploadcareClient constructor(val publicKey: String,
* @param fileId Resource UUID
* @return UploadcareFile resource
*/
fun getFileWithRekognitionInfo(fileId: String): UploadcareFile {
fun getFileWithAppData(fileId: String): UploadcareFile {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Название метода поменял, а в комментах Rekognition Info так и оставил.
И настолько ли важно переименовывать метод?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Что вообще такое RecognitionInfo и AppData, мб я что-то не понимаю без контекста?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Как я понял, AppData это объект с результатами аддонов, они были добавлены в 0.7 версии и позволяют проводить разные операции над файлом, типа удалить бэкграунд изображения, просканировать на вирусы и подобное. Переименование здесь обязательно, потому что это другая модель, RekognitionInfo был какой-то мапой категориями

append("Variations: $variations").append(newline)
append("Rekognition Info: $rekognitionInfo").append(newline)
append("Appdata: $appdata").append(newline)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

appendLine("Appdata: $appdata")
appendLine("Content info: $contentInfo")
appendLine("Metadata: $metadata")

?


@Suppress("unused")
enum class ColorMode {
RGB, RGBA, RGBa, RGBX, L, LA, La, P, PA, CMYK, YCbCr, HSV, LAB
}

@Parcelize
data class Appdata(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

У меня такой вопрос, а ты проверял как все это работает, что все запросы которые с бэка приходят норм в эти модели десериализуются?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Да, проверено

@CheK539 CheK539 closed this Oct 19, 2023
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.

API version migration from v0.6 to v0.7
2 participants