2021-07-05 10:43:36 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const PAGINATION_TYPE_NAME = 'Pagination';
|
|
|
|
const PUBLICATION_STATE_TYPE_NAME = 'PublicationState';
|
2021-09-09 16:45:38 +02:00
|
|
|
const ERROR_TYPE_NAME = 'Error';
|
2021-07-05 10:43:36 +02:00
|
|
|
|
|
|
|
const RESPONSE_COLLECTION_META_TYPE_NAME = 'ResponseCollectionMeta';
|
|
|
|
|
|
|
|
const GRAPHQL_SCALARS = [
|
|
|
|
'ID',
|
|
|
|
'Boolean',
|
|
|
|
'Int',
|
|
|
|
'String',
|
|
|
|
'Long',
|
|
|
|
'Float',
|
|
|
|
'JSON',
|
|
|
|
'Date',
|
|
|
|
'Time',
|
|
|
|
'DateTime',
|
|
|
|
];
|
|
|
|
|
|
|
|
const STRAPI_SCALARS = [
|
|
|
|
'boolean',
|
|
|
|
'integer',
|
|
|
|
'string',
|
2021-08-06 16:16:07 +02:00
|
|
|
'richtext',
|
2021-12-02 19:55:29 +09:00
|
|
|
'enumeration',
|
2021-07-05 10:43:36 +02:00
|
|
|
'biginteger',
|
|
|
|
'float',
|
|
|
|
'decimal',
|
|
|
|
'json',
|
|
|
|
'date',
|
|
|
|
'time',
|
|
|
|
'datetime',
|
|
|
|
'timestamp',
|
2021-09-09 11:31:29 +02:00
|
|
|
'uid',
|
2021-09-15 15:44:42 +02:00
|
|
|
'email',
|
|
|
|
'password',
|
2021-09-21 19:38:15 +02:00
|
|
|
'text',
|
2021-07-05 10:43:36 +02:00
|
|
|
];
|
|
|
|
|
2021-09-09 11:31:29 +02:00
|
|
|
const SCALARS_ASSOCIATIONS = {
|
|
|
|
uid: 'String',
|
2021-09-15 15:44:42 +02:00
|
|
|
email: 'String',
|
|
|
|
password: 'String',
|
2021-09-21 19:38:15 +02:00
|
|
|
text: 'String',
|
2021-09-09 11:31:29 +02:00
|
|
|
boolean: 'Boolean',
|
|
|
|
integer: 'Int',
|
|
|
|
string: 'String',
|
2021-12-02 19:55:29 +09:00
|
|
|
enumeration: 'String',
|
2021-09-09 11:31:29 +02:00
|
|
|
richtext: 'String',
|
|
|
|
biginteger: 'Long',
|
|
|
|
float: 'Float',
|
|
|
|
decimal: 'Float',
|
|
|
|
json: 'JSON',
|
|
|
|
date: 'Date',
|
|
|
|
time: 'Time',
|
|
|
|
datetime: 'DateTime',
|
|
|
|
timestamp: 'DateTime',
|
|
|
|
};
|
|
|
|
|
2021-08-05 15:57:31 +02:00
|
|
|
const GENERIC_MORPH_TYPENAME = 'GenericMorph';
|
|
|
|
|
2021-08-16 15:21:00 +02:00
|
|
|
const KINDS = {
|
|
|
|
type: 'type',
|
|
|
|
component: 'component',
|
|
|
|
dynamicZone: 'dynamic-zone',
|
|
|
|
enum: 'enum',
|
|
|
|
entity: 'entity',
|
|
|
|
entityResponse: 'entity-response',
|
|
|
|
entityResponseCollection: 'entity-response-collection',
|
2021-09-28 12:02:26 +02:00
|
|
|
relationResponseCollection: 'relation-response-collection',
|
2021-08-16 15:21:00 +02:00
|
|
|
query: 'query',
|
|
|
|
mutation: 'mutation',
|
|
|
|
input: 'input',
|
|
|
|
filtersInput: 'filters-input',
|
|
|
|
scalar: 'scalar',
|
|
|
|
morph: 'polymorphic',
|
|
|
|
internal: 'internal',
|
|
|
|
};
|
|
|
|
|
2021-09-21 19:38:15 +02:00
|
|
|
const allOperators = [
|
|
|
|
'and',
|
|
|
|
'or',
|
|
|
|
'not',
|
|
|
|
|
|
|
|
'eq',
|
2022-07-12 16:19:51 +04:00
|
|
|
'eqi',
|
2021-09-21 19:38:15 +02:00
|
|
|
'ne',
|
2023-06-08 18:13:34 +02:00
|
|
|
'nei',
|
2021-09-21 19:38:15 +02:00
|
|
|
|
|
|
|
'startsWith',
|
|
|
|
'endsWith',
|
|
|
|
|
|
|
|
'contains',
|
|
|
|
'notContains',
|
|
|
|
|
|
|
|
'containsi',
|
|
|
|
'notContainsi',
|
|
|
|
|
|
|
|
'gt',
|
|
|
|
'gte',
|
|
|
|
|
|
|
|
'lt',
|
|
|
|
'lte',
|
|
|
|
|
|
|
|
'null',
|
|
|
|
'notNull',
|
|
|
|
|
|
|
|
'in',
|
|
|
|
'notIn',
|
|
|
|
|
|
|
|
'between',
|
|
|
|
];
|
|
|
|
|
2021-08-24 17:56:44 +02:00
|
|
|
const GRAPHQL_SCALAR_OPERATORS = {
|
|
|
|
// ID
|
2021-09-21 19:38:15 +02:00
|
|
|
ID: allOperators,
|
2021-08-24 17:56:44 +02:00
|
|
|
// Booleans
|
2021-09-21 19:38:15 +02:00
|
|
|
Boolean: allOperators,
|
2021-08-24 17:56:44 +02:00
|
|
|
// Strings
|
2021-09-21 19:38:15 +02:00
|
|
|
String: allOperators,
|
2021-08-24 17:56:44 +02:00
|
|
|
// Numbers
|
2021-09-21 19:38:15 +02:00
|
|
|
Int: allOperators,
|
|
|
|
Long: allOperators,
|
|
|
|
Float: allOperators,
|
2021-08-24 17:56:44 +02:00
|
|
|
// Dates
|
2021-09-21 19:38:15 +02:00
|
|
|
Date: allOperators,
|
|
|
|
Time: allOperators,
|
|
|
|
DateTime: allOperators,
|
2021-08-24 17:56:44 +02:00
|
|
|
// Others
|
2021-09-21 19:38:15 +02:00
|
|
|
JSON: allOperators,
|
2021-08-24 17:56:44 +02:00
|
|
|
};
|
|
|
|
|
2021-09-09 16:45:38 +02:00
|
|
|
const ERROR_CODES = {
|
|
|
|
emptyDynamicZone: 'dynamiczone.empty',
|
|
|
|
};
|
|
|
|
|
2021-08-24 17:56:44 +02:00
|
|
|
module.exports = () => ({
|
2021-07-05 10:43:36 +02:00
|
|
|
PAGINATION_TYPE_NAME,
|
|
|
|
RESPONSE_COLLECTION_META_TYPE_NAME,
|
|
|
|
PUBLICATION_STATE_TYPE_NAME,
|
|
|
|
GRAPHQL_SCALARS,
|
|
|
|
STRAPI_SCALARS,
|
2021-08-05 15:57:31 +02:00
|
|
|
GENERIC_MORPH_TYPENAME,
|
2021-08-16 15:21:00 +02:00
|
|
|
KINDS,
|
2021-08-24 17:56:44 +02:00
|
|
|
GRAPHQL_SCALAR_OPERATORS,
|
2021-09-09 11:31:29 +02:00
|
|
|
SCALARS_ASSOCIATIONS,
|
2021-09-09 16:45:38 +02:00
|
|
|
ERROR_CODES,
|
|
|
|
ERROR_TYPE_NAME,
|
2021-08-24 17:56:44 +02:00
|
|
|
});
|