summaryrefslogtreecommitdiff
path: root/models/Event.js
diff options
context:
space:
mode:
Diffstat (limited to 'models/Event.js')
-rwxr-xr-xmodels/Event.js52
1 files changed, 49 insertions, 3 deletions
diff --git a/models/Event.js b/models/Event.js
index d68621a..9ab455f 100755
--- a/models/Event.js
+++ b/models/Event.js
@@ -12,18 +12,33 @@ const Attendees = new mongoose.Schema({
email: {
type: String,
trim: true
- }
+ },
+ id: {
+ type: String,
+ trim: true
+ }
})
const Followers = new mongoose.Schema({
+ // this is the id of the original follow *request*, which we use to validate Undo events
followId: {
type: String,
trim: true
},
- account: {
+ // this is the actual remote user profile id
+ actorId: {
type: String,
trim: true
- }
+ },
+ // this is the stringified JSON of the entire user profile
+ actorJson: {
+ type: String,
+ trim: true
+ },
+ name: {
+ type: String,
+ trim: true
+ },
}, {_id: false})
const ReplySchema = new mongoose.Schema({
@@ -50,6 +65,20 @@ const ReplySchema = new mongoose.Schema({
}
})
+const ActivityPubMessages = new mongoose.Schema({
+ id: {
+ type: String,
+ required: true,
+ unique: true,
+ sparse: true
+ },
+ content: {
+ type: String,
+ trim: true,
+ required: true
+ }
+})
+
const CommentSchema = new mongoose.Schema({
id: {
type: String,
@@ -72,6 +101,22 @@ const CommentSchema = new mongoose.Schema({
trim: true,
required: true
},
+ activityJson: {
+ type: String,
+ trim: true
+ },
+ actorJson: {
+ type: String,
+ trim: true
+ },
+ activityId: {
+ type: String,
+ trim: true
+ },
+ actorId: {
+ type: String,
+ trim: true
+ },
replies: [ReplySchema]
})
@@ -184,6 +229,7 @@ const EventSchema = new mongoose.Schema({
trim: true
},
followers: [Followers],
+ activityPubMessages: [ActivityPubMessages]
});
module.exports = mongoose.model('Event', EventSchema);