Common - Field validation (#15491)
Closes : https://github.com/twentyhq/core-team-issues/issues/1622 To do in other PR : - Add migration command for non nullable text, raw_json & array fields - Add null transformation --------- Co-authored-by: Weiko <corentin@twenty.com>
This commit is contained in:
@@ -20,7 +20,6 @@ import { ApiKeyRoleService } from 'src/engine/core-modules/api-key/api-key-role.
|
||||
import { AccessTokenService } from 'src/engine/core-modules/auth/token/services/access-token.service';
|
||||
import { WorkspaceDomainsService } from 'src/engine/core-modules/domain/workspace-domains/services/workspace-domains.service';
|
||||
import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service';
|
||||
import { RecordInputTransformerService } from 'src/engine/core-modules/record-transformer/services/record-input-transformer.service';
|
||||
import { WorkspaceNotFoundDefaultError } from 'src/engine/core-modules/workspace/workspace.exception';
|
||||
import {
|
||||
PermissionsException,
|
||||
@@ -55,8 +54,6 @@ export interface FormatResult {
|
||||
}
|
||||
|
||||
export abstract class RestApiBaseHandler {
|
||||
@Inject()
|
||||
protected readonly recordInputTransformerService: RecordInputTransformerService;
|
||||
@Inject()
|
||||
protected readonly twentyORMManager: TwentyORMManager;
|
||||
@Inject()
|
||||
|
||||
-1
@@ -1,4 +1,3 @@
|
||||
//TODO : Refacto-common - remove this comment - This parser is a copy of the filter input factory without objectMetadata dependency. Validation will be done in common layer
|
||||
import { type FieldValue } from 'src/engine/api/rest/core/types/field-value.type';
|
||||
import { addDefaultConjunctionIfMissing } from 'src/engine/api/rest/input-request-parsers/filter-parser-utils/add-default-conjunction.util';
|
||||
import { checkFilterQuery } from 'src/engine/api/rest/input-request-parsers/filter-parser-utils/check-filter-query.util';
|
||||
|
||||
+2
-4
@@ -1,8 +1,6 @@
|
||||
//TODO : Refacto-common - remove this comment - This parser is a copy of the OrderByInputFactory without objectMetadata dependency. Validation will be done in common layer
|
||||
|
||||
import { type ObjectRecordOrderBy } from 'src/engine/api/graphql/workspace-query-builder/interfaces/object-record.interface';
|
||||
|
||||
import { parseOrderByRestRequestCommon } from 'src/engine/api/rest/input-request-parsers/order-by-parser-utils/utils/parse-order-by-rest-request-common.util';
|
||||
import { parseOrderBy } from 'src/engine/api/rest/input-request-parsers/order-by-parser-utils/utils/parse-order-by-rest-request-common.util';
|
||||
import { type AuthenticatedRequest } from 'src/engine/api/rest/types/authenticated-request';
|
||||
|
||||
export const parseOrderByRestRequest = (
|
||||
@@ -10,5 +8,5 @@ export const parseOrderByRestRequest = (
|
||||
): ObjectRecordOrderBy => {
|
||||
const orderByQuery = request.query.order_by;
|
||||
|
||||
return parseOrderByRestRequestCommon(orderByQuery);
|
||||
return parseOrderBy(orderByQuery);
|
||||
};
|
||||
|
||||
+1
-3
@@ -1,5 +1,3 @@
|
||||
//TODO : Refacto-common - remove this comment - This parser is a copy of the OrderByInputFactory without objectMetadata dependency. Validation will be done in common layer
|
||||
|
||||
import { OrderByDirection } from 'twenty-shared/types';
|
||||
|
||||
import { type ObjectRecordOrderBy } from 'src/engine/api/graphql/workspace-query-builder/interfaces/object-record.interface';
|
||||
@@ -14,7 +12,7 @@ import {
|
||||
|
||||
const DEFAULT_ORDER_DIRECTION = OrderByDirection.AscNullsFirst;
|
||||
|
||||
export const parseOrderByRestRequestCommon = (
|
||||
export const parseOrderBy = (
|
||||
orderByQuery: string | string[] | ParsedQs | ParsedQs[] | undefined,
|
||||
): ObjectRecordOrderBy => {
|
||||
if (typeof orderByQuery !== 'string') {
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
import { type ObjectRecordOrderBy } from 'src/engine/api/graphql/workspace-query-builder/interfaces/object-record.interface';
|
||||
|
||||
import { parseOrderByRestRequestCommon } from 'src/engine/api/rest/input-request-parsers/order-by-parser-utils/utils/parse-order-by-rest-request-common.util';
|
||||
import { parseOrderBy } from 'src/engine/api/rest/input-request-parsers/order-by-parser-utils/utils/parse-order-by-rest-request-common.util';
|
||||
import { type AuthenticatedRequest } from 'src/engine/api/rest/types/authenticated-request';
|
||||
|
||||
export const parseOrderByForRecordsWithGroupByRestRequest = (
|
||||
@@ -8,5 +8,5 @@ export const parseOrderByForRecordsWithGroupByRestRequest = (
|
||||
): ObjectRecordOrderBy | undefined => {
|
||||
const orderByForRecordsWithGroupByQuery = request.query.order_by_for_records;
|
||||
|
||||
return parseOrderByRestRequestCommon(orderByForRecordsWithGroupByQuery);
|
||||
return parseOrderBy(orderByForRecordsWithGroupByQuery);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user