From b059055a939bb91c7159e59b5a54400f226910cd Mon Sep 17 00:00:00 2001 From: MaysWind Date: Thu, 3 Apr 2025 23:44:06 +0800 Subject: [PATCH] code refactor --- src/lib/transaction.ts | 3 ++- src/models/transaction.ts | 26 +------------------------- src/models/transaction_picture_info.ts | 24 ++++++++++++++++++++++++ 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/src/lib/transaction.ts b/src/lib/transaction.ts index ba3b9497..6983c27d 100644 --- a/src/lib/transaction.ts +++ b/src/lib/transaction.ts @@ -3,7 +3,8 @@ import { TransactionType } from '@/core/transaction.ts'; import { Account } from '@/models/account.ts'; import { TransactionCategory } from '@/models/transaction_category.ts'; import { TransactionTag } from '@/models/transaction_tag.ts'; -import { Transaction, TransactionPicture } from '@/models/transaction.ts'; +import { TransactionPicture } from '@/models/transaction_picture_info.ts'; +import { Transaction } from '@/models/transaction.ts'; import { isNumber diff --git a/src/models/transaction.ts b/src/models/transaction.ts index 789153d7..ea505054 100644 --- a/src/models/transaction.ts +++ b/src/models/transaction.ts @@ -5,7 +5,7 @@ import { TransactionType } from '@/core/transaction.ts'; import { Account, type AccountInfoResponse } from './account.ts'; import { TransactionCategory, type TransactionCategoryInfoResponse } from './transaction_category.ts'; import { TransactionTag, type TransactionTagInfoResponse } from './transaction_tag.ts'; -import type { TransactionPictureInfoBasicResponse } from './transaction_picture_info.ts'; +import { TransactionPicture, type TransactionPictureInfoBasicResponse } from './transaction_picture_info.ts'; export class Transaction implements TransactionInfoResponse { public id: string; @@ -391,30 +391,6 @@ export class Transaction implements TransactionInfoResponse { } } -export class TransactionPicture implements TransactionPictureInfoBasicResponse { - public pictureId: string; - public originalUrl: string; - - private constructor(pictureId: string, originalUrl: string) { - this.pictureId = pictureId; - this.originalUrl = originalUrl; - } - - public static of(picture: TransactionPictureInfoBasicResponse): TransactionPicture { - return new TransactionPicture(picture.pictureId, picture.originalUrl); - } - - public static ofMulti(pictureResponses: TransactionPictureInfoBasicResponse[]): TransactionPicture[] { - const pictures: TransactionPicture[] = []; - - for (const pictureResponse of pictureResponses) { - pictures.push(TransactionPicture.of(pictureResponse)); - } - - return pictures; - } -} - export class TransactionGeoLocation implements TransactionGeoLocationRequest { public latitude: number; public longitude: number; diff --git a/src/models/transaction_picture_info.ts b/src/models/transaction_picture_info.ts index ca795e03..f76fe221 100644 --- a/src/models/transaction_picture_info.ts +++ b/src/models/transaction_picture_info.ts @@ -1,3 +1,27 @@ +export class TransactionPicture implements TransactionPictureInfoBasicResponse { + public pictureId: string; + public originalUrl: string; + + private constructor(pictureId: string, originalUrl: string) { + this.pictureId = pictureId; + this.originalUrl = originalUrl; + } + + public static of(picture: TransactionPictureInfoBasicResponse): TransactionPicture { + return new TransactionPicture(picture.pictureId, picture.originalUrl); + } + + public static ofMulti(pictureResponses: TransactionPictureInfoBasicResponse[]): TransactionPicture[] { + const pictures: TransactionPicture[] = []; + + for (const pictureResponse of pictureResponses) { + pictures.push(TransactionPicture.of(pictureResponse)); + } + + return pictures; + } +} + export interface TransactionPictureUnusedDeleteRequest { readonly id: string; }