Skip to content

Commit dd8adad

Browse files
committed
feat: add session model, repository, and auth service functionality
1 parent 4471b84 commit dd8adad

File tree

4 files changed

+27
-0
lines changed

4 files changed

+27
-0
lines changed

src/interfaces/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,13 @@ export * from './middlewares/hook.middleware';
1313

1414
// Models
1515
export * from './models/register-token';
16+
export * from './models/session';
1617
export * from './models/user';
1718

1819
// Repositories
1920
export * from './repositories/register-token.repository';
2021
export * from './repositories/email-template.repository';
22+
export * from './repositories/session.repository';
2123
export * from './repositories/user.repository';
2224

2325
// Routers

src/interfaces/models/session.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export type Session = {
2+
refresh_token: string;
3+
access_token: string;
4+
expires_at: number;
5+
user_id: string;
6+
};
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import type { Session } from '../models/session';
2+
3+
export interface SessionRepository {
4+
upsert(session: Session): Promise<void>;
5+
6+
deleteByUserId({ user_id }: { user_id: string }): Promise<void>;
7+
8+
findByUserId({ user_id }: { user_id: string }): Promise<Session | null>;
9+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type { Session } from '../models/session';
2+
3+
export type AuthServiceDto = {
4+
email: string;
5+
password: string;
6+
};
7+
8+
export interface AuthService {
9+
execute(dto: AuthServiceDto): Promise<Omit<Session, 'user_id'>>;
10+
}

0 commit comments

Comments
 (0)