Browse Source

jsongen

main
cobb 4 years ago
parent
commit
201e8fee9b
  1. 1
      Dockerfile
  2. BIN
      jsongen
  3. 1
      package.json
  4. 14
      src/components/HelloWorld.vue

1
Dockerfile

@ -9,6 +9,7 @@ RUN yarn build
FROM nginx:alpine
COPY ./docker/nginx/default.conf /etc/nginx/conf.d/my.conf
COPY ./jsongen /usr/bin/jsongen
COPY --from=builder /web/dist /usr/share/nginx/html
RUN cat /etc/nginx/nginx.conf
RUN cat /etc/nginx/conf.d/my.conf

BIN
jsongen

Binary file not shown.

1
package.json

@ -13,6 +13,7 @@
"core-js": "^3.6.5",
"element-ui": "^2.15.1",
"script-loader": "^0.7.2",
"shelljs": "^0.8.5",
"sql-ddl-to-json-schema": "^4.0.4",
"vue": "^2.6.11",
"vue-json-editor": "^1.4.3",

14
src/components/HelloWorld.vue

@ -51,6 +51,7 @@
<script>
import vueJsonEditor from "vue-json-editor";
import { Parser } from "sql-ddl-to-json-schema";
import exec from "shelljs";
export default {
name: "HelloWorld",
components: { vueJsonEditor },
@ -143,6 +144,15 @@ export default {
return kv[str];
}
const si = this.sqlinput;
console.log("si:", si);
var process = exec(`jsongen -i "${si}"`);
if (process.code !== 0) {
console.log("process code error: " + process.code);
}
const gorminfo = process.stdout;
console.log("gorminfo: ", gorminfo);
const requires = v.required;
const properties = v.properties;
const tableName = toCamelCase(v.title);
@ -155,7 +165,7 @@ export default {
primary = skey;
}
});
var primaryLower = lowerCase(primary)
var primaryLower = lowerCase(primary);
var enumUpdate = ``;
var enumdefine = ``;
var paramsheader = `
@ -311,7 +321,6 @@ export default {
var filtertail = `}}
return opt}`;
Object.keys(properties).forEach(function (key) {
const o = properties[key];
const skey = toCamelCase(key);
@ -440,6 +449,7 @@ export default {
}
});
this.output =
gorminfo +
enumdefine +
enumUpdate +
paramsheader +

Loading…
Cancel
Save