Grails - Получить объект от другого арендатора - PullRequest
0 голосов
/ 22 февраля 2019

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

Точкаэто когда я делаю следующий запрос в моей модели:

def expedition = Expedition.findByCode(row.code)

Если моя экспедиция была выпущена филиалом, эта находка мне ничего не возвращает, в конце концов, таким образом, это была первоначальная архитектура для филиалов, а незаполнять друг друга информацией.

Кто-нибудь знает, как я могу это сделать?это может быть просто возвращение этого объекта в этот момент или некоторая аннотация в модели, но я не хотел бы удалять свою многопользовательскую структуру, потому что мне все еще нужно заблокировать некоторую информацию.

1 Ответ

0 голосов
/ 23 февраля 2019

Для этого можно использовать методы класса grails.gorm.multitenancy.Tenants:

Разрешить поиск по любому арендатору:

def expedition = Tenants.withoutId { Expedition.findByCode(row.code) }                    

Укажите арендатора

Long otherTenantsId = 2L
def expedition = Tenants.withId(otherTenantsId) { Expedition.findByCode(row.code) }                    

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

Обратите внимание, что есть также @WithoutTenant, если вы хотите добавить его кУровень класса / метода.

...