fix: job collection was not added if job config only has workflows and no predefined tasks (#9963)
This commit is contained in:
@@ -172,7 +172,11 @@ export const sanitizeConfig = async (incomingConfig: Config): Promise<SanitizedC
|
|||||||
config.i18n = i18nConfig
|
config.i18n = i18nConfig
|
||||||
|
|
||||||
// Need to add default jobs collection before locked documents collections
|
// Need to add default jobs collection before locked documents collections
|
||||||
if (Array.isArray(configWithDefaults.jobs?.tasks) && configWithDefaults.jobs.tasks.length > 0) {
|
if (
|
||||||
|
(Array.isArray(configWithDefaults.jobs?.tasks) && configWithDefaults.jobs?.tasks?.length) ||
|
||||||
|
(Array.isArray(configWithDefaults.jobs?.workflows) &&
|
||||||
|
configWithDefaults.jobs?.workflows?.length)
|
||||||
|
) {
|
||||||
let defaultJobsCollection = getDefaultJobsCollection(config as unknown as Config)
|
let defaultJobsCollection = getDefaultJobsCollection(config as unknown as Config)
|
||||||
|
|
||||||
if (typeof configWithDefaults.jobs.jobsCollectionOverrides === 'function') {
|
if (typeof configWithDefaults.jobs.jobsCollectionOverrides === 'function') {
|
||||||
|
|||||||
@@ -13,18 +13,22 @@ export const getDefaultJobsCollection: (config: Config) => CollectionConfig | nu
|
|||||||
const workflowSlugs: Set<string> = new Set()
|
const workflowSlugs: Set<string> = new Set()
|
||||||
const taskSlugs: Set<string> = new Set(['inline'])
|
const taskSlugs: Set<string> = new Set(['inline'])
|
||||||
|
|
||||||
config.jobs?.workflows.forEach((workflow) => {
|
if (config.jobs?.workflows.length) {
|
||||||
workflowSlugs.add(workflow.slug)
|
config.jobs?.workflows.forEach((workflow) => {
|
||||||
})
|
workflowSlugs.add(workflow.slug)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
config.jobs.tasks.forEach((task) => {
|
if (config.jobs?.tasks.length) {
|
||||||
if (workflowSlugs.has(task.slug)) {
|
config.jobs.tasks.forEach((task) => {
|
||||||
throw new Error(
|
if (workflowSlugs.has(task.slug)) {
|
||||||
`Task slug "${task.slug}" is already used by a workflow. No tasks are allowed to have the same slug as a workflow.`,
|
throw new Error(
|
||||||
)
|
`Task slug "${task.slug}" is already used by a workflow. No tasks are allowed to have the same slug as a workflow.`,
|
||||||
}
|
)
|
||||||
taskSlugs.add(task.slug)
|
}
|
||||||
})
|
taskSlugs.add(task.slug)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const jobsCollection: CollectionConfig = {
|
const jobsCollection: CollectionConfig = {
|
||||||
slug: 'payload-jobs',
|
slug: 'payload-jobs',
|
||||||
|
|||||||
Reference in New Issue
Block a user