Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.11.2013, 11:09
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 557

Как настроить $resource для разных типов серверов
Нужно иметь три разных ресурсных фабрики $resource для разных типов серверов. По-сути это должны быть три варианта одного ресурса с разными настройками (напр., $resourceSQL, $resourceMongo и т.п.). Как это сделать?

P.S. Или можно сделать что-то типа $resource.SQL, $resource.Mongo, добавив методы подменяющие DEFAULT_ACTIONS

Последний раз редактировалось Shitbox2, 05.11.2013 в 12:26.
Ответить с цитированием
  #2 (permalink)  
Старый 06.11.2013, 20:26
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

или я чего то не понимаю, или по аналогии:
app

    .config(function( $interpolateProvider ) {
        $interpolateProvider.startSymbol( '[[' ).endSymbol( ']]' );
    })
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #3 (permalink)  
Старый 08.11.2013, 16:39
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 557

Сообщение от nerv_ Посмотреть сообщение
или я чего то не понимаю, или по аналогии
Не понял... И ресурс это не провайдер? его нельзя в конфиге настроить

P.S. Restangular'е это выглядит так:
// Restangular returns promises
Restangular.one('users').getList()  // GET: /users
.then(function(users) {
  // returns a list of users
  $scope.user = users[0];   // first Restangular obj in list: { id: 123 }
})

// Later in the code...

// Restangular objects are self-aware and know how to make their own restful requests
$scope.user.getList('cars');    // GET: /users/123/cars

// You can also use your own custom methods on Restangular objects
$scope.user.sendMessage();  // POST: /users/123/sendMessage

// Chain methods together to easily build complex requests
$scope.user.one('messages', 123).one('from', 123).getList('unread');
// GET: /user/123/messages/123/from/123/unread

Последний раз редактировалось Shitbox2, 08.11.2013 в 18:04.
Ответить с цитированием
  #4 (permalink)  
Старый 09.11.2013, 10:14
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 557

В общем, ничего лучше этого не придумал
//Обертка ресурса
.factory('res', function ($resource) {
  return {
    sql: function (url, paramDefaults, actions) {
      var actionDefaults = {
        add: {method: 'PUT'},
        query: {method: 'POST', isArray: true}
      }
      return $resource(url, paramDefaults, angular.extend(actionDefaults, actions));
    },
    mongo: function (url, paramDefaults, actions) {
      var actionDefaults = {
        add: {method: 'PUT'}
      }
      return $resource(url, paramDefaults, angular.extend(actionDefaults, actions));
    }
  }
})

.factory('Users', function (res) {
    return res.mongo('action.php/user/:userId', {userId: '@id'})
})

.factory('City', function (res) {
    return res.sql('action.php/city/:cityId', {cityId: '@id'})
})
Ответить с цитированием
  #5 (permalink)  
Старый 09.11.2013, 22:05
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

т.е. у тебя в одном приложении два типа сервера. Правильно я понял?
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #6 (permalink)  
Старый 10.11.2013, 08:14
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Вопрос какую базу данных использовать не должен касаться клиента ни при каких условиях и никогда.

Сервер работает с базой данных и предоставляет rest api которым может пользоваться ресурс ангуляра, поэтому какая база используется это проблема исключительно сервера. Клиент не должен ничего знать о тонкостях взаимодействия с базой данных. Клиента не интересует также какая это именно база и существует ли она вообще. Все что глубже rest api для клиента является черным ящиком.

Уж лучше бы нерв был прав и речь шла о двух серверах, тогда можно было бы как то попробовать оправдать такой косяк. Но если речь об одном сервере, то разделение между базами данных на клиенте нужно немедленно устранить и переложить эту задачу на серверную часть.

З.Ы. Исключением мог бы быть только редактор баз данных работающий с различными типами баз данных.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 10.11.2013 в 09:04.
Ответить с цитированием
  #7 (permalink)  
Старый 10.11.2013, 13:28
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 557

Сообщение от nerv_ Посмотреть сообщение
т.е. у тебя в одном приложении два типа сервера. Правильно я понял?
Сообщение от DjDiablo Посмотреть сообщение
Уж лучше бы нерв был прав и речь шла о двух серверах, тогда можно было бы как то попробовать оправдать такой косяк.
Вообще, три типа сервера и на каждом разные типы БД (MySQL, Mongo и еще что-то)
Ответить с цитированием
  #8 (permalink)  
Старый 11.11.2013, 12:51
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Сообщение от Shitbox2 Посмотреть сообщение
Вообще, три типа сервера и на каждом разные типы БД (MySQL, Mongo и еще что-то)
Как ты до жизни дошел такой )))
Откуда у тебя три сервера на один клиент, теряюсь в догадках ))
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Ответить с цитированием
  #9 (permalink)  
Старый 11.11.2013, 22:06
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 557

Это не у меня, это на работе) https-сервер для авторизации, май-скюэль и монго сервера для текста и видео (много медиаконтента)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать реальный borderLeftWidth для TD в FireFox? gadyuka Events/DOM/Window 2 14.07.2013 10:58
поиск классов внутри тега yozuul jQuery 24 14.06.2013 21:00
Как изменить скрипт, что бы им его можно было использовать для нужной страницы Nick50_70 Общие вопросы Javascript 0 28.04.2009 22:30
Можно ли как для произвольного массива создавать вызовы функций , имеющих на входе kefi Общие вопросы Javascript 3 17.04.2009 15:53
Как найти путь к файлу для модификации? JuliaMilan Firefox/Mozilla 0 31.03.2009 13:06