refactoring

This commit is contained in:
Emily
2025-03-03 19:31:35 +01:00
parent 76e5e07f79
commit 63fa3995c5
70 changed files with 2928 additions and 418 deletions

View File

@@ -2,11 +2,21 @@ import { model, Schema, Types } from 'mongoose';
export type TeamMemberRole = 'ADMIN' | 'GUEST';
export type TPermission = {
webAnalytics: boolean,
events: boolean,
ai: boolean,
domains: string[],
}
export type TTeamMember = {
_id: Schema.Types.ObjectId,
project_id: Schema.Types.ObjectId,
user_id: Schema.Types.ObjectId,
user_id?: Schema.Types.ObjectId,
email?: string,
role: TeamMemberRole,
permission: TPermission,
pending: boolean,
created_at: Date,
}
@@ -14,7 +24,9 @@ export type TTeamMember = {
const TeamMemberSchema = new Schema<TTeamMember>({
project_id: { type: Types.ObjectId, index: true },
user_id: { type: Types.ObjectId, index: true },
email: { type: String, index: true },
role: { type: String, required: true },
permission: { type: Schema.Types.Mixed },
pending: { type: Boolean, required: true },
created_at: { type: Date, required: true, default: () => Date.now() },
});