Add channel and message
This commit is contained in:
38
src/api/channel/content-types/channel/schema.json
Normal file
38
src/api/channel/content-types/channel/schema.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"kind": "collectionType",
|
||||
"collectionName": "channels",
|
||||
"info": {
|
||||
"singularName": "channel",
|
||||
"pluralName": "channels",
|
||||
"displayName": "Channel"
|
||||
},
|
||||
"options": {
|
||||
"draftAndPublish": false
|
||||
},
|
||||
"pluginOptions": {},
|
||||
"attributes": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"TEXT",
|
||||
"AUDIO",
|
||||
"VIDEO"
|
||||
]
|
||||
},
|
||||
"choral": {
|
||||
"type": "relation",
|
||||
"relation": "manyToOne",
|
||||
"target": "api::choral.choral",
|
||||
"inversedBy": "channels"
|
||||
},
|
||||
"messages": {
|
||||
"type": "relation",
|
||||
"relation": "oneToMany",
|
||||
"target": "api::message.message",
|
||||
"mappedBy": "channel"
|
||||
}
|
||||
}
|
||||
}
|
||||
7
src/api/channel/controllers/channel.ts
Normal file
7
src/api/channel/controllers/channel.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* channel controller
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi'
|
||||
|
||||
export default factories.createCoreController('api::channel.channel');
|
||||
7
src/api/channel/routes/channel.ts
Normal file
7
src/api/channel/routes/channel.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* channel router
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::channel.channel');
|
||||
7
src/api/channel/services/channel.ts
Normal file
7
src/api/channel/services/channel.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* channel service
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::channel.channel');
|
||||
@@ -94,6 +94,12 @@
|
||||
"relation": "oneToMany",
|
||||
"target": "api::announcement.announcement",
|
||||
"mappedBy": "choral"
|
||||
},
|
||||
"channels": {
|
||||
"type": "relation",
|
||||
"relation": "oneToMany",
|
||||
"target": "api::channel.channel",
|
||||
"mappedBy": "choral"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
38
src/api/message/content-types/message/schema.json
Normal file
38
src/api/message/content-types/message/schema.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"kind": "collectionType",
|
||||
"collectionName": "messages",
|
||||
"info": {
|
||||
"singularName": "message",
|
||||
"pluralName": "messages",
|
||||
"displayName": "Message",
|
||||
"description": ""
|
||||
},
|
||||
"options": {
|
||||
"draftAndPublish": false
|
||||
},
|
||||
"pluginOptions": {},
|
||||
"attributes": {
|
||||
"content": {
|
||||
"type": "string"
|
||||
},
|
||||
"fileUrl": {
|
||||
"type": "string"
|
||||
},
|
||||
"author": {
|
||||
"type": "relation",
|
||||
"relation": "oneToOne",
|
||||
"target": "plugin::users-permissions.user"
|
||||
},
|
||||
"channel": {
|
||||
"type": "relation",
|
||||
"relation": "manyToOne",
|
||||
"target": "api::channel.channel",
|
||||
"inversedBy": "messages"
|
||||
},
|
||||
"choral": {
|
||||
"type": "relation",
|
||||
"relation": "oneToOne",
|
||||
"target": "api::choral.choral"
|
||||
}
|
||||
}
|
||||
}
|
||||
14
src/api/message/controllers/message.ts
Normal file
14
src/api/message/controllers/message.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* message controller
|
||||
*/
|
||||
|
||||
import { factories } from "@strapi/strapi";
|
||||
|
||||
export default factories.createCoreController(
|
||||
"api::message.message",
|
||||
({ strapi }) => ({
|
||||
async create(ctx) {
|
||||
return super.create(ctx);
|
||||
},
|
||||
})
|
||||
);
|
||||
7
src/api/message/routes/message.ts
Normal file
7
src/api/message/routes/message.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* message router
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::message.message');
|
||||
7
src/api/message/services/message.ts
Normal file
7
src/api/message/services/message.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* message service
|
||||
*/
|
||||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::message.message');
|
||||
File diff suppressed because it is too large
Load Diff
70
types/generated/contentTypes.d.ts
vendored
70
types/generated/contentTypes.d.ts
vendored
@@ -511,6 +511,37 @@ export interface ApiBoardBoard extends Struct.CollectionTypeSchema {
|
||||
};
|
||||
}
|
||||
|
||||
export interface ApiChannelChannel extends Struct.CollectionTypeSchema {
|
||||
collectionName: 'channels';
|
||||
info: {
|
||||
displayName: 'Channel';
|
||||
pluralName: 'channels';
|
||||
singularName: 'channel';
|
||||
};
|
||||
options: {
|
||||
draftAndPublish: false;
|
||||
};
|
||||
attributes: {
|
||||
choral: Schema.Attribute.Relation<'manyToOne', 'api::choral.choral'>;
|
||||
createdAt: Schema.Attribute.DateTime;
|
||||
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||
Schema.Attribute.Private;
|
||||
locale: Schema.Attribute.String & Schema.Attribute.Private;
|
||||
localizations: Schema.Attribute.Relation<
|
||||
'oneToMany',
|
||||
'api::channel.channel'
|
||||
> &
|
||||
Schema.Attribute.Private;
|
||||
messages: Schema.Attribute.Relation<'oneToMany', 'api::message.message'>;
|
||||
name: Schema.Attribute.String;
|
||||
publishedAt: Schema.Attribute.DateTime;
|
||||
type: Schema.Attribute.Enumeration<['TEXT', 'AUDIO', 'VIDEO']>;
|
||||
updatedAt: Schema.Attribute.DateTime;
|
||||
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||
Schema.Attribute.Private;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ApiChoralMembershipChoralMembership
|
||||
extends Struct.CollectionTypeSchema {
|
||||
collectionName: 'choral_memberships';
|
||||
@@ -606,6 +637,7 @@ export interface ApiChoralChoral extends Struct.CollectionTypeSchema {
|
||||
>;
|
||||
boards: Schema.Attribute.Relation<'oneToMany', 'api::board.board'>;
|
||||
calendar: Schema.Attribute.Relation<'oneToMany', 'api::event.event'>;
|
||||
channels: Schema.Attribute.Relation<'oneToMany', 'api::channel.channel'>;
|
||||
city: Schema.Attribute.String;
|
||||
country: Schema.Attribute.String;
|
||||
cover: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>;
|
||||
@@ -723,6 +755,42 @@ export interface ApiEventEvent extends Struct.CollectionTypeSchema {
|
||||
};
|
||||
}
|
||||
|
||||
export interface ApiMessageMessage extends Struct.CollectionTypeSchema {
|
||||
collectionName: 'messages';
|
||||
info: {
|
||||
description: '';
|
||||
displayName: 'Message';
|
||||
pluralName: 'messages';
|
||||
singularName: 'message';
|
||||
};
|
||||
options: {
|
||||
draftAndPublish: false;
|
||||
};
|
||||
attributes: {
|
||||
author: Schema.Attribute.Relation<
|
||||
'oneToOne',
|
||||
'plugin::users-permissions.user'
|
||||
>;
|
||||
channel: Schema.Attribute.Relation<'manyToOne', 'api::channel.channel'>;
|
||||
choral: Schema.Attribute.Relation<'oneToOne', 'api::choral.choral'>;
|
||||
content: Schema.Attribute.String;
|
||||
createdAt: Schema.Attribute.DateTime;
|
||||
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||
Schema.Attribute.Private;
|
||||
fileUrl: Schema.Attribute.String;
|
||||
locale: Schema.Attribute.String & Schema.Attribute.Private;
|
||||
localizations: Schema.Attribute.Relation<
|
||||
'oneToMany',
|
||||
'api::message.message'
|
||||
> &
|
||||
Schema.Attribute.Private;
|
||||
publishedAt: Schema.Attribute.DateTime;
|
||||
updatedAt: Schema.Attribute.DateTime;
|
||||
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||
Schema.Attribute.Private;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ApiPermissionsTemplatePermissionsTemplate
|
||||
extends Struct.CollectionTypeSchema {
|
||||
collectionName: 'permissions_templates';
|
||||
@@ -1303,11 +1371,13 @@ declare module '@strapi/strapi' {
|
||||
'api::board-card.board-card': ApiBoardCardBoardCard;
|
||||
'api::board-list.board-list': ApiBoardListBoardList;
|
||||
'api::board.board': ApiBoardBoard;
|
||||
'api::channel.channel': ApiChannelChannel;
|
||||
'api::choral-membership.choral-membership': ApiChoralMembershipChoralMembership;
|
||||
'api::choral-permission.choral-permission': ApiChoralPermissionChoralPermission;
|
||||
'api::choral.choral': ApiChoralChoral;
|
||||
'api::event-other.event-other': ApiEventOtherEventOther;
|
||||
'api::event.event': ApiEventEvent;
|
||||
'api::message.message': ApiMessageMessage;
|
||||
'api::permissions-template.permissions-template': ApiPermissionsTemplatePermissionsTemplate;
|
||||
'plugin::content-releases.release': PluginContentReleasesRelease;
|
||||
'plugin::content-releases.release-action': PluginContentReleasesReleaseAction;
|
||||
|
||||
Reference in New Issue
Block a user