Browse Source

Limit length for comment, search query and symbol

pull/7810/head
Thomas Kaul 1 month ago
parent
commit
08db8bf807
  1. 2
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
  2. 1
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
  3. 7
      apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.component.ts
  4. 1
      apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html
  5. 7
      apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.component.ts
  6. 1
      apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html
  7. 2
      libs/common/src/lib/config.ts
  8. 3
      libs/common/src/lib/dtos/create-account.dto.ts
  9. 3
      libs/common/src/lib/dtos/create-asset-profile.dto.ts
  10. 3
      libs/common/src/lib/dtos/create-order.dto.ts
  11. 3
      libs/common/src/lib/dtos/update-account.dto.ts
  12. 3
      libs/common/src/lib/dtos/update-asset-profile.dto.ts
  13. 3
      libs/common/src/lib/dtos/update-order.dto.ts

2
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 { UserService } from '@ghostfolio/client/services/user/user.service';
import { import {
ASSET_CLASS_MAPPING, ASSET_CLASS_MAPPING,
COMMENT_MAXIMUM_LENGTH,
PROPERTY_IS_DATA_GATHERING_ENABLED PROPERTY_IS_DATA_GATHERING_ENABLED
} from '@ghostfolio/common/config'; } from '@ghostfolio/common/config';
import { UpdateAssetProfileDto } from '@ghostfolio/common/dtos'; import { UpdateAssetProfileDto } from '@ghostfolio/common/dtos';
@ -229,6 +230,7 @@ export class GfAssetProfileDialogComponent implements OnInit {
protected readonly canDeleteAssetProfile = canDeleteAssetProfile; protected readonly canDeleteAssetProfile = canDeleteAssetProfile;
protected canEditAssetProfile = true; protected canEditAssetProfile = true;
protected readonly COMMENT_MAXIMUM_LENGTH = COMMENT_MAXIMUM_LENGTH;
protected countries: { protected countries: {
[code: string]: { name: string; value: number }; [code: string]: { name: string; value: number };

1
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html

@ -467,6 +467,7 @@
cdkTextareaAutosize cdkTextareaAutosize
formControlName="comment" formControlName="comment"
matInput matInput
[maxlength]="COMMENT_MAXIMUM_LENGTH"
(keyup.enter)="$event.stopPropagation()" (keyup.enter)="$event.stopPropagation()"
></textarea> ></textarea>
</mat-form-field> </mat-form-field>

7
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 { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service';
import { UserService } from '@ghostfolio/client/services/user/user.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 { CreateAccountDto, UpdateAccountDto } from '@ghostfolio/common/dtos';
import { getStringOrNull } from '@ghostfolio/common/helper'; import { getStringOrNull } from '@ghostfolio/common/helper';
import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { hasPermission, permissions } from '@ghostfolio/common/permissions';
@ -62,6 +65,8 @@ import { CreateOrUpdateAccountDialogParams } from './interfaces/interfaces';
templateUrl: 'create-or-update-account-dialog.html' templateUrl: 'create-or-update-account-dialog.html'
}) })
export class GfCreateOrUpdateAccountDialogComponent { export class GfCreateOrUpdateAccountDialogComponent {
protected readonly COMMENT_MAXIMUM_LENGTH = COMMENT_MAXIMUM_LENGTH;
protected accountForm: FormGroup; protected accountForm: FormGroup;
protected currencies: string[] = []; protected currencies: string[] = [];
protected filteredPlatforms: Observable<Platform[]> | undefined; protected filteredPlatforms: Observable<Platform[]> | undefined;

1
apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html

@ -91,6 +91,7 @@
cdkTextareaAutosize cdkTextareaAutosize
formControlName="comment" formControlName="comment"
matInput matInput
[maxlength]="COMMENT_MAXIMUM_LENGTH"
(keyup.enter)="$event.stopPropagation()" (keyup.enter)="$event.stopPropagation()"
></textarea> ></textarea>
</mat-form-field> </mat-form-field>

7
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 { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service';
import { UserService } from '@ghostfolio/client/services/user/user.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 { CreateOrderDto, UpdateOrderDto } from '@ghostfolio/common/dtos';
import { import {
getDateFormatString, getDateFormatString,
@ -79,6 +83,7 @@ import { ActivityType } from './types/activity-type.type';
templateUrl: 'create-or-update-activity-dialog.html' templateUrl: 'create-or-update-activity-dialog.html'
}) })
export class GfCreateOrUpdateActivityDialogComponent { export class GfCreateOrUpdateActivityDialogComponent {
protected readonly COMMENT_MAXIMUM_LENGTH = COMMENT_MAXIMUM_LENGTH;
protected readonly DEFAULT_LOCALE = DEFAULT_LOCALE; protected readonly DEFAULT_LOCALE = DEFAULT_LOCALE;
protected activityForm: FormGroup; protected activityForm: FormGroup;

1
apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html

@ -255,6 +255,7 @@
cdkTextareaAutosize cdkTextareaAutosize
formControlName="comment" formControlName="comment"
matInput matInput
[maxlength]="COMMENT_MAXIMUM_LENGTH"
(keyup.enter)="$event.stopPropagation()" (keyup.enter)="$event.stopPropagation()"
></textarea> ></textarea>
</mat-form-field> </mat-form-field>

2
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_NO_CACHE = 1;
export const CACHE_TTL_INFINITE = 0; 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 = 'DATA_GATHERING_QUEUE';
export const DATA_GATHERING_QUEUE_PRIORITY_HIGH = 1; export const DATA_GATHERING_QUEUE_PRIORITY_HIGH = 1;
export const DATA_GATHERING_QUEUE_PRIORITY_LOW = Number.MAX_SAFE_INTEGER; export const DATA_GATHERING_QUEUE_PRIORITY_LOW = Number.MAX_SAFE_INTEGER;

3
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 { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code';
import { Transform, TransformFnParams } from 'class-transformer'; import { Transform, TransformFnParams } from 'class-transformer';
@ -23,7 +24,7 @@ export class CreateAccountDto {
@IsOptional() @IsOptional()
@IsString() @IsString()
@MaxLength(2000) @MaxLength(COMMENT_MAXIMUM_LENGTH)
@Transform(({ value }: TransformFnParams) => @Transform(({ value }: TransformFnParams) =>
isString(value) ? value.trim() : value isString(value) ? value.trim() : value
) )

3
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 { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code';
import { AssetClass, AssetSubClass, DataSource, Prisma } from '@prisma/client'; import { AssetClass, AssetSubClass, DataSource, Prisma } from '@prisma/client';
@ -28,7 +29,7 @@ export class CreateAssetProfileDto {
@IsOptional() @IsOptional()
@IsString() @IsString()
@MaxLength(2000) @MaxLength(COMMENT_MAXIMUM_LENGTH)
comment?: string; comment?: string;
@IsArray() @IsArray()

3
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 { IsAfter1970Constraint } from '@ghostfolio/common/validator-constraints/is-after-1970';
import { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code'; import { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code';
@ -33,7 +34,7 @@ export class CreateOrderDto {
@IsOptional() @IsOptional()
@IsString() @IsString()
@MaxLength(2000) @MaxLength(COMMENT_MAXIMUM_LENGTH)
@Transform(({ value }: TransformFnParams) => @Transform(({ value }: TransformFnParams) =>
isString(value) ? value.trim() : value isString(value) ? value.trim() : value
) )

3
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 { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code';
import { Transform, TransformFnParams } from 'class-transformer'; import { Transform, TransformFnParams } from 'class-transformer';
@ -23,7 +24,7 @@ export class UpdateAccountDto {
@IsOptional() @IsOptional()
@IsString() @IsString()
@MaxLength(2000) @MaxLength(COMMENT_MAXIMUM_LENGTH)
@Transform(({ value }: TransformFnParams) => @Transform(({ value }: TransformFnParams) =>
isString(value) ? value.trim() : value isString(value) ? value.trim() : value
) )

3
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 { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code';
import { import {
@ -36,7 +37,7 @@ export class UpdateAssetProfileDto {
@IsOptional() @IsOptional()
@IsString() @IsString()
@MaxLength(2000) @MaxLength(COMMENT_MAXIMUM_LENGTH)
comment?: string | null; comment?: string | null;
@IsArray() @IsArray()

3
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 { IsAfter1970Constraint } from '@ghostfolio/common/validator-constraints/is-after-1970';
import { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code'; import { IsCurrencyCode } from '@ghostfolio/common/validators/is-currency-code';
@ -32,7 +33,7 @@ export class UpdateOrderDto {
@IsOptional() @IsOptional()
@IsString() @IsString()
@MaxLength(2000) @MaxLength(COMMENT_MAXIMUM_LENGTH)
@Transform(({ value }: TransformFnParams) => @Transform(({ value }: TransformFnParams) =>
isString(value) ? value.trim() : value isString(value) ? value.trim() : value
) )

Loading…
Cancel
Save