src/user/schemas/user.schema.ts
Properties |
|
| Optional address |
Type : string
|
Decorators :
@Prop({required: false})
|
|
Defined in src/user/schemas/user.schema.ts:33
|
| bankDetails |
Type : BankDetails
|
Decorators :
@Prop({required: true})
|
|
Defined in src/user/schemas/user.schema.ts:58
|
| cmsFields |
Type : ICmsField[]
|
Decorators :
@Prop({required: true})
|
|
Defined in src/user/schemas/user.schema.ts:55
|
Type : string
|
Decorators :
@Prop({required: true, unique: true, index: true})
|
|
Defined in src/user/schemas/user.schema.ts:17
|
| endUserRole |
Type : string
|
Decorators :
@Prop({required: true})
|
|
Defined in src/user/schemas/user.schema.ts:42
|
| Optional legalDocuments |
Type : string
|
Decorators :
@Prop({required: false})
|
|
Defined in src/user/schemas/user.schema.ts:39
|
| name |
Type : string
|
Decorators :
@Prop({required: true})
|
|
Defined in src/user/schemas/user.schema.ts:36
|
| onboardByEmail |
Type : string
|
Decorators :
@Prop({required: true})
|
|
Defined in src/user/schemas/user.schema.ts:45
|
| subscribedBonds |
Type : string[]
|
Decorators :
@Prop({required: false})
|
|
Defined in src/user/schemas/user.schema.ts:28
|
| subscribedFunds |
Type : Fund[]
|
Decorators :
@Prop({required: true, type: undefined, set: values => })
|
|
Defined in src/user/schemas/user.schema.ts:23
|
| wallets |
Type : Wallet[]
|
Decorators :
@Prop({required: true})
|
|
Defined in src/user/schemas/user.schema.ts:50
|
import { Document, SchemaTypes } from "mongoose";
import { Prop, Schema, SchemaFactory } from "@nestjs/mongoose";
import type { Fund } from "src/security/schemas/fund.schema";
import type { Wallet } from "src/wallet/schemas/wallet.schema";
import type { BankDetails } from "src/shared/schemas";
import { ICmsField } from "src/common/interfaces";
export type UserDocument = User & Document;
@Schema({
strict: true,
timestamps: { createdAt: "created", updatedAt: "updated" },
})
export class User {
@Prop({ required: true, unique: true, index: true })
email: string;
@Prop({
required: true,
type: [{ type: SchemaTypes.ObjectId, ref: "Fund" }],
set: (values: string[]) => [...new Set(values)],
})
subscribedFunds: Fund[];
@Prop({
required: false,
})
subscribedBonds: string[];
@Prop({
required: false,
})
address?: string;
@Prop({ required: true })
name: string;
@Prop({ required: false })
legalDocuments?: string;
@Prop({ required: true })
endUserRole: string;
@Prop({ required: true })
onboardByEmail: string;
@Prop({
required: true,
})
wallets: Wallet[];
@Prop({
required: true,
})
cmsFields: ICmsField[];
@Prop({ required: true })
bankDetails: BankDetails;
}
export const UserSchema = SchemaFactory.createForClass(User);