axe-api 1.0.4 → 1.0.6

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.
package/build/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import Server from "./src/Server";
2
2
  import Model from "./src/Model";
3
3
  import ApiError from "./src/Exceptions/ApiError";
4
+ import RedisAdaptor from "./src/Middlewares/RateLimit/RedisAdaptor";
4
5
  import { DEFAULT_HANDLERS, DEFAULT_VERSION_CONFIG } from "./src/constants";
5
6
  import { IoCService, allow, deny, App, AxeRequest, AxeResponse } from "./src/Services";
6
7
  import { rateLimit } from "./src/Middlewares/RateLimit";
7
8
  export * from "./src/Enums";
8
9
  export * from "./src/Interfaces";
9
10
  export * from "./src/Types";
10
- export { App, AxeRequest, AxeResponse, Server, Model, ApiError, DEFAULT_HANDLERS, DEFAULT_VERSION_CONFIG, IoCService, allow, deny, rateLimit, };
11
+ export { App, AxeRequest, AxeResponse, Server, Model, ApiError, RedisAdaptor, DEFAULT_HANDLERS, DEFAULT_VERSION_CONFIG, IoCService, allow, deny, rateLimit, };
package/build/index.js CHANGED
@@ -17,13 +17,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.rateLimit = exports.deny = exports.allow = exports.IoCService = exports.DEFAULT_VERSION_CONFIG = exports.DEFAULT_HANDLERS = exports.ApiError = exports.Model = exports.Server = exports.AxeResponse = exports.AxeRequest = exports.App = void 0;
20
+ exports.rateLimit = exports.deny = exports.allow = exports.IoCService = exports.DEFAULT_VERSION_CONFIG = exports.DEFAULT_HANDLERS = exports.RedisAdaptor = exports.ApiError = exports.Model = exports.Server = exports.AxeResponse = exports.AxeRequest = exports.App = void 0;
21
21
  const Server_1 = __importDefault(require("./src/Server"));
22
22
  exports.Server = Server_1.default;
23
23
  const Model_1 = __importDefault(require("./src/Model"));
24
24
  exports.Model = Model_1.default;
25
25
  const ApiError_1 = __importDefault(require("./src/Exceptions/ApiError"));
26
26
  exports.ApiError = ApiError_1.default;
27
+ const RedisAdaptor_1 = __importDefault(require("./src/Middlewares/RateLimit/RedisAdaptor"));
28
+ exports.RedisAdaptor = RedisAdaptor_1.default;
27
29
  const constants_1 = require("./src/constants");
28
30
  Object.defineProperty(exports, "DEFAULT_HANDLERS", { enumerable: true, get: function () { return constants_1.DEFAULT_HANDLERS; } });
29
31
  Object.defineProperty(exports, "DEFAULT_VERSION_CONFIG", { enumerable: true, get: function () { return constants_1.DEFAULT_VERSION_CONFIG; } });
@@ -9,6 +9,8 @@ export declare enum ConditionTypes {
9
9
  "<=" = "<=",
10
10
  "LIKE" = "LIKE",
11
11
  "NOT LIKE" = "NOT LIKE",
12
+ "ILIKE" = "ILIKE",
13
+ "NOT ILIKE" = "NOT ILIKE",
12
14
  "In" = "In",
13
15
  "NotIn" = "NotIn",
14
16
  "Between" = "Between",
@@ -103,6 +105,8 @@ export declare enum QueryFeature {
103
105
  WhereLte = "where.lte",
104
106
  WhereLike = "where.like",
105
107
  WhereNotLike = "where.notLike",
108
+ WhereILike = "where.Ilike",
109
+ WhereNotILike = "where.notILike",
106
110
  WhereIn = "where.in",
107
111
  WhereNotIn = "where.notIn",
108
112
  WhereBetween = "where.between",
@@ -13,6 +13,8 @@ var ConditionTypes;
13
13
  ConditionTypes["<="] = "<=";
14
14
  ConditionTypes["LIKE"] = "LIKE";
15
15
  ConditionTypes["NOT LIKE"] = "NOT LIKE";
16
+ ConditionTypes["ILIKE"] = "ILIKE";
17
+ ConditionTypes["NOT ILIKE"] = "NOT ILIKE";
16
18
  ConditionTypes["In"] = "In";
17
19
  ConditionTypes["NotIn"] = "NotIn";
18
20
  ConditionTypes["Between"] = "Between";
@@ -118,6 +120,8 @@ var QueryFeature;
118
120
  QueryFeature["WhereLte"] = "where.lte";
119
121
  QueryFeature["WhereLike"] = "where.like";
120
122
  QueryFeature["WhereNotLike"] = "where.notLike";
123
+ QueryFeature["WhereILike"] = "where.Ilike";
124
+ QueryFeature["WhereNotILike"] = "where.notILike";
121
125
  QueryFeature["WhereIn"] = "where.in";
122
126
  QueryFeature["WhereNotIn"] = "where.notIn";
123
127
  QueryFeature["WhereBetween"] = "where.between";
@@ -19,6 +19,8 @@ const QueryFeatureMap = {
19
19
  Enums_1.QueryFeature.WhereLte,
20
20
  Enums_1.QueryFeature.WhereLike,
21
21
  Enums_1.QueryFeature.WhereNotLike,
22
+ Enums_1.QueryFeature.WhereILike,
23
+ Enums_1.QueryFeature.WhereNotILike,
22
24
  Enums_1.QueryFeature.WhereIn,
23
25
  Enums_1.QueryFeature.WhereNotIn,
24
26
  Enums_1.QueryFeature.WhereBetween,
@@ -41,6 +43,8 @@ const QueryFeatureMap = {
41
43
  Enums_1.QueryFeature.WhereLte,
42
44
  Enums_1.QueryFeature.WhereLike,
43
45
  Enums_1.QueryFeature.WhereNotLike,
46
+ Enums_1.QueryFeature.WhereILike,
47
+ Enums_1.QueryFeature.WhereNotILike,
44
48
  Enums_1.QueryFeature.WhereIn,
45
49
  Enums_1.QueryFeature.WhereNotIn,
46
50
  Enums_1.QueryFeature.WhereBetween,
@@ -56,6 +60,8 @@ const QueryFeatureMap = {
56
60
  [Enums_1.QueryFeature.WhereLte]: [Enums_1.QueryFeature.WhereLte],
57
61
  [Enums_1.QueryFeature.WhereLike]: [Enums_1.QueryFeature.WhereLike],
58
62
  [Enums_1.QueryFeature.WhereNotLike]: [Enums_1.QueryFeature.WhereNotLike],
63
+ [Enums_1.QueryFeature.WhereILike]: [Enums_1.QueryFeature.WhereILike],
64
+ [Enums_1.QueryFeature.WhereNotILike]: [Enums_1.QueryFeature.WhereNotILike],
59
65
  [Enums_1.QueryFeature.WhereIn]: [Enums_1.QueryFeature.WhereIn],
60
66
  [Enums_1.QueryFeature.WhereNotIn]: [Enums_1.QueryFeature.WhereNotIn],
61
67
  [Enums_1.QueryFeature.WhereBetween]: [Enums_1.QueryFeature.WhereBetween],
@@ -325,13 +325,17 @@ class QueryService {
325
325
  this.applySpecialCondition(where, "$lte", Enums_1.ConditionTypes["<="]);
326
326
  this.applySpecialCondition(where, "$like", Enums_1.ConditionTypes.LIKE);
327
327
  this.applySpecialCondition(where, "$notLike", Enums_1.ConditionTypes["NOT LIKE"]);
328
+ this.applySpecialCondition(where, "$iLike", Enums_1.ConditionTypes.ILIKE);
329
+ this.applySpecialCondition(where, "$notILike", Enums_1.ConditionTypes["NOT ILIKE"]);
328
330
  this.applySpecialCondition(where, "$in", Enums_1.ConditionTypes.In);
329
331
  this.applySpecialCondition(where, "$notIn", Enums_1.ConditionTypes.NotIn);
330
332
  this.applySpecialCondition(where, "$between", Enums_1.ConditionTypes.Between);
331
333
  this.applySpecialCondition(where, "$notBetween", Enums_1.ConditionTypes.NotBetween);
332
334
  }
333
335
  if (where.condition === Enums_1.ConditionTypes.LIKE ||
334
- where.condition === Enums_1.ConditionTypes["NOT LIKE"]) {
336
+ where.condition === Enums_1.ConditionTypes["NOT LIKE"] ||
337
+ where.condition === Enums_1.ConditionTypes.ILIKE ||
338
+ where.condition === Enums_1.ConditionTypes["NOT ILIKE"]) {
335
339
  const queryColumn = where.model.columns.find((column) => column.name === where.field);
336
340
  if (queryColumn &&
337
341
  !constants_1.STRING_COLUMN_TYPES.includes(queryColumn.data_type.toLowerCase())) {
@@ -102,6 +102,8 @@ exports.ConditionQueryFeatureMap = {
102
102
  [Enums_1.ConditionTypes["<="]]: Enums_1.QueryFeature.WhereLte,
103
103
  [Enums_1.ConditionTypes["LIKE"]]: Enums_1.QueryFeature.WhereLike,
104
104
  [Enums_1.ConditionTypes["NOT LIKE"]]: Enums_1.QueryFeature.WhereNotLike,
105
+ [Enums_1.ConditionTypes["ILIKE"]]: Enums_1.QueryFeature.WhereILike,
106
+ [Enums_1.ConditionTypes["NOT ILIKE"]]: Enums_1.QueryFeature.WhereNotILike,
105
107
  [Enums_1.ConditionTypes["In"]]: Enums_1.QueryFeature.WhereIn,
106
108
  [Enums_1.ConditionTypes["NotIn"]]: Enums_1.QueryFeature.WhereNotIn,
107
109
  [Enums_1.ConditionTypes["Between"]]: Enums_1.QueryFeature.WhereBetween,
@@ -121,6 +123,9 @@ exports.STRING_COLUMN_TYPES = [
121
123
  "TEXT",
122
124
  "ENUM",
123
125
  "SET",
126
+ "character varying",
127
+ "character",
128
+ "bpchar",
124
129
  ].map((item) => item.toLowerCase());
125
130
  exports.HANDLER_METHOD_MAP = {
126
131
  [Enums_1.HandlerTypes.INSERT]: Enums_1.HttpMethods.POST,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "axe-api",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "AXE API is a simple tool to create Rest APIs quickly.",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -89,12 +89,12 @@
89
89
  "@typescript-eslint/parser": "^6.13.2",
90
90
  "babel-jest": "^29.7.0",
91
91
  "cors": "^2.8.5",
92
- "eslint": "^8.55.0",
92
+ "eslint": "^8.56.0",
93
93
  "eslint-config-standard": "^17.1.0",
94
94
  "eslint-plugin-import": "^2.29.0",
95
95
  "eslint-plugin-node": "^11.1.0",
96
96
  "eslint-plugin-promise": "^6.1.1",
97
- "eslint-plugin-unicorn": "^49.0.0",
97
+ "eslint-plugin-unicorn": "^50.0.1",
98
98
  "eslint-watch": "^8.0.0",
99
99
  "glob": "^10.3.10",
100
100
  "husky": "^8.0.3",