diff options
| -rw-r--r--[-rwxr-xr-x] | src/models/Event.ts (renamed from src/models/Event.js) | 75 | ||||
| -rwxr-xr-x | src/models/EventGroup.ts (renamed from src/models/EventGroup.js) | 20 | ||||
| -rwxr-xr-x | src/models/Log.ts (renamed from src/models/Log.js) | 9 | 
3 files changed, 101 insertions, 3 deletions
diff --git a/src/models/Event.js b/src/models/Event.ts index 63a03ae..fb8630c 100755..100644 --- a/src/models/Event.js +++ b/src/models/Event.ts @@ -1,5 +1,78 @@  import mongoose from "mongoose"; +export interface IAttendee { +  name?: string; +  status?: string; +  email?: string; +  removalPassword?: string; +  id?: string; +  number?: number; +  created?: Date; +} + +export interface IReply { +  id: string; +  author: string; +  content: string; +  timestamp: Date; +} + +export interface IComment { +  id: string; +  author: string; +  content: string; +  timestamp: Date; +  activityJson?: string; +  actorJson?: string; +  activityId?: string; +  actorId?: string; +  replies?: IReply[]; +} + +export interface IFollower { +  followId?: string; +  actorId?: string; +  actorJson?: string; +  name?: string; +} + +export interface IActivityPubMessage { +  id?: string; +  content?: string; +} + +export interface IEvent extends mongoose.Document { +  id: string; +  type: string; +  name: string; +  location: string; +  start: Date; +  end: Date; +  timezone: string; +  description: string; +  image?: string; +  url?: string; +  creatorEmail?: string; +  hostName?: string; +  viewPassword?: string; +  editPassword?: string; +  editToken?: string; +  eventGroup?: mongoose.Types.ObjectId; +  usersCanAttend?: boolean; +  showUsersList?: boolean; +  usersCanComment?: boolean; +  firstLoad?: boolean; +  attendees?: IAttendee[]; +  maxAttendees?: number; +  comments?: IComment[]; +  activityPubActor?: string; +  activityPubEvent?: string; +  publicKey?: string; +  privateKey?: string; +  followers?: IFollower[]; +  activityPubMessages?: IActivityPubMessage[]; +} +  const Attendees = new mongoose.Schema({    name: {      type: String, @@ -256,4 +329,4 @@ const EventSchema = new mongoose.Schema({    activityPubMessages: [ActivityPubMessages],  }); -export default mongoose.model("Event", EventSchema); +export default mongoose.model<IEvent>("Event", EventSchema); diff --git a/src/models/EventGroup.js b/src/models/EventGroup.ts index f19e374..f097843 100755 --- a/src/models/EventGroup.js +++ b/src/models/EventGroup.ts @@ -1,5 +1,23 @@  import mongoose from "mongoose"; +export interface ISubscriber { +  email?: string; +} + +export interface IEventGroup extends mongoose.Document { +  id: string; +  name: string; +  description: string; +  image?: string; +  url?: string; +  creatorEmail?: string; +  hostName?: string; +  editToken?: string; +  firstLoad?: boolean; +  events?: mongoose.Types.ObjectId[]; +  subscribers?: ISubscriber[]; +} +  const Subscriber = new mongoose.Schema({    email: {      type: String, @@ -54,4 +72,4 @@ const EventGroupSchema = new mongoose.Schema({    subscribers: [Subscriber],  }); -export default mongoose.model("EventGroup", EventGroupSchema); +export default mongoose.model<IEventGroup>("EventGroup", EventGroupSchema); diff --git a/src/models/Log.js b/src/models/Log.ts index f165900..8f905fd 100755 --- a/src/models/Log.js +++ b/src/models/Log.ts @@ -1,5 +1,12 @@  import mongoose from "mongoose"; +export interface ILog extends mongoose.Document { +  status: string; +  process: string; +  message: string; +  timestamp: Date; +} +  const LogSchema = new mongoose.Schema({    status: {      type: String, @@ -23,4 +30,4 @@ const LogSchema = new mongoose.Schema({    },  }); -export default mongoose.model("Log", LogSchema); +export default mongoose.model<ILog>("Log", LogSchema);  | 
