UNPKG

@qelos/auth

Version:

Express Passport authentication service

45 lines (41 loc) 1.16 kB
import mongoose, { Schema, Types, Document } from 'mongoose'; export type Invite = { email: string; phone: string; name: string; created?: Date }; export interface IWorkspace extends Document { name: string; tenant: string; logo?: string; members: { user: Types.ObjectId | string; roles: string[]; created?: Date }[]; labels: string[]; invites: Invite[]; created?: Date; } export const WorkspaceSchema = new mongoose.Schema<IWorkspace>({ name: { type: String, required: true }, tenant: { type: String, index: true, default: '0', required: true }, logo: { type: String, }, members: [{ user: { type: Schema.Types.ObjectId, ref: 'User', required: true }, roles: [{ type: String, required: true }], created: { type: Date, default: Date.now } }], labels: [{ type: String, required: true }], invites: [{ email: { type: String }, phone: { type: String }, name: { type: String }, created: { type: Date, default: Date.now } }], created: { type: Date, default: Date.now } }); const Workspace = mongoose.model<IWorkspace>('Workspace', WorkspaceSchema); export default Workspace