51 lines
843 B
TypeScript
51 lines
843 B
TypeScript
import { model, Schema } from "mongoose";
|
|
|
|
const userSchema = new Schema(
|
|
{
|
|
username: {
|
|
type: String,
|
|
required: true,
|
|
unique: true,
|
|
},
|
|
password: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
resetCode: {
|
|
type: String,
|
|
},
|
|
companyId: {
|
|
type: Schema.Types.ObjectId,
|
|
ref: "Company",
|
|
required: true,
|
|
},
|
|
role: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
name: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
buildIds: {
|
|
type: [Schema.Types.ObjectId],
|
|
ref: "Build",
|
|
},
|
|
},
|
|
{
|
|
timestamps: true,
|
|
toJSON: { virtuals: true },
|
|
toObject: { virtuals: true },
|
|
}
|
|
);
|
|
|
|
userSchema.virtual("tokens", {
|
|
ref: "Token",
|
|
foreignField: "userId",
|
|
localField: "_id",
|
|
});
|
|
|
|
const User = model("User", userSchema);
|
|
|
|
export default User;
|