Thanks for the help!
It turns that a content type in this contentTypes object, needs to have all the data you pasted, inside an object ‘schema’. For example
'content-type-a': { // should re-use the singularName of the content-type
schema: {
info: {
tableName: 'content-type',
singularName: 'content-type-a', // kebab-case mandatory
pluralName: 'content-type-as', // kebab-case mandatory
displayName: 'Content Type A',
description: 'A regular content type',
kind: 'collectionType'
},
options: {
draftAndPublish: true,
},
pluginOptions: {
'content-manager': {
visible: false
},
'content-type-builder': {
visible: false
}
},
attributes: {
name: {
type: 'string',
min: 1,
max: 50,
configurable: false
},
}
}
}