رویدادهای مشابه - با طعمی متفاوت
سلام
نسخه جدیدی از رویداد های مشابه ساخته و افتتاح گشت. دلیل این امر هم این بود به همزمان نیاز نباشه با فرانت جلو بریم و نسخه قبلی هم که فعلا استفاده می شه دست نخورده باقی مانده است.
ساختار رویدادهای نسخه جدید هم فرق کرده و property هر رویداد به شکل وحشت ناکی کمتر شده.
دلایلی هم این امر داشته که فعلا داخلش نمی شویم.
برای دریافت رویدادهای مشابه، هر رویدادی به شکل زیر درخواستی می فرستیم:
GET https://api.evand.com/v2/events/{eventSlug}/similar
که در لینک فوق یکی eventSlug رو با اسلاگ رویداد جایگزین می کنید و هم اینکه v2 به لینک اضافه شده که با حذف اون، رویدادهای مشابه قبلی لود می شه
دیتای برگشتی برای ریسورس فوق هم به این شکل خواهد بود:
{
"data": [
{
"name": "دوره دفاع از شبکه-CND",
"slug": "cnd1-summer-clickpro",
"city_name": "تهران",
"online": false,
"organization_name": "کلیک پرو",
"organization_slug": "کلیک-پرو-430947",
"start_date": "2018-11-11T16:00:00+0330",
"end_date": "2018-12-16T20:00:00+0330",
"cover": "https://static.evand.net/images/events/covers/original/170716621dc3c6a48216e476c47a39b7.jpg",
"minimum_ticket_price": 1400000,
"maximum_ticket_price": 1400000
},
{
"name": "دوره مقدماتی تحلیل بدافزارها - IMA",
"slug": "ima-1-summer-clickpro",
"city_name": "تهران",
"online": false,
"organization_name": "کلیک پرو",
"organization_slug": "کلیک-پرو-430947",
"start_date": "2018-11-18T14:00:00+0330",
"end_date": "2018-12-25T17:00:00+0330",
"cover": "https://static.evand.net/images/events/covers/original/6e7d1b8fe7e568fa80ecb9859fb59bf2.jpg",
"minimum_ticket_price": 945000,
"maximum_ticket_price": 945000
},
{
"name": "ابزارها، تکنیک\u200cها و اکسپلویت\u200cهای نفوذگرها و مدیریت رخداد-SEC504",
"slug": "sec504-summer-clickpro",
"city_name": "تهران",
"online": false,
"organization_name": "کلیک پرو",
"organization_slug": "کلیک-پرو-430947",
"start_date": "2018-12-11T16:00:00+0330",
"end_date": "2018-12-23T20:00:00+0330",
"cover": "https://static.evand.net/images/events/covers/original/9c9cdf4548bb8151bcfd79ada80bf389.jpg",
"minimum_ticket_price": 1500000,
"maximum_ticket_price": 1500000
},
{
"name": "دوره جامع CCNP",
"slug": "ccnp-summer-clickpro",
"city_name": "تهران",
"online": false,
"organization_name": "کلیک پرو",
"organization_slug": "کلیک-پرو-430947",
"start_date": "2019-01-08T17:00:00+0330",
"end_date": "2019-05-23T20:00:00+0330",
"cover": "https://static.evand.net/images/events/covers/original/12d9acde1a6bff6440bd7a4867ec88f4.jpg",
"minimum_ticket_price": 2600000,
"maximum_ticket_price": 2600000
}
]
}
نکته ای که وجود داره، این ریسورس صفحه بندی نداره و تعداد آیتم هاش به ۴ تا محدود می شه. و قابلیت های include هم امان پذیر نیست و صرفا هر چیزی که قابل استفاده باشه برگشت داده شده و چیز مخفی دیگری هم درست نهفته نشده است. (شکلک با تشکر)
(راستش راجب این مسئله فکر کردم، تو این ریسورس هیچ وقت نباید رویدادی که available اش false باشه بیاد، در نتنیجه نیازی هم نیست داشته باشیمش. صرفا به این خاطر که بعدا در لیست ها هم خروج رو همین شکلی در بیاریم، دلیل منطقی ای نیست که اینم الکی بزاریم. برای همین پاکش کردم و در این ریسورس قابل دسترس نیست )
مورد بعدی هم حداقل قیمت و حداکثر قیمت بلیت هاست که از ریسورس فوق می شه گرفت و نیازی به include بازی نیست.
و در نهایت اینکه این ریسورس مستقیم از elastic می خونه و ترکیدن elastic برابر با در دسترس نبود این ریسورس خواهد بود که شاید بهتر باشه خطای ۵۰۰ رو هم بتونید هندل کنید که اگه مثلا این خطا رو گرفتید کلا بخش رویدادهای مشابه رو نشون ندید.