Truy vấn thông tin user
/api/v1/user
{
name: {
type: Types.Name,
required: true,
default: 'Thành viên mới',
index: true,
},
email: {
type: Types.Email,
initial: true,
required: true,
default: '[email protected]',
index: true,
},
password: {
type: Types.Password,
initial: true,
required: true,
default: 'nopass',
access: 'protected',
},
displayName: {
type: String,
default: 'Thành viên mới',
},
username: { type: String },
phoneNumber: { type: String },
isZalo: { type: Boolean, default: false },
/* Additional Information */
avatarFileUpload: {
type: Types.File,
storage: myStorage,
},
gender: { type: String, initial: true },
birthDay: { type: Types.Date, initial: true },
bio: { type: Types.Textarea, initial: true },
facebookProfile: { type: Types.Url },
firebaseId: { type: String, noedit: true },
provider: { type: String, noedit: true },
providerId: { type: String, noedit: true },
profileUrl: { type: String, noedit: true },
accessToken: { type: String, noedit: true, access: 'protected' },
refreshToken: { type: String, noedit: true, access: 'protected' },
avatar: {
type: String,
default: '<https://d1uhbq1za6lcid.cloudfront.net/em8s7kckjcw9p_sunny.png>',
},
recordingDailyLimit: {
type: Number,
default: 0,
},
recordingWeeklyLimit: {
type: Number,
default: 0,
},
recordingMonthlyLimit: {
type: Number,
default: 0,
},
recordingQuota: {
type: Number,
default: 3, // it's free users
},
zoomApp: {
installed: { type: Boolean, default: false },
verified: { type: Boolean },
PMI: { type: String },
},
// thông tin premium của người dùng
premium: {
value: {
type: Number,
default: -1, // -1, 0: free user, 1: premium user
},
expired: { type: Types.Date },
package: {
type: Types.Select,
// 1 month, 3 months, 6 months, 12 months,
options: 'p1, p3, p6, p12, life-time',
default: 'p6',
},
},
isTeacher: { type: Boolean, default: false },
// số lượng assignment cùng thời điểm
assignmentLimit: { type: Number, default: 10 },
// số lượng assignment ở thời điểm hiện tại
assignmentAmount: { type: Number, default: 0 },
// số lượng assignment ở thời điểm hiện tại
assignmentQuota: { type: Number, default: 0 },
// `tutor,admin,teacher`
roles: { type: Types.TextArray },
displayRole: { type: String },
isVerified: { type: Boolean, default: false },
lastAccessedAt: { type: Types.Datetime, noedit: true },
hacknaoPoint: { type: Number },
hacknaoRanking: { type: Number },
interests: { type: Types.TextArray }, // `xem phim, nghe nhạc, đọc sách`
rating: {
value: { type: Number, noedit: true },
amount: { type: Number, default: 0, noedit: true },
},
appVersion: { type: String },
mmm: {
type: Types.TextArray,
},
isStaff: { type: Boolean, default: false },
createdAt: { type: Types.Datetime, default: Date.now, noedit: true },
},