summaryrefslogtreecommitdiff
path: root/models/Event.js
diff options
context:
space:
mode:
authorRaphael <raphaelkabo@gmail.com>2020-01-21 11:59:48 +0000
committerGitHub <noreply@github.com>2020-01-21 11:59:48 +0000
commit481217f28c4b69bdeaf1d11a5d5156f53a6c853b (patch)
tree8e509ad19d0ec83fd33518cc0b73afd99591854a /models/Event.js
parent547054b9c1dfd9c49594609fdda78fac3c11938a (diff)
parent2fafa00849b627a6996243e4070325b8efb05428 (diff)
Merge pull request #30 from dariusk/newmaster
Federating gathio
Diffstat (limited to 'models/Event.js')
-rwxr-xr-xmodels/Event.js78
1 files changed, 76 insertions, 2 deletions
diff --git a/models/Event.js b/models/Event.js
index c67869e..07f0b70 100755
--- a/models/Event.js
+++ b/models/Event.js
@@ -16,9 +16,35 @@ const Attendees = new mongoose.Schema({
removalPassword: {
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
+ },
+ // 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({
id: {
type: String,
@@ -43,6 +69,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,
@@ -65,6 +105,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]
})
@@ -163,7 +219,25 @@ const EventSchema = new mongoose.Schema({
maxAttendees: {
type: Number
},
- comments: [CommentSchema]
+ comments: [CommentSchema],
+ activityPubActor: {
+ type: String,
+ trim: true
+ },
+ activityPubEvent: {
+ type: String,
+ trim: true
+ },
+ publicKey: {
+ type: String,
+ trim: true
+ },
+ privateKey: {
+ type: String,
+ trim: true
+ },
+ followers: [Followers],
+ activityPubMessages: [ActivityPubMessages]
});
module.exports = mongoose.model('Event', EventSchema);