Skip to content

Commit bd76118

Browse files
authored
fix: enforcing 4000 characters in TransactionGroup.description db column (hashgraph#3100)
* Enforce length 4000 in TransactionGroup.description entity column. Signed-off-by: Eric Le Ponner <eric.leponner@icloud.com> * Adjusted front-end MAX_TRANSACTION_GROUP_DESCRIPTION_LENGTH to 4000. Signed-off-by: Eric Le Ponner <eric.leponner@icloud.com> * Aligned last migration. Signed-off-by: Eric Le Ponner <eric.leponner@icloud.com> --------- Signed-off-by: Eric Le Ponner <eric.leponner@icloud.com>
1 parent 4b13b0e commit bd76118

4 files changed

Lines changed: 21 additions & 5 deletions

File tree

back-end/libs/common/src/database/entities/transaction-group.entity.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
import { Column, CreateDateColumn, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm';
22
import { TransactionGroupItem } from './';
33

4-
export const MAX_TRANSACTION_GROUP_DESCRIPTION_LENGTH = 256;
4+
export const MAX_TRANSACTION_GROUP_DESCRIPTION_LENGTH = 4000;
55

66
@Entity()
77
export class TransactionGroup {
88
@PrimaryGeneratedColumn()
99
id: number;
1010

11-
@Column()
12-
// @Column({ length: MAX_TRANSACTION_GROUP_DESCRIPTION_LENGTH })
11+
@Column({ length: MAX_TRANSACTION_GROUP_DESCRIPTION_LENGTH })
1312
description: string;
1413

1514
@Column({ default: false })
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { MigrationInterface, QueryRunner } from 'typeorm';
2+
3+
export class TransactionGroupDescriptionMaxLength1783680807000 implements MigrationInterface {
4+
name = 'TransactionGroupDescriptionMaxLength1783680807000';
5+
6+
public async up(queryRunner: QueryRunner): Promise<void> {
7+
await queryRunner.query(
8+
`ALTER TABLE "transaction_group" ALTER COLUMN "description" TYPE character varying(4000)`,
9+
);
10+
}
11+
12+
public async down(queryRunner: QueryRunner): Promise<void> {
13+
await queryRunner.query(
14+
`ALTER TABLE "transaction_group" ALTER COLUMN "description" TYPE character varying`,
15+
);
16+
}
17+
}

front-end/src/shared/interfaces/organization/transactions/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,4 @@ export interface SignatureImportResultDto {
120120
}
121121

122122
export const MAX_TRANSACTION_DESCRIPTION_LENGTH = 256;
123-
export const MAX_TRANSACTION_GROUP_DESCRIPTION_LENGTH = 256;
123+
export const MAX_TRANSACTION_GROUP_DESCRIPTION_LENGTH = 4000;

front-end/src/tests/renderer/pages/CreateTransactionGroup/CreateTransactionGroup.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ describe('CreateTransactionGroup.vue', () => {
269269
const element = wrapper.find('[data-testid="input-transaction-group-description"]').element;
270270
expect(element instanceof HTMLInputElement).toBe(true);
271271
const input = element as HTMLInputElement;
272-
expect(input.maxLength).toBe(256);
272+
expect(input.maxLength).toBe(4000);
273273
})
274274

275275
describe('group item row', () => {

0 commit comments

Comments
 (0)