schema.js 701 B

123456789101112131415161718192021222324
  1. 'use strict';
  2. const Schema = require('mongoose').Schema;
  3. // 代码
  4. const codeSchema = new Schema({
  5. code: { type: String, required: true, maxLength: 64 },
  6. name: String,
  7. }, { _id: false });
  8. // 密码
  9. const secretSchema = new Schema({
  10. // 加密类型:plain、hash、encrypt等
  11. mech: { type: String, required: true, maxLength: 64, default: 'plain' },
  12. // 密码值
  13. secret: { type: String, required: true, maxLength: 128 },
  14. }, { _id: false, timestamps: true, select: false });
  15. module.exports = {
  16. NullableString: len => ({ type: String, maxLength: len }),
  17. RequiredString: len => ({ type: String, required: true, maxLength: len }),
  18. CodeNamePair: codeSchema,
  19. Secret: secretSchema,
  20. };