<NME> api_endpoint_config.js
<BEF> class ApiEndpointConfig {
    constructor() {
        this.actions = {};

        /** Экшены по умолчанию для всех */
        let defaultActions = {
            'GET': 'get',
            'PUT': 'update',
            'POST': 'save',
            'PATCH': 'patch',
            'DELETE': 'remove'
        };

        let self = this;
        angular.forEach(defaultActions, function (alias, method) {
            self.addHttpAction(method, alias);
        });
    }

    /** URI после base route **/
    route(route) {
        this.route = route;
        return this;
    };

    model(model) {
        this.model = model;
        return this;
    };

    /**
     * @param {string} method - HTTP медот для этого экшена (GET, POST, etc.)
     * @param {string} name - Имя экшена которое будет вызываться
     * @param {Object=} params - параметры для данного метода
     */
    addHttpAction(method, name, params) {
        this.actions[name] = angular.merge({method: method.toUpperCase()}, params);
        return this;
    };
}

export default ApiEndpointConfig;
<MSG> Add enableHttpParamSerializerJQLikeMode feature, and small refactoring.

<DFF> @@ -1,8 +1,9 @@
 class ApiEndpointConfig {
     constructor() {
         this.actions = {};
+        this.modelClass = false;
 
-        /** Экшены по умолчанию для всех */
+        /** Default actions */
         let defaultActions = {
             'GET': 'get',
             'PUT': 'update',
@@ -11,27 +12,26 @@ class ApiEndpointConfig {
             'DELETE': 'remove'
         };
 
-        let self = this;
-        angular.forEach(defaultActions, function (alias, method) {
-            self.addHttpAction(method, alias);
+        angular.forEach(defaultActions, (alias, method) => {
+            this.addHttpAction(method, alias);
         });
     }
 
-    /** URI после base route **/
+    /** URI after base route **/
     route(route) {
         this.route = route;
         return this;
     };
 
     model(model) {
-        this.model = model;
+        this.modelClass = model;
         return this;
     };
 
     /**
-     * @param {string} method - HTTP медот для этого экшена (GET, POST, etc.)
-     * @param {string} name - Имя экшена которое будет вызываться
-     * @param {Object=} params - параметры для данного метода
+     * @param {string} method - HTTP method (GET, POST, etc.)
+     * @param {string} name - Name for action which will be call
+     * @param {Object=} params - params for action (also include params for $resource)
      */
     addHttpAction(method, name, params) {
         this.actions[name] = angular.merge({method: method.toUpperCase()}, params);

Add enableHttpParamSerializerJQLikeMode feature, and small refactoring.