/*
 * Copyright (c) Kuba Szczodrzyński 2019-10-6. 
 */

package pl.szczodrzynski.edziennik.api.v2.vulcan

import pl.szczodrzynski.edziennik.api.v2.*
import pl.szczodrzynski.edziennik.api.v2.models.Feature

const val ENDPOINT_VULCAN_API_STUDENT_LIST        = 1000
const val ENDPOINT_VULCAN_API_DICTIONARIES        = 1010
const val ENDPOINT_VULCAN_API_TIMETABLE           = 1020
const val ENDPOINT_VULCAN_API_EVENTS = 1030
const val ENDPOINT_VULCAN_API_GRADES              = 1040
const val ENDPOINT_VULCAN_API_GRADES_SUMMARY      = 1050
const val ENDPOINT_VULCAN_API_HOMEWORK            = 1060
const val ENDPOINT_VULCAN_API_NOTICES             = 1070
const val ENDPOINT_VULCAN_API_ATTENDANCE          = 1080
const val ENDPOINT_VULCAN_API_MESSAGES_INBOX      = 1090
const val ENDPOINT_VULCAN_API_MESSAGES_SENT       = 1100

val VulcanFeatures = listOf(
        // timetable
        Feature(LOGIN_TYPE_VULCAN, FEATURE_TIMETABLE, listOf(
                ENDPOINT_VULCAN_API_TIMETABLE to LOGIN_METHOD_VULCAN_API
        ), listOf(LOGIN_METHOD_VULCAN_API)),
        // agenda
        Feature(LOGIN_TYPE_VULCAN, FEATURE_AGENDA, listOf(
                ENDPOINT_VULCAN_API_EVENTS to LOGIN_METHOD_VULCAN_API
        ), listOf(LOGIN_METHOD_VULCAN_API)),
        // grades
        Feature(LOGIN_TYPE_VULCAN, FEATURE_GRADES, listOf(
                ENDPOINT_VULCAN_API_GRADES to LOGIN_METHOD_VULCAN_API,
                ENDPOINT_VULCAN_API_GRADES_SUMMARY to LOGIN_METHOD_VULCAN_API
        ), listOf(LOGIN_METHOD_VULCAN_API)),
        // homework
        Feature(LOGIN_TYPE_VULCAN, FEATURE_HOMEWORK, listOf(
                ENDPOINT_VULCAN_API_HOMEWORK to LOGIN_METHOD_VULCAN_API
        ), listOf(LOGIN_METHOD_VULCAN_API)),
        // behaviour
        Feature(LOGIN_TYPE_VULCAN, FEATURE_BEHAVIOUR, listOf(
                ENDPOINT_VULCAN_API_NOTICES to LOGIN_METHOD_VULCAN_API
        ), listOf(LOGIN_METHOD_VULCAN_API)),
        // attendance
        Feature(LOGIN_TYPE_VULCAN, FEATURE_ATTENDANCE, listOf(
                ENDPOINT_VULCAN_API_ATTENDANCE to LOGIN_METHOD_VULCAN_API
        ), listOf(LOGIN_METHOD_VULCAN_API)),
        // messages
        Feature(LOGIN_TYPE_VULCAN, FEATURE_MESSAGES_INBOX, listOf(
                ENDPOINT_VULCAN_API_MESSAGES_INBOX to LOGIN_METHOD_VULCAN_API
        ), listOf(LOGIN_METHOD_VULCAN_API)),
        Feature(LOGIN_TYPE_VULCAN, FEATURE_MESSAGES_SENT, listOf(
                ENDPOINT_VULCAN_API_MESSAGES_SENT to LOGIN_METHOD_VULCAN_API
        ), listOf(LOGIN_METHOD_VULCAN_API)),

        Feature(LOGIN_TYPE_VULCAN, FEATURE_ALWAYS_NEEDED, listOf(
                ENDPOINT_VULCAN_API_STUDENT_LIST to LOGIN_METHOD_VULCAN_API,
                ENDPOINT_VULCAN_API_DICTIONARIES to LOGIN_METHOD_VULCAN_API
        ), listOf(LOGIN_METHOD_VULCAN_API))
        /*Feature(LOGIN_TYPE_VULCAN, FEATURE_STUDENT_INFO, listOf(
                ENDPOINT_VULCAN_API to LOGIN_METHOD_VULCAN_WEB
        ), listOf(LOGIN_METHOD_VULCAN_WEB)),
        Feature(LOGIN_TYPE_VULCAN, FEATURE_STUDENT_NUMBER, listOf(
                ENDPOINT_VULCAN_API to LOGIN_METHOD_VULCAN_WEB
        ), listOf(LOGIN_METHOD_VULCAN_WEB)),
        Feature(LOGIN_TYPE_VULCAN, FEATURE_SCHOOL_INFO, listOf(
                ENDPOINT_VULCAN_API to LOGIN_METHOD_VULCAN_WEB
        ), listOf(LOGIN_METHOD_VULCAN_WEB)),
        Feature(LOGIN_TYPE_VULCAN, FEATURE_CLASS_INFO, listOf(
                ENDPOINT_VULCAN_API to LOGIN_METHOD_VULCAN_WEB
        ), listOf(LOGIN_METHOD_VULCAN_WEB)),
        Feature(LOGIN_TYPE_VULCAN, FEATURE_TEAM_INFO, listOf(
                ENDPOINT_VULCAN_API to LOGIN_METHOD_VULCAN_WEB
        ), listOf(LOGIN_METHOD_VULCAN_WEB)),
        Feature(LOGIN_TYPE_VULCAN, FEATURE_TEACHERS, listOf(
                ENDPOINT_VULCAN_API to LOGIN_METHOD_VULCAN_WEB
        ), listOf(LOGIN_METHOD_VULCAN_WEB)),
        Feature(LOGIN_TYPE_VULCAN, FEATURE_SUBJECTS, listOf(
                ENDPOINT_VULCAN_API to LOGIN_METHOD_VULCAN_WEB
        ), listOf(LOGIN_METHOD_VULCAN_WEB)),
        Feature(LOGIN_TYPE_VULCAN, FEATURE_CLASSROOMS, listOf(
                ENDPOINT_VULCAN_API to LOGIN_METHOD_VULCAN_WEB
        ), listOf(LOGIN_METHOD_VULCAN_WEB)),*/

)
