|
1 | 1 | 'use strict'; |
2 | 2 |
|
| 3 | +import { Repository } from 'typeorm'; |
3 | 4 | /* Import database configuration */ |
4 | 5 | import { connect } from '../config/config'; |
5 | 6 | import { COASTERS_NOT_FOUND, COASTERS_NOT_LINKED, COASTER_ACC_REVOKED } from '../config/messages'; |
6 | 7 |
|
7 | 8 | /* Import entities */ |
8 | 9 | import { Coasters } from '../entity/Coasters'; |
| 10 | +import { Session } from '../entity/Session'; |
| 11 | +import { Users } from '../entity/Users'; |
9 | 12 |
|
10 | 13 | exports.updateCoaster = (coasterId, { encoded, group }) => { |
11 | 14 | return new Promise(async (resolve, reject) => { |
@@ -50,10 +53,16 @@ exports.getCoaster = (coasterId: string) => { |
50 | 53 | return new Promise(async (resolve, reject) => { |
51 | 54 | try { |
52 | 55 | const connection = await connect(); |
53 | | - const repo = connection.getRepository(Coasters); |
54 | | - |
55 | | - let [coaster] = await repo.find({ where: { coasterId } }); |
56 | | - resolve(coaster); |
| 56 | + const coasterRepo = connection.getRepository(Coasters); |
| 57 | + const sessionRepo = connection.getRepository(Session); |
| 58 | + const usersRepo = connection.getRepository(Users); |
| 59 | + |
| 60 | + let [coaster] = await coasterRepo.find({ where: { coasterId } }); |
| 61 | + let [session] = await sessionRepo.find({ where: { userId: coaster.userId, active: true } }); |
| 62 | + let [user] = await usersRepo.find({ where: { userId: coaster.userId }}); |
| 63 | + let { userId, email, displayName, createdAt } = user; |
| 64 | + |
| 65 | + resolve({ coaster, session, user: { userId, email, displayName, createdAt } }); |
57 | 66 | } catch (error) { |
58 | 67 | reject(error); |
59 | 68 | } |
|
0 commit comments