Что я пытаюсь выяснить, это как получить идентификатор текущего аутентифицированного пользователя и использовать его при создании записей в БД в качестве внешнего ключа другой модели?
Чтобы быть более точным, мне нужно получить идентификатор текущего аутентифицированного пользователя (модель: CommonUser) и использовать этот идентификатор в качестве FK при создании нового события.
Отношения:
Я создал модель на основе модели пользователя с именем CommonUser. Обычный пользователь имеет много событий. Событие принадлежит обычному пользователю.
Итак, у Event есть внешний ключ с именем commonUserId.
Как получить идентификатор пользователя и использовать его при вставке?
Я бы подумал, что это будет автоматически как часть процесса, если речь идет об установлении отношений? Это неправильно?
Также, чтобы усложнить ситуацию, у меня есть таблица поиска событий (я буду беспокоиться об этом дальше, поэтому не чувствую себя обязанным погружаться вглубь), потому что у события также есть AndBelongsToMany через Event Lookup.
Пользователь
{
"name": "CommonUser",
"base": "User",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {},
"validations": [],
"relations": {
"events": {
"type": "hasMany",
"model": "Event",
"foreignKey": "eventId",
"through": "EventLookUp"
},
"friends": {
"type": "hasMany",
"model": "CommonUser",
"through": "Friend",
"foreignKey": "friendId"
}
},
"acls": [],
"methods": {}
}

Событие
{
"name": "Event",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string"
},
"radius": {
"type": "number",
"default": 50
},
"status": {
"type": "number"
},
"location": {
"type": "geopoint",
"required": true
}
},
"validations": [],
"relations": {
"owner": {
"type": "belongsTo",
"model": "CommonUser",
"foreignKey": "commonUserId"
},
"commonUsers": {
"type": "hasAndBelongsToMany",
"model": "CommonUser",
"foreignKey": "ownerId",
"through": "EventLookUp"
},
"galleries": {
"type": "hasOne",
"model": "Gallery",
"foreignKey": ""
},
"photos": {
"type": "hasMany",
"model": "Photo",
"foreignKey": "",
"through": "Gallery"
}
},
"acls": [],
"methods": {}
}

Поиск событий
{
"name": "EventLookUp",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}

Если бы меня указывали в правильном направлении, это было бы фантастически. Трудно найти ответ, прочитав документацию. Я думаю, что мне нужно использовать ловушку операции перед вставкой и установить свойства моделей событий? Каков наилучший метод обратной связи в этом отношении?