retailer.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const { register, Sequelize } = require('@alancnet/material-framework/auto-crud')
  2. register({
  3. camelName: 'retailer',
  4. iconAsset: 'userIcon',
  5. schema: {
  6. id: {
  7. type: Sequelize.UUID,
  8. defaultValue: Sequelize.UUIDV1,
  9. primaryKey: true
  10. },
  11. name: Sequelize.STRING,
  12. key: {
  13. type: Sequelize.STRING,
  14. unique: true
  15. },
  16. address: Sequelize.STRING,
  17. locationId: Sequelize.UUID,
  18. distanceMiles: Sequelize.DOUBLE
  19. },
  20. options: {
  21. paranoid: true,
  22. indexes: [
  23. {
  24. unique: true,
  25. fields: ['key']
  26. }
  27. ]
  28. },
  29. columns: [
  30. { camelName: 'key' },
  31. { camelName: 'name' },
  32. { camelName: 'address', inList: false },
  33. { camelName: 'locationId', titleName: 'Location', type: 'autocomplete', source: '/api/locations' },
  34. { camelName: 'distanceMiles', titleName: 'Distance in Miles', type: 'number' }
  35. ],
  36. layout: [
  37. {
  38. section: 'Details',
  39. rows: [
  40. [ 'name', 'key' ],
  41. [ 'address' ]
  42. [ 'locationId', 'distanceMiles' ]
  43. ]
  44. }
  45. ]
  46. })