sanitize focus values (#52)

This commit is contained in:
Anders Gustafsson
2021-09-22 12:25:23 +02:00
committed by GitHub
parent 8845dd26d0
commit 15c28b3d20
2 changed files with 25 additions and 3 deletions
+8 -3
View File
@@ -18,7 +18,7 @@ import {
ProductProportionsInput,
} from '../types/product-types';
import { Maybe } from '../types/types';
import { booleanStringField, nullOrNumber } from './utils';
import { booleanStringField, nullOrNumber, roundOrDefaultTo } from './utils';
import { UserInputError } from 'apollo-server';
const MINUTE = 60;
@@ -99,10 +99,15 @@ export class ProductAPI extends BaseSQLDataSource {
fields['marginWidthMin'] = nullOrNumber(fields['marginWidthMin'] ?? null);
fields['marginHeightMax'] = nullOrNumber(fields['marginHeightMax'] ?? null);
fields['marginHeightMin'] = nullOrNumber(fields['marginHeightMin'] ?? null);
fields['focusXpoint2'] = nullOrNumber(fields['focusXpoint2'] ?? null);
fields['focusYpoint2'] = nullOrNumber(fields['focusYpoint2'] ?? null);
fields['focusXpoint'] = nullOrNumber(fields['focusXpoint'] ?? null);
fields['focusYpoint'] = nullOrNumber(fields['focusYpoint'] ?? null);
// Focus points values are in %.
// Should be rounded to two decimals. Is sometimes missing in DB.
// If missing should be treated as 50%, 50%
fields['focusXpoint2'] = roundOrDefaultTo(fields['focusXpoint2'], 2, 50);
fields['focusYpoint2'] = roundOrDefaultTo(fields['focusYpoint2'], 2, 50);
fields['photowallResolution'] = nullOrNumber(
fields['photowallResolution'] ?? null,
);