Skip to content

Commit

Permalink
Merge pull request #31 from Bricks666/develop
Browse files Browse the repository at this point in the history
v2.4.2
  • Loading branch information
Bricks666 authored Mar 26, 2024
2 parents c013639 + d321d84 commit 80fa966
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 10 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "server",
"version": "2.4.1",
"version": "2.4.2",
"description": "",
"main": "./dist/index.js",
"scripts": {
Expand Down
6 changes: 3 additions & 3 deletions src/activities/dto/activities-filters.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export class ActivitiesFiltersDto {
})
@IsNumber({}, { each: true, })
@IsOptional()
@NumberTransform()
@NumberTransform({ singleValueAsArray: true, })
declare activistIds?: number[];

@ApiProperty({
Expand All @@ -24,7 +24,7 @@ export class ActivitiesFiltersDto {
})
@IsNumber({}, { each: true, })
@IsOptional()
@NumberTransform()
@NumberTransform({ singleValueAsArray: true, })
declare sphereIds?: number[];

@ApiProperty({
Expand All @@ -36,7 +36,7 @@ export class ActivitiesFiltersDto {
})
@IsNumber({}, { each: true, })
@IsOptional()
@NumberTransform()
@NumberTransform({ singleValueAsArray: true, })
declare actionIds?: number[];

@ApiProperty({
Expand Down
14 changes: 12 additions & 2 deletions src/shared/lib/number-transform.decorator.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
import { Transform } from 'class-transformer';

export const NumberTransform = (defaultValue?: number[] | number) => {
export interface NumberTransformParams {
readonly defaultValue?: number | number[];
readonly singleValueAsArray?: boolean;
}

export const NumberTransform = (params: NumberTransformParams = {}) => {
const { defaultValue, singleValueAsArray = false, } = params;

return Transform((property) => {
const { value, } = property;

Expand All @@ -18,7 +25,10 @@ export const NumberTransform = (defaultValue?: number[] | number) => {

const numbers = value.split(',');

if (numbers.length > 1) {
const multipleValues = numbers.length > 1;
const singleArrayedValue = numbers.length === 1 && singleValueAsArray;

if (multipleValues || singleArrayedValue) {
return numbers.map(Number);
}

Expand Down
4 changes: 2 additions & 2 deletions src/tasks/dto/tasks-filters.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export class TasksFiltersDto {
})
@IsNumber({}, { each: true, })
@IsOptional()
@NumberTransform()
@NumberTransform({ singleValueAsArray: true, })
declare readonly authorIds?: number[];

@ApiProperty({
Expand All @@ -24,7 +24,7 @@ export class TasksFiltersDto {
})
@IsNumber({}, { each: true, })
@IsOptional()
@NumberTransform()
@NumberTransform({ singleValueAsArray: true, })
declare readonly tagIds?: number[];

@ApiProperty({
Expand Down

0 comments on commit 80fa966

Please sign in to comment.