package com.nestedworld.nestedworld.data.network.http.implementation;

import com.nestedworld.nestedworld.BuildConfig;
import com.nestedworld.nestedworld.data.network.NetworkConstant;

public final class HttpEndPoint {
    /*
     * #############################################################################################
     * # Base URL related
     * #############################################################################################
     */
    private final static String DEV_URL = "http://api-dev.nestedworld.com";
    private final static String PROD_URL = "http://api.nestedworld.com";

    private final static String BASE_URL =
            (BuildConfig.ENVIRONMENT == NetworkConstant.Environement.DEV) ? DEV_URL
            : (BuildConfig.ENVIRONMENT == NetworkConstant.Environement.PROD) ? PROD_URL
            : DEV_URL;
    private final static String API_VERSION = "/v1/";
    public final static String BASE_END_POINT = BASE_URL + API_VERSION;

    /*
     * #############################################################################################
     * # Monster related
     * #############################################################################################
     */
    private final static String MONSTERS_PREFIX = "monsters";
    public final static String MONSTERS_LIST = MONSTERS_PREFIX;
    public final static String MONSTER_ATTACK = MONSTERS_PREFIX + "/{monsterId}/attacks";

    /*
     * #############################################################################################
     * # Place related
     * #############################################################################################
     */
    private final static String GEO_PREFIX = "geo";
    public final static String PORTALS_LIST = GEO_PREFIX + "/portals/{longitude}/{latitude}";

    /*
     * #############################################################################################
     * # User related
     * #############################################################################################
     */
    private final static String USER_PREFIX = "users/";
    public final static String USER_INFO = USER_PREFIX + "me";
    public final static String USER_FRIENDS = USER_PREFIX + "/friends/";
    public final static String USER_MONSTERS = USER_PREFIX + "/monsters";
    public final static String USER_INVENTORY = USER_INFO + "/inventory/";

    /*
     * #############################################################################################
     * # Object related
     * #############################################################################################
     */
    private final static String OBJECT_PREFIX = "objects/";
    public final static String OBJECT_LIST = OBJECT_PREFIX;
    public final static String OBJECT_DETAIL = "objects/{objectId}";

    /*
     * #############################################################################################
     * # Auth related
     * #############################################################################################
     */
    private final static String AUTH_PREFIX = USER_PREFIX + "auth/";
    public final static String USER_SIGN_IN = AUTH_PREFIX + "login/simple";
    public final static String USER_REGISTER = AUTH_PREFIX + "register";
    public final static String USER_PASSWORD = AUTH_PREFIX + "resetpassword";
    public final static String USER_LOGOUT = AUTH_PREFIX + "logout";

    /*
     * #############################################################################################
     * # Attack related
     * #############################################################################################
     */
    private final static String ATTACK_PREFIX = "attacks/";
    public final static String ATTACK_LIST = ATTACK_PREFIX;

    /*
     * #############################################################################################
     * # Constructor
     * #############################################################################################
     */
    private HttpEndPoint() {
        //Private constructor for avoiding this class to be construct
    }
}


@@ -2107,17 +2107,16 @@
 = %22users
-/
 %22;%0A    p
@@ -2168,16 +2168,17 @@
 EFIX + %22
+/
 me%22;%0A   
@@ -2243,17 +2243,16 @@
 /friends
-/
 %22;%0A    p
@@ -2391,17 +2391,165 @@
 nventory
-/
+%22;%0A    public final static String USER_DETAIL = USER_PREFIX + %22/%7BuserId%5D%22;%0A    public final static String USER_STATS = USER_PREFIX + %22/%7BuserId%5D/stats
 %22;%0A%0A    
@@ -2841,17 +2841,16 @@
 %22objects
-/
 %22;%0A    p
@@ -2948,24 +2948,25 @@
 T_DETAIL = %22
+/
 objects/%7Bobj
@@ -3279,13 +3279,13 @@
  + %22
+/
 auth
-/
 %22;%0A 
@@ -3344,16 +3344,17 @@
 EFIX + %22
+/
 login/si
@@ -3422,16 +3422,17 @@
 EFIX + %22
+/
 register
@@ -3496,16 +3496,17 @@
 EFIX + %22
+/
 resetpas
@@ -3573,16 +3573,17 @@
 EFIX + %22
+/
 logout%22;
@@ -3881,17 +3881,16 @@
 %22attacks
-/
 %22;%0A    p

Fix endpoint