package org.wso2.carbon.device.mgt.ios.dep;

/**
 * This class contains constants related Apple DEP.
 */
public class DEPConstants {

    private DEPConstants(){
    }

    public static final String HMAC_SHA1 = "HmacSHA1";
    public static final String ENC_UTF_8 = "UTF-8";

    /*	---------------------------------------------------------------------------------------
                                    HTTP Connection information for DEP
     ---------------------------------------------------------------------------------------	*/
    public static final String USER_AGENT = "ProfileManager-1.9";
    public static final String PROTOCOL_VERSION = "2";
    public static final String HTTP_POST = "POST";
    public static final String HTTP_GET = "GET";
    public static final String HTTP_PUT = "PUT";
    public static final String HTTP_DELETE = "DELETE";
    public static final String APPLICATION_JSON_TYPE = "application/json";
    public static final String APPLICATION_JSON_CHARSET = "application/json;charset=UTF8";
    public static final int DEFAULT_RESPONSE_CODE = -1;

    /*	---------------------------------------------------------------------------------------
                                OAuth related information for DEP
    ---------------------------------------------------------------------------------------	*/
    public static final String SIGNATURE_METHOD = "HMAC-SHA1";
    public static final String OAUTH_VERSION = "1.0";
    public static final int NONCE_MULTIPLIER = 100000000;
    public static final int TIMESTAMP_DIVIDER = 1000;

    /*	---------------------------------------------------------------------------------------
                            Server Token related information for DEP
    ---------------------------------------------------------------------------------------	*/
    public static final String CONSUMER_KEY = "consumerKey";
    public static final String CONSUMER_SECRET = "consumerSecret";
    public static final String ACCESS_TOKEN = "accessToken";
    public static final String ACCESS_SECRET = "accessSecret";
    public static final String ACCESS_TOKEN_EXPIRY = "accessTokenExpiry";
    public static final String DEP_TOKEN_CONFIGURATION_NAME = "depToken";


    /*	---------------------------------------------------------------------------------------
                                    DEP related file paths
     ---------------------------------------------------------------------------------------	*/
    public static final String UPLOAD_LOCATION = "/repository/resources/security/";
    public static final String DECRYPTED_TOKEN_LOCATION = "/repository/resources/security/token.json";


    /*	---------------------------------------------------------------------------------------
                                    DEP Web Services URL
     ---------------------------------------------------------------------------------------	*/
    public static final String BASE_URL = "https://mdmenrollment.apple.com/";
    public static final String AUTH_SESSION_URL = BASE_URL + "session";
    public static final String ACCOUNT_DETAILS_URL = BASE_URL + "account";
    public static final String FETCH_DEVICES_URL = BASE_URL + "server/devices";
    public static final String SYNC_DEVICES_URL = BASE_URL + "devices/sync";
    public static final String DEVICE_DETAILS_URL = BASE_URL + "devices";
    public static final String DISOWN_DEVICES_URL = BASE_URL + "devices/disown";
    public static final String DEFINE_PROFILE_URL = BASE_URL + "profile";
    public static final String ASSIGN_PROFILE_URL = BASE_URL + "profile/devices";
    public static final String FETCH_PROFILE_URL = BASE_URL + "profile";
    public static final String REMOVE_PROFILE_URL = BASE_URL + "profile/devices";

    public static final String DEVICE_ADDED = "added";
    public static final String DEVICE_DELETED = "deleted";
    public static final String DEVICE_MODIFIED = "modified";

    public static final String PROFILE_STATUS_EMPTY = "empty";
    public static final String PROFILE_STATUS_ASSIGNED = "assigned";

    public static final String PROFILE_ASSIGNED_SUCCESS = "SUCCESS";
    public static final String AGENT_PACKAGE_NAME = "agentPackageName";

}
