@social-mail/social-mail-web-server 1.7.658 → 1.7.660

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.
@@ -5,6 +5,7 @@ export default class extends Page {
5
5
  tags: string;
6
6
  start: number;
7
7
  size: number;
8
+ search: string;
8
9
  run(): Promise<import("@entity-access/server-pages/dist/Content.js").default>;
9
10
  }
10
11
  //# sourceMappingURL=get.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/site/templates/list/get.tsx"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,iBAAiB,MAAM,qDAAqD,CAAC;AAIpF,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,EAAE,EAAE,iBAAiB,CAAC;IAGtB,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,CAAC;IAGd,IAAI,EAAE,MAAM,CAAC;IAEP,GAAG;CAwCZ"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/site/templates/list/get.tsx"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,iBAAiB,MAAM,qDAAqD,CAAC;AAKpF,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,EAAE,EAAE,iBAAiB,CAAC;IAGtB,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,CAAC;IAGd,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,MAAM,CAAC;IAET,GAAG;CAwDZ"}
@@ -12,12 +12,27 @@ import Page from "@entity-access/server-pages/dist/Page.js";
12
12
  import SocialMailContext from "../../../../../../server/model/SocialMailContext.js";
13
13
  import { Query } from "@entity-access/server-pages/dist/core/Query.js";
14
14
  import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
15
+ import { CORS } from "../../../../../../common/CORS.js";
15
16
  export default class default_1 extends Page {
16
17
  async run() {
17
18
  if (!/^(www\.)?esocialmail.com$/i.test(this.request.hostName)) {
18
19
  return this.notFound();
19
20
  }
20
21
  let q = this.db.websiteFolders.where(void 0, (p) => (x) => x.isTemplate === true);
22
+ const { search = "" } = this;
23
+ if (search) {
24
+ const tokens = search.split(/[\,\s]+/g);
25
+ const words = tokens.filter((t) => t?.length > 3)
26
+ .map((t) => `%${t}%`);
27
+ const ids = tokens.filter((t) => /^\d+$/i.test(t));
28
+ if (ids.length) {
29
+ q = q.where({ words, ids }, (p) => (x) => Sql.in(x.folderID, p.ids)
30
+ || Sql.text.likeAny(x.folder.name, p.words));
31
+ }
32
+ else {
33
+ q = q.where({ words }, (p) => (x) => Sql.text.likeAny(x.folder.name, p.words));
34
+ }
35
+ }
21
36
  if (this.tags) {
22
37
  const tags = this.tags.toLowerCase().split(/[\,\;\s]+/g).filter((x) => x);
23
38
  if (tags.length) {
@@ -43,7 +58,7 @@ export default class default_1 extends Page {
43
58
  return this.json({
44
59
  items,
45
60
  total
46
- });
61
+ }, void 0, CORS.allowAll);
47
62
  }
48
63
  }
49
64
  __decorate([
@@ -62,4 +77,8 @@ __decorate([
62
77
  Query.asNumber("size"),
63
78
  __metadata("design:type", Number)
64
79
  ], default_1.prototype, "size", void 0);
80
+ __decorate([
81
+ Query("search"),
82
+ __metadata("design:type", String)
83
+ ], default_1.prototype, "search", void 0);
65
84
  //# sourceMappingURL=get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/site/templates/list/get.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/site/templates/list/get.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social-mail/social-mail-web-server",
3
- "version": "1.7.658",
3
+ "version": "1.7.660",
4
4
  "description": "## Phase 1",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -3,6 +3,7 @@ import Page from "@entity-access/server-pages/dist/Page.js";
3
3
  import SocialMailContext from "../../../../../../server/model/SocialMailContext.js";
4
4
  import { Query } from "@entity-access/server-pages/dist/core/Query.js";
5
5
  import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
6
+ import { CORS } from "../../../../../../common/CORS.js";
6
7
 
7
8
  export default class extends Page {
8
9
 
@@ -18,6 +19,9 @@ export default class extends Page {
18
19
  @Query.asNumber("size")
19
20
  size: number;
20
21
 
22
+ @Query("search")
23
+ search: string;
24
+
21
25
  async run() {
22
26
 
23
27
  if (!/^(www\.)?esocialmail.com$/i.test(this.request.hostName)) {
@@ -25,6 +29,22 @@ export default class extends Page {
25
29
  }
26
30
 
27
31
  let q = this.db.websiteFolders.where(void 0, (p) => (x) => x.isTemplate === true);
32
+
33
+ const { search = "" } = this;
34
+ if (search) {
35
+ const tokens = search.split(/[\,\s]+/g);
36
+ const words = tokens.filter((t) => t?.length > 3)
37
+ .map((t) => `%${t}%`);
38
+ const ids = tokens.filter((t) => /^\d+$/i.test(t)) as any[];
39
+ if (ids.length) {
40
+ q = q.where({ words, ids }, (p) => (x) =>
41
+ Sql.in(x.folderID, p.ids)
42
+ || Sql.text.likeAny(x.folder.name, p.words));
43
+ } else {
44
+ q = q.where({ words }, (p) => (x) => Sql.text.likeAny(x.folder.name, p.words));
45
+ }
46
+ }
47
+
28
48
  if (this.tags) {
29
49
  const tags = this.tags.toLowerCase().split(/[\,\;\s]+/g).filter((x) => x);
30
50
  if (tags.length) {
@@ -56,6 +76,6 @@ export default class extends Page {
56
76
  return this.json({
57
77
  items,
58
78
  total
59
- });
79
+ }, void 0, CORS.allowAll);
60
80
  }
61
81
  }