meadow 1.1.2 → 2.0.2

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 (50) hide show
  1. package/.config/configstore/update-notifier-npm.json +1 -1
  2. package/.config/luxury-extras/MySQL/Dockerfile +1 -0
  3. package/.config/luxury-extras/MySQL/MySQL-Laden-Entry.sh +0 -0
  4. package/.config/luxury-extras/model/documentation/Dictionary.md +18 -0
  5. package/.config/luxury-extras/model/documentation/Model-Author.md +20 -0
  6. package/.config/luxury-extras/model/documentation/Model-Book.md +26 -0
  7. package/.config/luxury-extras/model/documentation/Model-BookAuthorJoin.md +14 -0
  8. package/.config/luxury-extras/model/documentation/Model-BookPrice.md +25 -0
  9. package/.config/luxury-extras/model/documentation/Model-Review.md +22 -0
  10. package/.config/luxury-extras/model/documentation/ModelChangeTracking.md +17 -0
  11. package/.config/luxury-extras/model/documentation/README.md +1 -0
  12. package/.config/luxury-extras/model/documentation/diagram/README.md +1 -0
  13. package/.config/luxury-extras/model/documentation/diagram/Stricture_Output.dot +13 -0
  14. package/.config/luxury-extras/model/documentation/diagram/Stricture_Output.png +0 -0
  15. package/.config/luxury-extras/model/json_schema_entities/BookStore-MeadowSchema-Author.json +220 -0
  16. package/.config/luxury-extras/model/json_schema_entities/BookStore-MeadowSchema-Book.json +268 -0
  17. package/.config/luxury-extras/model/json_schema_entities/BookStore-MeadowSchema-BookAuthorJoin.json +172 -0
  18. package/.config/luxury-extras/model/json_schema_entities/BookStore-MeadowSchema-BookPrice.json +260 -0
  19. package/.config/luxury-extras/model/json_schema_entities/BookStore-MeadowSchema-Review.json +236 -0
  20. package/.config/luxury-extras/model/json_schema_entities/README.md +1 -0
  21. package/.config/luxury-extras/model/json_schema_model/BookStore-Extended.json +915 -0
  22. package/.config/luxury-extras/model/json_schema_model/BookStore-PICT.json +1 -0
  23. package/.config/luxury-extras/model/json_schema_model/BookStore.json +280 -0
  24. package/.config/luxury-extras/model/json_schema_model/README.md +1 -0
  25. package/.config/luxury-extras/model/mysql_create/BookStore-CreateDatabase.mysql.sql +116 -0
  26. package/.config/luxury-extras/model/mysql_create/README.md +1 -0
  27. package/{Dockerfile → Dockerfile_LUXURYCode} +16 -1
  28. package/README.md +19 -5
  29. package/debug/Harness.js +69 -84
  30. package/gulpfile.js +83 -0
  31. package/package.json +24 -17
  32. package/source/Meadow-Browser-Shim.js +14 -0
  33. package/source/Meadow-Package.json +1 -1
  34. package/source/Meadow.js +17 -8
  35. package/source/behaviors/Meadow-Count.js +2 -2
  36. package/source/behaviors/Meadow-Create.js +3 -4
  37. package/source/behaviors/Meadow-Delete.js +2 -2
  38. package/source/behaviors/Meadow-Read.js +4 -4
  39. package/source/behaviors/Meadow-Reads.js +4 -3
  40. package/source/behaviors/Meadow-Undelete.js +42 -0
  41. package/source/behaviors/Meadow-Update.js +2 -2
  42. package/source/providers/Meadow-Provider-ALASQL.js +33 -0
  43. package/source/providers/Meadow-Provider-MeadowEndpoints.js +3 -4
  44. package/source/providers/Meadow-Provider-MySQL.js +40 -0
  45. package/source/providers/Meadow-Provider-None.js +8 -0
  46. package/test/Meadow-Provider-ALASQL.js +38 -14
  47. package/test/Meadow-Provider-MeadowEndpoints_tests.js +2 -819
  48. package/test/Meadow-Provider-MySQL_tests.js +49 -13
  49. package/test/Meadow-Provider-None_tests.js +19 -16
  50. package/test/Meadow_tests.js +2 -2
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "optOut": false,
3
- "lastUpdateCheck": 1648734591984
3
+ "lastUpdateCheck": 1677869923810
4
4
  }
@@ -17,6 +17,7 @@ RUN echo "...configuring mariadb (mysql) server..."
17
17
  RUN sudo sed -i "s|bind-address|#bind-address|g" /etc/mysql/mariadb.conf.d/50-server.cnf
18
18
  ADD ./.config/luxury-extras/MySQL/MySQL-Security.sql /home/coder/MySQL-Configure-Security.sql
19
19
  ADD ./.config/luxury-extras/MySQL/MySQL-Laden-Entry.sh /usr/bin/MySQL-Laden-Entry.sh
20
+ RUN sudo chmod +x /usr/bin/MySQL-Laden-Entry.sh
20
21
  RUN ( sudo mysqld_safe --skip-grant-tables --skip-networking & ) && sleep 5 && mysql -u root < /home/coder/MySQL-Configure-Security.sql
21
22
 
22
23
  # Enable MariaDB even without systemd
File without changes
@@ -0,0 +1,18 @@
1
+ ##### {DocumentationIndex|Home} > {Model/DataModel|Data Model} > {Model/Dictionary/Dictionary|Data Dictionary}
2
+
3
+ Data Dictionary
4
+ =========================
5
+
6
+ Each entry below describes a single table in the database.
7
+
8
+ Table | Column Count
9
+ ----- | -----------:
10
+ {Model/Dictionary/Model-Book|Book} | 16
11
+ {Model/Dictionary/Model-BookAuthorJoin|BookAuthorJoin} | 4
12
+ {Model/Dictionary/Model-Author|Author} | 10
13
+ {Model/Dictionary/Model-BookPrice|BookPrice} | 15
14
+ {Model/Dictionary/Model-Review|Review} | 12
15
+
16
+ - - -
17
+
18
+ Generated on 2022-03-29 at 11:36
@@ -0,0 +1,20 @@
1
+ ##### {DocumentationIndex|Home} > {Model/DataModel|Data Model} > {Model/Dictionary/Dictionary|Data Dictionary} > {Model/Dictionary/Model-Author|Author Table}
2
+
3
+ Author
4
+ ===
5
+
6
+ Column Name | Size | Data Type | Join
7
+ ----------- | ---: | --------- | ----
8
+ IDAuthor | | ID |
9
+ GUIDAuthor | | GUID |
10
+ CreateDate | | DateTime |
11
+ CreatingIDUser | | Numeric |
12
+ UpdateDate | | DateTime |
13
+ UpdatingIDUser | | Numeric |
14
+ Deleted | | Boolean |
15
+ DeleteDate | | DateTime |
16
+ DeletingIDUser | | Numeric |
17
+ Name | 200 | String |
18
+ - - -
19
+
20
+ Generated on 2022-03-29 at 11:36
@@ -0,0 +1,26 @@
1
+ ##### {DocumentationIndex|Home} > {Model/DataModel|Data Model} > {Model/Dictionary/Dictionary|Data Dictionary} > {Model/Dictionary/Model-Book|Book Table}
2
+
3
+ Book
4
+ ===
5
+
6
+ Column Name | Size | Data Type | Join
7
+ ----------- | ---: | --------- | ----
8
+ IDBook | | ID |
9
+ GUIDBook | | GUID |
10
+ CreateDate | | DateTime |
11
+ CreatingIDUser | | Numeric |
12
+ UpdateDate | | DateTime |
13
+ UpdatingIDUser | | Numeric |
14
+ Deleted | | Boolean |
15
+ DeleteDate | | DateTime |
16
+ DeletingIDUser | | Numeric |
17
+ Title | 200 | String |
18
+ Type | 32 | String |
19
+ Genre | 128 | String |
20
+ ISBN | 64 | String |
21
+ Language | 12 | String |
22
+ ImageURL | 254 | String |
23
+ PublicationYear | | Numeric |
24
+ - - -
25
+
26
+ Generated on 2022-03-29 at 11:36
@@ -0,0 +1,14 @@
1
+ ##### {DocumentationIndex|Home} > {Model/DataModel|Data Model} > {Model/Dictionary/Dictionary|Data Dictionary} > {Model/Dictionary/Model-BookAuthorJoin|BookAuthorJoin Table}
2
+
3
+ BookAuthorJoin
4
+ ===
5
+
6
+ Column Name | Size | Data Type | Join
7
+ ----------- | ---: | --------- | ----
8
+ IDBookAuthorJoin | | ID |
9
+ GUIDBookAuthorJoin | | GUID |
10
+ IDBook | | Numeric | Book.IDBook
11
+ IDAuthor | | Numeric | Author.IDAuthor
12
+ - - -
13
+
14
+ Generated on 2022-03-29 at 11:36
@@ -0,0 +1,25 @@
1
+ ##### {DocumentationIndex|Home} > {Model/DataModel|Data Model} > {Model/Dictionary/Dictionary|Data Dictionary} > {Model/Dictionary/Model-BookPrice|BookPrice Table}
2
+
3
+ BookPrice
4
+ ===
5
+
6
+ Column Name | Size | Data Type | Join
7
+ ----------- | ---: | --------- | ----
8
+ IDBookPrice | | ID |
9
+ GUIDBookPrice | | GUID |
10
+ CreateDate | | DateTime |
11
+ CreatingIDUser | | Numeric |
12
+ UpdateDate | | DateTime |
13
+ UpdatingIDUser | | Numeric |
14
+ Deleted | | Boolean |
15
+ DeleteDate | | DateTime |
16
+ DeletingIDUser | | Numeric |
17
+ Price | 8,2 | Decimal |
18
+ StartDate | | DateTime |
19
+ EndDate | | DateTime |
20
+ Discountable | | Boolean |
21
+ CouponCode | 16 | String |
22
+ IDBook | | Numeric | Book.IDBook
23
+ - - -
24
+
25
+ Generated on 2022-03-29 at 11:36
@@ -0,0 +1,22 @@
1
+ ##### {DocumentationIndex|Home} > {Model/DataModel|Data Model} > {Model/Dictionary/Dictionary|Data Dictionary} > {Model/Dictionary/Model-Review|Review Table}
2
+
3
+ Review
4
+ ===
5
+
6
+ Column Name | Size | Data Type | Join
7
+ ----------- | ---: | --------- | ----
8
+ IDReviews | | ID |
9
+ GUIDReviews | | GUID |
10
+ CreateDate | | DateTime |
11
+ CreatingIDUser | | Numeric |
12
+ UpdateDate | | DateTime |
13
+ UpdatingIDUser | | Numeric |
14
+ Deleted | | Boolean |
15
+ DeleteDate | | DateTime |
16
+ DeletingIDUser | | Numeric |
17
+ Text | | Text |
18
+ Rating | | Numeric |
19
+ IDBook | | Numeric | Book.IDBook
20
+ - - -
21
+
22
+ Generated on 2022-03-29 at 11:36
@@ -0,0 +1,17 @@
1
+ ##### {DocumentationIndex|Home} > {Model/DataModel|Data Model} > {Model/Dictionary/ModelChangeTracking|Table Change Tracking}
2
+
3
+ Table Change Tracking
4
+ =====================
5
+
6
+ The following table describes which tables have implicit create, update and delete change tracking (provided by the meadow endpoints API architecture). This does not include any kind of media archival or record longitudinal backups; just timestamps and user stamps for the last action of each type.
7
+
8
+ Table | Create | Update | Delete
9
+ ----- | :----: | :----: | :----:
10
+ Book | X | X | X
11
+ BookAuthorJoin | | |
12
+ Author | X | X | X
13
+ BookPrice | X | X | X
14
+ Review | X | X | X
15
+ - - -
16
+
17
+ Generated on 2022-03-29 at 11:36
@@ -0,0 +1 @@
1
+ This is where the auto compiled markdown documentation of the data model will generate.
@@ -0,0 +1 @@
1
+ This is where the auto compiled diagram of the data model will generate.
@@ -0,0 +1,13 @@
1
+ ## Table Connection Graph -- Generated 2022-03-29T11:36:37.788Z
2
+ digraph DataModel {
3
+ rankdir=LR
4
+ Book;
5
+ BookAuthorJoin;
6
+ Author;
7
+ BookPrice;
8
+ Review;
9
+ BookAuthorJoin -> Book
10
+ BookAuthorJoin -> Author
11
+ BookPrice -> Book
12
+ Review -> Book
13
+ }
@@ -0,0 +1,220 @@
1
+ {
2
+ "Scope": "Author",
3
+ "DefaultIdentifier": "IDAuthor",
4
+ "Domain": "Default",
5
+ "Schema": [
6
+ {
7
+ "Column": "IDAuthor",
8
+ "Type": "AutoIdentity"
9
+ },
10
+ {
11
+ "Column": "GUIDAuthor",
12
+ "Type": "AutoGUID"
13
+ },
14
+ {
15
+ "Column": "CreateDate",
16
+ "Type": "CreateDate"
17
+ },
18
+ {
19
+ "Column": "CreatingIDUser",
20
+ "Type": "CreateIDUser"
21
+ },
22
+ {
23
+ "Column": "UpdateDate",
24
+ "Type": "UpdateDate"
25
+ },
26
+ {
27
+ "Column": "UpdatingIDUser",
28
+ "Type": "UpdateIDUser"
29
+ },
30
+ {
31
+ "Column": "Deleted",
32
+ "Type": "Deleted"
33
+ },
34
+ {
35
+ "Column": "DeleteDate",
36
+ "Type": "DeleteDate"
37
+ },
38
+ {
39
+ "Column": "DeletingIDUser",
40
+ "Type": "DeleteIDUser"
41
+ },
42
+ {
43
+ "Column": "Name",
44
+ "Type": "String"
45
+ }
46
+ ],
47
+ "DefaultObject": {
48
+ "IDAuthor": 0,
49
+ "GUIDAuthor": "0x0000000000000000",
50
+ "CreateDate": null,
51
+ "CreatingIDUser": 0,
52
+ "UpdateDate": null,
53
+ "UpdatingIDUser": 0,
54
+ "Deleted": false,
55
+ "DeleteDate": null,
56
+ "DeletingIDUser": 0,
57
+ "Name": ""
58
+ },
59
+ "JsonSchema": {
60
+ "title": "Author",
61
+ "type": "object",
62
+ "properties": {
63
+ "IDAuthor": {
64
+ "type": "integer"
65
+ },
66
+ "GUIDAuthor": {
67
+ "type": "string"
68
+ },
69
+ "CreateDate": {
70
+ "type": "string"
71
+ },
72
+ "CreatingIDUser": {
73
+ "type": "integer"
74
+ },
75
+ "UpdateDate": {
76
+ "type": "string"
77
+ },
78
+ "UpdatingIDUser": {
79
+ "type": "integer"
80
+ },
81
+ "Deleted": {
82
+ "type": "boolean"
83
+ },
84
+ "DeleteDate": {
85
+ "type": "string"
86
+ },
87
+ "DeletingIDUser": {
88
+ "type": "integer"
89
+ },
90
+ "Name": {
91
+ "type": "string"
92
+ }
93
+ },
94
+ "required": [
95
+ "IDAuthor"
96
+ ]
97
+ },
98
+ "Authorization": {
99
+ "__DefaultAPISecurity": {
100
+ "Create": "Deny",
101
+ "Read": "Deny",
102
+ "Reads": "Deny",
103
+ "ReadsBy": "Deny",
104
+ "ReadMax": "Deny",
105
+ "ReadSelectList": "Deny",
106
+ "Update": "Deny",
107
+ "Delete": "Deny",
108
+ "Count": "Deny",
109
+ "CountBy": "Deny",
110
+ "Schema": "Deny",
111
+ "Validate": "Deny",
112
+ "New": "Deny"
113
+ },
114
+ "Unauthenticated": {
115
+ "Create": "Deny",
116
+ "Read": "Deny",
117
+ "Reads": "Deny",
118
+ "ReadsBy": "Deny",
119
+ "ReadMax": "Deny",
120
+ "ReadSelectList": "Deny",
121
+ "Update": "Deny",
122
+ "Delete": "Deny",
123
+ "Count": "Deny",
124
+ "CountBy": "Deny",
125
+ "Schema": "Deny",
126
+ "Validate": "Deny",
127
+ "New": "Deny"
128
+ },
129
+ "Readonly": {
130
+ "Create": "Deny",
131
+ "Read": "Allow",
132
+ "Reads": "Allow",
133
+ "ReadsBy": "Allow",
134
+ "ReadMax": "Allow",
135
+ "ReadSelectList": "Allow",
136
+ "Update": "Deny",
137
+ "Delete": "Deny",
138
+ "Count": "Allow",
139
+ "CountBy": "Allow",
140
+ "Schema": "Allow",
141
+ "Validate": "Allow",
142
+ "New": "Deny"
143
+ },
144
+ "User": {
145
+ "Create": "Allow",
146
+ "Read": "MyCustomer",
147
+ "Reads": "MyCustomer",
148
+ "ReadsBy": "MyCustomer",
149
+ "ReadMax": "MyCustomer",
150
+ "ReadSelectList": "MyCustomer",
151
+ "Update": "Mine",
152
+ "Delete": "Mine",
153
+ "Count": "MyCustomer",
154
+ "CountBy": "MyCustomer",
155
+ "Schema": "MyCustomer",
156
+ "Validate": "MyCustomer",
157
+ "New": "MyCustomer"
158
+ },
159
+ "Manager": {
160
+ "Create": "Allow",
161
+ "Read": "MyCustomer",
162
+ "Reads": "MyCustomer",
163
+ "ReadsBy": "MyCustomer",
164
+ "ReadMax": "MyCustomer",
165
+ "ReadSelectList": "MyCustomer",
166
+ "Update": "Mine",
167
+ "Delete": "Mine",
168
+ "Count": "MyCustomer",
169
+ "CountBy": "MyCustomer",
170
+ "Schema": "MyCustomer",
171
+ "Validate": "MyCustomer",
172
+ "New": "MyCustomer"
173
+ },
174
+ "Director": {
175
+ "Create": "Allow",
176
+ "Read": "MyCustomer",
177
+ "Reads": "MyCustomer",
178
+ "ReadsBy": "MyCustomer",
179
+ "ReadMax": "MyCustomer",
180
+ "ReadSelectList": "MyCustomer",
181
+ "Update": "MyCustomer",
182
+ "Delete": "MyCustomer",
183
+ "Count": "MyCustomer",
184
+ "CountBy": "MyCustomer",
185
+ "Schema": "MyCustomer",
186
+ "Validate": "MyCustomer",
187
+ "New": "MyCustomer"
188
+ },
189
+ "Executive": {
190
+ "Create": "Allow",
191
+ "Read": "MyCustomer",
192
+ "Reads": "MyCustomer",
193
+ "ReadsBy": "MyCustomer",
194
+ "ReadMax": "MyCustomer",
195
+ "ReadSelectList": "MyCustomer",
196
+ "Update": "MyCustomer",
197
+ "Delete": "MyCustomer",
198
+ "Count": "MyCustomer",
199
+ "CountBy": "MyCustomer",
200
+ "Schema": "MyCustomer",
201
+ "Validate": "MyCustomer",
202
+ "New": "MyCustomer"
203
+ },
204
+ "Administrator": {
205
+ "Create": "Allow",
206
+ "Read": "Allow",
207
+ "Reads": "Allow",
208
+ "ReadsBy": "Allow",
209
+ "ReadMax": "Allow",
210
+ "ReadSelectList": "Allow",
211
+ "Update": "Allow",
212
+ "Delete": "Allow",
213
+ "Count": "Allow",
214
+ "CountBy": "Allow",
215
+ "Schema": "Allow",
216
+ "Validate": "Allow",
217
+ "New": "Allow"
218
+ }
219
+ }
220
+ }
@@ -0,0 +1,268 @@
1
+ {
2
+ "Scope": "Book",
3
+ "DefaultIdentifier": "IDBook",
4
+ "Domain": "Default",
5
+ "Schema": [
6
+ {
7
+ "Column": "IDBook",
8
+ "Type": "AutoIdentity"
9
+ },
10
+ {
11
+ "Column": "GUIDBook",
12
+ "Type": "AutoGUID"
13
+ },
14
+ {
15
+ "Column": "CreateDate",
16
+ "Type": "CreateDate"
17
+ },
18
+ {
19
+ "Column": "CreatingIDUser",
20
+ "Type": "CreateIDUser"
21
+ },
22
+ {
23
+ "Column": "UpdateDate",
24
+ "Type": "UpdateDate"
25
+ },
26
+ {
27
+ "Column": "UpdatingIDUser",
28
+ "Type": "UpdateIDUser"
29
+ },
30
+ {
31
+ "Column": "Deleted",
32
+ "Type": "Deleted"
33
+ },
34
+ {
35
+ "Column": "DeleteDate",
36
+ "Type": "DeleteDate"
37
+ },
38
+ {
39
+ "Column": "DeletingIDUser",
40
+ "Type": "DeleteIDUser"
41
+ },
42
+ {
43
+ "Column": "Title",
44
+ "Type": "String"
45
+ },
46
+ {
47
+ "Column": "Type",
48
+ "Type": "String"
49
+ },
50
+ {
51
+ "Column": "Genre",
52
+ "Type": "String"
53
+ },
54
+ {
55
+ "Column": "ISBN",
56
+ "Type": "String"
57
+ },
58
+ {
59
+ "Column": "Language",
60
+ "Type": "String"
61
+ },
62
+ {
63
+ "Column": "ImageURL",
64
+ "Type": "String"
65
+ },
66
+ {
67
+ "Column": "PublicationYear",
68
+ "Type": "Integer"
69
+ }
70
+ ],
71
+ "DefaultObject": {
72
+ "IDBook": 0,
73
+ "GUIDBook": "0x0000000000000000",
74
+ "CreateDate": null,
75
+ "CreatingIDUser": 0,
76
+ "UpdateDate": null,
77
+ "UpdatingIDUser": 0,
78
+ "Deleted": false,
79
+ "DeleteDate": null,
80
+ "DeletingIDUser": 0,
81
+ "Title": "",
82
+ "Type": "",
83
+ "Genre": "",
84
+ "ISBN": "",
85
+ "Language": "",
86
+ "ImageURL": "",
87
+ "PublicationYear": 0
88
+ },
89
+ "JsonSchema": {
90
+ "title": "Book",
91
+ "type": "object",
92
+ "properties": {
93
+ "IDBook": {
94
+ "type": "integer"
95
+ },
96
+ "GUIDBook": {
97
+ "type": "string"
98
+ },
99
+ "CreateDate": {
100
+ "type": "string"
101
+ },
102
+ "CreatingIDUser": {
103
+ "type": "integer"
104
+ },
105
+ "UpdateDate": {
106
+ "type": "string"
107
+ },
108
+ "UpdatingIDUser": {
109
+ "type": "integer"
110
+ },
111
+ "Deleted": {
112
+ "type": "boolean"
113
+ },
114
+ "DeleteDate": {
115
+ "type": "string"
116
+ },
117
+ "DeletingIDUser": {
118
+ "type": "integer"
119
+ },
120
+ "Title": {
121
+ "type": "string"
122
+ },
123
+ "Type": {
124
+ "type": "string"
125
+ },
126
+ "Genre": {
127
+ "type": "string"
128
+ },
129
+ "ISBN": {
130
+ "type": "string"
131
+ },
132
+ "Language": {
133
+ "type": "string"
134
+ },
135
+ "ImageURL": {
136
+ "type": "string"
137
+ },
138
+ "PublicationYear": {
139
+ "type": "integer"
140
+ }
141
+ },
142
+ "required": [
143
+ "IDBook"
144
+ ]
145
+ },
146
+ "Authorization": {
147
+ "__DefaultAPISecurity": {
148
+ "Create": "Deny",
149
+ "Read": "Deny",
150
+ "Reads": "Deny",
151
+ "ReadsBy": "Deny",
152
+ "ReadMax": "Deny",
153
+ "ReadSelectList": "Deny",
154
+ "Update": "Deny",
155
+ "Delete": "Deny",
156
+ "Count": "Deny",
157
+ "CountBy": "Deny",
158
+ "Schema": "Deny",
159
+ "Validate": "Deny",
160
+ "New": "Deny"
161
+ },
162
+ "Unauthenticated": {
163
+ "Create": "Deny",
164
+ "Read": "Deny",
165
+ "Reads": "Deny",
166
+ "ReadsBy": "Deny",
167
+ "ReadMax": "Deny",
168
+ "ReadSelectList": "Deny",
169
+ "Update": "Deny",
170
+ "Delete": "Deny",
171
+ "Count": "Deny",
172
+ "CountBy": "Deny",
173
+ "Schema": "Deny",
174
+ "Validate": "Deny",
175
+ "New": "Deny"
176
+ },
177
+ "Readonly": {
178
+ "Create": "Deny",
179
+ "Read": "Allow",
180
+ "Reads": "Allow",
181
+ "ReadsBy": "Allow",
182
+ "ReadMax": "Allow",
183
+ "ReadSelectList": "Allow",
184
+ "Update": "Deny",
185
+ "Delete": "Deny",
186
+ "Count": "Allow",
187
+ "CountBy": "Allow",
188
+ "Schema": "Allow",
189
+ "Validate": "Allow",
190
+ "New": "Deny"
191
+ },
192
+ "User": {
193
+ "Create": "Allow",
194
+ "Read": "MyCustomer",
195
+ "Reads": "MyCustomer",
196
+ "ReadsBy": "MyCustomer",
197
+ "ReadMax": "MyCustomer",
198
+ "ReadSelectList": "MyCustomer",
199
+ "Update": "Mine",
200
+ "Delete": "Mine",
201
+ "Count": "MyCustomer",
202
+ "CountBy": "MyCustomer",
203
+ "Schema": "MyCustomer",
204
+ "Validate": "MyCustomer",
205
+ "New": "MyCustomer"
206
+ },
207
+ "Manager": {
208
+ "Create": "Allow",
209
+ "Read": "MyCustomer",
210
+ "Reads": "MyCustomer",
211
+ "ReadsBy": "MyCustomer",
212
+ "ReadMax": "MyCustomer",
213
+ "ReadSelectList": "MyCustomer",
214
+ "Update": "Mine",
215
+ "Delete": "Mine",
216
+ "Count": "MyCustomer",
217
+ "CountBy": "MyCustomer",
218
+ "Schema": "MyCustomer",
219
+ "Validate": "MyCustomer",
220
+ "New": "MyCustomer"
221
+ },
222
+ "Director": {
223
+ "Create": "Allow",
224
+ "Read": "MyCustomer",
225
+ "Reads": "MyCustomer",
226
+ "ReadsBy": "MyCustomer",
227
+ "ReadMax": "MyCustomer",
228
+ "ReadSelectList": "MyCustomer",
229
+ "Update": "MyCustomer",
230
+ "Delete": "MyCustomer",
231
+ "Count": "MyCustomer",
232
+ "CountBy": "MyCustomer",
233
+ "Schema": "MyCustomer",
234
+ "Validate": "MyCustomer",
235
+ "New": "MyCustomer"
236
+ },
237
+ "Executive": {
238
+ "Create": "Allow",
239
+ "Read": "MyCustomer",
240
+ "Reads": "MyCustomer",
241
+ "ReadsBy": "MyCustomer",
242
+ "ReadMax": "MyCustomer",
243
+ "ReadSelectList": "MyCustomer",
244
+ "Update": "MyCustomer",
245
+ "Delete": "MyCustomer",
246
+ "Count": "MyCustomer",
247
+ "CountBy": "MyCustomer",
248
+ "Schema": "MyCustomer",
249
+ "Validate": "MyCustomer",
250
+ "New": "MyCustomer"
251
+ },
252
+ "Administrator": {
253
+ "Create": "Allow",
254
+ "Read": "Allow",
255
+ "Reads": "Allow",
256
+ "ReadsBy": "Allow",
257
+ "ReadMax": "Allow",
258
+ "ReadSelectList": "Allow",
259
+ "Update": "Allow",
260
+ "Delete": "Allow",
261
+ "Count": "Allow",
262
+ "CountBy": "Allow",
263
+ "Schema": "Allow",
264
+ "Validate": "Allow",
265
+ "New": "Allow"
266
+ }
267
+ }
268
+ }