170 похожих чатов

Подскажите пожалуйста, сижу разбираюсь в чужом коде ситуация такова, есть модель

пользователя
@Table({ timestamps: false, tableName: "web_users" })
export default class User extends Model<User> {
@Column({ field: "login" })
public login: string
...
public validatePassword(password: string) {
return this.password === password.trim()
}
public toPlainObject() {
return {
id: this.id,
login: this.login,
email: this.email,
}
}
есть функция авторизации
export default async function (payload: Payload) {
const user = await User.findOne({ where: { email: payload.email.trim() } })
const token = sign(user.toPlainObject(), environment.auth.secret,)
return { success: true, content: token }
}на клиенте когда при авторизации ввожу логин и пароль, проходит авторизация и на сервере выполняется такой запрос
SELECT [id], [login], [email], [password], ... WHERE [User].[id] = 1;в коде я нигде не вижу этот запрос, каким макаром он выполняется? как его можно найти и изменить? хочу к нему добавить еще несколько полей с помощью left join

5 ответов

14 просмотров

const user = await User.findOne({ where: { email: payload.email.trim() } })

Eugene-Stepanyuk Автор вопроса

findOne подразумевает select по данным которые хранятся в oPlainObject()?

ну, в тайпорм это так и работает, по логике findOne() берет первух подходящую запись

Eugene-Stepanyuk Автор вопроса

и как оно подставляет нужный user.id при логировании, если в findOne идет проверка про эмейлу

Eugene-Stepanyuk Автор вопроса

точнее прилетает вот таких вот два запроса Executing (default): SELECT [id], [login], [email], [password], ... WHERE [User].[email] = N'stat@kai.ua'; Executing (default): SELECT [id], [login], [email], [password], ... WHERE [User].[id] = 1;по первому понятно, в findOne и идет проверка по емейлу, а вот где оно подставляет id не пойму

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта