mirror of
https://github.com/immich-app/immich.git
synced 2024-11-17 02:49:01 -07:00
eade36ee82
* refactor: auth * chore: tests * Remove await on non-async method * refactor: constants * chore: remove extra async Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
168 lines
4.1 KiB
TypeScript
168 lines
4.1 KiB
TypeScript
import { SystemConfig, UserEntity } from '@app/infra/db/entities';
|
|
import { AuthUserDto } from '../src';
|
|
|
|
export const authStub = {
|
|
admin: Object.freeze<AuthUserDto>({
|
|
id: 'admin_id',
|
|
email: 'admin@test.com',
|
|
isAdmin: true,
|
|
isPublicUser: false,
|
|
isAllowUpload: true,
|
|
}),
|
|
user1: Object.freeze<AuthUserDto>({
|
|
id: 'immich_id',
|
|
email: 'immich@test.com',
|
|
isAdmin: false,
|
|
isPublicUser: false,
|
|
isAllowUpload: true,
|
|
}),
|
|
};
|
|
|
|
export const entityStub = {
|
|
admin: Object.freeze<UserEntity>({
|
|
...authStub.admin,
|
|
password: 'admin_password',
|
|
firstName: 'admin_first_name',
|
|
lastName: 'admin_last_name',
|
|
oauthId: '',
|
|
shouldChangePassword: false,
|
|
profileImagePath: '',
|
|
createdAt: '2021-01-01',
|
|
tags: [],
|
|
}),
|
|
user1: Object.freeze<UserEntity>({
|
|
...authStub.user1,
|
|
password: 'immich_password',
|
|
firstName: 'immich_first_name',
|
|
lastName: 'immich_last_name',
|
|
oauthId: '',
|
|
shouldChangePassword: false,
|
|
profileImagePath: '',
|
|
createdAt: '2021-01-01',
|
|
tags: [],
|
|
}),
|
|
};
|
|
|
|
export const systemConfigStub = {
|
|
defaults: Object.freeze({
|
|
ffmpeg: {
|
|
crf: '23',
|
|
preset: 'ultrafast',
|
|
targetAudioCodec: 'aac',
|
|
targetScaling: '1280:-2',
|
|
targetVideoCodec: 'h264',
|
|
transcodeAll: false,
|
|
},
|
|
oauth: {
|
|
autoLaunch: false,
|
|
autoRegister: true,
|
|
buttonText: 'Login with OAuth',
|
|
clientId: '',
|
|
clientSecret: '',
|
|
enabled: false,
|
|
issuerUrl: '',
|
|
mobileOverrideEnabled: false,
|
|
mobileRedirectUri: '',
|
|
scope: 'openid email profile',
|
|
},
|
|
passwordLogin: {
|
|
enabled: true,
|
|
},
|
|
storageTemplate: {
|
|
template: '{{y}}/{{y}}-{{MM}}-{{dd}}/{{filename}}',
|
|
},
|
|
} as SystemConfig),
|
|
enabled: Object.freeze({
|
|
passwordLogin: {
|
|
enabled: true,
|
|
},
|
|
oauth: {
|
|
enabled: true,
|
|
autoRegister: true,
|
|
buttonText: 'OAuth',
|
|
autoLaunch: false,
|
|
},
|
|
} as SystemConfig),
|
|
disabled: Object.freeze({
|
|
passwordLogin: {
|
|
enabled: false,
|
|
},
|
|
oauth: {
|
|
enabled: false,
|
|
buttonText: 'OAuth',
|
|
issuerUrl: 'http://issuer,',
|
|
autoLaunch: false,
|
|
},
|
|
} as SystemConfig),
|
|
noAutoRegister: {
|
|
oauth: {
|
|
enabled: true,
|
|
autoRegister: false,
|
|
autoLaunch: false,
|
|
},
|
|
passwordLogin: { enabled: true },
|
|
} as SystemConfig,
|
|
override: {
|
|
oauth: {
|
|
enabled: true,
|
|
autoRegister: true,
|
|
autoLaunch: false,
|
|
buttonText: 'OAuth',
|
|
mobileOverrideEnabled: true,
|
|
mobileRedirectUri: 'http://mobile-redirect',
|
|
},
|
|
passwordLogin: { enabled: true },
|
|
} as SystemConfig,
|
|
};
|
|
|
|
export const loginResponseStub = {
|
|
user1oauth: {
|
|
response: {
|
|
accessToken: 'signed-jwt',
|
|
userId: 'immich_id',
|
|
userEmail: 'immich@test.com',
|
|
firstName: 'immich_first_name',
|
|
lastName: 'immich_last_name',
|
|
profileImagePath: '',
|
|
isAdmin: false,
|
|
shouldChangePassword: false,
|
|
},
|
|
cookie: [
|
|
'immich_access_token=signed-jwt; Secure; Path=/; Max-Age=604800; SameSite=Strict;',
|
|
'immich_auth_type=oauth; Secure; Path=/; Max-Age=604800; SameSite=Strict;',
|
|
],
|
|
},
|
|
user1password: {
|
|
response: {
|
|
accessToken: 'signed-jwt',
|
|
userId: 'immich_id',
|
|
userEmail: 'immich@test.com',
|
|
firstName: 'immich_first_name',
|
|
lastName: 'immich_last_name',
|
|
profileImagePath: '',
|
|
isAdmin: false,
|
|
shouldChangePassword: false,
|
|
},
|
|
cookie: [
|
|
'immich_access_token=signed-jwt; Secure; Path=/; Max-Age=604800; SameSite=Strict;',
|
|
'immich_auth_type=password; Secure; Path=/; Max-Age=604800; SameSite=Strict;',
|
|
],
|
|
},
|
|
user1insecure: {
|
|
response: {
|
|
accessToken: 'signed-jwt',
|
|
userId: 'immich_id',
|
|
userEmail: 'immich@test.com',
|
|
firstName: 'immich_first_name',
|
|
lastName: 'immich_last_name',
|
|
profileImagePath: '',
|
|
isAdmin: false,
|
|
shouldChangePassword: false,
|
|
},
|
|
cookie: [
|
|
'immich_access_token=signed-jwt; HttpOnly; Path=/; Max-Age=604800; SameSite=Strict;',
|
|
'immich_auth_type=password; HttpOnly; Path=/; Max-Age=604800; SameSite=Strict;',
|
|
],
|
|
},
|
|
};
|