mirror of https://github.com/acid-info/lpe-cms.git
implement podcast show, post, and tag schemas
This commit is contained in:
parent
7d54573974
commit
2fa17e52c8
|
@ -0,0 +1,19 @@
|
|||
"use strict";
|
||||
|
||||
const webpack = require("webpack");
|
||||
|
||||
/* eslint-disable no-unused-vars */
|
||||
module.exports = (config) => {
|
||||
// Note: we provide webpack above so you should not `require` it
|
||||
// Perform customizations to webpack config
|
||||
// Important: return the modified config
|
||||
|
||||
config.plugins.push(
|
||||
new webpack.NormalModuleReplacementPlugin(
|
||||
/^tippy\.js$/,
|
||||
"tippy.js/dist/tippy-bundle.umd.min.js"
|
||||
)
|
||||
);
|
||||
|
||||
return config;
|
||||
};
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"kind": "collectionType",
|
||||
"collectionName": "podcast_shows",
|
||||
"info": {
|
||||
"singularName": "podcast-show",
|
||||
"pluralName": "podcast-shows",
|
||||
"displayName": "Podcast Show",
|
||||
"description": ""
|
||||
},
|
||||
"options": {
|
||||
"draftAndPublish": true
|
||||
},
|
||||
"pluginOptions": {},
|
||||
"attributes": {
|
||||
"Name": {
|
||||
"type": "string",
|
||||
"required": true
|
||||
},
|
||||
"hosts": {
|
||||
"type": "relation",
|
||||
"relation": "oneToMany",
|
||||
"target": "plugin::users-permissions.user"
|
||||
},
|
||||
"description": {
|
||||
"type": "blocks"
|
||||
},
|
||||
"logo": {
|
||||
"type": "media",
|
||||
"multiple": false,
|
||||
"required": false,
|
||||
"allowedTypes": [
|
||||
"images"
|
||||
]
|
||||
},
|
||||
"posts": {
|
||||
"type": "relation",
|
||||
"relation": "oneToMany",
|
||||
"target": "api::post.post",
|
||||
"mappedBy": "podcast_show"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
* podcast-show controller
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi'
|
||||
|
||||
export default factories.createCoreController('api::podcast-show.podcast-show');
|
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
* podcast-show router
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::podcast-show.podcast-show');
|
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
* podcast-show service
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::podcast-show.podcast-show');
|
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
"kind": "collectionType",
|
||||
"collectionName": "posts",
|
||||
"info": {
|
||||
"singularName": "post",
|
||||
"pluralName": "posts",
|
||||
"displayName": "Post",
|
||||
"description": ""
|
||||
},
|
||||
"options": {
|
||||
"draftAndPublish": true
|
||||
},
|
||||
"pluginOptions": {},
|
||||
"attributes": {
|
||||
"title": {
|
||||
"type": "string"
|
||||
},
|
||||
"subtitle": {
|
||||
"type": "string"
|
||||
},
|
||||
"publish_date": {
|
||||
"type": "date"
|
||||
},
|
||||
"slug": {
|
||||
"type": "uid",
|
||||
"targetField": "title"
|
||||
},
|
||||
"type": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"Article",
|
||||
"Episode"
|
||||
],
|
||||
"default": "Article"
|
||||
},
|
||||
"episode_number": {
|
||||
"type": "integer"
|
||||
},
|
||||
"authors": {
|
||||
"type": "relation",
|
||||
"relation": "oneToMany",
|
||||
"target": "plugin::users-permissions.user"
|
||||
},
|
||||
"podcast_show": {
|
||||
"type": "relation",
|
||||
"relation": "manyToOne",
|
||||
"target": "api::podcast-show.podcast-show",
|
||||
"inversedBy": "posts"
|
||||
},
|
||||
"cover_image": {
|
||||
"type": "media",
|
||||
"multiple": false,
|
||||
"required": false,
|
||||
"allowedTypes": [
|
||||
"images"
|
||||
]
|
||||
},
|
||||
"tags": {
|
||||
"type": "relation",
|
||||
"relation": "manyToMany",
|
||||
"target": "api::tag.tag",
|
||||
"inversedBy": "posts"
|
||||
},
|
||||
"channel": {
|
||||
"displayName": "Channel",
|
||||
"type": "component",
|
||||
"repeatable": true,
|
||||
"component": "cat.channel"
|
||||
},
|
||||
"summary": {
|
||||
"type": "richtext"
|
||||
},
|
||||
"body": {
|
||||
"type": "richtext"
|
||||
},
|
||||
"credits": {
|
||||
"type": "richtext"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
* post controller
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi'
|
||||
|
||||
export default factories.createCoreController('api::post.post');
|
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
* post router
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::post.post');
|
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
* post service
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::post.post');
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"kind": "collectionType",
|
||||
"collectionName": "tags",
|
||||
"info": {
|
||||
"singularName": "tag",
|
||||
"pluralName": "tags",
|
||||
"displayName": "Tag",
|
||||
"description": ""
|
||||
},
|
||||
"options": {
|
||||
"draftAndPublish": false
|
||||
},
|
||||
"pluginOptions": {},
|
||||
"attributes": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"regex": "^([a-z0-9_\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253-\\u0254\\u0256-\\u0257\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb12-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u0750-\\u077f\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c-\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\ua960-\\ua97f\\uac00-\\ud7af\\ud7b0-\\ud7ff\\uffa1-\\uffdc\\u30a1-\\u30fa\\u30fc-\\u30fe\\uff66-\\uff9f\\uff10-\\uff19\\uff21-\\uff3a\\uff41-\\uff5a\\u3041-\\u3096\\u3099-\\u309e\\u3400-\\u4dbf\\u4e00-\\u9fff\\u20000-\\u2a6df\\u2a700-\\u2b73f\\u2b740-\\u2b81f\\u2f800-\\u2fa1f]*[a-z_\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253-\\u0254\\u0256-\\u0257\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb12-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u0750-\\u077f\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c-\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\ua960-\\ua97f\\uac00-\\ud7af\\ud7b0-\\ud7ff\\uffa1-\\uffdc\\u30a1-\\u30fa\\u30fc-\\u30fe\\uff66-\\uff9f\\uff10-\\uff19\\uff21-\\uff3a\\uff41-\\uff5a\\u3041-\\u3096\\u3099-\\u309e\\u3400-\\u4dbf\\u4e00-\\u9fff\\u20000-\\u2a6df\\u2a700-\\u2b73f\\u2b740-\\u2b81f\\u2f800-\\u2fa1f][a-z0-9_\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253-\\u0254\\u0256-\\u0257\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb12-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u0750-\\u077f\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c-\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\ua960-\\ua97f\\uac00-\\ud7af\\ud7b0-\\ud7ff\\uffa1-\\uffdc\\u30a1-\\u30fa\\u30fc-\\u30fe\\uff66-\\uff9f\\uff10-\\uff19\\uff21-\\uff3a\\uff41-\\uff5a\\u3041-\\u3096\\u3099-\\u309e\\u3400-\\u4dbf\\u4e00-\\u9fff\\u20000-\\u2a6df\\u2a700-\\u2b73f\\u2b740-\\u2b81f\\u2f800-\\u2fa1f]*)$"
|
||||
},
|
||||
"posts": {
|
||||
"type": "relation",
|
||||
"relation": "manyToMany",
|
||||
"target": "api::post.post",
|
||||
"mappedBy": "tags"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
* tag controller
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi'
|
||||
|
||||
export default factories.createCoreController('api::tag.tag');
|
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
* tag router
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::tag.tag');
|
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
* tag service
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::tag.tag');
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"collectionName": "components_cat_channels",
|
||||
"info": {
|
||||
"displayName": "Channel",
|
||||
"icon": "television"
|
||||
},
|
||||
"options": {},
|
||||
"attributes": {
|
||||
"channel": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"Spotify",
|
||||
"Youtube",
|
||||
"Simplecast",
|
||||
"Google Podcasts",
|
||||
"Apple Podcasts"
|
||||
]
|
||||
},
|
||||
"link": {
|
||||
"type": "text",
|
||||
"regex": "(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})",
|
||||
"required": true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"kind": "collectionType",
|
||||
"collectionName": "up_users",
|
||||
"info": {
|
||||
"name": "user",
|
||||
"description": "",
|
||||
"singularName": "user",
|
||||
"pluralName": "users",
|
||||
"displayName": "User"
|
||||
},
|
||||
"options": {
|
||||
"draftAndPublish": false
|
||||
},
|
||||
"attributes": {
|
||||
"username": {
|
||||
"type": "string",
|
||||
"minLength": 3,
|
||||
"unique": true,
|
||||
"configurable": false,
|
||||
"required": true
|
||||
},
|
||||
"email": {
|
||||
"type": "email",
|
||||
"minLength": 6,
|
||||
"configurable": false,
|
||||
"required": true
|
||||
},
|
||||
"provider": {
|
||||
"type": "string",
|
||||
"configurable": false
|
||||
},
|
||||
"password": {
|
||||
"type": "password",
|
||||
"minLength": 6,
|
||||
"configurable": false,
|
||||
"private": true,
|
||||
"searchable": false
|
||||
},
|
||||
"resetPasswordToken": {
|
||||
"type": "string",
|
||||
"configurable": false,
|
||||
"private": true,
|
||||
"searchable": false
|
||||
},
|
||||
"confirmationToken": {
|
||||
"type": "string",
|
||||
"configurable": false,
|
||||
"private": true,
|
||||
"searchable": false
|
||||
},
|
||||
"confirmed": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"configurable": false
|
||||
},
|
||||
"blocked": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"configurable": false
|
||||
},
|
||||
"role": {
|
||||
"type": "relation",
|
||||
"relation": "manyToOne",
|
||||
"target": "plugin::users-permissions.role",
|
||||
"inversedBy": "users",
|
||||
"configurable": false
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,23 @@
|
|||
import type { Schema, Attribute } from '@strapi/strapi';
|
||||
|
||||
declare module '@strapi/types' {
|
||||
export module Shared {}
|
||||
export interface CatChannel extends Schema.Component {
|
||||
collectionName: 'components_cat_channels';
|
||||
info: {
|
||||
displayName: 'Channel';
|
||||
icon: 'television';
|
||||
};
|
||||
attributes: {
|
||||
channel: Attribute.Enumeration<
|
||||
['Spotify', 'Youtube', 'Simplecast', 'Google Podcasts', 'Apple Podcasts']
|
||||
>;
|
||||
link: Attribute.Text & Attribute.Required;
|
||||
};
|
||||
}
|
||||
|
||||
declare module '@strapi/types' {
|
||||
export module Shared {
|
||||
export interface Components {
|
||||
'cat.channel': CatChannel;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -362,6 +362,117 @@ export interface AdminTransferTokenPermission extends Schema.CollectionType {
|
|||
};
|
||||
}
|
||||
|
||||
export interface ApiPodcastShowPodcastShow extends Schema.CollectionType {
|
||||
collectionName: 'podcast_shows';
|
||||
info: {
|
||||
singularName: 'podcast-show';
|
||||
pluralName: 'podcast-shows';
|
||||
displayName: 'Podcast Show';
|
||||
description: '';
|
||||
};
|
||||
options: {
|
||||
draftAndPublish: true;
|
||||
};
|
||||
attributes: {
|
||||
Name: Attribute.String & Attribute.Required;
|
||||
hosts: Attribute.Relation<
|
||||
'api::podcast-show.podcast-show',
|
||||
'oneToMany',
|
||||
'plugin::users-permissions.user'
|
||||
>;
|
||||
description: Attribute.Blocks;
|
||||
logo: Attribute.Media;
|
||||
posts: Attribute.Relation<
|
||||
'api::podcast-show.podcast-show',
|
||||
'oneToMany',
|
||||
'api::post.post'
|
||||
>;
|
||||
createdAt: Attribute.DateTime;
|
||||
updatedAt: Attribute.DateTime;
|
||||
publishedAt: Attribute.DateTime;
|
||||
createdBy: Attribute.Relation<
|
||||
'api::podcast-show.podcast-show',
|
||||
'oneToOne',
|
||||
'admin::user'
|
||||
> &
|
||||
Attribute.Private;
|
||||
updatedBy: Attribute.Relation<
|
||||
'api::podcast-show.podcast-show',
|
||||
'oneToOne',
|
||||
'admin::user'
|
||||
> &
|
||||
Attribute.Private;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ApiPostPost extends Schema.CollectionType {
|
||||
collectionName: 'posts';
|
||||
info: {
|
||||
singularName: 'post';
|
||||
pluralName: 'posts';
|
||||
displayName: 'Post';
|
||||
description: '';
|
||||
};
|
||||
options: {
|
||||
draftAndPublish: true;
|
||||
};
|
||||
attributes: {
|
||||
title: Attribute.String;
|
||||
subtitle: Attribute.String;
|
||||
publish_date: Attribute.Date;
|
||||
slug: Attribute.UID<'api::post.post', 'title'>;
|
||||
type: Attribute.Enumeration<['Article', 'Episode']> &
|
||||
Attribute.DefaultTo<'Article'>;
|
||||
episode_number: Attribute.Integer;
|
||||
authors: Attribute.Relation<
|
||||
'api::post.post',
|
||||
'oneToMany',
|
||||
'plugin::users-permissions.user'
|
||||
>;
|
||||
podcast_show: Attribute.Relation<
|
||||
'api::post.post',
|
||||
'manyToOne',
|
||||
'api::podcast-show.podcast-show'
|
||||
>;
|
||||
cover_image: Attribute.Media;
|
||||
tags: Attribute.Relation<'api::post.post', 'manyToMany', 'api::tag.tag'>;
|
||||
channel: Attribute.Component<'cat.channel', true>;
|
||||
summary: Attribute.RichText;
|
||||
body: Attribute.RichText;
|
||||
credits: Attribute.RichText;
|
||||
createdAt: Attribute.DateTime;
|
||||
updatedAt: Attribute.DateTime;
|
||||
publishedAt: Attribute.DateTime;
|
||||
createdBy: Attribute.Relation<'api::post.post', 'oneToOne', 'admin::user'> &
|
||||
Attribute.Private;
|
||||
updatedBy: Attribute.Relation<'api::post.post', 'oneToOne', 'admin::user'> &
|
||||
Attribute.Private;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ApiTagTag extends Schema.CollectionType {
|
||||
collectionName: 'tags';
|
||||
info: {
|
||||
singularName: 'tag';
|
||||
pluralName: 'tags';
|
||||
displayName: 'Tag';
|
||||
description: '';
|
||||
};
|
||||
options: {
|
||||
draftAndPublish: false;
|
||||
};
|
||||
attributes: {
|
||||
name: Attribute.String;
|
||||
posts: Attribute.Relation<'api::tag.tag', 'manyToMany', 'api::post.post'>;
|
||||
createdAt: Attribute.DateTime;
|
||||
updatedAt: Attribute.DateTime;
|
||||
createdBy: Attribute.Relation<'api::tag.tag', 'oneToOne', 'admin::user'> &
|
||||
Attribute.Private;
|
||||
updatedBy: Attribute.Relation<'api::tag.tag', 'oneToOne', 'admin::user'> &
|
||||
Attribute.Private;
|
||||
};
|
||||
}
|
||||
|
||||
export interface PluginUploadFile extends Schema.CollectionType {
|
||||
collectionName: 'files';
|
||||
info: {
|
||||
|
@ -722,7 +833,6 @@ export interface PluginUsersPermissionsUser extends Schema.CollectionType {
|
|||
};
|
||||
options: {
|
||||
draftAndPublish: false;
|
||||
timestamps: true;
|
||||
};
|
||||
attributes: {
|
||||
username: Attribute.String &
|
||||
|
@ -751,6 +861,7 @@ export interface PluginUsersPermissionsUser extends Schema.CollectionType {
|
|||
'manyToOne',
|
||||
'plugin::users-permissions.role'
|
||||
>;
|
||||
name: Attribute.String;
|
||||
createdAt: Attribute.DateTime;
|
||||
updatedAt: Attribute.DateTime;
|
||||
createdBy: Attribute.Relation<
|
||||
|
@ -768,93 +879,6 @@ export interface PluginUsersPermissionsUser extends Schema.CollectionType {
|
|||
};
|
||||
}
|
||||
|
||||
export interface ApiArticleArticle extends Schema.CollectionType {
|
||||
collectionName: 'articles';
|
||||
info: {
|
||||
singularName: 'article';
|
||||
pluralName: 'articles';
|
||||
displayName: 'Article';
|
||||
};
|
||||
options: {
|
||||
draftAndPublish: true;
|
||||
};
|
||||
attributes: {
|
||||
text: Attribute.String;
|
||||
createdAt: Attribute.DateTime;
|
||||
updatedAt: Attribute.DateTime;
|
||||
publishedAt: Attribute.DateTime;
|
||||
createdBy: Attribute.Relation<
|
||||
'api::article.article',
|
||||
'oneToOne',
|
||||
'admin::user'
|
||||
> &
|
||||
Attribute.Private;
|
||||
updatedBy: Attribute.Relation<
|
||||
'api::article.article',
|
||||
'oneToOne',
|
||||
'admin::user'
|
||||
> &
|
||||
Attribute.Private;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ApiEpisodeEpisode extends Schema.CollectionType {
|
||||
collectionName: 'episodes';
|
||||
info: {
|
||||
singularName: 'episode';
|
||||
pluralName: 'episodes';
|
||||
displayName: 'Episode';
|
||||
};
|
||||
options: {
|
||||
draftAndPublish: true;
|
||||
};
|
||||
attributes: {
|
||||
episode_number: Attribute.Integer;
|
||||
createdAt: Attribute.DateTime;
|
||||
updatedAt: Attribute.DateTime;
|
||||
publishedAt: Attribute.DateTime;
|
||||
createdBy: Attribute.Relation<
|
||||
'api::episode.episode',
|
||||
'oneToOne',
|
||||
'admin::user'
|
||||
> &
|
||||
Attribute.Private;
|
||||
updatedBy: Attribute.Relation<
|
||||
'api::episode.episode',
|
||||
'oneToOne',
|
||||
'admin::user'
|
||||
> &
|
||||
Attribute.Private;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ApiPostPost extends Schema.CollectionType {
|
||||
collectionName: 'posts';
|
||||
info: {
|
||||
singularName: 'post';
|
||||
pluralName: 'posts';
|
||||
displayName: 'post';
|
||||
description: '';
|
||||
};
|
||||
options: {
|
||||
draftAndPublish: true;
|
||||
};
|
||||
attributes: {
|
||||
type: Attribute.Enumeration<['Article', 'Episode']> &
|
||||
Attribute.Required &
|
||||
Attribute.DefaultTo<'Article'>;
|
||||
text: Attribute.RichText;
|
||||
episode_number: Attribute.Integer;
|
||||
createdAt: Attribute.DateTime;
|
||||
updatedAt: Attribute.DateTime;
|
||||
publishedAt: Attribute.DateTime;
|
||||
createdBy: Attribute.Relation<'api::post.post', 'oneToOne', 'admin::user'> &
|
||||
Attribute.Private;
|
||||
updatedBy: Attribute.Relation<'api::post.post', 'oneToOne', 'admin::user'> &
|
||||
Attribute.Private;
|
||||
};
|
||||
}
|
||||
|
||||
declare module '@strapi/types' {
|
||||
export module Shared {
|
||||
export interface ContentTypes {
|
||||
|
@ -865,6 +889,9 @@ declare module '@strapi/types' {
|
|||
'admin::api-token-permission': AdminApiTokenPermission;
|
||||
'admin::transfer-token': AdminTransferToken;
|
||||
'admin::transfer-token-permission': AdminTransferTokenPermission;
|
||||
'api::podcast-show.podcast-show': ApiPodcastShowPodcastShow;
|
||||
'api::post.post': ApiPostPost;
|
||||
'api::tag.tag': ApiTagTag;
|
||||
'plugin::upload.file': PluginUploadFile;
|
||||
'plugin::upload.folder': PluginUploadFolder;
|
||||
'plugin::content-releases.release': PluginContentReleasesRelease;
|
||||
|
@ -873,9 +900,6 @@ declare module '@strapi/types' {
|
|||
'plugin::users-permissions.permission': PluginUsersPermissionsPermission;
|
||||
'plugin::users-permissions.role': PluginUsersPermissionsRole;
|
||||
'plugin::users-permissions.user': PluginUsersPermissionsUser;
|
||||
'api::article.article': ApiArticleArticle;
|
||||
'api::episode.episode': ApiEpisodeEpisode;
|
||||
'api::post.post': ApiPostPost;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue