refactor(server): use date type for entities (#2602)

This commit is contained in:
Michel Heusschen
2023-05-30 15:15:56 +02:00
committed by GitHub
parent 3d505e425d
commit 789e3e3924
49 changed files with 243 additions and 217 deletions

View File

@@ -128,7 +128,6 @@ describe(AlbumService.name, () => {
createdAt: expect.anything(),
id: 'album-1',
owner: {
createdAt: '2021-01-01',
email: 'admin@test.com',
firstName: 'admin_first_name',
id: 'admin_id',
@@ -138,7 +137,9 @@ describe(AlbumService.name, () => {
profileImagePath: '',
shouldChangePassword: false,
storageLabel: 'admin',
updatedAt: '2021-01-01',
createdAt: new Date('2021-01-01'),
deletedAt: null,
updatedAt: new Date('2021-01-01'),
},
ownerId: 'admin_id',
shared: false,

View File

@@ -7,8 +7,8 @@ export class AlbumResponseDto {
id!: string;
ownerId!: string;
albumName!: string;
createdAt!: string;
updatedAt!: string;
createdAt!: Date;
updatedAt!: Date;
albumThumbnailAssetId!: string | null;
shared!: boolean;
sharedUsers!: UserResponseDto[];

View File

@@ -8,8 +8,8 @@ export class APIKeyCreateResponseDto {
export class APIKeyResponseDto {
id!: string;
name!: string;
createdAt!: string;
updatedAt!: string;
createdAt!: Date;
updatedAt!: Date;
}
export function mapKey(entity: APIKeyEntity): APIKeyResponseDto {

View File

@@ -231,10 +231,10 @@ describe('AuthService', () => {
it('should sign up the admin', async () => {
userMock.getAdmin.mockResolvedValue(null);
userMock.create.mockResolvedValue({ ...dto, id: 'admin', createdAt: 'today' } as UserEntity);
userMock.create.mockResolvedValue({ ...dto, id: 'admin', createdAt: new Date('2021-01-01') } as UserEntity);
await expect(sut.adminSignUp(dto)).resolves.toEqual({
id: 'admin',
createdAt: 'today',
createdAt: new Date('2021-01-01'),
email: 'test@immich.com',
firstName: 'immich',
lastName: 'admin',

View File

@@ -5,7 +5,7 @@ export class AdminSignupResponseDto {
email!: string;
firstName!: string;
lastName!: string;
createdAt!: string;
createdAt!: Date;
}
export function mapAdminSignupResponse(entity: UserEntity): AdminSignupResponseDto {

View File

@@ -6,8 +6,6 @@ import { PartnerService } from './partner.service';
const responseDto = {
admin: {
createdAt: '2021-01-01',
deletedAt: undefined,
email: 'admin@test.com',
firstName: 'admin_first_name',
id: 'admin_id',
@@ -16,12 +14,12 @@ const responseDto = {
oauthId: '',
profileImagePath: '',
shouldChangePassword: false,
updatedAt: '2021-01-01',
storageLabel: 'admin',
createdAt: new Date('2021-01-01'),
deletedAt: null,
updatedAt: new Date('2021-01-01'),
},
user1: {
createdAt: '2021-01-01',
deletedAt: undefined,
email: 'immich@test.com',
firstName: 'immich_first_name',
id: 'user-id',
@@ -30,8 +28,10 @@ const responseDto = {
oauthId: '',
profileImagePath: '',
shouldChangePassword: false,
updatedAt: '2021-01-01',
storageLabel: null,
createdAt: new Date('2021-01-01'),
deletedAt: null,
updatedAt: new Date('2021-01-01'),
},
};

View File

@@ -2,7 +2,7 @@ import { AlbumEntity, AssetEntity, SharedLinkType } from '@app/infra/entities';
export class CreateSharedLinkDto {
description?: string;
expiresAt?: string;
expiresAt?: Date;
type!: SharedLinkType;
assets!: AssetEntity[];
album?: AlbumEntity;

View File

@@ -5,7 +5,7 @@ export class EditSharedLinkDto {
description?: string;
@IsOptional()
expiresAt?: string | null;
expiresAt?: Date | null;
@IsOptional()
allowUpload?: boolean;

View File

@@ -12,8 +12,8 @@ export class SharedLinkResponseDto {
@ApiProperty({ enumName: 'SharedLinkType', enum: SharedLinkType })
type!: SharedLinkType;
createdAt!: string;
expiresAt!: string | null;
createdAt!: Date;
expiresAt!: Date | null;
assets!: AssetResponseDto[];
album?: AlbumResponseDto;
allowUpload!: boolean;

View File

@@ -23,7 +23,7 @@ export class ShareCore {
key: Buffer.from(this.cryptoRepository.randomBytes(50)),
description: dto.description,
userId,
createdAt: new Date().toISOString(),
createdAt: new Date(),
expiresAt: dto.expiresAt ?? null,
type: dto.type,
assets: dto.assets,

View File

@@ -6,12 +6,12 @@ export class UserResponseDto {
firstName!: string;
lastName!: string;
storageLabel!: string | null;
createdAt!: string;
profileImagePath!: string;
shouldChangePassword!: boolean;
isAdmin!: boolean;
deletedAt?: Date;
updatedAt?: string;
createdAt!: Date;
deletedAt!: Date | null;
updatedAt!: Date;
oauthId!: string;
}
@@ -22,10 +22,10 @@ export function mapUser(entity: UserEntity): UserResponseDto {
firstName: entity.firstName,
lastName: entity.lastName,
storageLabel: entity.storageLabel,
createdAt: entity.createdAt,
profileImagePath: entity.profileImagePath,
shouldChangePassword: entity.shouldChangePassword,
isAdmin: entity.isAdmin,
createdAt: entity.createdAt,
deletedAt: entity.deletedAt,
updatedAt: entity.updatedAt,
oauthId: entity.oauthId,

View File

@@ -47,8 +47,9 @@ const adminUser: UserEntity = Object.freeze({
oauthId: '',
shouldChangePassword: false,
profileImagePath: '',
createdAt: '2021-01-01',
updatedAt: '2021-01-01',
createdAt: new Date('2021-01-01'),
deletedAt: null,
updatedAt: new Date('2021-01-01'),
tags: [],
assets: [],
storageLabel: 'admin',
@@ -64,8 +65,9 @@ const immichUser: UserEntity = Object.freeze({
oauthId: '',
shouldChangePassword: false,
profileImagePath: '',
createdAt: '2021-01-01',
updatedAt: '2021-01-01',
createdAt: new Date('2021-01-01'),
deletedAt: null,
updatedAt: new Date('2021-01-01'),
tags: [],
assets: [],
storageLabel: null,
@@ -81,8 +83,9 @@ const updatedImmichUser: UserEntity = Object.freeze({
oauthId: '',
shouldChangePassword: true,
profileImagePath: '',
createdAt: '2021-01-01',
updatedAt: '2021-01-01',
createdAt: new Date('2021-01-01'),
deletedAt: null,
updatedAt: new Date('2021-01-01'),
tags: [],
assets: [],
storageLabel: null,
@@ -91,15 +94,15 @@ const updatedImmichUser: UserEntity = Object.freeze({
const adminUserResponse = Object.freeze({
id: adminUserAuth.id,
email: 'admin@test.com',
deletedAt: undefined,
firstName: 'admin_first_name',
lastName: 'admin_last_name',
isAdmin: true,
oauthId: '',
shouldChangePassword: false,
profileImagePath: '',
createdAt: '2021-01-01',
updatedAt: '2021-01-01',
createdAt: new Date('2021-01-01'),
deletedAt: null,
updatedAt: new Date('2021-01-01'),
storageLabel: 'admin',
});
@@ -140,15 +143,15 @@ describe(UserService.name, () => {
{
id: adminUserAuth.id,
email: 'admin@test.com',
deletedAt: undefined,
firstName: 'admin_first_name',
lastName: 'admin_last_name',
isAdmin: true,
oauthId: '',
shouldChangePassword: false,
profileImagePath: '',
createdAt: '2021-01-01',
updatedAt: '2021-01-01',
createdAt: new Date('2021-01-01'),
deletedAt: null,
updatedAt: new Date('2021-01-01'),
storageLabel: 'admin',
},
]);