fix: adds timestamps to global schemas (#2738)
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import merge from 'deepmerge';
|
||||
import { toWords } from '../../utilities/formatLabels';
|
||||
import { CollectionConfig } from '../../collections/config/types';
|
||||
import sanitizeFields from '../../fields/config/sanitize';
|
||||
@@ -6,6 +5,8 @@ import { GlobalConfig, SanitizedGlobalConfig } from './types';
|
||||
import defaultAccess from '../../auth/defaultAccess';
|
||||
import baseVersionFields from '../../versions/baseFields';
|
||||
import mergeBaseFields from '../../fields/mergeBaseFields';
|
||||
import translations from '../../translations';
|
||||
import { fieldAffectsData } from '../../fields/config/types';
|
||||
|
||||
const sanitizeGlobals = (collections: CollectionConfig[], globals: GlobalConfig[]): SanitizedGlobalConfig[] => {
|
||||
const sanitizedGlobals = globals.map((global) => {
|
||||
@@ -56,6 +57,37 @@ const sanitizeGlobals = (collections: CollectionConfig[], globals: GlobalConfig[
|
||||
// /////////////////////////////////
|
||||
// Sanitize fields
|
||||
// /////////////////////////////////
|
||||
let hasUpdatedAt = null;
|
||||
let hasCreatedAt = null;
|
||||
sanitizedGlobal.fields.some((field) => {
|
||||
if (fieldAffectsData(field)) {
|
||||
if (field.name === 'updatedAt') hasUpdatedAt = true;
|
||||
if (field.name === 'createdAt') hasCreatedAt = true;
|
||||
}
|
||||
return hasCreatedAt && hasUpdatedAt;
|
||||
});
|
||||
if (!hasUpdatedAt) {
|
||||
sanitizedGlobal.fields.push({
|
||||
name: 'updatedAt',
|
||||
label: translations['general:updatedAt'],
|
||||
type: 'date',
|
||||
admin: {
|
||||
hidden: true,
|
||||
disableBulkEdit: true,
|
||||
},
|
||||
});
|
||||
}
|
||||
if (!hasCreatedAt) {
|
||||
sanitizedGlobal.fields.push({
|
||||
name: 'createdAt',
|
||||
label: translations['general:createdAt'],
|
||||
type: 'date',
|
||||
admin: {
|
||||
hidden: true,
|
||||
disableBulkEdit: true,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
const validRelationships = collections.map((c) => c.slug);
|
||||
sanitizedGlobal.fields = sanitizeFields(sanitizedGlobal.fields, validRelationships);
|
||||
|
||||
@@ -1008,6 +1008,8 @@ type usersMe {
|
||||
|
||||
type Menu {
|
||||
globalText: String
|
||||
updatedAt: DateTime
|
||||
createdAt: DateTime
|
||||
}
|
||||
|
||||
type menuDocAccess {
|
||||
@@ -1018,6 +1020,8 @@ type menuDocAccess {
|
||||
|
||||
type MenuDocAccessFields {
|
||||
globalText: MenuDocAccessFields_globalText
|
||||
updatedAt: MenuDocAccessFields_updatedAt
|
||||
createdAt: MenuDocAccessFields_createdAt
|
||||
}
|
||||
|
||||
type MenuDocAccessFields_globalText {
|
||||
@@ -1043,6 +1047,52 @@ type MenuDocAccessFields_globalText_Delete {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuDocAccessFields_updatedAt {
|
||||
create: MenuDocAccessFields_updatedAt_Create
|
||||
read: MenuDocAccessFields_updatedAt_Read
|
||||
update: MenuDocAccessFields_updatedAt_Update
|
||||
delete: MenuDocAccessFields_updatedAt_Delete
|
||||
}
|
||||
|
||||
type MenuDocAccessFields_updatedAt_Create {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuDocAccessFields_updatedAt_Read {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuDocAccessFields_updatedAt_Update {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuDocAccessFields_updatedAt_Delete {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuDocAccessFields_createdAt {
|
||||
create: MenuDocAccessFields_createdAt_Create
|
||||
read: MenuDocAccessFields_createdAt_Read
|
||||
update: MenuDocAccessFields_createdAt_Update
|
||||
delete: MenuDocAccessFields_createdAt_Delete
|
||||
}
|
||||
|
||||
type MenuDocAccessFields_createdAt_Create {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuDocAccessFields_createdAt_Read {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuDocAccessFields_createdAt_Update {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuDocAccessFields_createdAt_Delete {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuReadDocAccess {
|
||||
permission: Boolean!
|
||||
where: JSONObject
|
||||
@@ -1564,6 +1614,8 @@ type menuAccess {
|
||||
|
||||
type MenuFields {
|
||||
globalText: MenuFields_globalText
|
||||
updatedAt: MenuFields_updatedAt
|
||||
createdAt: MenuFields_createdAt
|
||||
}
|
||||
|
||||
type MenuFields_globalText {
|
||||
@@ -1589,6 +1641,52 @@ type MenuFields_globalText_Delete {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuFields_updatedAt {
|
||||
create: MenuFields_updatedAt_Create
|
||||
read: MenuFields_updatedAt_Read
|
||||
update: MenuFields_updatedAt_Update
|
||||
delete: MenuFields_updatedAt_Delete
|
||||
}
|
||||
|
||||
type MenuFields_updatedAt_Create {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuFields_updatedAt_Read {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuFields_updatedAt_Update {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuFields_updatedAt_Delete {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuFields_createdAt {
|
||||
create: MenuFields_createdAt_Create
|
||||
read: MenuFields_createdAt_Read
|
||||
update: MenuFields_createdAt_Update
|
||||
delete: MenuFields_createdAt_Delete
|
||||
}
|
||||
|
||||
type MenuFields_createdAt_Create {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuFields_createdAt_Read {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuFields_createdAt_Update {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuFields_createdAt_Delete {
|
||||
permission: Boolean!
|
||||
}
|
||||
|
||||
type MenuReadAccess {
|
||||
permission: Boolean!
|
||||
where: JSONObject
|
||||
@@ -1703,4 +1801,6 @@ type usersResetPassword {
|
||||
|
||||
input mutationMenuInput {
|
||||
globalText: String
|
||||
updatedAt: String
|
||||
createdAt: String
|
||||
}
|
||||
Reference in New Issue
Block a user