mandarina-server 1.7.0 → 2.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 (115) hide show
  1. package/build/Table/Table.js +5 -0
  2. package/build/Table/Table.js.map +1 -1
  3. package/build/cli/gen-files/prisma2.d.ts +1 -0
  4. package/build/cli/gen-files/prisma2.js +284 -0
  5. package/build/cli/gen-files/prisma2.js.map +1 -0
  6. package/build/cli/index.js +5 -0
  7. package/build/cli/index.js.map +1 -1
  8. package/build/cli/utils.d.ts +4 -0
  9. package/build/cli/utils.js.map +1 -1
  10. package/package.json +1 -1
  11. package/src/Table/Table.ts +8 -0
  12. package/src/cli/gen-files/prisma2.ts +277 -0
  13. package/src/cli/index.ts +6 -0
  14. package/src/cli/utils.js +5 -2
  15. package/src/cli/utils.js.map +1 -1
  16. package/src/cli/utils.ts +7 -3
  17. package/tmp/client/components/Common/Cells/CellDateTime.js +22 -0
  18. package/tmp/client/components/Common/Cells/CellDateTime.js.map +1 -0
  19. package/tmp/client/components/Common/Cells/CellHtml.js +13 -0
  20. package/tmp/client/components/Common/Cells/CellHtml.js.map +1 -0
  21. package/tmp/client/components/Common/Cells/CellLinkTemplate.js +19 -0
  22. package/tmp/client/components/Common/Cells/CellLinkTemplate.js.map +1 -0
  23. package/tmp/client/components/Common/ConfigurationContext.js +25 -0
  24. package/tmp/client/components/Common/ConfigurationContext.js.map +1 -0
  25. package/tmp/client/components/Common/My/MySchema.js +27 -0
  26. package/tmp/client/components/Common/My/MySchema.js.map +1 -0
  27. package/tmp/client/components/Common/uniforms/AddressField/AddressField.js +139 -0
  28. package/tmp/client/components/Common/uniforms/AddressField/AddressField.js.map +1 -0
  29. package/tmp/client/components/Common/uniforms/AddressField/utils.js +99 -0
  30. package/tmp/client/components/Common/uniforms/AddressField/utils.js.map +1 -0
  31. package/tmp/client/components/Common/uniforms/DateField.js +31 -0
  32. package/tmp/client/components/Common/uniforms/DateField.js.map +1 -0
  33. package/tmp/client/components/Common/uniforms/DateTimeField.js +44 -0
  34. package/tmp/client/components/Common/uniforms/DateTimeField.js.map +1 -0
  35. package/tmp/client/components/Common/uniforms/RichTextField/RichTextField.js +115 -0
  36. package/tmp/client/components/Common/uniforms/RichTextField/RichTextField.js.map +1 -0
  37. package/tmp/client/components/Common/uniforms/RichTextField/addMention.js +17 -0
  38. package/tmp/client/components/Common/uniforms/RichTextField/addMention.js.map +1 -0
  39. package/tmp/client/components/Common/uniforms/SocialField.js +37 -0
  40. package/tmp/client/components/Common/uniforms/SocialField.js.map +1 -0
  41. package/tmp/client/components/Common/uniforms/TableIdField.js +27 -0
  42. package/tmp/client/components/Common/uniforms/TableIdField.js.map +1 -0
  43. package/tmp/client/components/Location/Marker.js +24 -0
  44. package/tmp/client/components/Location/Marker.js.map +1 -0
  45. package/tmp/lib/actions/AddReferralSchema.js +27 -0
  46. package/tmp/lib/actions/AddReferralSchema.js.map +1 -0
  47. package/tmp/lib/actions/AutoMatchSchema.js +12 -0
  48. package/tmp/lib/actions/AutoMatchSchema.js.map +1 -0
  49. package/tmp/lib/actions/CampaignRefresh.js +12 -0
  50. package/tmp/lib/actions/CampaignRefresh.js.map +1 -0
  51. package/tmp/lib/actions/ChangeFamilyVisit.js +45 -0
  52. package/tmp/lib/actions/ChangeFamilyVisit.js.map +1 -0
  53. package/tmp/lib/actions/ContactFormSchema.js +38 -0
  54. package/tmp/lib/actions/ContactFormSchema.js.map +1 -0
  55. package/tmp/lib/actions/DeleteSchema.js +12 -0
  56. package/tmp/lib/actions/DeleteSchema.js.map +1 -0
  57. package/tmp/lib/actions/GroupFamilyStatus.js +43 -0
  58. package/tmp/lib/actions/GroupFamilyStatus.js.map +1 -0
  59. package/tmp/lib/actions/NotificationPopUpSchema.js +30 -0
  60. package/tmp/lib/actions/NotificationPopUpSchema.js.map +1 -0
  61. package/tmp/lib/actions/OneId.js +12 -0
  62. package/tmp/lib/actions/OneId.js.map +1 -0
  63. package/tmp/lib/actions/PaySchema.js +32 -0
  64. package/tmp/lib/actions/PaySchema.js.map +1 -0
  65. package/tmp/lib/actions/PaymentNotificationSchema.js +33 -0
  66. package/tmp/lib/actions/PaymentNotificationSchema.js.map +1 -0
  67. package/tmp/lib/actions/PlacementGuestFamilySchema.js +10 -0
  68. package/tmp/lib/actions/PlacementGuestFamilySchema.js.map +1 -0
  69. package/tmp/lib/actions/PlacementGuestMoveSchema.js +14 -0
  70. package/tmp/lib/actions/PlacementGuestMoveSchema.js.map +1 -0
  71. package/tmp/lib/actions/PlacementGuestStatusSchema.js +8 -0
  72. package/tmp/lib/actions/PlacementGuestStatusSchema.js.map +1 -0
  73. package/tmp/lib/actions/PlacementStatusSchema.js +33 -0
  74. package/tmp/lib/actions/PlacementStatusSchema.js.map +1 -0
  75. package/tmp/lib/actions/ReconfirmSchema.js +85 -0
  76. package/tmp/lib/actions/ReconfirmSchema.js.map +1 -0
  77. package/tmp/lib/actions/ReferralAddress.js +43 -0
  78. package/tmp/lib/actions/ReferralAddress.js.map +1 -0
  79. package/tmp/lib/actions/SendCommunicationSchema.js +26 -0
  80. package/tmp/lib/actions/SendCommunicationSchema.js.map +1 -0
  81. package/tmp/lib/actions/SendPreview.js +9 -0
  82. package/tmp/lib/actions/SendPreview.js.map +1 -0
  83. package/tmp/lib/actions/TranslationSchema.js +9 -0
  84. package/tmp/lib/actions/TranslationSchema.js.map +1 -0
  85. package/tmp/lib/actions/UploaderSchema.js +11 -0
  86. package/tmp/lib/actions/UploaderSchema.js.map +1 -0
  87. package/tmp/lib/actions/index.js +24 -0
  88. package/tmp/lib/actions/index.js.map +1 -0
  89. package/tmp/lib/constants.js +452 -0
  90. package/tmp/lib/constants.js.map +1 -0
  91. package/tmp/lib/forms/spans.js +12 -0
  92. package/tmp/lib/forms/spans.js.map +1 -0
  93. package/tmp/lib/schemas/Configuration/Locale.js +89 -0
  94. package/tmp/lib/schemas/Configuration/Locale.js.map +1 -0
  95. package/tmp/lib/schemas/Template.js +76 -0
  96. package/tmp/lib/schemas/Template.js.map +1 -0
  97. package/tmp/lib/schemas/utils.js +39 -0
  98. package/tmp/lib/schemas/utils.js.map +1 -0
  99. package/tmp/lib/utils.js +127 -0
  100. package/tmp/lib/utils.js.map +1 -0
  101. package/tmp/server/generated/prisma.js +52293 -0
  102. package/tmp/server/generated/prisma.js.map +1 -0
  103. package/src/Action/CustomAction.js +0 -108
  104. package/src/Action/CustomAction.js.map +0 -1
  105. package/src/Errors/TableInstanceNotFound.js +0 -28
  106. package/src/Errors/TableInstanceNotFound.js.map +0 -1
  107. package/src/Errors/UniqueActionError.js +0 -31
  108. package/src/Errors/UniqueActionError.js.map +0 -1
  109. package/src/Mandarina.js +0 -58
  110. package/src/Mandarina.js.map +0 -1
  111. package/src/Table/Table.js +0 -424
  112. package/src/Table/Table.js.map +0 -1
  113. package/src/Table/utils.js +0 -0
  114. package/src/index.js +0 -16
  115. package/src/index.js.map +0 -1
@@ -0,0 +1,277 @@
1
+ import {getConfig, loadSchemas} from "../utils";
2
+ import {createDir} from "./genFilesUtils";
3
+ import {Table} from "../..";
4
+ import {Schema} from "mandarina";
5
+ import {isRequired} from "mandarina/build/Schema/utils";
6
+ import path from "path";
7
+ import fs from "fs";
8
+ import {FieldDefinition} from "mandarina/build/Schema/Schema";
9
+
10
+ const prisma2Models: { [schemaName: string]: { [fieldName: string]: string } } = {}
11
+ const processed: { [schemaName: string]: { [schemaName: string]: { [fieldName: string]: true } } } = {}
12
+ const processedSubSchemas: string[] = []
13
+ export const genFile = () => {
14
+ const config = getConfig()
15
+ loadSchemas(config.dir)
16
+ createDir(config.dir.prisma2)
17
+ for (const schemaName in Table.instances) {
18
+ const schema = Schema.getInstance(schemaName)
19
+ getPrisma2Model(schema)
20
+ }
21
+ let prisma = `generator client {
22
+ provider = "prisma-client-js"
23
+ }
24
+
25
+ datasource db {
26
+ provider = "postgresql"
27
+ url = env("DATABASE_URL")
28
+ }
29
+ `
30
+ Object.keys(prisma2Models).forEach(modelName => {
31
+ const model = prisma2Models[modelName]
32
+ prisma += `model ${modelName} {\n `
33
+ Object.keys(model).forEach(fieldName => {
34
+ const field = model[fieldName]
35
+ prisma += `\t${fieldName} ${field}\n`
36
+ })
37
+ prisma += `}\n\n`
38
+ })
39
+ const prismaDir = path.join(process.cwd(), config.dir.prisma2,)
40
+ const fileAbs = `${prismaDir}/schema.prisma`;
41
+ fs.writeFileSync(fileAbs, prisma);
42
+
43
+ }
44
+
45
+ const getPrisma2Model = (schema: Schema) => {
46
+ prisma2Models[schema.name] = prisma2Models[schema.name] || {}
47
+ for (const key of schema.keys) {
48
+ if (key === 'id') {
49
+ c++
50
+ prisma2Models[schema.name].id = `String @id @default(cuid()) //`;
51
+ } else {
52
+ const fieldDefinition = schema.getPathDefinition(key)
53
+ let required = fieldDefinition.isArray || isRequired(fieldDefinition)
54
+ const fieldType = getGraphQLType(fieldDefinition, key, required);
55
+ const unique = fieldDefinition.table.unique ? '@unique' : ''
56
+ let createdAt = '', updatedAt = ''
57
+ let defaultValue = ''
58
+ if (fieldDefinition.table.default !== undefined) {
59
+ const wrapper = (fieldDefinition.type === String) ? '"' : ''
60
+ defaultValue = `@default(${wrapper}${fieldDefinition.table.default}${wrapper})`
61
+ }
62
+ if ((fieldDefinition.table.createdAt === true || (fieldDefinition.table.createdAt !== false && key === 'createdAt'))) {
63
+ createdAt = `@default(now())`
64
+ }
65
+ if ((fieldDefinition.table.updatedAt === true || (fieldDefinition.table.updatedAt !== false && key === 'updatedAt'))) {
66
+ createdAt = `@default(now())`
67
+ }
68
+
69
+ if (fieldDefinition.table.default !== undefined) {
70
+ const wrapper = (fieldDefinition.type === String) ? '"' : ''
71
+ defaultValue = `@default(${wrapper}${fieldDefinition.table.default}${wrapper})`
72
+ }
73
+ if (fieldDefinition.isTable) {
74
+ getPrismaModelAModelB(schema, fieldDefinition)
75
+ if (!processedSubSchemas.includes(fieldDefinition.type) ) {
76
+ processedSubSchemas.push(fieldDefinition.type)
77
+ getPrisma2Model(Schema.getInstance(fieldDefinition.type))
78
+ }
79
+ }else{
80
+ prisma2Models[schema.name][key] = `${fieldType} ${unique} ${createdAt} ${updatedAt} ${defaultValue}`;
81
+
82
+ }
83
+ }
84
+ }// end for
85
+ }
86
+
87
+ let c=0
88
+ const getPrismaModelAModelB = (schema: Schema, fieldDefinition: FieldDefinition) => {
89
+ if (!fieldDefinition.isTable) {
90
+ throw new Error(`Relation must be an array`)
91
+ }
92
+ processed[schema.name] = processed[schema.name] || {}
93
+ processed[schema.name][fieldDefinition.type] = processed[schema.name][fieldDefinition.type] || {}
94
+ prisma2Models[fieldDefinition.type] = prisma2Models[fieldDefinition.type] || {}
95
+ prisma2Models[schema.name] = prisma2Models[schema.name] || {}
96
+ c++
97
+ const childSchema = Schema.getInstance(fieldDefinition.type)
98
+ const children = childSchema.keys.filter(fieldName => childSchema.getPathDefinition(fieldName).type === schema.name)
99
+
100
+ if (!processed[schema.name][fieldDefinition.type][fieldDefinition.key]) {
101
+ if (schema.name === fieldDefinition.type) {
102
+ if (fieldDefinition.isArray) {
103
+ throw new Error(`DO THIS`)
104
+ }else{
105
+ if (fieldDefinition.isArray) {
106
+ throw new Error(`DO THIS`)
107
+ }else{
108
+ const child = schema.getPathDefinition(fieldDefinition.key)
109
+
110
+ if (getRelation(fieldDefinition)!==getRelation(child)){
111
+ throw new Error(`Relation must be the same`)
112
+ }
113
+ const relation = getRelationName(fieldDefinition, child) || `${schema.name}To${schema.name}`
114
+ const fields=`p2${fieldDefinition.key}Id`
115
+ prisma2Models[schema.name][fieldDefinition.key] = `${schema.name}? ${buildRelation(relation, fields)} //SELF: 1 - 1 ((${c}))`;
116
+ prisma2Models[schema.name][fields] = `String? @unique //SELF: 1 - 1 ((${c}))`;
117
+ prisma2Models[schema.name][`p2Predecessor${schema.name}`] = `${schema.name}? ${buildRelation(relation)}//SELF: 1 - 1 ((${c}))`;
118
+
119
+ }
120
+ }
121
+ } else {
122
+ if (children.length === 0) {
123
+ const relation = getRelationName(fieldDefinition)
124
+ if (fieldDefinition.isArray) {
125
+ //relation many to one
126
+ prisma2Models[schema.name][fieldDefinition.key] = `${fieldDefinition.type}[] ${buildRelation(relation)}//CREATE: n - 1 ((${c}))`;
127
+ const fields=`p2${relation}${schema.name}Id`
128
+ prisma2Models[fieldDefinition.type][`p2${relation}${schema.name}`] = `${schema.name}? ${buildRelation(relation, fields)} //=>CREATE: n - 1 ((${c}))`;
129
+ prisma2Models[fieldDefinition.type][fields] = `String? //=>CREATE: 1 - n ((${c}))`;
130
+ } else {
131
+ if (!fieldDefinition.table?.relation?.type) {
132
+ throw new Error(`Relation must be defined ONE_TO_ONE || ONE_TO_MANY- ${schema.name}.${fieldDefinition.key}`)
133
+ }
134
+ if (fieldDefinition.table?.relation?.type === 'ONE_TO_ONE') {
135
+ const fields=`p2${relation}${schema.name}Id`
136
+ prisma2Models[schema.name][fieldDefinition.key] = `${fieldDefinition.type}? ${buildRelation(relation)}//INLINE : 1 - 1 ((${c}))`;
137
+ prisma2Models[fieldDefinition.type][`p2${relation}${schema.name}`] = `${schema.name}? ${buildRelation(relation,fields)} //=>INLINE: 1 - 1 ((${c}))`;
138
+ prisma2Models[fieldDefinition.type][fields] = `String? @unique //=>INLINE: 1 - 1 ((${c}))`;
139
+ }else if (fieldDefinition.table?.relation?.type === 'ONE_TO_MANY') {
140
+ const fields=`p2${relation}${fieldDefinition.type}Id`
141
+ prisma2Models[schema.name][fieldDefinition.key] = `${fieldDefinition.type}? ${buildRelation(relation,fields)}//CREATE: 1 - n ((${c}))`;
142
+ prisma2Models[schema.name][fields] = `String? //=>CREATE: 1 - n ((${c}))`;
143
+ prisma2Models[fieldDefinition.type][`p2${relation}${schema.name}`] = `${schema.name}[] ${buildRelation(relation)} //=>CREATE: 1 - n ((${c}))`;
144
+ }else{
145
+ throw new Error(`many to one does no exists for create - ${schema.name}.${fieldDefinition.key}`)
146
+ }
147
+ }
148
+ } else if (children.length >= 1) {
149
+ let child: FieldDefinition
150
+ if (children.length === 1) {
151
+ child = childSchema.getPathDefinition(children[0])
152
+ } else {
153
+ const childName = children.find(childName => getRelation(childSchema.getPathDefinition(childName)) === getRelation(fieldDefinition))
154
+ if (!childName) {
155
+ throw new Error(`Relation not found111`)
156
+ }
157
+ child = childSchema.getPathDefinition(childName)
158
+ }
159
+ if (!child) {
160
+ throw new Error(`Relation not found222`)
161
+ }
162
+
163
+ if (child.isArray) { // means that the parent is the array (because fieldDefinition.isArray is array then child is the gran children which is really the parent)
164
+ const relation = getRelationName(fieldDefinition,child)
165
+ if (fieldDefinition.isArray) {
166
+ //relation many to many
167
+ prisma2Models[schema.name][fieldDefinition.key] = `${fieldDefinition.type}[] ${buildRelation(relation)} //n - n ((${c}))`;
168
+ prisma2Models[fieldDefinition.type][child.key] = `${child.type}[] ${buildRelation(relation)} //=>n - n ((${c}))`;
169
+ } else {
170
+ //relation one to many
171
+ const relation = getRelationName(fieldDefinition,child)
172
+ const fields=`p2${relation}${fieldDefinition.type}Id`
173
+ prisma2Models[schema.name][fieldDefinition.key] = `${fieldDefinition.type}? ${buildRelation(relation, fields)} //n - 1 ((${c}))`;
174
+ prisma2Models[schema.name][fields] = `String? //n - 1 ((${c}))`;
175
+ prisma2Models[fieldDefinition.type][child.key] = `${schema.name} [] ${buildRelation(relation)}//=>n - 1 ((${c}))`;
176
+
177
+ }
178
+ } else {
179
+ const relation = getRelationName(fieldDefinition,child)
180
+ if (fieldDefinition.isArray) {
181
+ //relation many to many
182
+ const fields=`p2${relation}${schema.name}Id`
183
+ prisma2Models[schema.name][fieldDefinition.key] = `${fieldDefinition.type}[] ${buildRelation(relation)}//1 - n ((${c}))`;
184
+ prisma2Models[fieldDefinition.type][child.key] = `${schema.name}? ${buildRelation(relation,fields)} //=>n - 1 ((${c}))`;
185
+ prisma2Models[fieldDefinition.type][fields] = `String? //=>n - 1 ((${c}))`;
186
+
187
+ } else {
188
+ if (!fieldDefinition.table?.relation?.owner && !child.table?.relation?.owner) {
189
+ throw new Error(`Relation must be defined a owner - ${schema.name}.${fieldDefinition.key}`)
190
+ }
191
+ if (fieldDefinition.table?.relation?.owner && child.table?.relation?.owner) {
192
+ throw new Error(`Relation booth can not be a owner - ${schema.name}.${fieldDefinition.key}`)
193
+ }
194
+ if (fieldDefinition.table?.relation?.owner) {
195
+ const fields = `p2${relation}${schema.name}Id`
196
+ prisma2Models[schema.name][fieldDefinition.key] = `${fieldDefinition.type}? ${buildRelation(relation)}//OWNER 1 - 1 ((${c}))`;
197
+ prisma2Models[fieldDefinition.type][child.key] = `${schema.name}? ${buildRelation(relation, fields)} //OWNER =>1 - 1 ((${c}))`;
198
+ prisma2Models[fieldDefinition.type][fields] = `String? @unique //OWNER =>1 - 1 ((${c}))`;
199
+ }else{
200
+ const fields = `p2${relation}${fieldDefinition.type}Id`
201
+ prisma2Models[schema.name][fieldDefinition.key] = `${fieldDefinition.type}? ${buildRelation(relation, fields)}//OWNED 1 - 1 ((${c}))`;
202
+ prisma2Models[schema.name][fields] = `String? @unique ${buildRelation(relation)} //OWNED =>1 - 1 ((${c}))`;
203
+ prisma2Models[fieldDefinition.type][child.key] = `${child.type}? //OWNED =>1 - 1 ((${c}))`;
204
+ }
205
+ }
206
+ }
207
+ processed[fieldDefinition.type] = processed[fieldDefinition.type] || {}
208
+ processed[fieldDefinition.type][schema.name] = processed[fieldDefinition.type][schema.name] || {}
209
+ processed[fieldDefinition.type][schema.name][child.key] = true
210
+ } else {
211
+ throw new Error(`Relation must be have name`)
212
+ }
213
+ }
214
+ }
215
+ }
216
+
217
+
218
+
219
+ function getRelation(fieldDefinition: FieldDefinition) {
220
+ if (!fieldDefinition.table.relation) return ''
221
+ if (typeof fieldDefinition.table.relation === 'string') {
222
+ return fieldDefinition.table.relation
223
+ }
224
+ return fieldDefinition.table.relation.name || ''
225
+ }
226
+
227
+ const getGraphQLType = (def: FieldDefinition, key: string, required: boolean): string => {
228
+ const optional = !def.isArray && !required ? '?' : ''
229
+ switch (true) {
230
+ case (!def.isArray && !def.isTable && def.type.name === 'String'):
231
+ return `String${optional}`;
232
+
233
+ case (!def.isArray && !def.isTable && def.type.name === 'Boolean'):
234
+ return `Boolean${optional}`;
235
+
236
+ case (!def.isArray && !def.isTable && def.type.name === 'Number'):
237
+ return `Float${optional}`;
238
+
239
+ case (!def.isArray && !def.isTable && def.type.name === 'Integer'):
240
+ return `Int${optional}`;
241
+ case (!def.isArray && !def.isTable && def.type.name === 'Date'):
242
+ return `DateTime${optional}`;
243
+ case (def.isArray && def.isTable):
244
+ return `${def.type}[]`
245
+ case (def.isArray && !def.isTable):
246
+ const scalarName = getGraphQLType({...def, isArray: false}, key, def.isArray && required)
247
+ return `${scalarName}[]`
248
+ default:
249
+ return def.type + optional;
250
+ }
251
+ }
252
+
253
+ function buildRelation(relation: string, fields?: string){
254
+ if (!relation && !fields) return ''
255
+ if (!relation) return `@relation(fields: [${fields}], references: [id])`
256
+ if (fields){
257
+ return `@relation("${relation}", fields: [${fields}], references: [id])`
258
+ }
259
+ return `@relation("${relation}")`
260
+
261
+ }
262
+
263
+ const getRelationName = (def1: FieldDefinition, def2?:FieldDefinition) => {
264
+ const n1=getRelation(def1)
265
+ if (!def2){
266
+ if (!n1){
267
+ return ''
268
+ }
269
+ return n1
270
+ }
271
+ const n2=getRelation(def2)
272
+ if (n1!==n2){
273
+ throw new Error(`Relation name must be equal ${n1} ${n2}`)
274
+ }
275
+ if (!n1) return ""
276
+ return n1
277
+ }
package/src/cli/index.ts CHANGED
@@ -3,6 +3,9 @@ import {createProject} from "./createProject";
3
3
  import {watch} from "./watch";
4
4
  import {deploy} from "./deploy";
5
5
  import {genFile} from "./gen-files/genFiles";
6
+ import {genFile as genPrisma2} from "./gen-files/prisma2";
7
+
8
+ console.log('cesar')
6
9
 
7
10
  //@ts-ignore
8
11
  const [nodeDir, dir, cmd, ...args] = process.argv
@@ -15,6 +18,9 @@ switch (cmd) {
15
18
  case 'gen-files':
16
19
  genFile()
17
20
  break;
21
+ case 'gen-prisma2':
22
+ genPrisma2()
23
+ break;
18
24
  case 'deploy':
19
25
  deploy()
20
26
  break;
package/src/cli/utils.js CHANGED
@@ -3,9 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.loadSchemas = exports.getConfig = void 0;
6
7
  var fs_1 = __importDefault(require("fs"));
7
8
  var path_1 = __importDefault(require("path"));
8
- exports.getConfig = function () {
9
+ var getConfig = function () {
9
10
  var rawData;
10
11
  try {
11
12
  rawData = fs_1.default.readFileSync(path_1.default.join(process.cwd(), 'mandarina.json'), 'utf8');
@@ -34,6 +35,7 @@ exports.getConfig = function () {
34
35
  }
35
36
  return (config);
36
37
  };
38
+ exports.getConfig = getConfig;
37
39
  var walkSync = function (dir, fileList) {
38
40
  var files = fs_1.default.readdirSync(dir);
39
41
  fileList = fileList || [];
@@ -49,7 +51,7 @@ var walkSync = function (dir, fileList) {
49
51
  });
50
52
  return fileList;
51
53
  };
52
- exports.loadSchemas = function (dir) {
54
+ var loadSchemas = function (dir) {
53
55
  var tables = [];
54
56
  var schemas = [];
55
57
  var actions = [];
@@ -88,4 +90,5 @@ exports.loadSchemas = function (dir) {
88
90
  }
89
91
  });
90
92
  };
93
+ exports.loadSchemas = loadSchemas;
91
94
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
package/src/cli/utils.ts CHANGED
@@ -46,8 +46,11 @@ const walkSync = function (dir: string, fileList: string[]) {
46
46
  };
47
47
 
48
48
  export interface ConfigInterface {
49
- prisma:{
50
- port:string,
49
+ database: {
50
+ url: string,
51
+ }
52
+ prisma: {
53
+ port: string,
51
54
  host: string,
52
55
  database?: string,
53
56
  stage?: string,
@@ -58,7 +61,7 @@ export interface ConfigInterface {
58
61
  }
59
62
  secret?: string
60
63
  customSettings: {
61
- [props:string]: any
64
+ [props: string]: any
62
65
  }
63
66
  }
64
67
 
@@ -68,6 +71,7 @@ export interface ConfigDirInterface {
68
71
  actions?: string[]
69
72
  generated: string
70
73
  prisma: string
74
+ prisma2: string
71
75
  }
72
76
 
73
77
  export const loadSchemas = (dir: ConfigDirInterface) => {
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const utils_1 = require("mandarina/build/Schema/utils");
7
+ const react_1 = __importDefault(require("react"));
8
+ const utils_2 = require("../../../../lib/utils");
9
+ const ConfigurationContext_1 = require("../ConfigurationContext");
10
+ // @ts-ignore //TODO: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/27805
11
+ const CellDateTime = ConfigurationContext_1.withConfiguration(({ columnIndex, rowIndex, data, field, configuration }) => {
12
+ const dates = utils_1.get(data[rowIndex], field.split('.'));
13
+ return dates.map((d, i) => {
14
+ const [h, t] = utils_2.showDateTime(dates, configuration.locale.dateFormat).split(', ');
15
+ return react_1.default.createElement("span", { key: i },
16
+ h,
17
+ react_1.default.createElement("br", null),
18
+ t);
19
+ });
20
+ });
21
+ exports.default = CellDateTime;
22
+ //# sourceMappingURL=CellDateTime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellDateTime.js","sourceRoot":"","sources":["../../../../../../../app/client/components/Common/Cells/CellDateTime.tsx"],"names":[],"mappings":";;;;;AAAA,wDAAiD;AAEjD,kDAA0B;AAC1B,iDAAmD;AACnD,kEAA6E;AAG7E,qFAAqF;AAErF,MAAM,YAAY,GAAG,wCAAiB,CAAC,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAyC,EAAE,EAAE;IACnI,MAAM,KAAK,GAAG,WAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACnD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,GAAC,oBAAY,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5E,OAAO,wCAAM,GAAG,EAAE,CAAC;YAAG,CAAC;YAAC,yCAAK;YAAC,CAAC,CAAQ,CAAC;IAC5C,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA;AAEF,kBAAe,YAAY,CAAA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const utils_1 = require("mandarina/build/Schema/utils");
8
+ const CellHtml = ({ data, rowIndex, field }) => {
9
+ const res = utils_1.get(data[rowIndex], field.split('.'));
10
+ return react_1.default.createElement(react_1.default.Fragment, null, res.map(__html => react_1.default.createElement("div", { dangerouslySetInnerHTML: { __html } })));
11
+ };
12
+ exports.default = CellHtml;
13
+ //# sourceMappingURL=CellHtml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellHtml.js","sourceRoot":"","sources":["../../../../../../../app/client/components/Common/Cells/CellHtml.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,wDAAiD;AAGjD,MAAM,QAAQ,GAAG,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAqB,EAAE,EAAE;IAC7D,MAAM,GAAG,GAAG,WAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACjD,OAAO,8DAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,uCAAK,uBAAuB,EAAE,EAAC,MAAM,EAAC,GAAG,CAAC,CAAI,CAAA;AAC9E,CAAC,CAAA;AAED,kBAAe,QAAQ,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const react_router_dom_1 = require("react-router-dom");
8
+ const CellLinkTemplate = ({ location, rowIndex, data, }) => {
9
+ const type = data[rowIndex].type;
10
+ const id = data[rowIndex].id;
11
+ const description = data[rowIndex].description;
12
+ if (!id)
13
+ return null;
14
+ const event = location.pathname.indexOf('event') > 0 ? 'event/' : '';
15
+ const url = `/admin/${type.toLowerCase()}/templates/${event}update/${id}`;
16
+ return react_1.default.createElement(react_router_dom_1.Link, { to: url, "data-id": rowIndex }, description);
17
+ };
18
+ exports.default = react_router_dom_1.withRouter(CellLinkTemplate);
19
+ //# sourceMappingURL=CellLinkTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellLinkTemplate.js","sourceRoot":"","sources":["../../../../../../../app/client/components/Common/Cells/CellLinkTemplate.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,uDAAuE;AAGtE,MAAM,gBAAgB,GAAG,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAA4C,EAAE,EAAE;IAChG,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA;IAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAA;IAC9C,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAA;IACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IACpE,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC,WAAW,EAAE,cAAc,KAAK,UAAU,EAAE,EAAE,CAAA;IACzE,OAAO,8BAAC,uBAAI,IAAC,EAAE,EAAE,GAAG,aAAW,QAAQ,IAAG,WAAW,CAAQ,CAAA;AAChE,CAAC,CAAA;AAEF,kBAAe,6BAAU,CAAC,gBAAgB,CAAC,CAAA"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ exports.ConfigurationContext = react_1.default.createContext({
8
+ locale: {
9
+ dateFormat: 'DD/MM/YYYY', currencySymbol: '$', country: 'AU', timeZone: "UTC+10:00"
10
+ },
11
+ settings: {
12
+ sandbox: true,
13
+ childCard: true,
14
+ childCardFamily: true,
15
+ reviews: true,
16
+ }
17
+ });
18
+ exports.ConfigurationProvider = exports.ConfigurationContext.Provider;
19
+ exports.ConfigurationConsumer = exports.ConfigurationContext.Consumer;
20
+ function withConfiguration(WrappedComponent) {
21
+ return (props) => (react_1.default.createElement(exports.ConfigurationConsumer, null, (configuration) => react_1.default.createElement(WrappedComponent, Object.assign({ configuration: configuration }, props))));
22
+ }
23
+ exports.withConfiguration = withConfiguration;
24
+ exports.default = exports.ConfigurationContext;
25
+ //# sourceMappingURL=ConfigurationContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurationContext.js","sourceRoot":"","sources":["../../../../../../app/client/components/Common/ConfigurationContext.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0C;AAG7B,QAAA,oBAAoB,GAAG,eAAK,CAAC,aAAa,CAAC;IACpD,MAAM,EAAE;QACJ,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW;KACtF;IACD,QAAQ,EAAE;QACN,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE,IAAI;KAChB;CACJ,CAAC,CAAC;AAGU,QAAA,qBAAqB,GAAG,4BAAoB,CAAC,QAAQ,CAAA;AACrD,QAAA,qBAAqB,GAAG,4BAAoB,CAAC,QAAQ,CAAA;AASlE,SAAgB,iBAAiB,CAAI,gBAAkD;IACnF,OAAO,CAAC,KAAQ,EAAE,EAAE,CAAC,CACjB,8BAAC,6BAAqB,QACjB,CAAC,aAAa,EAAE,EAAE,CAAC,8BAAC,gBAAgB,kBAAC,aAAa,EAAE,aAAa,IAAM,KAAU,EAAI,CAClE,CAC3B,CAAA;AACL,CAAC;AAND,8CAMC;AAED,kBAAe,4BAAoB,CAAA"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mandarina_1 = require("mandarina");
4
+ class MySchema extends mandarina_1.Schema {
5
+ constructor(shape, options) {
6
+ if (shape.id) {
7
+ shape.id.label = 'Action';
8
+ shape.id.list = shape.id.list || {};
9
+ if (shape.id.list.noFilter !== false)
10
+ shape.id.list.noFilter = true;
11
+ if (shape.id.list.noSort !== false)
12
+ shape.id.list.noSort = true;
13
+ }
14
+ const permissions = Object.assign(Object.assign({}, permissionBuilder(options.name)), options.permissions);
15
+ super(shape, Object.assign(Object.assign({}, options), { permissions }));
16
+ }
17
+ }
18
+ exports.default = MySchema;
19
+ const permissionBuilder = (name) => {
20
+ return {
21
+ read: [`role_read${name}`, `role_update${name}`, `role_create${name}`, 'role_admin'],
22
+ update: [`role_update${name}`, `role_create${name}`, 'role_admin'],
23
+ create: [`role_create${name}`, 'role_admin'],
24
+ delete: [`role_delete${name}`, 'role_admin'],
25
+ };
26
+ };
27
+ //# sourceMappingURL=MySchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MySchema.js","sourceRoot":"","sources":["../../../../../../../app/client/components/Common/My/MySchema.ts"],"names":[],"mappings":";;AAAA,yCAAiC;AAGjC,MAAqB,QAAS,SAAQ,kBAAM;IAExC,YAAY,KAAsB,EAAE,OAAsB;QACtD,IAAI,KAAK,CAAC,EAAE,EAAE;YACV,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAA;YACzB,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAA;YACnC,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK;gBAAE,KAAK,CAAC,EAAE,CAAC,IAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;YACpE,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK;gBAAE,KAAK,CAAC,EAAE,CAAC,IAAK,CAAC,MAAM,GAAG,IAAI,CAAA;SACnE;QACD,MAAM,WAAW,mCACV,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,GAC/B,OAAO,CAAC,WAAW,CACzB,CAAA;QACD,KAAK,CAAC,KAAK,kCAAM,OAAO,KAAE,WAAW,IAAE,CAAC;IAC5C,CAAC;CACJ;AAfD,2BAeC;AAED,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;IACvC,OAAO;QACH,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,EAAE,cAAc,IAAI,EAAE,EAAE,cAAc,IAAI,EAAE,EAAE,YAAY,CAAC;QACpF,MAAM,EAAE,CAAC,cAAc,IAAI,EAAE,EAAE,cAAc,IAAI,EAAE,EAAE,YAAY,CAAC;QAClE,MAAM,EAAE,CAAC,cAAc,IAAI,EAAE,EAAE,YAAY,CAAC;QAC5C,MAAM,EAAE,CAAC,cAAc,IAAI,EAAE,EAAE,YAAY,CAAC;KAC/C,CAAA;AACL,CAAC,CAAA"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ var __importStar = (this && this.__importStar) || function (mod) {
3
+ if (mod && mod.__esModule) return mod;
4
+ var result = {};
5
+ if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
6
+ result["default"] = mod;
7
+ return result;
8
+ };
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ const react_1 = __importStar(require("react"));
14
+ const antd_1 = require("antd");
15
+ const utils_1 = require("./utils");
16
+ const connectField_1 = __importDefault(require("uniforms/connectField"));
17
+ const wrapField_1 = __importDefault(require("uniforms-antd/wrapField"));
18
+ const utils_2 = require("../../../../../lib/utils");
19
+ const Marker_1 = require("../../../Location/Marker");
20
+ const google_map_react_1 = __importDefault(require("google-map-react"));
21
+ const ConfigurationContext_1 = require("../../ConfigurationContext");
22
+ const Option = antd_1.AutoComplete.Option;
23
+ // components=country:fr
24
+ class AddressField extends react_1.Component {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.state = {
28
+ input: this.props.value && this.props.value.fullText || '',
29
+ loading: false,
30
+ suggestions: this.props.value && this.props.value.placeId ? [{
31
+ place_id: this.props.value.placeId,
32
+ description: this.props.value.fullText
33
+ }] : []
34
+ };
35
+ this.google = utils_2.isBrowser ? google : class Nothing {
36
+ };
37
+ // @ts-ignore
38
+ this.autocompleteService = utils_2.isBrowser ? new this.google.maps.places.AutocompleteService() : undefined;
39
+ this.autocompleteCallback = (suggestions, status) => {
40
+ this.setState({ loading: false });
41
+ // @ts-ignore
42
+ if (status !== this.google.maps.places.PlacesServiceStatus.OK) {
43
+ this.clearSuggestions();
44
+ return;
45
+ }
46
+ this.setState({ suggestions });
47
+ };
48
+ this.clearSuggestions = () => {
49
+ return this.setState({ suggestions: [] });
50
+ };
51
+ this.onSelect = (placeId) => {
52
+ const suggestion = this.state.suggestions.find(({ place_id }) => place_id === placeId);
53
+ if (!suggestion)
54
+ return;
55
+ const { onChange, full } = this.props;
56
+ if (full) {
57
+ utils_1.geocodeByPlaceId(placeId, suggestion.description)
58
+ .then(value => onChange(Object.assign({ fullText: suggestion.description }, value)));
59
+ }
60
+ else {
61
+ onChange({ fullText: suggestion.description, placeId });
62
+ }
63
+ };
64
+ this.onInput = (input) => {
65
+ //if is a placeId
66
+ if (!input)
67
+ input = '';
68
+ if (this.state.suggestions.findIndex(({ place_id }) => input === place_id) > -1)
69
+ return;
70
+ const loading = !!input.length;
71
+ const searchOptions = Object.assign({ componentRestrictions: { country: this.props.configuration.locale.country.toLowerCase() } }, this.props.searchOptions);
72
+ this.setState({ input, loading });
73
+ if (input.length) {
74
+ this.props.onChange({});
75
+ this.autocompleteService.getPlacePredictions(Object.assign(Object.assign({}, searchOptions), { input }), this.autocompleteCallback);
76
+ }
77
+ else {
78
+ this.props.onChange(null);
79
+ this.clearSuggestions();
80
+ }
81
+ };
82
+ this.options = () => {
83
+ return this.state.loading ?
84
+ [react_1.default.createElement(Option, { disabled: true, key: "loading", value: '' },
85
+ react_1.default.createElement(antd_1.Spin, null))]
86
+ : this.state.suggestions.map(({ place_id, description }) => (react_1.default.createElement(Option, { key: place_id, value: place_id }, description))).concat([
87
+ react_1.default.createElement(Option, { disabled: true, key: "powered_by_google_on_white", style: { textAlign: 'right' } },
88
+ react_1.default.createElement("img", { src: '/images/powered_by_google_on_white.png' })),
89
+ ]);
90
+ };
91
+ }
92
+ render() {
93
+ const placeId = this.props.value && this.props.value.placeId || '';
94
+ const value = this.props.value || {
95
+ unit: '',
96
+ number: '',
97
+ street: '',
98
+ suburb: '',
99
+ city: '',
100
+ state: '',
101
+ zip: '',
102
+ country: '',
103
+ lat: 0, lng: 0, fullText: ''
104
+ };
105
+ const { showMap, showDetail = true } = this.props;
106
+ const { unit, number, street, suburb, city, state, zip, country, lat, lng, fullText } = value;
107
+ return wrapField_1.default(this.props, react_1.default.createElement(react_1.default.Fragment, null,
108
+ react_1.default.createElement(antd_1.AutoComplete, Object.assign({ onChange: this.onInput, allowClear: true, onSelect: this.onSelect }, this.props.props, { defaultValue: placeId }), this.options()),
109
+ showDetail && placeId && react_1.default.createElement(react_1.default.Fragment, null,
110
+ react_1.default.createElement(Part, { title: 'Unit', value: unit }),
111
+ react_1.default.createElement(Part, { title: 'Number', value: number }),
112
+ react_1.default.createElement(Part, { title: 'Street', value: street }),
113
+ react_1.default.createElement(Part, { title: 'Suburb', value: suburb }),
114
+ react_1.default.createElement(Part, { title: 'City', value: city }),
115
+ react_1.default.createElement(Part, { title: 'State', value: state }),
116
+ react_1.default.createElement(Part, { title: 'Zip', value: zip }),
117
+ react_1.default.createElement(Part, { title: 'Country', value: country })),
118
+ showMap && placeId && lat && lng &&
119
+ react_1.default.createElement("div", { style: { height: '400px', width: '100%' } },
120
+ react_1.default.createElement(google_map_react_1.default, { bootstrapURLKeys: { key: 'AIzaSyDREfT4Rypm8BD2TqwK-8tAHvAQ46Nswbg' }, defaultCenter: { lat, lng }, defaultZoom: 17 },
121
+ react_1.default.createElement(Marker_1.FamilyMarker, { lat: lat, lng: lng, content: fullText })))));
122
+ }
123
+ }
124
+ exports.AddressField = AddressField;
125
+ AddressField.defaultProps = {
126
+ full: true
127
+ };
128
+ const Part = ({ title, value }) => react_1.default.createElement("div", { style: { display: 'inline-block', marginRight: '10px' } },
129
+ ' ',
130
+ react_1.default.createElement("b", null,
131
+ title,
132
+ ":"),
133
+ " ",
134
+ value ? value : react_1.default.createElement("span", { style: { color: 'red' } }, "_____"),
135
+ ". ",
136
+ ' ',
137
+ " ");
138
+ exports.default = connectField_1.default(ConfigurationContext_1.withConfiguration(AddressField));
139
+ //# sourceMappingURL=AddressField.js.map