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';
|
import type { Schema, Attribute } from '@strapi/strapi';
|
||||||
|
|
||||||
declare module '@strapi/types' {
|
export interface CatChannel extends Schema.Component {
|
||||||
export module Shared {}
|
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 {
|
export interface PluginUploadFile extends Schema.CollectionType {
|
||||||
collectionName: 'files';
|
collectionName: 'files';
|
||||||
info: {
|
info: {
|
||||||
|
@ -722,7 +833,6 @@ export interface PluginUsersPermissionsUser extends Schema.CollectionType {
|
||||||
};
|
};
|
||||||
options: {
|
options: {
|
||||||
draftAndPublish: false;
|
draftAndPublish: false;
|
||||||
timestamps: true;
|
|
||||||
};
|
};
|
||||||
attributes: {
|
attributes: {
|
||||||
username: Attribute.String &
|
username: Attribute.String &
|
||||||
|
@ -751,6 +861,7 @@ export interface PluginUsersPermissionsUser extends Schema.CollectionType {
|
||||||
'manyToOne',
|
'manyToOne',
|
||||||
'plugin::users-permissions.role'
|
'plugin::users-permissions.role'
|
||||||
>;
|
>;
|
||||||
|
name: Attribute.String;
|
||||||
createdAt: Attribute.DateTime;
|
createdAt: Attribute.DateTime;
|
||||||
updatedAt: Attribute.DateTime;
|
updatedAt: Attribute.DateTime;
|
||||||
createdBy: Attribute.Relation<
|
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' {
|
declare module '@strapi/types' {
|
||||||
export module Shared {
|
export module Shared {
|
||||||
export interface ContentTypes {
|
export interface ContentTypes {
|
||||||
|
@ -865,6 +889,9 @@ declare module '@strapi/types' {
|
||||||
'admin::api-token-permission': AdminApiTokenPermission;
|
'admin::api-token-permission': AdminApiTokenPermission;
|
||||||
'admin::transfer-token': AdminTransferToken;
|
'admin::transfer-token': AdminTransferToken;
|
||||||
'admin::transfer-token-permission': AdminTransferTokenPermission;
|
'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.file': PluginUploadFile;
|
||||||
'plugin::upload.folder': PluginUploadFolder;
|
'plugin::upload.folder': PluginUploadFolder;
|
||||||
'plugin::content-releases.release': PluginContentReleasesRelease;
|
'plugin::content-releases.release': PluginContentReleasesRelease;
|
||||||
|
@ -873,9 +900,6 @@ declare module '@strapi/types' {
|
||||||
'plugin::users-permissions.permission': PluginUsersPermissionsPermission;
|
'plugin::users-permissions.permission': PluginUsersPermissionsPermission;
|
||||||
'plugin::users-permissions.role': PluginUsersPermissionsRole;
|
'plugin::users-permissions.role': PluginUsersPermissionsRole;
|
||||||
'plugin::users-permissions.user': PluginUsersPermissionsUser;
|
'plugin::users-permissions.user': PluginUsersPermissionsUser;
|
||||||
'api::article.article': ApiArticleArticle;
|
|
||||||
'api::episode.episode': ApiEpisodeEpisode;
|
|
||||||
'api::post.post': ApiPostPost;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue