diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts index 3b9f942a74..b2b2293e1a 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts @@ -2,6 +2,7 @@ import { AdminMarketDataService } from '@ghostfolio/client/components/admin-mark import { UserService } from '@ghostfolio/client/services/user/user.service'; import { ASSET_CLASS_MAPPING, + COMMENT_MAXIMUM_LENGTH, PROPERTY_IS_DATA_GATHERING_ENABLED } from '@ghostfolio/common/config'; import { UpdateAssetProfileDto } from '@ghostfolio/common/dtos'; @@ -229,6 +230,7 @@ export class GfAssetProfileDialogComponent implements OnInit { protected readonly canDeleteAssetProfile = canDeleteAssetProfile; protected canEditAssetProfile = true; + protected readonly COMMENT_MAXIMUM_LENGTH = COMMENT_MAXIMUM_LENGTH; protected countries: { [code: string]: { name: string; value: number }; diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html index 7e4a0c2f18..6e1336de09 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -467,6 +467,7 @@ cdkTextareaAutosize formControlName="comment" matInput + [maxlength]="COMMENT_MAXIMUM_LENGTH" (keyup.enter)="$event.stopPropagation()" > diff --git a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.component.ts b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.component.ts index 4339f570bd..ab3854b931 100644 --- a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.component.ts +++ b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.component.ts @@ -1,6 +1,9 @@ import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; -import { TAG_ID_DRAFT } from '@ghostfolio/common/config'; +import { + COMMENT_MAXIMUM_LENGTH, + TAG_ID_DRAFT +} from '@ghostfolio/common/config'; import { CreateAccountDto, UpdateAccountDto } from '@ghostfolio/common/dtos'; import { getStringOrNull } from '@ghostfolio/common/helper'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; @@ -62,6 +65,8 @@ import { CreateOrUpdateAccountDialogParams } from './interfaces/interfaces'; templateUrl: 'create-or-update-account-dialog.html' }) export class GfCreateOrUpdateAccountDialogComponent { + protected readonly COMMENT_MAXIMUM_LENGTH = COMMENT_MAXIMUM_LENGTH; + protected accountForm: FormGroup; protected currencies: string[] = []; protected filteredPlatforms: Observable | undefined; diff --git a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html index 86a034b531..5119790c9b 100644 --- a/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html +++ b/apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -91,6 +91,7 @@ cdkTextareaAutosize formControlName="comment" matInput + [maxlength]="COMMENT_MAXIMUM_LENGTH" (keyup.enter)="$event.stopPropagation()" > diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts index a5758fb2cc..853787f804 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts @@ -1,6 +1,10 @@ import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; -import { ASSET_CLASS_MAPPING, DEFAULT_LOCALE } from '@ghostfolio/common/config'; +import { + ASSET_CLASS_MAPPING, + COMMENT_MAXIMUM_LENGTH, + DEFAULT_LOCALE +} from '@ghostfolio/common/config'; import { CreateOrderDto, UpdateOrderDto } from '@ghostfolio/common/dtos'; import { getDateFormatString, @@ -79,6 +83,7 @@ import { ActivityType } from './types/activity-type.type'; templateUrl: 'create-or-update-activity-dialog.html' }) export class GfCreateOrUpdateActivityDialogComponent { + protected readonly COMMENT_MAXIMUM_LENGTH = COMMENT_MAXIMUM_LENGTH; protected readonly DEFAULT_LOCALE = DEFAULT_LOCALE; protected activityForm: FormGroup; diff --git a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html index e797db911c..f9494efdc2 100644 --- a/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html +++ b/apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -255,6 +255,7 @@ cdkTextareaAutosize formControlName="comment" matInput + [maxlength]="COMMENT_MAXIMUM_LENGTH" (keyup.enter)="$event.stopPropagation()" > diff --git a/libs/common/src/lib/config.ts b/libs/common/src/lib/config.ts index 5e11f8ae17..a7f1114f81 100644 --- a/libs/common/src/lib/config.ts +++ b/libs/common/src/lib/config.ts @@ -60,6 +60,8 @@ export const BULL_BOARD_ROUTE = '/admin/queues'; export const CACHE_TTL_NO_CACHE = 1; export const CACHE_TTL_INFINITE = 0; +export const COMMENT_MAXIMUM_LENGTH = 2000; + export const DATA_GATHERING_QUEUE = 'DATA_GATHERING_QUEUE'; export const DATA_GATHERING_QUEUE_PRIORITY_HIGH = 1; export const DATA_GATHERING_QUEUE_PRIORITY_LOW = Number.MAX_SAFE_INTEGER; diff --git a/libs/common/src/lib/dtos/create-account.dto.ts b/libs/common/src/lib/dtos/create-account.dto.ts index db7d82119a..92879dbb2c 100644 --- a/libs/common/src/lib/dtos/create-account.dto.ts +++ b/libs/common/src/lib/dtos/create-account.dto.ts @@ -1,3 +1,4 @@ +import { COMMENT_MAXIMUM_LENGTH } from '@ghostfolio/common/config'; import { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code'; import { Transform, TransformFnParams } from 'class-transformer'; @@ -23,7 +24,7 @@ export class CreateAccountDto { @IsOptional() @IsString() - @MaxLength(2000) + @MaxLength(COMMENT_MAXIMUM_LENGTH) @Transform(({ value }: TransformFnParams) => isString(value) ? value.trim() : value ) diff --git a/libs/common/src/lib/dtos/create-asset-profile.dto.ts b/libs/common/src/lib/dtos/create-asset-profile.dto.ts index 1579a3debb..9a7eb6e6c2 100644 --- a/libs/common/src/lib/dtos/create-asset-profile.dto.ts +++ b/libs/common/src/lib/dtos/create-asset-profile.dto.ts @@ -1,3 +1,4 @@ +import { COMMENT_MAXIMUM_LENGTH } from '@ghostfolio/common/config'; import { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code'; import { AssetClass, AssetSubClass, DataSource, Prisma } from '@prisma/client'; @@ -28,7 +29,7 @@ export class CreateAssetProfileDto { @IsOptional() @IsString() - @MaxLength(2000) + @MaxLength(COMMENT_MAXIMUM_LENGTH) comment?: string; @IsArray() diff --git a/libs/common/src/lib/dtos/create-order.dto.ts b/libs/common/src/lib/dtos/create-order.dto.ts index 5e3fc8c9f2..f4d5524395 100644 --- a/libs/common/src/lib/dtos/create-order.dto.ts +++ b/libs/common/src/lib/dtos/create-order.dto.ts @@ -1,3 +1,4 @@ +import { COMMENT_MAXIMUM_LENGTH } from '@ghostfolio/common/config'; import { IsAfter1970Constraint } from '@ghostfolio/common/validator-constraints/is-after-1970'; import { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code'; @@ -33,7 +34,7 @@ export class CreateOrderDto { @IsOptional() @IsString() - @MaxLength(2000) + @MaxLength(COMMENT_MAXIMUM_LENGTH) @Transform(({ value }: TransformFnParams) => isString(value) ? value.trim() : value ) diff --git a/libs/common/src/lib/dtos/update-account.dto.ts b/libs/common/src/lib/dtos/update-account.dto.ts index 3ad3745955..deec684aae 100644 --- a/libs/common/src/lib/dtos/update-account.dto.ts +++ b/libs/common/src/lib/dtos/update-account.dto.ts @@ -1,3 +1,4 @@ +import { COMMENT_MAXIMUM_LENGTH } from '@ghostfolio/common/config'; import { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code'; import { Transform, TransformFnParams } from 'class-transformer'; @@ -23,7 +24,7 @@ export class UpdateAccountDto { @IsOptional() @IsString() - @MaxLength(2000) + @MaxLength(COMMENT_MAXIMUM_LENGTH) @Transform(({ value }: TransformFnParams) => isString(value) ? value.trim() : value ) diff --git a/libs/common/src/lib/dtos/update-asset-profile.dto.ts b/libs/common/src/lib/dtos/update-asset-profile.dto.ts index cd1461fcd5..2291697941 100644 --- a/libs/common/src/lib/dtos/update-asset-profile.dto.ts +++ b/libs/common/src/lib/dtos/update-asset-profile.dto.ts @@ -1,3 +1,4 @@ +import { COMMENT_MAXIMUM_LENGTH } from '@ghostfolio/common/config'; import { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code'; import { @@ -36,7 +37,7 @@ export class UpdateAssetProfileDto { @IsOptional() @IsString() - @MaxLength(2000) + @MaxLength(COMMENT_MAXIMUM_LENGTH) comment?: string | null; @IsArray() diff --git a/libs/common/src/lib/dtos/update-order.dto.ts b/libs/common/src/lib/dtos/update-order.dto.ts index b56cdcfbdc..0587e21ec7 100644 --- a/libs/common/src/lib/dtos/update-order.dto.ts +++ b/libs/common/src/lib/dtos/update-order.dto.ts @@ -1,3 +1,4 @@ +import { COMMENT_MAXIMUM_LENGTH } from '@ghostfolio/common/config'; import { IsAfter1970Constraint } from '@ghostfolio/common/validator-constraints/is-after-1970'; import { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code'; @@ -32,7 +33,7 @@ export class UpdateOrderDto { @IsOptional() @IsString() - @MaxLength(2000) + @MaxLength(COMMENT_MAXIMUM_LENGTH) @Transform(({ value }: TransformFnParams) => isString(value) ? value.trim() : value )