2020-04-27 20:39:34 +02:00
|
|
|
'use strict';
|
|
|
|
|
2020-08-18 17:09:21 +02:00
|
|
|
const { contentTypes: contentTypesUtils } = require('strapi-utils');
|
2020-10-27 11:27:17 +01:00
|
|
|
|
2020-08-18 17:09:21 +02:00
|
|
|
const {
|
|
|
|
PUBLISHED_AT_ATTRIBUTE,
|
|
|
|
CREATED_BY_ATTRIBUTE,
|
|
|
|
UPDATED_BY_ATTRIBUTE,
|
|
|
|
} = contentTypesUtils.constants;
|
|
|
|
|
2020-04-27 20:39:34 +02:00
|
|
|
// contentTypes and components reserved names
|
2020-04-29 10:55:47 +02:00
|
|
|
const RESERVED_MODEL_NAMES = ['admin', 'boolean', 'date', 'date-time', 'time', 'upload'];
|
2020-04-27 20:39:34 +02:00
|
|
|
// attribute reserved names
|
2020-07-16 16:11:54 +02:00
|
|
|
const RESERVED_ATTRIBUTE_NAMES = [
|
2020-08-18 17:09:21 +02:00
|
|
|
// existing fields
|
2020-07-16 16:11:54 +02:00
|
|
|
'_id',
|
|
|
|
'id',
|
2020-08-18 17:09:21 +02:00
|
|
|
CREATED_BY_ATTRIBUTE,
|
|
|
|
UPDATED_BY_ATTRIBUTE,
|
|
|
|
PUBLISHED_AT_ATTRIBUTE,
|
|
|
|
|
|
|
|
// existing object properties that may cause trouble
|
2020-07-16 16:11:54 +02:00
|
|
|
'length',
|
|
|
|
'attributes',
|
|
|
|
'relations',
|
|
|
|
'changed',
|
2020-08-18 17:09:21 +02:00
|
|
|
|
|
|
|
// list found here https://mongoosejs.com/docs/api.html#schema_Schema.reserved
|
|
|
|
'_posts',
|
2020-07-16 16:11:54 +02:00
|
|
|
'_pres',
|
|
|
|
'collection',
|
|
|
|
'emit',
|
|
|
|
'errors',
|
|
|
|
'get',
|
|
|
|
'init',
|
|
|
|
'isModified',
|
|
|
|
'isNew',
|
|
|
|
'listeners',
|
|
|
|
'modelName',
|
|
|
|
'on',
|
|
|
|
'once',
|
|
|
|
'populated',
|
|
|
|
'prototype',
|
|
|
|
'remove',
|
|
|
|
'removeListener',
|
|
|
|
'save',
|
|
|
|
'schema',
|
|
|
|
'toObject',
|
|
|
|
'validate',
|
2020-10-07 08:06:59 -05:00
|
|
|
'format',
|
2020-07-16 16:11:54 +02:00
|
|
|
];
|
2020-04-27 20:39:34 +02:00
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
RESERVED_MODEL_NAMES,
|
|
|
|
RESERVED_ATTRIBUTE_NAMES,
|
|
|
|
};
|