رویدادهای برگزار کننده با نظم و ترتیب

سلام بر دوستداران علم و ادب

روزی روزگاری، دخترکی، همراه با تسک پر ملاتی، دوان دوان به میدان آمد و درخواست اجرایی شدنش را داشت.

داستان از این قراره که در صفحه برگزار کننده، رویدادهایی بدون نظم و ترتیب و یکی پس از دیگر در کنار هم چیده شدن و ممکنه رویداد قابل فروش ای در صفحات دیگه ای باشه در حالی که در صفحه اصلی دیده نشه و در صفحه اصلی رویداد غیرقابل فروش ای نشان بده که خوب از ایام قدیم گفته شده درسته نیست و دستور به درست شدنش صادر گردید، توسط دخترکی که دوان دوان به میدان آمده بود.

ترتیب فعلی رویداد ها به شرح زیر خواهد بود:

رویدادهای فعال
رویدادهای بلیت تمام کرده
رویدادهایی که مهلت خرید بلیت شان تمام شده است.
رویدادهای تاریخ پایان گذشته
رویدادهای لغو شده

موارد فوق الان در ریسورسی که قراره ازش پرده برداری بشه، اعمال شده و قابل دسترسی است.

برای گرفتن رویدادهای برگزار کننده به اسلاق (slug) سازمان نیاز است که در uri زیر قرار داده شود و درخواست برای گرفتن رویدادها ارسال شود:
GET https://api.evand.com/organizations/{organizationSlug}/events
{
    "data": [
        {
            "name": "test",
            "slug": "testasli",
            "city_name": "تهران",
            "online": false,
            "organization_name": "1002",
            "organization_slug": "1002",
            "start_date": "2019-02-10T12:00:00+0330",
            "end_date": "2019-01-01T10:01:01+0330",
            "cover": "",
            "minimum_ticket_price": 100,
            "maximum_ticket_price": 100,
            "salable": true
        }
    ],
    "meta": {
        "pagination": {
            "total": 34,
            "count": 1,
            "per_page": 1,
            "current_page": 1,
            "total_pages": 34
        }
    }
}

در خروجی گرفته شده از ریسورس مربوطه بصورت پیش فرض ۱۰ رویداد برگشت داده می شه (در صورت موجود بودن) ولی برای زیاد نشدن حجم قصه، اینجا فقط یه رویداد قرار دادیم.

پارامترهای ریسورس
دو مقداری که می شه برای این ریسورس تغیین کرد و مقدار پیش فرضی هم دارن به شرح زیر است که در uri به صورت query string می شه به ریسورس پاس داد:

یکی per_page و دیگری page می باشد که مقدار هر دو عدد می باشد و مقدار پیش فرض هم به ترتیب ۱۰ و ۱ می باشد.

فیلد جدید رویداد
نکته ای که قابل ذکر است، اضافه شدن فیلد salable‌ به لیست فیلدهای هر رویداد می باشد که این فیلد  توسط مهدی نامور پیشنهاد شده بود، البته اسم پیشنهادی available بود که خوب از نظرم دقیق اشاره به هدفی که داشت، بنظر حسین بالا بیردانا، نداشت  در نتیجه اسم دیگه ای براش در نظر گرفت.
مقدار این فیلد boolean خواهد بود و از سه پارامتر برای محاسبش استفاده شده.

کنسل بودن رویداد
تاریخ اتمام رویداد
بلیت های موجود و قابل خرید رویداد

در صورتی که کنسل باشه و یا تاریخ رویداد تمام شده باشه و یا بلیت ای قابل خرید نباشد مقدار فیلد salable برای با false و در غیر اینصورت در صورت قابل خرید بودن هم مقدار true را در بر خواهد داشت.

همین.

پست‌های معروف از این وبلاگ

استفاده از Refresh Token جهت دریافت توکن‌های معتبر جدید (کانکت)

لیست کاربران نشان شده - سرویس کانکت

بلیت خریداری شده کاربر در رویداد