chore: Refactoring event processors and service architecture (#2495)
This commit is contained in:
186
server/types.js
186
server/types.js
@ -10,3 +10,189 @@ export type ContextWithState = {|
|
||||
authType: "app" | "api",
|
||||
},
|
||||
|};
|
||||
|
||||
export type UserEvent =
|
||||
| {
|
||||
name: | "users.create" // eslint-disable-line
|
||||
| "users.signin"
|
||||
| "users.update"
|
||||
| "users.suspend"
|
||||
| "users.activate"
|
||||
| "users.delete",
|
||||
userId: string,
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
ip: string,
|
||||
}
|
||||
| {
|
||||
name: "users.invite",
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
data: {
|
||||
email: string,
|
||||
name: string,
|
||||
},
|
||||
ip: string,
|
||||
};
|
||||
|
||||
export type DocumentEvent =
|
||||
| {
|
||||
name: | "documents.create" // eslint-disable-line
|
||||
| "documents.publish"
|
||||
| "documents.delete"
|
||||
| "documents.permanent_delete"
|
||||
| "documents.pin"
|
||||
| "documents.unpin"
|
||||
| "documents.archive"
|
||||
| "documents.unarchive"
|
||||
| "documents.restore"
|
||||
| "documents.star"
|
||||
| "documents.unstar",
|
||||
documentId: string,
|
||||
collectionId: string,
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
ip: string,
|
||||
data: {
|
||||
title: string,
|
||||
source?: "import",
|
||||
},
|
||||
}
|
||||
| {
|
||||
name: "documents.move",
|
||||
documentId: string,
|
||||
collectionId: string,
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
data: {
|
||||
collectionIds: string[],
|
||||
documentIds: string[],
|
||||
},
|
||||
ip: string,
|
||||
}
|
||||
| {
|
||||
name: | "documents.update" // eslint-disable-line
|
||||
| "documents.update.delayed"
|
||||
| "documents.update.debounced",
|
||||
documentId: string,
|
||||
collectionId: string,
|
||||
createdAt: string,
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
data: {
|
||||
title: string,
|
||||
autosave: boolean,
|
||||
done: boolean,
|
||||
},
|
||||
ip: string,
|
||||
}
|
||||
| {
|
||||
name: "documents.title_change",
|
||||
documentId: string,
|
||||
collectionId: string,
|
||||
createdAt: string,
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
data: {
|
||||
title: string,
|
||||
previousTitle: string,
|
||||
},
|
||||
ip: string,
|
||||
};
|
||||
|
||||
export type RevisionEvent = {
|
||||
name: "revisions.create",
|
||||
documentId: string,
|
||||
collectionId: string,
|
||||
teamId: string,
|
||||
};
|
||||
|
||||
export type CollectionImportEvent = {
|
||||
name: "collections.import",
|
||||
modelId: string,
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
data: { type: "outline" },
|
||||
ip: string,
|
||||
};
|
||||
|
||||
export type CollectionEvent =
|
||||
| {
|
||||
name: | "collections.create" // eslint-disable-line
|
||||
| "collections.update"
|
||||
| "collections.delete",
|
||||
collectionId: string,
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
data: { name: string },
|
||||
ip: string,
|
||||
}
|
||||
| {
|
||||
name: "collections.add_user" | "collections.remove_user",
|
||||
userId: string,
|
||||
collectionId: string,
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
ip: string,
|
||||
}
|
||||
| {
|
||||
name: "collections.add_group" | "collections.remove_group",
|
||||
collectionId: string,
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
data: { name: string, groupId: string },
|
||||
ip: string,
|
||||
}
|
||||
| {
|
||||
name: "collections.move",
|
||||
collectionId: string,
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
data: { index: string },
|
||||
ip: string,
|
||||
};
|
||||
|
||||
export type GroupEvent =
|
||||
| {
|
||||
name: "groups.create" | "groups.delete" | "groups.update",
|
||||
actorId: string,
|
||||
modelId: string,
|
||||
teamId: string,
|
||||
data: { name: string },
|
||||
ip: string,
|
||||
}
|
||||
| {
|
||||
name: "groups.add_user" | "groups.remove_user",
|
||||
actorId: string,
|
||||
userId: string,
|
||||
modelId: string,
|
||||
teamId: string,
|
||||
data: { name: string },
|
||||
ip: string,
|
||||
};
|
||||
|
||||
export type IntegrationEvent = {
|
||||
name: "integrations.create" | "integrations.update",
|
||||
modelId: string,
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
ip: string,
|
||||
};
|
||||
|
||||
export type TeamEvent = {
|
||||
name: "teams.update",
|
||||
teamId: string,
|
||||
actorId: string,
|
||||
data: Object,
|
||||
ip: string,
|
||||
};
|
||||
|
||||
export type Event =
|
||||
| UserEvent
|
||||
| DocumentEvent
|
||||
| CollectionEvent
|
||||
| CollectionImportEvent
|
||||
| IntegrationEvent
|
||||
| GroupEvent
|
||||
| RevisionEvent
|
||||
| TeamEvent;
|
||||
|
Reference in New Issue
Block a user