api end fixes
This commit is contained in:
+19
-4
@@ -2,14 +2,17 @@ import { auth0Integration } from "@/integrations"
|
||||
import { User } from "@/models"
|
||||
import { Op } from "@sequelize/core"
|
||||
import BaseService from "@/services/base-service"
|
||||
import { Users } from "@/services"
|
||||
|
||||
export class FindFromAuth0TokenService extends BaseService {
|
||||
export class EnsureFromAuth0TokenService extends BaseService {
|
||||
constructor(private token: string) {
|
||||
super()
|
||||
}
|
||||
|
||||
async perform(): Promise<User> {
|
||||
const { auth0Subject, email } = await auth0Integration.getUserInfo(this.token)
|
||||
const { auth0Subject, email, firstName, lastName } = await auth0Integration.getUserInfo(
|
||||
this.token
|
||||
)
|
||||
|
||||
const existingUser = await User.withScope(["asCurrentUser"]).findOne({
|
||||
where: { auth0Subject },
|
||||
@@ -28,8 +31,20 @@ export class FindFromAuth0TokenService extends BaseService {
|
||||
return firstTimeUser
|
||||
}
|
||||
|
||||
throw new Error("No user found for this token.")
|
||||
await Users.CreateService.perform({
|
||||
auth0Subject,
|
||||
email,
|
||||
firstName,
|
||||
lastName,
|
||||
})
|
||||
|
||||
const newUser = await User.withScope(["asCurrentUser"]).findOne({
|
||||
where: { auth0Subject },
|
||||
rejectOnEmpty: true,
|
||||
})
|
||||
|
||||
return newUser
|
||||
}
|
||||
}
|
||||
|
||||
export default FindFromAuth0TokenService
|
||||
export default EnsureFromAuth0TokenService
|
||||
@@ -3,4 +3,4 @@ export { UpdateService } from "./update-service"
|
||||
export { DestroyService } from "./destroy-service"
|
||||
|
||||
// Special Services
|
||||
export { FindFromAuth0TokenService } from "./find-from-auth0-token-service"
|
||||
export { EnsureFromAuth0TokenService } from "./ensure-from-auth0-token-service"
|
||||
|
||||
Reference in New Issue
Block a user