sumba 2.25.0 → 2.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/extend/bajo/hook.js +430 -0
  2. package/extend/dobo/fixture/team-user.json +2 -2
  3. package/extend/dobo/model.js +215 -0
  4. package/extend/dobo/model.json +214 -0
  5. package/index.js +11 -7
  6. package/lib/get-user.js +1 -1
  7. package/package.json +1 -1
  8. package/wiki/CHANGES.md +9 -0
  9. package/extend/bajo/hook/bajo.extend@after-read-config.js +0 -13
  10. package/extend/bajo/hook/dobo.sumba-attrib-guard$dobo.sumba-x-attrib-guard@after-transaction.js +0 -6
  11. package/extend/bajo/hook/dobo.sumba-contact-form@after-create-record.js +0 -17
  12. package/extend/bajo/hook/dobo.sumba-contact-form@before-create-record.js +0 -16
  13. package/extend/bajo/hook/dobo.sumba-model-guard$dobo.sumba-x-model-guard@after-transaction.js +0 -6
  14. package/extend/bajo/hook/dobo.sumba-route-guard$dobo.sumba-x-route-guard@after-transaction.js +0 -6
  15. package/extend/bajo/hook/dobo.sumba-site@after-create-record.js +0 -8
  16. package/extend/bajo/hook/dobo.sumba-site@after-remove-record.js +0 -9
  17. package/extend/bajo/hook/dobo.sumba-site@after-update-record.js +0 -14
  18. package/extend/bajo/hook/dobo.sumba-team$dobo.sumba-site@after-transaction.js +0 -8
  19. package/extend/bajo/hook/dobo.sumba-user@after-create-record.js +0 -15
  20. package/extend/bajo/hook/dobo.sumba-user@after-record-validation.js +0 -8
  21. package/extend/bajo/hook/dobo.sumba-user@after-remove-record.js +0 -7
  22. package/extend/bajo/hook/dobo.sumba-user@after-update-record.js +0 -44
  23. package/extend/bajo/hook/dobo.sumba-user@before-create-record.js +0 -7
  24. package/extend/bajo/hook/dobo.sumba-user@before-record-validation.js +0 -8
  25. package/extend/bajo/hook/dobo.sumba-user@before-update-record.js +0 -9
  26. package/extend/bajo/hook/dobo@before-count-record.js +0 -8
  27. package/extend/bajo/hook/dobo@before-driver-create-record.js +0 -17
  28. package/extend/bajo/hook/dobo@before-driver-find-all-record.js +0 -13
  29. package/extend/bajo/hook/dobo@before-driver-find-record.js +0 -114
  30. package/extend/bajo/hook/dobo@before-driver-get-record.js +0 -22
  31. package/extend/bajo/hook/dobo@before-driver-remove-record.js +0 -10
  32. package/extend/bajo/hook/dobo@before-driver-update-record.js +0 -10
  33. package/extend/bajo/hook/waibu-mpa.sumba@after-build-locals.js +0 -19
  34. package/extend/bajo/hook/waibu-mpa@pre-parsing.js +0 -15
  35. package/extend/bajo/hook/waibu-rest-api@pre-parsing.js +0 -13
  36. package/extend/bajo/hook/waibu-static@pre-parsing.js +0 -13
  37. package/extend/bajo/hook/waibu@after-app-boot.js +0 -7
  38. package/extend/bajo/hook/waibu@after-create-context.js +0 -5
  39. package/extend/bajo/hook/waibu@pre-parsing.js +0 -9
  40. package/extend/dobo/model/attrib-guard.js +0 -32
  41. package/extend/dobo/model/contact-form-cat.json +0 -3
  42. package/extend/dobo/model/contact-form.json +0 -16
  43. package/extend/dobo/model/download.json +0 -19
  44. package/extend/dobo/model/model-guard.js +0 -48
  45. package/extend/dobo/model/route-guard.js +0 -48
  46. package/extend/dobo/model/site-setting.json +0 -16
  47. package/extend/dobo/model/site.json +0 -45
  48. package/extend/dobo/model/team-setting.json +0 -17
  49. package/extend/dobo/model/team-user.json +0 -16
  50. package/extend/dobo/model/team.json +0 -23
  51. package/extend/dobo/model/ticket-cat.json +0 -3
  52. package/extend/dobo/model/ticket-detail.json +0 -7
  53. package/extend/dobo/model/ticket.json +0 -31
  54. package/extend/dobo/model/user-setting.json +0 -17
  55. package/extend/dobo/model/user.js +0 -84
  56. package/extend/dobo/model/x-attrib-guard.js +0 -14
  57. package/extend/dobo/model/x-model-guard.js +0 -13
  58. package/extend/dobo/model/x-route-guard.js +0 -13
@@ -1,84 +0,0 @@
1
- async function user () {
2
- return {
3
- buildLevel: 2,
4
- properties: [{
5
- name: 'username',
6
- type: 'string',
7
- minLength: 5,
8
- maxLength: 50,
9
- rules: ['alphanum']
10
- }, {
11
- name: 'password',
12
- type: 'string',
13
- minLength: 8,
14
- maxLength: 100
15
- }, {
16
- name: 'token',
17
- type: 'string',
18
- maxLength: 100,
19
- index: true
20
- }, {
21
- name: 'salt',
22
- type: 'string',
23
- maxLength: 100,
24
- required: true
25
- }, {
26
- name: 'apiKey',
27
- type: 'string',
28
- maxLength: 100,
29
- virtual: true,
30
- getValue: async function (val, rec) {
31
- if (!rec.salt) return
32
- return await this.plugin.hash(rec.salt)
33
- }
34
- }, {
35
- name: 'provider',
36
- type: 'string',
37
- maxLength: 50,
38
- index: true,
39
- default: 'local'
40
- }, {
41
- name: 'email',
42
- type: 'string',
43
- maxLength: 100,
44
- required: true,
45
- rules: ['email']
46
- }, {
47
- name: 'firstName',
48
- type: 'string',
49
- maxLength: 50,
50
- required: true,
51
- index: true
52
- }, {
53
- name: 'lastName',
54
- type: 'string',
55
- maxLength: 50,
56
- required: true,
57
- index: true
58
- }],
59
- rules: [{ rule: 'trim', fields: ['username', 'firstName', 'lastName'] }],
60
- indexes: [{
61
- fields: ['username', 'siteId'],
62
- type: 'unique'
63
- }, {
64
- fields: ['email', 'siteId'],
65
- type: 'unique'
66
- }],
67
- hidden: ['password'],
68
- features: [
69
- 'sumba:address',
70
- 'sumba:social',
71
- {
72
- name: 'sumba:status',
73
- default: 'UNVERIFIED',
74
- values: ['UNVERIFIED', 'ACTIVE', 'INACTIVE']
75
- },
76
- 'sumba:siteId',
77
- 'dobo:createdAt',
78
- 'dobo:updatedAt',
79
- 'dobo:immutable'
80
- ]
81
- }
82
- }
83
-
84
- export default user
@@ -1,14 +0,0 @@
1
- import { properties, features } from './attrib-guard.js'
2
- import { options, buildEnd } from './model-guard.js'
3
-
4
- async function routeGuard () {
5
- const { isString } = this.app.lib._
6
- return {
7
- properties: properties.filter(prop => !isString(prop) || (isString(prop) && !prop.startsWith('teamIds'))),
8
- features: features.filter(feat => !isString(feat) || (isString(feat) && !['sumba:siteId', 'dobo:updatedAt'].includes(feat))).concat('sumba:siteIds', 'dobo:updatedAt'),
9
- options,
10
- buildEnd
11
- }
12
- }
13
-
14
- export default routeGuard
@@ -1,13 +0,0 @@
1
- import { buildEnd, properties, features, options } from './model-guard.js'
2
-
3
- async function xModelGuard () {
4
- const { isString } = this.app.lib._
5
- return {
6
- properties: properties.filter(prop => !isString(prop) || (isString(prop) && !prop.startsWith('teamIds'))),
7
- features: features.filter(feat => !isString(feat) || (isString(feat) && !['sumba:siteId', 'dobo:updatedAt'].includes(feat))).concat('sumba:siteIds', 'dobo:updatedAt'),
8
- options,
9
- buildEnd
10
- }
11
- }
12
-
13
- export default xModelGuard
@@ -1,13 +0,0 @@
1
- import { properties, features } from './route-guard.js'
2
- import { options } from './model-guard.js'
3
-
4
- async function xRouteGuard () {
5
- const { isString } = this.app.lib._
6
- return {
7
- properties: properties.filter(prop => !isString(prop) || (isString(prop) && !prop.startsWith('teamIds'))),
8
- features: features.filter(feat => !isString(feat) || (isString(feat) && !['sumba:siteId', 'dobo:updatedAt'].includes(feat))).concat('sumba:siteIds', 'dobo:updatedAt'),
9
- options
10
- }
11
- }
12
-
13
- export default xRouteGuard