admin.entity.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { modelOptions, prop } from '@typegoose/typegoose';
  2. import { BaseModel } from '../../frame/BaseModel';
  3. import { isString } from 'lodash';
  4. @modelOptions({
  5. schemaOptions: { collection: 'admin' },
  6. })
  7. export class Admin extends BaseModel {
  8. @prop({
  9. required: false,
  10. index: true,
  11. zh: '账号',
  12. unique: true,
  13. esType: 'keyword',
  14. })
  15. account: string;
  16. @prop({ required: false, index: false, zh: '昵称', esType: 'text' })
  17. nick_name: string;
  18. // 手动删除set前的大括号,处理太麻烦了.就手动删除吧
  19. @prop({
  20. required: false,
  21. index: false,
  22. zh: '密码',
  23. esType: null,
  24. select: false,
  25. set: val => {
  26. if (isString(val)) {
  27. return { secret: val };
  28. }
  29. return val;
  30. },
  31. })
  32. password: object;
  33. @prop({
  34. required: false,
  35. index: false,
  36. zh: '是否是超级管理员',
  37. remark: '0:超级管理员;1普通用户',
  38. esType: 'keyword',
  39. default: '1',
  40. })
  41. is_super: string;
  42. @prop({ required: false, index: false, zh: '角色', esType: 'keyword' })
  43. role: string;
  44. @prop({ required: false, index: false, zh: '微信openid', esType: 'keyword' })
  45. openid: string;
  46. @prop({
  47. required: false,
  48. index: false,
  49. zh: '是否启用',
  50. remark: '0:启用;1:禁用',
  51. esType: 'keyword',
  52. default: '0',
  53. })
  54. is_use: string;
  55. @prop({ required: false, index: false, zh: '头像' })
  56. icon: Array<any>;
  57. }