mirror of
https://github.com/immich-app/immich.git
synced 2025-12-30 01:11:52 +03:00
* chore: add typeorm commands to npm and set default database config values * feat: move to server side authentication tokens * fix: websocket should emit error and disconnect on error thrown by the server * refactor: rename cookie-auth-strategy to user-auth-strategy * feat: user tokens and API keys now use SHA256 hash for performance improvements * test: album e2e test remove unneeded module import * infra: truncate api key table as old keys will no longer work with new hash algorithm * fix(server): e2e tests (#1435) * fix: root module paths * chore: linting * chore: rename user-auth to strategy.ts and make validate return AuthUserDto * fix: we should always send HttpOnly for our auth cookies * chore: remove now unused crypto functions and jwt dependencies * fix: return the extra fields for AuthUserDto in auth service validate --------- Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
17 lines
605 B
TypeScript
17 lines
605 B
TypeScript
import { APIKeyEntity } from '@app/infra/db/entities';
|
|
|
|
export const IKeyRepository = 'IKeyRepository';
|
|
|
|
export interface IKeyRepository {
|
|
create(dto: Partial<APIKeyEntity>): Promise<APIKeyEntity>;
|
|
update(userId: string, id: number, dto: Partial<APIKeyEntity>): Promise<APIKeyEntity>;
|
|
delete(userId: string, id: number): Promise<void>;
|
|
/**
|
|
* Includes the hashed `key` for verification
|
|
* @param id
|
|
*/
|
|
getKey(hashedToken: string): Promise<APIKeyEntity | null>;
|
|
getById(userId: string, id: number): Promise<APIKeyEntity | null>;
|
|
getByUserId(userId: string): Promise<APIKeyEntity[]>;
|
|
}
|