@shopware-ag/app-server-sdk 1.1.0 → 1.1.2

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 (117) hide show
  1. package/dist/commonjs/helper/admin-api.d.ts +56 -0
  2. package/dist/commonjs/helper/admin-api.d.ts.map +1 -0
  3. package/dist/commonjs/helper/admin-api.js +126 -0
  4. package/dist/commonjs/helper/admin-api.js.map +1 -0
  5. package/dist/commonjs/helper/criteria.d.ts +377 -0
  6. package/dist/commonjs/helper/criteria.d.ts.map +1 -0
  7. package/dist/commonjs/helper/criteria.js +456 -0
  8. package/dist/commonjs/helper/criteria.js.map +1 -0
  9. package/dist/commonjs/http-client.js +2 -1
  10. package/dist/commonjs/http-client.js.map +1 -1
  11. package/dist/commonjs/integration/better-sqlite3.d.ts +11 -0
  12. package/dist/commonjs/integration/better-sqlite3.d.ts.map +1 -0
  13. package/dist/commonjs/integration/better-sqlite3.js +58 -0
  14. package/dist/commonjs/integration/better-sqlite3.js.map +1 -0
  15. package/dist/esm/helper/admin-api.d.ts +56 -0
  16. package/dist/esm/helper/admin-api.d.ts.map +1 -0
  17. package/dist/esm/helper/admin-api.js +117 -0
  18. package/dist/esm/helper/admin-api.js.map +1 -0
  19. package/dist/esm/helper/criteria.d.ts +377 -0
  20. package/dist/esm/helper/criteria.d.ts.map +1 -0
  21. package/dist/esm/helper/criteria.js +452 -0
  22. package/dist/esm/helper/criteria.js.map +1 -0
  23. package/dist/esm/http-client.js +2 -1
  24. package/dist/esm/http-client.js.map +1 -1
  25. package/dist/esm/integration/better-sqlite3.d.ts +11 -0
  26. package/dist/esm/integration/better-sqlite3.d.ts.map +1 -0
  27. package/dist/esm/integration/better-sqlite3.js +51 -0
  28. package/dist/esm/integration/better-sqlite3.js.map +1 -0
  29. package/package.json +206 -141
  30. package/dist/commonjs/context-resolver.test.d.ts +0 -2
  31. package/dist/commonjs/context-resolver.test.d.ts.map +0 -1
  32. package/dist/commonjs/context-resolver.test.js +0 -81
  33. package/dist/commonjs/context-resolver.test.js.map +0 -1
  34. package/dist/commonjs/helper/app-actions.test.d.ts +0 -2
  35. package/dist/commonjs/helper/app-actions.test.d.ts.map +0 -1
  36. package/dist/commonjs/helper/app-actions.test.js +0 -31
  37. package/dist/commonjs/helper/app-actions.test.js.map +0 -1
  38. package/dist/commonjs/http-client.test.d.ts +0 -2
  39. package/dist/commonjs/http-client.test.d.ts.map +0 -1
  40. package/dist/commonjs/http-client.test.js +0 -71
  41. package/dist/commonjs/http-client.test.js.map +0 -1
  42. package/dist/commonjs/integration/bun-sqlite.test.d.ts +0 -2
  43. package/dist/commonjs/integration/bun-sqlite.test.d.ts.map +0 -1
  44. package/dist/commonjs/integration/bun-sqlite.test.js +0 -24
  45. package/dist/commonjs/integration/bun-sqlite.test.js.map +0 -1
  46. package/dist/commonjs/integration/cloudflare.test.d.ts +0 -2
  47. package/dist/commonjs/integration/cloudflare.test.d.ts.map +0 -1
  48. package/dist/commonjs/integration/cloudflare.test.js +0 -39
  49. package/dist/commonjs/integration/cloudflare.test.js.map +0 -1
  50. package/dist/commonjs/integration/deno.test.d.ts +0 -2
  51. package/dist/commonjs/integration/deno.test.d.ts.map +0 -1
  52. package/dist/commonjs/integration/deno.test.js +0 -48
  53. package/dist/commonjs/integration/deno.test.js.map +0 -1
  54. package/dist/commonjs/integration/dynamodb.test.d.ts +0 -2
  55. package/dist/commonjs/integration/dynamodb.test.d.ts.map +0 -1
  56. package/dist/commonjs/integration/dynamodb.test.js +0 -132
  57. package/dist/commonjs/integration/dynamodb.test.js.map +0 -1
  58. package/dist/commonjs/integration/hono.test.d.ts +0 -2
  59. package/dist/commonjs/integration/hono.test.d.ts.map +0 -1
  60. package/dist/commonjs/integration/hono.test.js +0 -86
  61. package/dist/commonjs/integration/hono.test.js.map +0 -1
  62. package/dist/commonjs/registration.test.d.ts +0 -2
  63. package/dist/commonjs/registration.test.d.ts.map +0 -1
  64. package/dist/commonjs/registration.test.js +0 -59
  65. package/dist/commonjs/registration.test.js.map +0 -1
  66. package/dist/commonjs/repository.test.d.ts +0 -2
  67. package/dist/commonjs/repository.test.d.ts.map +0 -1
  68. package/dist/commonjs/repository.test.js +0 -32
  69. package/dist/commonjs/repository.test.js.map +0 -1
  70. package/dist/commonjs/signer.test.d.ts +0 -2
  71. package/dist/commonjs/signer.test.d.ts.map +0 -1
  72. package/dist/commonjs/signer.test.js +0 -25
  73. package/dist/commonjs/signer.test.js.map +0 -1
  74. package/dist/esm/context-resolver.test.d.ts +0 -2
  75. package/dist/esm/context-resolver.test.d.ts.map +0 -1
  76. package/dist/esm/context-resolver.test.js +0 -79
  77. package/dist/esm/context-resolver.test.js.map +0 -1
  78. package/dist/esm/helper/app-actions.test.d.ts +0 -2
  79. package/dist/esm/helper/app-actions.test.d.ts.map +0 -1
  80. package/dist/esm/helper/app-actions.test.js +0 -29
  81. package/dist/esm/helper/app-actions.test.js.map +0 -1
  82. package/dist/esm/http-client.test.d.ts +0 -2
  83. package/dist/esm/http-client.test.d.ts.map +0 -1
  84. package/dist/esm/http-client.test.js +0 -69
  85. package/dist/esm/http-client.test.js.map +0 -1
  86. package/dist/esm/integration/bun-sqlite.test.d.ts +0 -2
  87. package/dist/esm/integration/bun-sqlite.test.d.ts.map +0 -1
  88. package/dist/esm/integration/bun-sqlite.test.js +0 -22
  89. package/dist/esm/integration/bun-sqlite.test.js.map +0 -1
  90. package/dist/esm/integration/cloudflare.test.d.ts +0 -2
  91. package/dist/esm/integration/cloudflare.test.d.ts.map +0 -1
  92. package/dist/esm/integration/cloudflare.test.js +0 -37
  93. package/dist/esm/integration/cloudflare.test.js.map +0 -1
  94. package/dist/esm/integration/deno.test.d.ts +0 -2
  95. package/dist/esm/integration/deno.test.d.ts.map +0 -1
  96. package/dist/esm/integration/deno.test.js +0 -46
  97. package/dist/esm/integration/deno.test.js.map +0 -1
  98. package/dist/esm/integration/dynamodb.test.d.ts +0 -2
  99. package/dist/esm/integration/dynamodb.test.d.ts.map +0 -1
  100. package/dist/esm/integration/dynamodb.test.js +0 -130
  101. package/dist/esm/integration/dynamodb.test.js.map +0 -1
  102. package/dist/esm/integration/hono.test.d.ts +0 -2
  103. package/dist/esm/integration/hono.test.d.ts.map +0 -1
  104. package/dist/esm/integration/hono.test.js +0 -84
  105. package/dist/esm/integration/hono.test.js.map +0 -1
  106. package/dist/esm/registration.test.d.ts +0 -2
  107. package/dist/esm/registration.test.d.ts.map +0 -1
  108. package/dist/esm/registration.test.js +0 -57
  109. package/dist/esm/registration.test.js.map +0 -1
  110. package/dist/esm/repository.test.d.ts +0 -2
  111. package/dist/esm/repository.test.d.ts.map +0 -1
  112. package/dist/esm/repository.test.js +0 -30
  113. package/dist/esm/repository.test.js.map +0 -1
  114. package/dist/esm/signer.test.d.ts +0 -2
  115. package/dist/esm/signer.test.d.ts.map +0 -1
  116. package/dist/esm/signer.test.js +0 -23
  117. package/dist/esm/signer.test.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-sqlite3.js","sourceRoot":"","sources":["../../../src/integration/better-sqlite3.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4E;AAE5E,oEAAsC;AAEtC,MAAa,uBAAuB;IAGnC,EAAE,CAAoB;IACtB,YAAY,QAAgB;QAC3B,IAAI,CAAC,EAAE,GAAG,IAAI,wBAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;OASR,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,GAAW,EAAE,MAAc;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,IAAI,EAAE,CAAC;YACV,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,EAAE;aACL,OAAO,CAAC,qDAAqD,CAAC;aAC9D,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACpB,OAAO,CAAC,iCAAiC,CAAC;aAC1C,GAAG,CAAC,EAAE,CAOP,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,0BAAU,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAElE,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,IAAgB;QAChC,IAAI,CAAC,EAAE;aACL,OAAO,CACP,gGAAgG,CAChG;aACA,GAAG,CACH,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,eAAe,EAAE,EACtB,IAAI,CAAC,mBAAmB,EAAE,EAC1B,CAAC,IAAI,CAAC,aAAa,EAAE,EACrB,IAAI,CAAC,SAAS,EAAE,CAChB,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,EAAU;QAC1B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;CACD;AA1ED,0DA0EC","sourcesContent":["import { type ShopRepositoryInterface, SimpleShop } from \"../repository.js\";\n\nimport Database from \"better-sqlite3\";\n\nexport class BetterSqlite3Repository\n\timplements ShopRepositoryInterface<SimpleShop>\n{\n\tdb: Database.Database;\n\tconstructor(fileName: string) {\n\t\tthis.db = new Database(fileName);\n\t\tthis.db.pragma(\"journal_mode = WAL\");\n\t\tthis.db.exec(`\n CREATE TABLE IF NOT EXISTS shop (\n id TEXT PRIMARY KEY,\n active BOOLEAN DEFAULT 1,\n url TEXT NOT NULL,\n secret TEXT NOT NULL,\n client_id TEXT NULL,\n client_secret TEXT NULL\n );\n `);\n\t}\n\n\tasync createShop(id: string, url: string, secret: string): Promise<void> {\n\t\tconst shop = await this.getShopById(id);\n\n\t\tif (shop) {\n\t\t\treturn await this.updateShop(shop);\n\t\t}\n\n\t\tthis.db\n\t\t\t.prepare(\"INSERT INTO shop (id, url, secret) VALUES (?, ?, ?)\")\n\t\t\t.run(id, url, secret);\n\t}\n\n\tasync getShopById(id: string): Promise<SimpleShop | null> {\n\t\tconst result = this.db\n\t\t\t.prepare(\"SELECT * FROM shop WHERE id = ?\")\n\t\t\t.get(id) as null | {\n\t\t\tid: string;\n\t\t\tactive: number;\n\t\t\turl: string;\n\t\t\tsecret: string;\n\t\t\tclient_id?: string;\n\t\t\tclient_secret?: string;\n\t\t};\n\n\t\tif (!result) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst shop = new SimpleShop(result.id, result.url, result.secret);\n\n\t\tif (result.client_id && result.client_secret) {\n\t\t\tshop.setShopCredentials(result.client_id, result.client_secret);\n\t\t}\n\n\t\tshop.setShopActive(result.active === 1);\n\n\t\treturn shop;\n\t}\n\tasync updateShop(shop: SimpleShop): Promise<void> {\n\t\tthis.db\n\t\t\t.prepare(\n\t\t\t\t\"UPDATE shop SET url = ?, secret = ?, client_id = ?, client_secret = ?, active = ? WHERE id = ?\",\n\t\t\t)\n\t\t\t.run(\n\t\t\t\tshop.getShopUrl(),\n\t\t\t\tshop.getShopSecret(),\n\t\t\t\tshop.getShopClientId(),\n\t\t\t\tshop.getShopClientSecret(),\n\t\t\t\t+shop.getShopActive(),\n\t\t\t\tshop.getShopId(),\n\t\t\t);\n\t}\n\tasync deleteShop(id: string): Promise<void> {\n\t\tthis.db.prepare(\"DELETE FROM shop where id = ?\").run(id);\n\t}\n}\n"]}
@@ -0,0 +1,56 @@
1
+ import type { HttpClient } from "../http-client.js";
2
+ import type { Criteria } from "./criteria.js";
3
+ import type { SingleFilter } from "./criteria.js";
4
+ export declare class ApiContext {
5
+ private languageId;
6
+ inheritance: boolean | null;
7
+ versionId: string | null;
8
+ skipTriggerFlows: boolean | null;
9
+ indexingSkip: string | null;
10
+ indexingBehaviour: string | null;
11
+ constructor(languageId?: string | null, inheritance?: boolean | null, versionId?: string | null, skipTriggerFlows?: boolean | null, indexingSkip?: string | null, indexingBehaviour?: string | null);
12
+ toHeaders(): Record<string, string>;
13
+ }
14
+ export declare class EntityRepository<Entity extends object = object> {
15
+ private client;
16
+ private entityName;
17
+ constructor(client: HttpClient, entityName: string);
18
+ search<Aggregations = object>(criteria: Criteria, context?: ApiContext): Promise<EntitySearchResult<Entity, Aggregations>>;
19
+ searchIds(criteria: Criteria, context?: ApiContext): Promise<string[]>;
20
+ aggregate<Aggregations>(criteria: Criteria, context?: ApiContext): Promise<EntitySearchResult<object, Aggregations>>;
21
+ upsert(payload: Entity[], context?: ApiContext): Promise<void>;
22
+ delete<DeleteType extends object = {
23
+ id: string;
24
+ }>(payload: DeleteType[], context?: ApiContext): Promise<void>;
25
+ deleteByFilters(filters: SingleFilter[], context?: ApiContext): Promise<void>;
26
+ }
27
+ export declare class SyncService {
28
+ private client;
29
+ constructor(client: HttpClient);
30
+ sync(operations: SyncOperation[], context?: ApiContext): Promise<void>;
31
+ }
32
+ export declare class SyncOperation {
33
+ key: string;
34
+ entity: string;
35
+ action: "upsert" | "delete";
36
+ payload: object[];
37
+ criteria: SingleFilter[] | null;
38
+ constructor(key: string, entity: string, action: "upsert" | "delete", payload: object[], criteria?: SingleFilter[] | null);
39
+ }
40
+ export declare class EntitySearchResult<Entity = unknown, Aggregations = object> {
41
+ total: number;
42
+ aggregations: Aggregations;
43
+ data: Entity[];
44
+ constructor(total: number, aggregations: Aggregations, data: Entity[]);
45
+ first(): Entity | null;
46
+ }
47
+ export declare const Defaults: {
48
+ systemLanguageId: string;
49
+ liveVersion: string;
50
+ systemCurrencyId: string;
51
+ salesChannelTypeApi: string;
52
+ salesChannelTypeSalesChannel: string;
53
+ salesChannelTypeProductComparision: string;
54
+ };
55
+ export declare function uuid(): string;
56
+ //# sourceMappingURL=admin-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-api.d.ts","sourceRoot":"","sources":["../../../src/helper/admin-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ export class ApiContext {
2
+ languageId;
3
+ inheritance;
4
+ versionId;
5
+ skipTriggerFlows;
6
+ indexingSkip;
7
+ indexingBehaviour;
8
+ constructor(languageId = null, inheritance = null, versionId = null, skipTriggerFlows = null, indexingSkip = null, indexingBehaviour = null) {
9
+ this.languageId = languageId;
10
+ this.inheritance = inheritance;
11
+ this.versionId = versionId;
12
+ this.skipTriggerFlows = skipTriggerFlows;
13
+ this.indexingSkip = indexingSkip;
14
+ this.indexingBehaviour = indexingBehaviour;
15
+ }
16
+ toHeaders() {
17
+ const headers = {
18
+ "sw-language-id": this.languageId,
19
+ "sw-inheritance": this.inheritance === true ? "1" : "0",
20
+ "sw-version-id": this.versionId,
21
+ "sw-skip-trigger-flow": this.skipTriggerFlows === true ? "1" : "0",
22
+ "indexing-skip": this.indexingSkip,
23
+ "indexing-behavior": this.indexingBehaviour,
24
+ };
25
+ for (const key of Object.keys(headers)) {
26
+ // @ts-expect-error
27
+ if (headers[key] === null) {
28
+ // @ts-expect-error
29
+ delete headers[key];
30
+ }
31
+ }
32
+ // @ts-expect-error
33
+ return headers;
34
+ }
35
+ }
36
+ export class EntityRepository {
37
+ client;
38
+ entityName;
39
+ constructor(client, entityName) {
40
+ this.client = client;
41
+ this.entityName = entityName;
42
+ this.client = client;
43
+ this.entityName = entityName;
44
+ }
45
+ async search(criteria, context = new ApiContext()) {
46
+ const response = await this.client.post(`/search/${this.entityName}`, criteria.toPayload(), context.toHeaders());
47
+ return new EntitySearchResult(response.body.total, response.body.aggregations, response.body.data);
48
+ }
49
+ async searchIds(criteria, context = new ApiContext()) {
50
+ const response = await this.client.post(`/search-ids/${this.entityName}`, criteria.toPayload(), context.toHeaders());
51
+ return response.body.data;
52
+ }
53
+ async aggregate(criteria, context = new ApiContext()) {
54
+ const response = await this.client.post(`/aggregate/${this.entityName}`, criteria.toPayload(), context.toHeaders());
55
+ return new EntitySearchResult(response.body.total, response.body.aggregations, response.body.data);
56
+ }
57
+ async upsert(payload, context = new ApiContext()) {
58
+ await new SyncService(this.client).sync([new SyncOperation("upsert", this.entityName, "upsert", payload)], context);
59
+ }
60
+ async delete(payload, context = new ApiContext()) {
61
+ await new SyncService(this.client).sync([new SyncOperation("delete", this.entityName, "delete", payload)], context);
62
+ }
63
+ async deleteByFilters(filters, context = new ApiContext()) {
64
+ await new SyncService(this.client).sync([new SyncOperation("delete", this.entityName, "delete", [], filters)], context);
65
+ }
66
+ }
67
+ export class SyncService {
68
+ client;
69
+ constructor(client) {
70
+ this.client = client;
71
+ }
72
+ async sync(operations, context = new ApiContext()) {
73
+ await this.client.post("/_action/sync", operations, context.toHeaders());
74
+ }
75
+ }
76
+ export class SyncOperation {
77
+ key;
78
+ entity;
79
+ action;
80
+ payload;
81
+ criteria;
82
+ constructor(key, entity, action, payload, criteria = null) {
83
+ this.key = key;
84
+ this.entity = entity;
85
+ this.action = action;
86
+ this.payload = payload;
87
+ this.criteria = criteria;
88
+ }
89
+ }
90
+ export class EntitySearchResult {
91
+ total;
92
+ aggregations;
93
+ data;
94
+ constructor(total, aggregations, data) {
95
+ this.total = total;
96
+ this.aggregations = aggregations;
97
+ this.data = data;
98
+ this.total = total;
99
+ this.aggregations = aggregations;
100
+ this.data = data;
101
+ }
102
+ first() {
103
+ return this.data[0] || null;
104
+ }
105
+ }
106
+ export const Defaults = {
107
+ systemLanguageId: "2fbb5fe2e29a4d70aa5854ce7ce3e20b",
108
+ liveVersion: "0fa91ce3e96a4bc2be4bd9ce752c3425",
109
+ systemCurrencyId: "b7d2554b0ce847cd82f3ac9bd1c0dfca",
110
+ salesChannelTypeApi: "f183ee5650cf4bdb8a774337575067a6",
111
+ salesChannelTypeSalesChannel: "8a243080f92e4c719546314b577cf82b",
112
+ salesChannelTypeProductComparision: "ed535e5722134ac1aa6524f73e26881b",
113
+ };
114
+ export function uuid() {
115
+ return crypto.randomUUID().replaceAll("-", "");
116
+ }
117
+ //# sourceMappingURL=admin-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-api.js","sourceRoot":"","sources":["../../../src/helper/admin-api.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,UAAU;IACd,UAAU,CAAgB;IAClC,WAAW,CAAiB;IAC5B,SAAS,CAAgB;IACzB,gBAAgB,CAAiB;IACjC,YAAY,CAAgB;IAC5B,iBAAiB,CAAgB;IAEjC,YACC,aAA4B,IAAI,EAChC,cAA8B,IAAI,EAClC,YAA2B,IAAI,EAC/B,mBAAmC,IAAI,EACvC,eAA8B,IAAI,EAClC,oBAAmC,IAAI;QAEvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC5C,CAAC;IAED,SAAS;QACR,MAAM,OAAO,GAAG;YACf,gBAAgB,EAAE,IAAI,CAAC,UAAU;YACjC,gBAAgB,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACvD,eAAe,EAAE,IAAI,CAAC,SAAS;YAC/B,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YAClE,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,mBAAmB,EAAE,IAAI,CAAC,iBAAiB;SAC3C,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,mBAAmB;YACnB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC3B,mBAAmB;gBACnB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACF,CAAC;QAED,mBAAmB;QACnB,OAAO,OAAO,CAAC;IAChB,CAAC;CACD;AAED,MAAM,OAAO,gBAAgB;IAEnB;IACA;IAFT,YACS,MAAkB,EAClB,UAAkB;QADlB,WAAM,GAAN,MAAM,CAAY;QAClB,eAAU,GAAV,UAAU,CAAQ;QAE1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CACX,QAAkB,EAClB,UAAsB,IAAI,UAAU,EAAE;QAEtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAErC,WAAW,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAE3E,OAAO,IAAI,kBAAkB,CAC5B,QAAQ,CAAC,IAAI,CAAC,KAAK,EACnB,QAAQ,CAAC,IAAI,CAAC,YAAY,EAC1B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAClB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACd,QAAkB,EAClB,UAAsB,IAAI,UAAU,EAAE;QAEtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACtC,eAAe,IAAI,CAAC,UAAU,EAAE,EAChC,QAAQ,CAAC,SAAS,EAAE,EACpB,OAAO,CAAC,SAAS,EAAE,CACnB,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,SAAS,CACd,QAAkB,EAClB,UAAsB,IAAI,UAAU,EAAE;QAEtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAGtC,cAAc,IAAI,CAAC,UAAU,EAAE,EAC/B,QAAQ,CAAC,SAAS,EAAE,EACpB,OAAO,CAAC,SAAS,EAAE,CACnB,CAAC;QAEF,OAAO,IAAI,kBAAkB,CAC5B,QAAQ,CAAC,IAAI,CAAC,KAAK,EACnB,QAAQ,CAAC,IAAI,CAAC,YAAY,EAC1B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAClB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACX,OAAiB,EACjB,UAAsB,IAAI,UAAU,EAAE;QAEtC,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,EACjE,OAAO,CACP,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACX,OAAqB,EACrB,UAAsB,IAAI,UAAU,EAAE;QAEtC,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,EACjE,OAAO,CACP,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACpB,OAAuB,EACvB,UAAsB,IAAI,UAAU,EAAE;QAEtC,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,EACrE,OAAO,CACP,CAAC;IACH,CAAC;CACD;AAED,MAAM,OAAO,WAAW;IACH;IAApB,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAE1C,KAAK,CAAC,IAAI,CACT,UAA2B,EAC3B,UAAsB,IAAI,UAAU,EAAE;QAEtC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrB,eAAe,EACf,UAAU,EACV,OAAO,CAAC,SAAS,EAAE,CACnB,CAAC;IACH,CAAC;CACD;AAED,MAAM,OAAO,aAAa;IAEjB;IACA;IACA;IACA;IACA;IALR,YACQ,GAAW,EACX,MAAc,EACd,MAA2B,EAC3B,OAAiB,EACjB,WAAkC,IAAI;QAJtC,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAqB;QAC3B,YAAO,GAAP,OAAO,CAAU;QACjB,aAAQ,GAAR,QAAQ,CAA8B;IAC3C,CAAC;CACJ;AAQD,MAAM,OAAO,kBAAkB;IAEtB;IACA;IACA;IAHR,YACQ,KAAa,EACb,YAA0B,EAC1B,IAAc;QAFd,UAAK,GAAL,KAAK,CAAQ;QACb,iBAAY,GAAZ,YAAY,CAAc;QAC1B,SAAI,GAAJ,IAAI,CAAU;QAErB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC7B,CAAC;CACD;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACvB,gBAAgB,EAAE,kCAAkC;IACpD,WAAW,EAAE,kCAAkC;IAC/C,gBAAgB,EAAE,kCAAkC;IACpD,mBAAmB,EAAE,kCAAkC;IACvD,4BAA4B,EAAE,kCAAkC;IAChE,kCAAkC,EAAE,kCAAkC;CACtE,CAAC;AAEF,MAAM,UAAU,IAAI;IACnB,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC","sourcesContent":["import type { HttpClient } from \"../http-client.js\";\nimport type { Criteria } from \"./criteria.js\";\nimport type { SingleFilter } from \"./criteria.js\";\n\nexport class ApiContext {\n\tprivate languageId: string | null;\n\tinheritance: boolean | null;\n\tversionId: string | null;\n\tskipTriggerFlows: boolean | null;\n\tindexingSkip: string | null;\n\tindexingBehaviour: string | null;\n\n\tconstructor(\n\t\tlanguageId: string | null = null,\n\t\tinheritance: boolean | null = null,\n\t\tversionId: string | null = null,\n\t\tskipTriggerFlows: boolean | null = null,\n\t\tindexingSkip: string | null = null,\n\t\tindexingBehaviour: string | null = null,\n\t) {\n\t\tthis.languageId = languageId;\n\t\tthis.inheritance = inheritance;\n\t\tthis.versionId = versionId;\n\t\tthis.skipTriggerFlows = skipTriggerFlows;\n\t\tthis.indexingSkip = indexingSkip;\n\t\tthis.indexingBehaviour = indexingBehaviour;\n\t}\n\n\ttoHeaders(): Record<string, string> {\n\t\tconst headers = {\n\t\t\t\"sw-language-id\": this.languageId,\n\t\t\t\"sw-inheritance\": this.inheritance === true ? \"1\" : \"0\",\n\t\t\t\"sw-version-id\": this.versionId,\n\t\t\t\"sw-skip-trigger-flow\": this.skipTriggerFlows === true ? \"1\" : \"0\",\n\t\t\t\"indexing-skip\": this.indexingSkip,\n\t\t\t\"indexing-behavior\": this.indexingBehaviour,\n\t\t};\n\n\t\tfor (const key of Object.keys(headers)) {\n\t\t\t// @ts-expect-error\n\t\t\tif (headers[key] === null) {\n\t\t\t\t// @ts-expect-error\n\t\t\t\tdelete headers[key];\n\t\t\t}\n\t\t}\n\n\t\t// @ts-expect-error\n\t\treturn headers;\n\t}\n}\n\nexport class EntityRepository<Entity extends object = object> {\n\tconstructor(\n\t\tprivate client: HttpClient,\n\t\tprivate entityName: string,\n\t) {\n\t\tthis.client = client;\n\t\tthis.entityName = entityName;\n\t}\n\n\tasync search<Aggregations = object>(\n\t\tcriteria: Criteria,\n\t\tcontext: ApiContext = new ApiContext(),\n\t): Promise<EntitySearchResult<Entity, Aggregations>> {\n\t\tconst response = await this.client.post<\n\t\t\tEntitySearchResponse<Entity, Aggregations>\n\t\t>(`/search/${this.entityName}`, criteria.toPayload(), context.toHeaders());\n\n\t\treturn new EntitySearchResult<Entity, Aggregations>(\n\t\t\tresponse.body.total,\n\t\t\tresponse.body.aggregations,\n\t\t\tresponse.body.data,\n\t\t);\n\t}\n\n\tasync searchIds(\n\t\tcriteria: Criteria,\n\t\tcontext: ApiContext = new ApiContext(),\n\t): Promise<string[]> {\n\t\tconst response = await this.client.post<{ data: string[] }>(\n\t\t\t`/search-ids/${this.entityName}`,\n\t\t\tcriteria.toPayload(),\n\t\t\tcontext.toHeaders(),\n\t\t);\n\n\t\treturn response.body.data;\n\t}\n\n\tasync aggregate<Aggregations>(\n\t\tcriteria: Criteria,\n\t\tcontext: ApiContext = new ApiContext(),\n\t): Promise<EntitySearchResult<object, Aggregations>> {\n\t\tconst response = await this.client.post<\n\t\t\tEntitySearchResponse<object, Aggregations>\n\t\t>(\n\t\t\t`/aggregate/${this.entityName}`,\n\t\t\tcriteria.toPayload(),\n\t\t\tcontext.toHeaders(),\n\t\t);\n\n\t\treturn new EntitySearchResult<object, Aggregations>(\n\t\t\tresponse.body.total,\n\t\t\tresponse.body.aggregations,\n\t\t\tresponse.body.data,\n\t\t);\n\t}\n\n\tasync upsert(\n\t\tpayload: Entity[],\n\t\tcontext: ApiContext = new ApiContext(),\n\t): Promise<void> {\n\t\tawait new SyncService(this.client).sync(\n\t\t\t[new SyncOperation(\"upsert\", this.entityName, \"upsert\", payload)],\n\t\t\tcontext,\n\t\t);\n\t}\n\n\tasync delete<DeleteType extends object = { id: string }>(\n\t\tpayload: DeleteType[],\n\t\tcontext: ApiContext = new ApiContext(),\n\t): Promise<void> {\n\t\tawait new SyncService(this.client).sync(\n\t\t\t[new SyncOperation(\"delete\", this.entityName, \"delete\", payload)],\n\t\t\tcontext,\n\t\t);\n\t}\n\n\tasync deleteByFilters(\n\t\tfilters: SingleFilter[],\n\t\tcontext: ApiContext = new ApiContext(),\n\t): Promise<void> {\n\t\tawait new SyncService(this.client).sync(\n\t\t\t[new SyncOperation(\"delete\", this.entityName, \"delete\", [], filters)],\n\t\t\tcontext,\n\t\t);\n\t}\n}\n\nexport class SyncService {\n\tconstructor(private client: HttpClient) {}\n\n\tasync sync(\n\t\toperations: SyncOperation[],\n\t\tcontext: ApiContext = new ApiContext(),\n\t): Promise<void> {\n\t\tawait this.client.post<{ notFound: string[]; deleted: string[] }>(\n\t\t\t\"/_action/sync\",\n\t\t\toperations,\n\t\t\tcontext.toHeaders(),\n\t\t);\n\t}\n}\n\nexport class SyncOperation {\n\tconstructor(\n\t\tpublic key: string,\n\t\tpublic entity: string,\n\t\tpublic action: \"upsert\" | \"delete\",\n\t\tpublic payload: object[],\n\t\tpublic criteria: SingleFilter[] | null = null,\n\t) {}\n}\n\ntype EntitySearchResponse<Entity = unknown, Aggregations = object> = {\n\ttotal: number;\n\taggregations: Aggregations;\n\tdata: Entity[];\n};\n\nexport class EntitySearchResult<Entity = unknown, Aggregations = object> {\n\tconstructor(\n\t\tpublic total: number,\n\t\tpublic aggregations: Aggregations,\n\t\tpublic data: Entity[],\n\t) {\n\t\tthis.total = total;\n\t\tthis.aggregations = aggregations;\n\t\tthis.data = data;\n\t}\n\n\tfirst(): Entity | null {\n\t\treturn this.data[0] || null;\n\t}\n}\n\nexport const Defaults = {\n\tsystemLanguageId: \"2fbb5fe2e29a4d70aa5854ce7ce3e20b\",\n\tliveVersion: \"0fa91ce3e96a4bc2be4bd9ce752c3425\",\n\tsystemCurrencyId: \"b7d2554b0ce847cd82f3ac9bd1c0dfca\",\n\tsalesChannelTypeApi: \"f183ee5650cf4bdb8a774337575067a6\",\n\tsalesChannelTypeSalesChannel: \"8a243080f92e4c719546314b577cf82b\",\n\tsalesChannelTypeProductComparision: \"ed535e5722134ac1aa6524f73e26881b\",\n};\n\nexport function uuid(): string {\n\treturn crypto.randomUUID().replaceAll(\"-\", \"\");\n}\n"]}
@@ -0,0 +1,377 @@
1
+ export declare enum TotalCountMode {
2
+ NO_TOTAL_COUNT = 0,
3
+ EXACT_TOTAL_COUNT = 1,
4
+ PAGINATION_TOTAL_COUNT = 2
5
+ }
6
+ interface Filters {
7
+ contains: {
8
+ type: "contains";
9
+ field: string;
10
+ value: string;
11
+ };
12
+ prefix: {
13
+ type: "prefix";
14
+ field: string;
15
+ value: string;
16
+ };
17
+ suffix: {
18
+ type: "suffix";
19
+ field: string;
20
+ value: string;
21
+ };
22
+ equalsAny: {
23
+ type: "equalsAny";
24
+ field: string;
25
+ value: (string | number | boolean | null)[];
26
+ };
27
+ equals: {
28
+ type: "equals";
29
+ field: string;
30
+ value: string | number | boolean | null;
31
+ };
32
+ range: {
33
+ type: "range";
34
+ field: string;
35
+ parameters: {
36
+ lte?: string | number;
37
+ lt?: string | number;
38
+ gte?: string | number;
39
+ gt?: string | number;
40
+ };
41
+ };
42
+ not: {
43
+ type: "not";
44
+ operator: "and" | "AND" | "or" | "OR";
45
+ queries: SingleFilter[];
46
+ };
47
+ multi: {
48
+ type: "multi";
49
+ operator: "and" | "AND" | "or" | "OR";
50
+ queries: SingleFilter[];
51
+ };
52
+ }
53
+ interface Aggregations {
54
+ histogram: {
55
+ type: "histogram";
56
+ name: string;
57
+ field: string;
58
+ interval: string | null;
59
+ format: string | null;
60
+ aggregation: Aggregation | null;
61
+ timeZone: string | null;
62
+ };
63
+ terms: {
64
+ type: "terms";
65
+ name: string;
66
+ field: string;
67
+ limit?: number | null;
68
+ sort?: Sorting | null;
69
+ aggregation?: Aggregation | null;
70
+ };
71
+ sum: {
72
+ type: "sum";
73
+ name: string;
74
+ field: string;
75
+ };
76
+ stats: {
77
+ type: "stats";
78
+ name: string;
79
+ field: string;
80
+ };
81
+ min: {
82
+ type: "min";
83
+ name: string;
84
+ field: string;
85
+ };
86
+ max: {
87
+ type: "max";
88
+ name: string;
89
+ field: string;
90
+ };
91
+ count: {
92
+ type: "count";
93
+ name: string;
94
+ field: string;
95
+ };
96
+ avg: {
97
+ type: "avg";
98
+ name: string;
99
+ field: string;
100
+ };
101
+ entity: {
102
+ type: "entity";
103
+ name: string;
104
+ field: string;
105
+ definition: string;
106
+ };
107
+ filter: {
108
+ type: "filter";
109
+ name: string;
110
+ filter: SingleFilter[];
111
+ aggregation: Aggregation;
112
+ };
113
+ }
114
+ type ValueOf<T> = T[keyof T];
115
+ export type SingleFilter = ValueOf<Filters>;
116
+ type Aggregation = ValueOf<Aggregations>;
117
+ interface Include {
118
+ [entityName: string]: string[];
119
+ }
120
+ interface Association {
121
+ association: string;
122
+ criteria: Criteria;
123
+ }
124
+ interface Query {
125
+ score: number;
126
+ query: SingleFilter;
127
+ scoreField?: string;
128
+ }
129
+ interface Sorting {
130
+ field: string;
131
+ order: "ASC" | "DESC";
132
+ naturalSorting: boolean;
133
+ type?: string;
134
+ }
135
+ interface RequestParams {
136
+ ids?: string[];
137
+ page?: number;
138
+ limit?: number;
139
+ term?: string;
140
+ query?: Query[];
141
+ filter?: SingleFilter[];
142
+ "post-filter"?: SingleFilter[];
143
+ sort?: Sorting[];
144
+ aggregations?: Aggregation[];
145
+ grouping?: string[];
146
+ fields?: string[];
147
+ associations?: {
148
+ [association: string]: RequestParams;
149
+ };
150
+ includes?: Include;
151
+ "total-count-mode"?: TotalCountMode;
152
+ }
153
+ export declare class Criteria {
154
+ title: string | null;
155
+ page: number | null;
156
+ limit: number | null;
157
+ term: string | null;
158
+ filters: SingleFilter[];
159
+ ids: string[];
160
+ queries: Query[];
161
+ associations: Association[];
162
+ postFilter: SingleFilter[];
163
+ sortings: Sorting[];
164
+ aggregations: Aggregation[];
165
+ grouping: string[];
166
+ fields: string[];
167
+ totalCountMode: TotalCountMode | null;
168
+ includes: Include | null;
169
+ constructor(ids?: string[]);
170
+ /**
171
+ * Parses the current criteria and generates an object which can be provided to the api
172
+ */
173
+ toPayload(): RequestParams;
174
+ /**
175
+ * Allows to provide a title for the criteria. This title will be shown in the `repository.search` request url so it can be used for debugging in network's tab
176
+ */
177
+ setTitle(title: string): this;
178
+ getTitle(): string | null;
179
+ /**
180
+ * Allows to provide a list of ids which are used as a filter
181
+ */
182
+ setIds(ids: string[]): this;
183
+ /**
184
+ * Allows to configure the total value of a search result.
185
+ * 0 - no total count will be selected. Should be used if no pagination required (fastest)
186
+ * 1 - exact total count will be selected. Should be used if an exact pagination is required (slow)
187
+ * 2 - fetches limit * 5 + 1. Should be used if pagination can work with "next page exists" (fast)
188
+ */
189
+ setTotalCountMode(mode: TotalCountMode): this;
190
+ setPage(page: number): this;
191
+ setLimit(limit: number): this;
192
+ setTerm(term: string): this;
193
+ addFilter(filter: SingleFilter): this;
194
+ addIncludes(include: Include): this;
195
+ /**
196
+ * Adds the provided filter as post filter.
197
+ * Post filter will be considered for the documents query but not for the aggregations.
198
+ */
199
+ addPostFilter(filter: SingleFilter): this;
200
+ /**
201
+ * Allows to add different sortings for the criteria, to sort the entity result.
202
+ */
203
+ addSorting(sorting: Sorting): this;
204
+ /**
205
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Query\ScoreQuery.
206
+ * These queries are used to search for documents and score them with a ranking
207
+ */
208
+ addQuery(filter: SingleFilter, score: number, scoreField?: string | null): this;
209
+ /**
210
+ * Allows grouping the result by a specific field
211
+ */
212
+ addGrouping(field: string): this;
213
+ /**
214
+ * Allows loading partial fields for the result.
215
+ */
216
+ addFields(...field: string[]): this;
217
+ /**
218
+ * @param {Object} aggregation
219
+ */
220
+ addAggregation(aggregation: Aggregation): this;
221
+ /**
222
+ * Ensures that a criterion is created for each segment of the passed path.
223
+ * Existing Criteria objects are not overwritten.
224
+ * Returns the own instance
225
+ */
226
+ addAssociation(path: string): this;
227
+ /**
228
+ * Ensures that a criterion is created for each segment of the passed path.
229
+ * Returns the criteria instance of the last path segment
230
+ */
231
+ getAssociation(path: string): Criteria;
232
+ private getAssociationCriteria;
233
+ getLimit(): number;
234
+ getPage(): number;
235
+ hasAssociation(property: string): boolean;
236
+ /**
237
+ * Resets the sorting parameter
238
+ */
239
+ resetSorting(): void;
240
+ /**
241
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\AvgAggregation
242
+ * Allows to calculate the avg value for the provided field
243
+ */
244
+ static avg(name: string, field: string): Aggregations["avg"];
245
+ /**
246
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\CountAggregation
247
+ * Allows to calculate the count value for the provided field
248
+ */
249
+ static count(name: string, field: string): Aggregations["count"];
250
+ /**
251
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\MaxAggregation
252
+ * Allows to calculate the max value for the provided field
253
+ */
254
+ static max(name: string, field: string): Aggregations["max"];
255
+ /**
256
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\MinAggregation
257
+ * Allows to calculate the min value for the provided field
258
+ */
259
+ static min(name: string, field: string): Aggregations["min"];
260
+ /**
261
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\StatsAggregation
262
+ * Allows to calculate the sum, max, min, avg, count values for the provided field
263
+ */
264
+ static stats(name: string, field: string): Aggregations["stats"];
265
+ /**
266
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\SumAggregation
267
+ * Allows to calculate the sum value for the provided field
268
+ */
269
+ static sum(name: string, field: string): Aggregations["sum"];
270
+ /**
271
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Bucket\TermsAggregation
272
+ * Allows to fetch term buckets for the provided field
273
+ */
274
+ static terms(name: string, field: string, limit?: number | null, sort?: Sorting | null, aggregation?: Aggregation | null): Aggregations["terms"];
275
+ /**
276
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Metric\EntityAggregation
277
+ * Allows to filter an aggregation result
278
+ */
279
+ static entityAggregation(name: string, field: string, definition: string): Aggregations["entity"];
280
+ /**
281
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Bucket\FilterAggregation
282
+ * Allows to filter an aggregation result
283
+ */
284
+ static filter(name: string, filter: SingleFilter[], aggregation: Aggregation): Aggregations["filter"];
285
+ /**
286
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Aggregation\Bucket\DateHistogramAggregation
287
+ * Allows to fetch date buckets for the provided date interval
288
+ */
289
+ static histogram(name: string, field: string, interval?: string | null, format?: string | null, aggregation?: Aggregation | null, timeZone?: string | null): Aggregations["histogram"];
290
+ /**
291
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\FieldSorting.
292
+ * Allows to sort the documents by the provided field
293
+ */
294
+ static sort(field: string, order?: Sorting["order"], naturalSorting?: boolean): Sorting;
295
+ /**
296
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\FieldSorting.
297
+ * Allows to sort the documents by the provided field naturally
298
+ */
299
+ static naturalSorting(field: string, order?: Sorting["order"]): Sorting;
300
+ /**
301
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\CountSorting.
302
+ * Allows to sort the documents by counting associations via the provided field
303
+ *
304
+ * Sql representation: `ORDER BY COUNT({field}) {order}`
305
+ */
306
+ static countSorting(field: string, order?: Sorting["order"]): Sorting;
307
+ /**
308
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\ContainsFilter.
309
+ * This allows to filter documents where the value are contained in the provided field.
310
+ *
311
+ * Sql representation: `{field} LIKE %{value}%`
312
+ */
313
+ static contains(field: string, value: string): Filters["contains"];
314
+ /**
315
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\PrefixFilter.
316
+ * This allows to filter documents where the value marks the beginning of the provided field.
317
+ *
318
+ * Sql representation: `{field} LIKE {value}%`
319
+ */
320
+ static prefix(field: string, value: string): Filters["prefix"];
321
+ /**
322
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\SuffixFilter.
323
+ * This allows to filter documents where the value marks the end of the provided field.
324
+ *
325
+ * Sql representation: `{field} LIKE %{value}`
326
+ */
327
+ static suffix(field: string, value: string): Filters["suffix"];
328
+ /**
329
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsAnyFilter.
330
+ * This allows to filter documents where the field matches one of the provided values
331
+ *
332
+ * Sql representation: `{field} IN ({value}, {value})`
333
+ */
334
+ static equalsAny(field: string, value: (string | number | boolean | null)[]): Filters["equalsAny"];
335
+ /**
336
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\RangeFilter.
337
+ * This allows to filter documents where the field matches a defined range
338
+ *
339
+ * Sql representation: `{field} >= {value}`, `{field} <= {value}`, ...
340
+ */
341
+ static range(field: string, range: Filters["range"]["parameters"]): Filters["range"];
342
+ /**
343
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter.
344
+ * This allows to filter documents where the field matches a defined range
345
+ *
346
+ * Sql representation: `{field} = {value}`
347
+ */
348
+ static equals(field: string, value: string | number | boolean | null): Filters["equals"];
349
+ /**
350
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\NotFilter.
351
+ * This allows to filter documents which not matches for the provided filters
352
+ * All above listed queries can be provided (equals, equalsAny, range, contains)
353
+ *
354
+ * Sql representation: `NOT({query} {operator} {query} {operator} {query})`
355
+ *
356
+ * @param {string} operator - and/or
357
+ * @param {array} queries
358
+ *
359
+ * @returns {Object}
360
+ */
361
+ static not(operator: Filters["not"]["operator"], queries?: SingleFilter[]): Filters["not"];
362
+ /**
363
+ * @see \Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\NotFilter.
364
+ * This allows to filter documents which matches for the provided filters
365
+ * All above listed queries can be provided (equals, equalsAny, range, contains)
366
+ *
367
+ * Sql representation: `({query} {operator} {query} {operator} {query})`
368
+ *
369
+ * @param {string} operator - and/or
370
+ * @param {array} queries
371
+ *
372
+ * @returns {Object}
373
+ */
374
+ static multi(operator: Filters["multi"]["operator"], queries?: SingleFilter[]): Filters["multi"];
375
+ }
376
+ export {};
377
+ //# sourceMappingURL=criteria.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../../src/helper/criteria.ts"],"names":[],"mappings":"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"}