-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move db gateway functions into the service that consumes it.
There are failing tests, due to describe blocks defined in the shared `describeDatabase` helper not getting registered with Vitest. Pushing up to CI to run test there, and rule out a local config issue.
- Loading branch information
1 parent
c5d0142
commit 73b687f
Showing
53 changed files
with
206 additions
and
190 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,12 @@ | ||
import { defineConfig } from 'vitest/config'; | ||
import { getDatabaseTestContainerGlobalSetupPath } from '@atj/database'; | ||
import { getVitestDatabaseContainerGlobalSetupPath } from '@atj/database'; | ||
|
||
import sharedTestConfig from '../../vitest.shared'; | ||
|
||
export default defineConfig({ | ||
...sharedTestConfig, | ||
test: { | ||
...sharedTestConfig.test, | ||
globalSetup: [getDatabaseTestContainerGlobalSetupPath()], | ||
globalSetup: [getVitestDatabaseContainerGlobalSetupPath()], | ||
}, | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,17 @@ | ||
import { type Cookie, type User, type Session, type Lucia } from 'lucia'; | ||
import { type User, type Session } from 'lucia'; | ||
|
||
import { type AuthRepository } from '@atj/database'; | ||
import { type LoginGovOptions, LoginGov } from './provider.js'; | ||
|
||
export { BaseAuthContext } from './context/base'; | ||
import { type LoginGovOptions, LoginGov } from './provider'; | ||
export { BaseAuthContext } from './context/base.js'; | ||
export { type LoginGovOptions, LoginGov }; | ||
export { getProviderRedirect } from './services/get-provider-redirect'; | ||
export { logOut } from './services/logout'; | ||
export { processProviderCallback } from './services/process-provider-callback'; | ||
export { processSessionCookie } from './services/process-session-cookie'; | ||
export { getProviderRedirect } from './services/get-provider-redirect.js'; | ||
export { logOut } from './services/logout.js'; | ||
export { processProviderCallback } from './services/process-provider-callback.js'; | ||
export { processSessionCookie } from './services/process-session-cookie.js'; | ||
export { User, Session }; | ||
export type { AuthServiceContext } from './services/index.js'; | ||
|
||
export type UserSession = { | ||
user: User | null; | ||
session: Session | null; | ||
}; | ||
|
||
export type AuthContext = { | ||
db: AuthRepository; | ||
provider: LoginGov; | ||
getCookie: (name: string) => string | undefined; | ||
setCookie: (cookie: Cookie) => void; | ||
setUserSession: (userSession: UserSession) => void; | ||
getLucia: () => Promise<Lucia>; | ||
isUserAuthorized: (email: string) => Promise<boolean>; | ||
}; |
4 changes: 2 additions & 2 deletions
4
.../src/gateways/auth/create-session.test.ts → ...uth/src/repository/create-session.test.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3 changes: 1 addition & 2 deletions
3
...abase/src/gateways/auth/create-session.ts → ...ges/auth/src/repository/create-session.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...ase/src/gateways/auth/create-user.test.ts → ...s/auth/src/repository/create-user.test.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...database/src/gateways/auth/create-user.ts → packages/auth/src/repository/create-user.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...ase/src/gateways/auth/get-user-id.test.ts → ...s/auth/src/repository/get-user-id.test.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...database/src/gateways/auth/get-user-id.ts → packages/auth/src/repository/get-user-id.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 4 additions & 5 deletions
9
packages/database/src/gateways/auth/index.ts → packages/auth/src/repository/index.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
import { Cookie, Lucia } from 'lucia'; | ||
|
||
import { createService } from '@atj/common'; | ||
|
||
import { | ||
type UserSession, | ||
getProviderRedirect, | ||
logOut, | ||
processProviderCallback, | ||
processSessionCookie, | ||
} from '../index.js'; | ||
import { LoginGov } from '../provider.js'; | ||
import { type AuthRepository } from '../repository/index.js'; | ||
|
||
export type AuthServiceContext = { | ||
db: AuthRepository; | ||
provider: LoginGov; | ||
getCookie: (name: string) => string | undefined; | ||
setCookie: (cookie: Cookie) => void; | ||
setUserSession: (userSession: UserSession) => void; | ||
getLucia: () => Promise<Lucia>; | ||
isUserAuthorized: (email: string) => Promise<boolean>; | ||
}; | ||
|
||
export const createAuthService = (ctx: AuthServiceContext) => | ||
createService(ctx, { | ||
getProviderRedirect, | ||
logOut, | ||
processProviderCallback, | ||
processSessionCookie, | ||
}); | ||
|
||
export type AuthService = Omit< | ||
ReturnType<typeof createAuthService>, | ||
'getContext' | ||
>; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.