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

Reorganizacja struktury odpowiedzi JSON dla endpointu get_by_code #3820

Open
WezSieTato opened this issue May 10, 2024 · 1 comment · May be fixed by #4003
Open

Reorganizacja struktury odpowiedzi JSON dla endpointu get_by_code #3820

WezSieTato opened this issue May 10, 2024 · 1 comment · May be fixed by #4003

Comments

@WezSieTato
Copy link
Member

Opis:

W celu usprawnienia struktury danych zwracanych przez endpoint get_by_code, proponuje się przeniesienie tablicy all_company_brands z najwyższego poziomu odpowiedzi bezpośrednio do obiektu company w tablicy companies. Zmiana ta ma na celu uproszczenie struktury danych oraz ułatwienie dostępu do informacji o markach związanych z daną firmą bezpośrednio w kontekście tej firmy.

Szczegóły zmiany:

Aktualnie tablica all_company_brands jest umieszczona na najwyższym poziomie odpowiedzi JSON. Proponuje się przeniesienie tej tablicy do każdego obiektu company w tablicy companies. Każdy obiekt company powinien zawierać tablicę brands, która będzie zawierać te same obiekty co aktualna tablica all_company_brands.

Przykładowa odpowiedz dla wywołania https://www.pola-app.pl/a/v4/get_by_code?code=9771644705002&device_id=%220%22

{
  "product_id": 856,
  "code": "9771644705002",
  "name": "Klub Jagielloński",
  "card_type": "type_white",
  "altText": null,
  "companies": [
    {
      "name": "Klub Jagielloński",
      "plCapital": 100,
      "plWorkers": 100,
      "plRnD": 100,
      "plRegistered": 100,
      "plNotGlobEnt": 100,
      "plScore": 100,
      "official_url": "https://klubjagiellonski.pl/",
      "logotype_url": "https://kj-pola-app-company-logotype.s3.amazonaws.com/logo/2023/12/17/KJ_ksiega_05__Logo_podstawowe_4.png",
      "is_friend": false,
      "description": "Klub Jagielloński to republikańskie, niepartyjne stowarzyszenie łączące społeczników, ekspertów, publicystów i naukowców młodego pokolenia chcących działać razem na rzecz dobra wspólnego. Pracujemy na rzecz sprawnego państwa i podmiotowości obywateli. Klub jest wydawcą aplikacji Pola.\nTen producent posiada marki: Pola. Zabierz ją na zakupy, Pressje.",
      "sources": {
        "www": "https://klubjagiellonski.pl/projekty/centrum-analiz/"
      },
      "brands": [
        {
          "name": "Pressje",
          "logotype_url": "https://kj-pola-app-company-logotype.s3.amazonaws.com/brand-logotype/2024/03/25/KJ_ksiega_05__Logo_Pressje.png"
        },
        {
          "name": "Pola. Zabierz ją na zakupy",
          "logotype_url": "https://kj-pola-app-company-logotype.s3.amazonaws.com/brand-logotype/2024/03/25/pola_logo_1.png"
        }
      ]
    }
  ],
  "report": {
    "text": "Zgłoś jeśli posiadasz bardziej aktualne dane na temat tego produktu",
    "button_text": "Zgłoś",
    "button_type": "type_white"
  },
  "donate": {
    "show_button": true,
    "title": "1,5% podatku na aplikację Pola?",
    "url": "https://www.pola-app.pl/1-5-podatku-na-aplikacje-pola"
  }
}
@KiloGram77
Copy link

KiloGram77 commented Feb 8, 2025

Sprawdziłem strukturę zwracaną w podpiętej prce i wygląda tak:

{
   "product_id":23,
   "code":"5901588018768",
   "name":"company-name",
   "card_type":"type_white",
   "altText":null,
   "companies":[
      {
         "name":"company-name",
         "plCapital":null,
         "plCapital_notes":null,
         "plWorkers":null,
         "plWorkers_notes":null,
         "plRnD":null,
         "plRnD_notes":null,
         "plRegistered":null,
         "plRegistered_notes":null,
         "plNotGlobEnt":null,
         "plNotGlobEnt_notes":null,
         "plScore":null,
         "official_url":null,
         "logotype_url":"http://minio:9000/pola-app-company-logotype/company-logotype/2025/01/08/Best-Small-Towns-in-the-UK-for-Fall-Foliage-Rye-England_-Melinda-Nag.png",
         "is_friend":false,
         "description":"",
         "sources":{
            
         },
         "brands":[
            {
               "name":"E.Wedel",
               "logotype_url":"http://minio:9000/pola-app-company-logotype/brand-logotype/2025/02/08/Best-Small-Towns-in-the-UK-for-Fall-Foliage-Rye-England_-Melinda-Nagy_.png",
               "website_url":"example.pl"
            }
         ]
      }
   ],
   "report":{
      "text":"Zg\u0142o\u015b je\u015bli posiadasz bardziej aktualne dane na temat tego produktu",
      "button_text":"Zg\u0142o\u015b",
      "button_type":"type_white"
   },
   "donate":{
      "show_button":true,
      "title":"1,5% podatku na aplikacj\u0119 Pola?",
      "url":"https://www.pola-app.pl/1-5-podatku-na-aplikacje-pola"
   }
}

Z tego co patrzę to odpowiada to proponowanej strukturze.
@WezSieTato możesz jeszcze rzucić okiem. Daje akcept powiązanej prce ale z mergowaniem poczekałbym do czasu aż udrożnimy wypychanie rzeczy na proda.
Zastanawiam się też nad taką zmianą struktury danych w endpoincie bo równolegle wgrywamy do tego front czy też zmiana na wpływa na działanie frontu (w sensie, że nic się nie wywali) ?

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 a pull request may close this issue.

2 participants