gg-express 1.0.73 → 1.0.75

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.
@@ -0,0 +1,72 @@
1
+
2
+ import axios from "axios"
3
+ import { staticRouteInterface_hotel } from "./staticRouteInterface_hotel"
4
+
5
+ export class GGApi {
6
+ constructor() {}
7
+
8
+ get<T extends keyof staticRouteInterface_hotel["get"]>(
9
+ url: T,
10
+ requireParams: staticRouteInterface_hotel["get"][T]["requireParams"]
11
+ ): Promise<staticRouteInterface_hotel["get"][T]["responseStructure"]> {
12
+ return new Promise((resolve, reject) => {
13
+ axios
14
+ .get(url as string, { params: { data: requireParams } })
15
+ .then((response) => {
16
+ resolve(response.data)
17
+ })
18
+ .catch((error) => {
19
+ reject(error)
20
+ })
21
+ })
22
+ }
23
+
24
+ post<T extends keyof staticRouteInterface_hotel["post"]>(
25
+ url: T,
26
+ requireParams: staticRouteInterface_hotel["post"][T]["requireParams"]
27
+ ): Promise<staticRouteInterface_hotel["post"][T]["responseStructure"]> {
28
+ return new Promise((resolve, reject) => {
29
+ axios
30
+ .post(url as string, { data: requireParams })
31
+ .then((response) => {
32
+ resolve(response.data)
33
+ })
34
+ .catch((error) => {
35
+ reject(error)
36
+ })
37
+ })
38
+ }
39
+ put<T extends keyof staticRouteInterface_hotel["put"]>(
40
+ url: T,
41
+ requireParams: staticRouteInterface_hotel["put"][T]["requireParams"]
42
+ ): Promise<staticRouteInterface_hotel["put"][T]["responseStructure"]> {
43
+ return new Promise((resolve, reject) => {
44
+ axios
45
+ .put(url as string, { data: requireParams })
46
+ .then((response) => {
47
+ resolve(response.data)
48
+ })
49
+ .catch((error) => {
50
+ reject(error)
51
+ })
52
+ })
53
+ }
54
+ delete<T extends keyof staticRouteInterface_hotel["delete"]>(
55
+ url: T,
56
+ requireParams: staticRouteInterface_hotel["delete"][T]["requireParams"]
57
+ ): Promise<staticRouteInterface_hotel["delete"][T]["responseStructure"]> {
58
+ return new Promise((resolve, reject) => {
59
+ axios
60
+ .delete(url as string, { data: { data: requireParams } })
61
+ .then((response) => {
62
+ resolve(response.data)
63
+ })
64
+ .catch((error) => {
65
+ reject(error)
66
+ })
67
+ })
68
+ }
69
+ }
70
+
71
+
72
+
package/dist/GGExpress.js CHANGED
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const chalk_1 = __importDefault(require("chalk"));
16
16
  const fs_1 = __importDefault(require("fs"));
17
17
  const path_1 = __importDefault(require("path"));
18
+ const helperFunction_1 = require("./helperFunction");
18
19
  const myExpressRouteList = [];
19
20
  class GGExpress {
20
21
  constructor(app, appName, outputPath) {
@@ -155,8 +156,9 @@ class GGExpress {
155
156
  tempURL = row.url;
156
157
  }
157
158
  else {
158
- tempURL = [tempURL];
159
+ tempURL = [row.url];
159
160
  }
161
+ tempURL = (0, helperFunction_1.removeDuplicates)(tempURL);
160
162
  return tempURL
161
163
  .map((url) => {
162
164
  return ` "${url}" : {
@@ -0,0 +1 @@
1
+ export declare function removeDuplicates(arr: string[]): string[];
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeDuplicates = removeDuplicates;
4
+ function removeDuplicates(arr) {
5
+ return [...new Set(arr)];
6
+ }
package/dist/run.test.js CHANGED
@@ -82,6 +82,35 @@ function run() {
82
82
  },
83
83
  });
84
84
  });
85
+ ggapp.get(["/api/seed/memo/id",
86
+ "/api/hotel/memo/id"
87
+ ], {
88
+ requireParams: {
89
+ parameter: { files: "string[]" },
90
+ dataType: "arrayObject",
91
+ structure: { id: "number", name: ["A", "B"] },
92
+ },
93
+ responseStructure: {
94
+ parameter: { numberOfPeople: "number", itemName: "string" },
95
+ dataType: "arrayObject",
96
+ structure: {
97
+ id: "number",
98
+ name: "string",
99
+ },
100
+ },
101
+ }, (req, res, next) => {
102
+ req.query.data.data.forEach((row) => row.name === "A");
103
+ console.log(req.query);
104
+ return res.json({
105
+ message: "",
106
+ status: "SUCCESS",
107
+ data: [],
108
+ parameter: {
109
+ itemName: "",
110
+ numberOfPeople: 2,
111
+ },
112
+ });
113
+ });
85
114
  app.listen(3002, () => {
86
115
  ggapp.generateAPIFiles();
87
116
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gg-express",
3
- "version": "1.0.73",
3
+ "version": "1.0.75",
4
4
  "description": "",
5
5
  "main": "dist/GGExpress.js",
6
6
  "scripts": {
package/src/GGExpress.ts CHANGED
@@ -3,6 +3,7 @@ import { NextFunction, Request, Response } from "express"
3
3
  import Express from "express-serve-static-core"
4
4
  import fs from "fs"
5
5
  import path from "path"
6
+ import { removeDuplicates } from "./helperFunction"
6
7
 
7
8
  type Unarray<T> = T extends (infer U)[] ? U : T
8
9
  type AsConstArray<T extends readonly any[]> = [...T]
@@ -393,8 +394,9 @@ export default class GGExpress<appName extends string> {
393
394
  if (Array.isArray(row.url)) {
394
395
  tempURL = row.url
395
396
  } else {
396
- tempURL = [tempURL]
397
+ tempURL = [row.url]
397
398
  }
399
+ tempURL = removeDuplicates(tempURL)
398
400
  return tempURL
399
401
  .map((url) => {
400
402
  return ` "${url}" : {
@@ -0,0 +1,3 @@
1
+ export function removeDuplicates(arr: string[]): string[] {
2
+ return [...new Set(arr)];
3
+ }
package/src/run.test.ts CHANGED
@@ -87,6 +87,40 @@ function run() {
87
87
  })
88
88
  }
89
89
  )
90
+
91
+ ggapp.get(
92
+ ["/api/seed/memo/id",
93
+ "/api/hotel/memo/id"
94
+ ],
95
+ {
96
+ requireParams: {
97
+ parameter: { files: "string[]" },
98
+ dataType: "arrayObject",
99
+ structure: { id: "number", name: ["A", "B"] },
100
+ },
101
+ responseStructure: {
102
+ parameter: { numberOfPeople: "number", itemName: "string" },
103
+ dataType: "arrayObject",
104
+ structure: {
105
+ id: "number",
106
+ name: "string",
107
+ },
108
+ },
109
+ },
110
+ (req, res, next) => {
111
+ req.query.data.data.forEach((row) => row.name === "A")
112
+ console.log(req.query)
113
+ return res.json({
114
+ message: "",
115
+ status: "SUCCESS",
116
+ data: [],
117
+ parameter: {
118
+ itemName: "",
119
+ numberOfPeople: 2,
120
+ },
121
+ })
122
+ }
123
+ )
90
124
  app.listen(3002, () => {
91
125
  ggapp.generateAPIFiles()
92
126
  })
@@ -0,0 +1,30 @@
1
+ export interface staticRouteInterface_hotel {
2
+ get : { "/api/hotel/users/id" : {
3
+ requireParams : { parameter:{ files : string[]}, data:{ id : number, name : "A" | "B"}[]},
4
+ responseStructure : {
5
+ status : "SUCCESS" | "ERROR",
6
+ message : string,
7
+ parameter : { numberOfPeople : number, itemName : string}, data : { id : number, name : string } []}
8
+ } , "/api/seed/memo/id" : {
9
+ requireParams : { parameter:{ files : string[]}, data:{ id : number, name : "A" | "B"}[]},
10
+ responseStructure : {
11
+ status : "SUCCESS" | "ERROR",
12
+ message : string,
13
+ parameter : { numberOfPeople : number, itemName : string}, data : { id : number, name : string } []}
14
+ } , "/api/hotel/memo/id" : {
15
+ requireParams : { parameter:{ files : string[]}, data:{ id : number, name : "A" | "B"}[]},
16
+ responseStructure : {
17
+ status : "SUCCESS" | "ERROR",
18
+ message : string,
19
+ parameter : { numberOfPeople : number, itemName : string}, data : { id : number, name : string } []}
20
+ } },
21
+ post : { "/api/hotel/item" : {
22
+ requireParams : { parameter:Partial<{ lotNumber : number}>, data:Partial<{ id : number, name : "item-1" | "item-2", price : number}>},
23
+ responseStructure : {
24
+ status : "SUCCESS" | "ERROR",
25
+ message : string,
26
+ parameter : { numberOfPeople : number, itemName : string}, data : { id : number, name : string } []}
27
+ } },
28
+ put : { },
29
+ delete : { },
30
+ }