retold-data-service 1.0.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 (94) hide show
  1. package/.config/code-server/config.yaml +4 -0
  2. package/.config/configstore/update-notifier-npm-check-updates.json +4 -0
  3. package/.config/configstore/update-notifier-npm.json +4 -0
  4. package/.config/luxury-extras/.vscode/launch.json +46 -0
  5. package/.config/luxury-extras/Dockerfile +32 -0
  6. package/.config/luxury-extras/MySQL/Dockerfile +50 -0
  7. package/.config/luxury-extras/MySQL/MySQL-Laden-Entry.sh +17 -0
  8. package/.config/luxury-extras/MySQL/MySQL-Security.sql +5 -0
  9. package/.config/luxury-extras/model/ddl/BookStore.ddl +66 -0
  10. package/.config/luxury-extras/model/documentation/Dictionary.md +18 -0
  11. package/.config/luxury-extras/model/documentation/Model-Author.md +20 -0
  12. package/.config/luxury-extras/model/documentation/Model-Book.md +26 -0
  13. package/.config/luxury-extras/model/documentation/Model-BookAuthorJoin.md +14 -0
  14. package/.config/luxury-extras/model/documentation/Model-BookPrice.md +25 -0
  15. package/.config/luxury-extras/model/documentation/Model-Review.md +22 -0
  16. package/.config/luxury-extras/model/documentation/ModelChangeTracking.md +17 -0
  17. package/.config/luxury-extras/model/documentation/README.md +1 -0
  18. package/.config/luxury-extras/model/documentation/diagram/README.md +1 -0
  19. package/.config/luxury-extras/model/documentation/diagram/Stricture_Output.dot +13 -0
  20. package/.config/luxury-extras/model/documentation/diagram/Stricture_Output.png +0 -0
  21. package/.config/luxury-extras/model/json_schema_entities/BookStore-MeadowSchema-Author.json +220 -0
  22. package/.config/luxury-extras/model/json_schema_entities/BookStore-MeadowSchema-Book.json +268 -0
  23. package/.config/luxury-extras/model/json_schema_entities/BookStore-MeadowSchema-BookAuthorJoin.json +172 -0
  24. package/.config/luxury-extras/model/json_schema_entities/BookStore-MeadowSchema-BookPrice.json +260 -0
  25. package/.config/luxury-extras/model/json_schema_entities/BookStore-MeadowSchema-Review.json +236 -0
  26. package/.config/luxury-extras/model/json_schema_entities/README.md +1 -0
  27. package/.config/luxury-extras/model/json_schema_model/BookStore-Extended.json +915 -0
  28. package/.config/luxury-extras/model/json_schema_model/BookStore-PICT.json +1 -0
  29. package/.config/luxury-extras/model/json_schema_model/BookStore.json +280 -0
  30. package/.config/luxury-extras/model/json_schema_model/README.md +1 -0
  31. package/.config/luxury-extras/model/mysql_create/BookStore-CreateDatabase.mysql.sql +116 -0
  32. package/.config/luxury-extras/model/mysql_create/README.md +1 -0
  33. package/LICENSE +21 -0
  34. package/README.md +86 -0
  35. package/debug/Harness-Configuration.json +51 -0
  36. package/debug/Harness.js +3 -0
  37. package/debug/model/Build-Database.sh +22 -0
  38. package/debug/model/Model-Extended.json +915 -0
  39. package/debug/model/Model-PICT.json +1 -0
  40. package/debug/model/Model.json +280 -0
  41. package/debug/model/ddl/Model.ddl +66 -0
  42. package/debug/model/generated_documentation/Dictionary.md +18 -0
  43. package/debug/model/generated_documentation/Model-Author.md +20 -0
  44. package/debug/model/generated_documentation/Model-Book.md +26 -0
  45. package/debug/model/generated_documentation/Model-BookAuthorJoin.md +14 -0
  46. package/debug/model/generated_documentation/Model-BookPrice.md +25 -0
  47. package/debug/model/generated_documentation/Model-Review.md +22 -0
  48. package/debug/model/generated_documentation/ModelChangeTracking.md +17 -0
  49. package/debug/model/generated_documentation/diagrams/Stricture_Output.dot +13 -0
  50. package/debug/model/generated_documentation/diagrams/Stricture_Output.png +0 -0
  51. package/debug/model/generated_documentation/diagrams/full/Stricture_Output.dot +13 -0
  52. package/debug/model/generated_documentation/diagrams/full/Stricture_Output.png +0 -0
  53. package/debug/model/meadow/Model-MeadowSchema-Author.json +220 -0
  54. package/debug/model/meadow/Model-MeadowSchema-Book.json +268 -0
  55. package/debug/model/meadow/Model-MeadowSchema-BookAuthorJoin.json +172 -0
  56. package/debug/model/meadow/Model-MeadowSchema-BookPrice.json +260 -0
  57. package/debug/model/meadow/Model-MeadowSchema-Review.json +236 -0
  58. package/debug/model/mysql/Model-CreateDatabase.mysql.sql +116 -0
  59. package/package.json +43 -0
  60. package/source/Cumulation-Settings-Default.js +19 -0
  61. package/source/Cumulation.js +90 -0
  62. package/source/GraphGet.js +608 -0
  63. package/source/ProviderHelpers/Meadow-Provider-Helper-ALASQL.js +48 -0
  64. package/source/ProviderHelpers/Meadow-Provider-Helper-Base.js +46 -0
  65. package/source/ProviderHelpers/Meadow-Provider-Helper-MySQL.js +62 -0
  66. package/source/Retold-Data-Service.js +285 -0
  67. package/test/RetoldDataService_tests.js +73 -0
  68. package/test/basic_test_configurations/fable-config-load_model.json +45 -0
  69. package/test/model/ddl/BookStore.ddl +66 -0
  70. package/test/model/generated_diagram/README.md +1 -0
  71. package/test/model/generated_diagram/Stricture_Output.dot +13 -0
  72. package/test/model/generated_diagram/Stricture_Output.png +0 -0
  73. package/test/model/generated_documentation/Dictionary.md +18 -0
  74. package/test/model/generated_documentation/Model-Author.md +20 -0
  75. package/test/model/generated_documentation/Model-Book.md +26 -0
  76. package/test/model/generated_documentation/Model-BookAuthorJoin.md +14 -0
  77. package/test/model/generated_documentation/Model-BookPrice.md +25 -0
  78. package/test/model/generated_documentation/Model-Review.md +22 -0
  79. package/test/model/generated_documentation/ModelChangeTracking.md +17 -0
  80. package/test/model/generated_documentation/README.md +1 -0
  81. package/test/model/manual_scripts/DropTables.sql +5 -0
  82. package/test/model/manual_scripts/README.md +2 -0
  83. package/test/model/meadow_model/BookStore-Extended.json +915 -0
  84. package/test/model/meadow_model/BookStore-PICT.json +1 -0
  85. package/test/model/meadow_model/BookStore.json +280 -0
  86. package/test/model/meadow_model/README.md +1 -0
  87. package/test/model/meadow_schema/BookStore-MeadowSchema-Author.json +220 -0
  88. package/test/model/meadow_schema/BookStore-MeadowSchema-Book.json +268 -0
  89. package/test/model/meadow_schema/BookStore-MeadowSchema-BookAuthorJoin.json +172 -0
  90. package/test/model/meadow_schema/BookStore-MeadowSchema-BookPrice.json +260 -0
  91. package/test/model/meadow_schema/BookStore-MeadowSchema-Review.json +236 -0
  92. package/test/model/meadow_schema/README.md +1 -0
  93. package/test/model/sql_create/BookStore-CreateDatabase.mysql.sql +116 -0
  94. package/test/model/sql_create/README.md +1 -0
@@ -0,0 +1,280 @@
1
+ {
2
+ "Tables": {
3
+ "Book": {
4
+ "TableName": "Book",
5
+ "Domain": "Default",
6
+ "Columns": [
7
+ {
8
+ "Column": "IDBook",
9
+ "DataType": "ID"
10
+ },
11
+ {
12
+ "Column": "GUIDBook",
13
+ "DataType": "GUID"
14
+ },
15
+ {
16
+ "Column": "CreateDate",
17
+ "DataType": "DateTime"
18
+ },
19
+ {
20
+ "Column": "CreatingIDUser",
21
+ "DataType": "Numeric"
22
+ },
23
+ {
24
+ "Column": "UpdateDate",
25
+ "DataType": "DateTime"
26
+ },
27
+ {
28
+ "Column": "UpdatingIDUser",
29
+ "DataType": "Numeric"
30
+ },
31
+ {
32
+ "Column": "Deleted",
33
+ "DataType": "Boolean"
34
+ },
35
+ {
36
+ "Column": "DeleteDate",
37
+ "DataType": "DateTime"
38
+ },
39
+ {
40
+ "Column": "DeletingIDUser",
41
+ "DataType": "Numeric"
42
+ },
43
+ {
44
+ "Column": "Title",
45
+ "DataType": "String",
46
+ "Size": "200"
47
+ },
48
+ {
49
+ "Column": "Type",
50
+ "DataType": "String",
51
+ "Size": "32"
52
+ },
53
+ {
54
+ "Column": "Genre",
55
+ "DataType": "String",
56
+ "Size": "128"
57
+ },
58
+ {
59
+ "Column": "ISBN",
60
+ "DataType": "String",
61
+ "Size": "64"
62
+ },
63
+ {
64
+ "Column": "Language",
65
+ "DataType": "String",
66
+ "Size": "12"
67
+ },
68
+ {
69
+ "Column": "ImageURL",
70
+ "DataType": "String",
71
+ "Size": "254"
72
+ },
73
+ {
74
+ "Column": "PublicationYear",
75
+ "DataType": "Numeric"
76
+ }
77
+ ],
78
+ "Description": ""
79
+ },
80
+ "BookAuthorJoin": {
81
+ "TableName": "BookAuthorJoin",
82
+ "Domain": "Default",
83
+ "Columns": [
84
+ {
85
+ "Column": "IDBookAuthorJoin",
86
+ "DataType": "ID"
87
+ },
88
+ {
89
+ "Column": "GUIDBookAuthorJoin",
90
+ "DataType": "GUID"
91
+ },
92
+ {
93
+ "Column": "IDBook",
94
+ "DataType": "Numeric",
95
+ "Join": "IDBook"
96
+ },
97
+ {
98
+ "Column": "IDAuthor",
99
+ "DataType": "Numeric",
100
+ "Join": "IDAuthor"
101
+ }
102
+ ],
103
+ "Description": ""
104
+ },
105
+ "Author": {
106
+ "TableName": "Author",
107
+ "Domain": "Default",
108
+ "Columns": [
109
+ {
110
+ "Column": "IDAuthor",
111
+ "DataType": "ID"
112
+ },
113
+ {
114
+ "Column": "GUIDAuthor",
115
+ "DataType": "GUID"
116
+ },
117
+ {
118
+ "Column": "CreateDate",
119
+ "DataType": "DateTime"
120
+ },
121
+ {
122
+ "Column": "CreatingIDUser",
123
+ "DataType": "Numeric"
124
+ },
125
+ {
126
+ "Column": "UpdateDate",
127
+ "DataType": "DateTime"
128
+ },
129
+ {
130
+ "Column": "UpdatingIDUser",
131
+ "DataType": "Numeric"
132
+ },
133
+ {
134
+ "Column": "Deleted",
135
+ "DataType": "Boolean"
136
+ },
137
+ {
138
+ "Column": "DeleteDate",
139
+ "DataType": "DateTime"
140
+ },
141
+ {
142
+ "Column": "DeletingIDUser",
143
+ "DataType": "Numeric"
144
+ },
145
+ {
146
+ "Column": "Name",
147
+ "DataType": "String",
148
+ "Size": "200"
149
+ }
150
+ ],
151
+ "Description": ""
152
+ },
153
+ "BookPrice": {
154
+ "TableName": "BookPrice",
155
+ "Domain": "Default",
156
+ "Columns": [
157
+ {
158
+ "Column": "IDBookPrice",
159
+ "DataType": "ID"
160
+ },
161
+ {
162
+ "Column": "GUIDBookPrice",
163
+ "DataType": "GUID"
164
+ },
165
+ {
166
+ "Column": "CreateDate",
167
+ "DataType": "DateTime"
168
+ },
169
+ {
170
+ "Column": "CreatingIDUser",
171
+ "DataType": "Numeric"
172
+ },
173
+ {
174
+ "Column": "UpdateDate",
175
+ "DataType": "DateTime"
176
+ },
177
+ {
178
+ "Column": "UpdatingIDUser",
179
+ "DataType": "Numeric"
180
+ },
181
+ {
182
+ "Column": "Deleted",
183
+ "DataType": "Boolean"
184
+ },
185
+ {
186
+ "Column": "DeleteDate",
187
+ "DataType": "DateTime"
188
+ },
189
+ {
190
+ "Column": "DeletingIDUser",
191
+ "DataType": "Numeric"
192
+ },
193
+ {
194
+ "Column": "Price",
195
+ "DataType": "Decimal",
196
+ "Size": "8,2"
197
+ },
198
+ {
199
+ "Column": "StartDate",
200
+ "DataType": "DateTime"
201
+ },
202
+ {
203
+ "Column": "EndDate",
204
+ "DataType": "DateTime"
205
+ },
206
+ {
207
+ "Column": "Discountable",
208
+ "DataType": "Boolean"
209
+ },
210
+ {
211
+ "Column": "CouponCode",
212
+ "DataType": "String",
213
+ "Size": "16"
214
+ },
215
+ {
216
+ "Column": "IDBook",
217
+ "DataType": "Numeric",
218
+ "Join": "IDBook"
219
+ }
220
+ ],
221
+ "Description": ""
222
+ },
223
+ "Review": {
224
+ "TableName": "Review",
225
+ "Domain": "Default",
226
+ "Columns": [
227
+ {
228
+ "Column": "IDReviews",
229
+ "DataType": "ID"
230
+ },
231
+ {
232
+ "Column": "GUIDReviews",
233
+ "DataType": "GUID"
234
+ },
235
+ {
236
+ "Column": "CreateDate",
237
+ "DataType": "DateTime"
238
+ },
239
+ {
240
+ "Column": "CreatingIDUser",
241
+ "DataType": "Numeric"
242
+ },
243
+ {
244
+ "Column": "UpdateDate",
245
+ "DataType": "DateTime"
246
+ },
247
+ {
248
+ "Column": "UpdatingIDUser",
249
+ "DataType": "Numeric"
250
+ },
251
+ {
252
+ "Column": "Deleted",
253
+ "DataType": "Boolean"
254
+ },
255
+ {
256
+ "Column": "DeleteDate",
257
+ "DataType": "DateTime"
258
+ },
259
+ {
260
+ "Column": "DeletingIDUser",
261
+ "DataType": "Numeric"
262
+ },
263
+ {
264
+ "Column": "Text",
265
+ "DataType": "Text"
266
+ },
267
+ {
268
+ "Column": "Rating",
269
+ "DataType": "Numeric"
270
+ },
271
+ {
272
+ "Column": "IDBook",
273
+ "DataType": "Numeric",
274
+ "Join": "IDBook"
275
+ }
276
+ ],
277
+ "Description": ""
278
+ }
279
+ }
280
+ }
@@ -0,0 +1 @@
1
+ This is where the meadow high-level JSON schema of the data model will generate.
@@ -0,0 +1,116 @@
1
+ -- Data Model -- Generated 2022-03-29T11:36:36.684Z
2
+
3
+ -- This script creates the following tables:
4
+ -- Table ----------------------------------------- Column Count ----------------
5
+ -- Book 16
6
+ -- BookAuthorJoin 4
7
+ -- Author 10
8
+ -- BookPrice 15
9
+ -- Review 12
10
+
11
+
12
+
13
+ -- [ Book ]
14
+ CREATE TABLE IF NOT EXISTS
15
+ Book
16
+ (
17
+ IDBook INT UNSIGNED NOT NULL AUTO_INCREMENT,
18
+ GUIDBook CHAR(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
19
+ CreateDate DATETIME,
20
+ CreatingIDUser INT NOT NULL DEFAULT '0',
21
+ UpdateDate DATETIME,
22
+ UpdatingIDUser INT NOT NULL DEFAULT '0',
23
+ Deleted TINYINT NOT NULL DEFAULT '0',
24
+ DeleteDate DATETIME,
25
+ DeletingIDUser INT NOT NULL DEFAULT '0',
26
+ Title CHAR(200) NOT NULL DEFAULT '',
27
+ Type CHAR(32) NOT NULL DEFAULT '',
28
+ Genre CHAR(128) NOT NULL DEFAULT '',
29
+ ISBN CHAR(64) NOT NULL DEFAULT '',
30
+ Language CHAR(12) NOT NULL DEFAULT '',
31
+ ImageURL CHAR(254) NOT NULL DEFAULT '',
32
+ PublicationYear INT NOT NULL DEFAULT '0',
33
+
34
+ PRIMARY KEY (IDBook)
35
+ ) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
36
+
37
+
38
+
39
+ -- [ BookAuthorJoin ]
40
+ CREATE TABLE IF NOT EXISTS
41
+ BookAuthorJoin
42
+ (
43
+ IDBookAuthorJoin INT UNSIGNED NOT NULL AUTO_INCREMENT,
44
+ GUIDBookAuthorJoin CHAR(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
45
+ IDBook INT NOT NULL DEFAULT '0',
46
+ IDAuthor INT NOT NULL DEFAULT '0',
47
+
48
+ PRIMARY KEY (IDBookAuthorJoin)
49
+ ) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
50
+
51
+
52
+
53
+ -- [ Author ]
54
+ CREATE TABLE IF NOT EXISTS
55
+ Author
56
+ (
57
+ IDAuthor INT UNSIGNED NOT NULL AUTO_INCREMENT,
58
+ GUIDAuthor CHAR(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
59
+ CreateDate DATETIME,
60
+ CreatingIDUser INT NOT NULL DEFAULT '0',
61
+ UpdateDate DATETIME,
62
+ UpdatingIDUser INT NOT NULL DEFAULT '0',
63
+ Deleted TINYINT NOT NULL DEFAULT '0',
64
+ DeleteDate DATETIME,
65
+ DeletingIDUser INT NOT NULL DEFAULT '0',
66
+ Name CHAR(200) NOT NULL DEFAULT '',
67
+
68
+ PRIMARY KEY (IDAuthor)
69
+ ) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
70
+
71
+
72
+
73
+ -- [ BookPrice ]
74
+ CREATE TABLE IF NOT EXISTS
75
+ BookPrice
76
+ (
77
+ IDBookPrice INT UNSIGNED NOT NULL AUTO_INCREMENT,
78
+ GUIDBookPrice CHAR(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
79
+ CreateDate DATETIME,
80
+ CreatingIDUser INT NOT NULL DEFAULT '0',
81
+ UpdateDate DATETIME,
82
+ UpdatingIDUser INT NOT NULL DEFAULT '0',
83
+ Deleted TINYINT NOT NULL DEFAULT '0',
84
+ DeleteDate DATETIME,
85
+ DeletingIDUser INT NOT NULL DEFAULT '0',
86
+ Price DECIMAL(8,2),
87
+ StartDate DATETIME,
88
+ EndDate DATETIME,
89
+ Discountable TINYINT NOT NULL DEFAULT '0',
90
+ CouponCode CHAR(16) NOT NULL DEFAULT '',
91
+ IDBook INT NOT NULL DEFAULT '0',
92
+
93
+ PRIMARY KEY (IDBookPrice)
94
+ ) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
95
+
96
+
97
+
98
+ -- [ Review ]
99
+ CREATE TABLE IF NOT EXISTS
100
+ Review
101
+ (
102
+ IDReviews INT UNSIGNED NOT NULL AUTO_INCREMENT,
103
+ GUIDReviews CHAR(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
104
+ CreateDate DATETIME,
105
+ CreatingIDUser INT NOT NULL DEFAULT '0',
106
+ UpdateDate DATETIME,
107
+ UpdatingIDUser INT NOT NULL DEFAULT '0',
108
+ Deleted TINYINT NOT NULL DEFAULT '0',
109
+ DeleteDate DATETIME,
110
+ DeletingIDUser INT NOT NULL DEFAULT '0',
111
+ Text TEXT,
112
+ Rating INT NOT NULL DEFAULT '0',
113
+ IDBook INT NOT NULL DEFAULT '0',
114
+
115
+ PRIMARY KEY (IDReviews)
116
+ ) DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
@@ -0,0 +1 @@
1
+ This is where the MYSQL Create statement for the data model will generate.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Steven Velozo
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,86 @@
1
+ # Retold Data Service
2
+
3
+ Provide a consistent back or mid-tier data service.
4
+
5
+ ## Basic Usage
6
+
7
+ This library can run in any of three types of configurations:
8
+
9
+ * Configuration Driven
10
+ * Managed via Backplane Endpoints
11
+ * Hybrid (configuration plus endpoint)
12
+
13
+ ## Configuration-Driven Mode
14
+
15
+ The service looks for a `Retold` stanza in the configuration. For instance:
16
+
17
+ ```
18
+ {
19
+ ...
20
+ "Retold": {
21
+ "MeadowModel": "./meadow-schema-extended.json"
22
+ },
23
+ ...
24
+ }
25
+ ```
26
+
27
+ The three auto-configured parameters are:
28
+
29
+ * `MeadowModel`
30
+ * `MeadowEntitySchema`
31
+ * `StrictureDDL`
32
+
33
+ The service tries to do the right thing with strings versus arrays -- you can pass an array of models or a single. Likewise, you can pass an array of schemas or a single. It also supports grabbing all files of a single folder with the `/*` suffix, and recursive with the `/**` suffix. When used in this fashion, only `.json` files are loaded from the folder(s).
34
+
35
+ ## Supplied Backplane Endpoints
36
+
37
+ ### Load a Meadow Model
38
+
39
+ ```
40
+ POST /BackPlane/${VERSION}/Load/MeadowModel
41
+ ```
42
+
43
+ This endpoint accepts a JSON blob of an entire Meadow model. It loads the entire model as a set of endpoints, and connects each endpoint to the default provider.
44
+
45
+ ### Load a Meadow Entity Schema
46
+
47
+ ```
48
+ POST /BackPlane/${VERSION}/Load/MeadowSchema
49
+ ```
50
+
51
+ This endpoint accepts a JSON blob of an entire Meadow model. It loads the entire model as a set of endpoints, and connects each endpoint to the default provider.
52
+
53
+ ### Load a DDL and Compile it
54
+ ```
55
+ POST /BackPlane/${VERSION}/Load/StrictureDDL
56
+ ```
57
+
58
+ This endpoint loads a Stricture DDL, compiles it into the composite Entity schemas and loads them as endpoints.
59
+
60
+
61
+ ### Access Primary Service Model and Composite Models
62
+ ```
63
+ GET /BackPlane/${VERSION}/Model/Primary/
64
+ ```
65
+
66
+ GET /BackPlane/${VERSION}/Model/Composite/
67
+
68
+ ### Merge in Settings (to push default configurations for providers)
69
+ ```
70
+ POST /BackPlane/${VERSION}/Settings
71
+ ```
72
+
73
+ ### Set the Default Provider
74
+ ```
75
+ GET /BackPlane/${VERSION}/SetProvider/:ProviderName
76
+ ```
77
+
78
+ ### Set an Entity-Specific Provider
79
+ ```
80
+ GET /BackPlane/${VERSION}/SetProvider/:ProviderName/:Entity
81
+ ```
82
+
83
+
84
+
85
+
86
+
@@ -0,0 +1,51 @@
1
+ {
2
+ "Product": "RetoldDataService-Harness",
3
+ "ProductVersion": "1.0.0",
4
+
5
+ "UUID":
6
+ {
7
+ "DataCenter": 0,
8
+ "Worker": 0
9
+ },
10
+ "LogStreams":
11
+ [
12
+ {
13
+ "level": "trace",
14
+ "streamtype": "prettystream"
15
+ }
16
+ ],
17
+
18
+ "APIServerPort": 8088,
19
+
20
+ "Retold":
21
+ {
22
+ "AutoLoadModel": true,
23
+ "AutoConnectProvider": true,
24
+ "AutoMapBackplaneEndpoints": true,
25
+ "AutoMapEntityEndpoints": true,
26
+ "AutoStartAPIServer": true,
27
+
28
+ "AllowDatabaseCreate": false,
29
+ "AllowTableCreate": false,
30
+ "AllowTableUpdate": false,
31
+
32
+ "ServeDebugEnvironment": true,
33
+
34
+ "DefaultMeadowDataProvider": "MySQL",
35
+
36
+ "MeadowModel": "/home/coder/retold-dev/library/debug/model/Model.json",
37
+ "MeadowEntitySchemaPrefix": "/home/coder/retold-dev/library/debug/model/meadow/Model-MeadowSchema-",
38
+
39
+ "StrictureDDL": false
40
+ },
41
+
42
+ "MySQL":
43
+ {
44
+ "Server": "127.0.0.1",
45
+ "Port": 3306,
46
+ "User": "root",
47
+ "Password": "123456789",
48
+ "Database": "bookstore",
49
+ "ConnectionPoolLimit": 20
50
+ }
51
+ }
@@ -0,0 +1,3 @@
1
+ const libRetoldDataService = require('../source/Retold-Data-Service.js');
2
+
3
+ const _DataService = new libRetoldDataService(require('./Harness-Configuration.json'));
@@ -0,0 +1,22 @@
1
+ #! /bin/bash
2
+ echo "Example - Database Build Script"
3
+ echo "Contact: Steven Velozo <steven@velozo.com>"
4
+ echo ""
5
+ echo "---"
6
+ echo ""
7
+
8
+ echo "--> Generating JSON model from DDL (with the BookStore prefix)"
9
+ npx stricture -i ./ddl/Model.ddl -c Compile -f ./ -o Model
10
+
11
+ echo "--> Generating MySQL Create Statements"
12
+ npx stricture -i ./Model-Extended.json -c MySQL -f ./mysql/ -o "Model-CreateDatabase"
13
+
14
+ echo "--> Generating Meadow Schemas"
15
+ npx stricture -i ./Model-Extended.json -c Meadow -f ./meadow/ -o "Model-MeadowSchema-"
16
+
17
+ echo "--> Generating Documentation"
18
+ npx stricture -i ./Model-Extended.json -c Documentation -g -f ./generated_documentation/
19
+ npx stricture -i ./Model-Extended.json -c Relationships -g -f ./generated_documentation/diagrams/
20
+ npx stricture -i ./Model-Extended.json -c RelationshipsFull -g -f ./generated_documentation/diagrams/full/
21
+
22
+ echo "--> Database Code generation and compilation complete!"