ToolJet/server/migrations/1705162272372-numberInputMinMaxValidation.ts

42 lines
1.7 KiB
TypeScript
Raw Normal View History

test: Add automation for text-input revamp. (#8671) * init textinput revamp * updated styles panel * bugfix * updates * fix :: accordion * fix :: styling * add box shadow , additional property,tooltip * fix conditional render for styles * feat :: fixed order of each property and styles * feat :: styling input * bugfix * feat :: add option to add icon * add option to add icon * adding option to toggle visibility * updated password input with new design * chnaging component location * bugfix * style fixes * fix :: added loader * updated :: few detailing * few bugfixes * fix :: for form widget label * fixes * added option to add icon color * including label field for password input * fix for label * fix * test fix backward compatibility for height * updates * revert * adding key for distinguishing older and newer widgets * testing * test * test * update * update * migration testing * limit vertical resizing in textinput * testing * throw test * test * adding check for label length * fixing edge cases * removing resize * backward compatibility height * backward compatibility * number input review fixes * added exposed items * fixing csa * ui fixes * fix height compatibility * feat :: csa for all inputs and exposed variables * backward compatibility fixes and validation fixes * fixes :: textinput positioning of loader and icon * fix :: password input * cleanup and fixes * fixes * cleanup * fixes * review fixes * review fixes * typo fix * fix padding * review fixes styles component panel * fix naming * fix padding * fix :: icons position * updates * cleanup * updates events , csa * backward compatibility * clean * feat :: change validation from properties * ui fixes * icon name * removed 'px' text from tooltip * fixes placeholder * few updates :: removing label in form * ui in form * update :: number input validation behaviour * testing fixes * added side handlers * removing unwanted fx * disabling fx for padding field * ordering change * fix * label issue + restricted side handler * fix :: box shadow bug * on change event doesnt propagate exposed vars correctly * adding debounce for slider value change * fix :: for modal ooen bug during onfocus event * test slider * Add common utils * Modify helpers * Add text input spec * Add utils for field validation * Minor spec updates * Fix for password basic automation cases --------- Co-authored-by: stepinfwd <stepinfwd@gmail.com>
2024-02-06 04:57:31 +00:00
import { Component } from 'src/entities/component.entity';
import { In, MigrationInterface, QueryRunner } from 'typeorm';
export class NumberInputMinMaxValidation1705162272372 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
// Array of component types to be enhanced
const componentTypes = ['NumberInput'];
// Obtaining the TypeORM EntityManager from the QueryRunner
const entityManager = queryRunner.manager;
// Retrieving components of specified types from the database
const components = await entityManager.find(Component, {
where: { type: In(componentTypes) }, // Filtering by component types
order: { createdAt: 'ASC' }, // Ordering components by creation date in ascending order
});
// Iterating through each retrieved component
for (const component of components) {
// Extracting properties and validation from the component
const properties = component.properties;
const validation = component.validation;
// Moving 'minValue' from properties to validation
if (properties.minValue) {
validation.minValue = properties.minValue;
delete properties.minValue; // Removing 'minValue' from properties
}
// Moving 'minValue' from properties to validation
if (properties.maxValue) {
validation.maxValue = properties.maxValue;
delete properties.maxValue; // Removing 'minValue' from properties
}
// Updating the component in the database with the modified properties and validation
await entityManager.update(Component, component.id, { properties, validation });
}
}
public async down(queryRunner: QueryRunner): Promise<void> {}
}