@vicacha-devs/strapi-plugin-global-search 0.0.0-stage → 2.0.3

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 (57) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +136 -2
  3. package/dist/admin/index.d.ts +2 -0
  4. package/dist/admin/index.js +2310 -0
  5. package/dist/admin/index.js.map +7 -0
  6. package/dist/admin/index.mjs +2310 -0
  7. package/dist/admin/index.mjs.map +7 -0
  8. package/dist/admin/translations/ar.json +89 -0
  9. package/dist/admin/translations/en.json +89 -0
  10. package/dist/admin/translations/es.json +89 -0
  11. package/dist/admin/translations/fr.json +89 -0
  12. package/dist/admin/translations/tr.json +89 -0
  13. package/dist/server/bootstrap.d.ts +6 -0
  14. package/dist/server/bootstrap.d.ts.map +1 -0
  15. package/dist/server/config/index.d.ts +15 -0
  16. package/dist/server/config/index.d.ts.map +1 -0
  17. package/dist/server/controllers/index.d.ts +94 -0
  18. package/dist/server/controllers/index.d.ts.map +1 -0
  19. package/dist/server/controllers/schema.d.ts +24 -0
  20. package/dist/server/controllers/schema.d.ts.map +1 -0
  21. package/dist/server/controllers/search.d.ts +21 -0
  22. package/dist/server/controllers/search.d.ts.map +1 -0
  23. package/dist/server/controllers/settings.d.ts +23 -0
  24. package/dist/server/controllers/settings.d.ts.map +1 -0
  25. package/dist/server/index.d.ts +212 -0
  26. package/dist/server/index.d.ts.map +1 -0
  27. package/dist/server/index.js +1186 -0
  28. package/dist/server/index.js.map +7 -0
  29. package/dist/server/index.mjs +1186 -0
  30. package/dist/server/index.mjs.map +7 -0
  31. package/dist/server/register.d.ts +6 -0
  32. package/dist/server/register.d.ts.map +1 -0
  33. package/dist/server/routes/index.d.ts +20 -0
  34. package/dist/server/routes/index.d.ts.map +1 -0
  35. package/dist/server/services/index.d.ts +89 -0
  36. package/dist/server/services/index.d.ts.map +1 -0
  37. package/dist/server/services/permissions.d.ts +13 -0
  38. package/dist/server/services/permissions.d.ts.map +1 -0
  39. package/dist/server/services/query.d.ts +25 -0
  40. package/dist/server/services/query.d.ts.map +1 -0
  41. package/dist/server/services/ranking.d.ts +27 -0
  42. package/dist/server/services/ranking.d.ts.map +1 -0
  43. package/dist/server/services/schema.d.ts +70 -0
  44. package/dist/server/services/schema.d.ts.map +1 -0
  45. package/dist/server/services/search.d.ts +36 -0
  46. package/dist/server/services/search.d.ts.map +1 -0
  47. package/dist/server/services/settings.d.ts +15 -0
  48. package/dist/server/services/settings.d.ts.map +1 -0
  49. package/dist/server/types.d.ts +195 -0
  50. package/dist/server/types.d.ts.map +1 -0
  51. package/dist/server/utils/async.d.ts +8 -0
  52. package/dist/server/utils/async.d.ts.map +1 -0
  53. package/dist/server/utils/constants.d.ts +42 -0
  54. package/dist/server/utils/constants.d.ts.map +1 -0
  55. package/dist/server/utils/text.d.ts +20 -0
  56. package/dist/server/utils/text.d.ts.map +1 -0
  57. package/package.json +79 -3
@@ -0,0 +1,212 @@
1
+ declare const _default: {
2
+ register: ({ strapi }: {
3
+ strapi: import("./types").StrapiLike;
4
+ }) => void;
5
+ bootstrap: ({ strapi }: {
6
+ strapi: import("./types").StrapiLike;
7
+ }) => Promise<void>;
8
+ config: {
9
+ default: import("./types").PluginSettings;
10
+ validator: (config?: Partial<import("./types").PluginSettings>) => void;
11
+ defaults: import("./types").PluginSettings;
12
+ };
13
+ controllers: {
14
+ search: ({ strapi }: {
15
+ strapi: import("./types").StrapiLike;
16
+ }) => {
17
+ find(ctx: {
18
+ request: {
19
+ query: Record<string, unknown>;
20
+ body?: Record<string, unknown>;
21
+ };
22
+ state: {
23
+ userAbility?: {
24
+ can: (action: string, subject: string) => boolean;
25
+ } | null;
26
+ };
27
+ body?: unknown;
28
+ throw: (code: number, msg: string) => void;
29
+ }): Promise<void>;
30
+ };
31
+ schema: ({ strapi }: {
32
+ strapi: import("./types").StrapiLike;
33
+ }) => {
34
+ find(ctx: {
35
+ request: {
36
+ query: Record<string, unknown>;
37
+ body?: Record<string, unknown>;
38
+ };
39
+ state: {
40
+ userAbility?: {
41
+ can: (action: string, subject: string) => boolean;
42
+ } | null;
43
+ };
44
+ body?: unknown;
45
+ throw: (code: number, msg: string) => void;
46
+ }): Promise<void>;
47
+ findAll(ctx: {
48
+ request: {
49
+ query: Record<string, unknown>;
50
+ body?: Record<string, unknown>;
51
+ };
52
+ state: {
53
+ userAbility?: {
54
+ can: (action: string, subject: string) => boolean;
55
+ } | null;
56
+ };
57
+ body?: unknown;
58
+ throw: (code: number, msg: string) => void;
59
+ }): Promise<void>;
60
+ };
61
+ settings: ({ strapi }: {
62
+ strapi: import("./types").StrapiLike;
63
+ }) => {
64
+ find(ctx: {
65
+ request: {
66
+ query: Record<string, unknown>;
67
+ body?: Partial<import("./types").PluginSettings>;
68
+ };
69
+ state: {
70
+ userAbility?: {
71
+ can: (action: string, subject: string) => boolean;
72
+ } | null;
73
+ };
74
+ body?: unknown;
75
+ throw: (code: number, msg: string) => void;
76
+ }): Promise<void>;
77
+ update(ctx: {
78
+ request: {
79
+ query: Record<string, unknown>;
80
+ body?: Partial<import("./types").PluginSettings>;
81
+ };
82
+ state: {
83
+ userAbility?: {
84
+ can: (action: string, subject: string) => boolean;
85
+ } | null;
86
+ };
87
+ body?: unknown;
88
+ throw: (code: number, msg: string) => void;
89
+ }): Promise<void>;
90
+ reset(ctx: {
91
+ request: {
92
+ query: Record<string, unknown>;
93
+ body?: Partial<import("./types").PluginSettings>;
94
+ };
95
+ state: {
96
+ userAbility?: {
97
+ can: (action: string, subject: string) => boolean;
98
+ } | null;
99
+ };
100
+ body?: unknown;
101
+ throw: (code: number, msg: string) => void;
102
+ }): Promise<void>;
103
+ };
104
+ };
105
+ routes: {
106
+ admin: {
107
+ type: string;
108
+ routes: {
109
+ method: string;
110
+ path: string;
111
+ handler: string;
112
+ config: {
113
+ policies: {
114
+ name: string;
115
+ config: {
116
+ actions: string[];
117
+ };
118
+ }[];
119
+ };
120
+ }[];
121
+ };
122
+ };
123
+ services: {
124
+ schema: ({ strapi }: {
125
+ strapi: import("./types").StrapiLike;
126
+ }) => {
127
+ listCandidateUids(includePluginContentTypes?: boolean): string[];
128
+ isSearchableAttribute(name: string, attribute: import("./services/schema").AttributeLike | undefined): boolean;
129
+ isSafeDisplayAttribute(name: string, attribute: import("./services/schema").AttributeLike | undefined): boolean;
130
+ collectFieldPaths(attributes?: Record<string, import("./services/schema").AttributeLike>, { maxDepth, depth, prefix, visited, }?: {
131
+ maxDepth: number;
132
+ depth?: number;
133
+ prefix?: string;
134
+ visited?: Set<string>;
135
+ }): string[];
136
+ resolveMainField(contentType: import("./services/schema").ContentTypeLike): Promise<string>;
137
+ extractExcludedFields(uid: string, excludedFields?: string[]): Set<string>;
138
+ resolveDisplayName(uid: string, info?: import("./services/schema").ContentTypeLike["info"]): string;
139
+ hasAnySearchableField(fields: {
140
+ idFields: string[];
141
+ topLevelFields: string[];
142
+ nestedFields: string[];
143
+ }, isMainSearchable: boolean): boolean;
144
+ describeContentType(uid: string, settings: import("./types").PluginSettings): Promise<import("./types").ContentTypeDescriptor | null>;
145
+ getSearchableContentTypes({ force, }?: {
146
+ force?: boolean;
147
+ }): Promise<import("./types").ContentTypeDescriptor[]>;
148
+ getAllContentTypes(): Promise<import("./types").ContentTypeDescriptor[]>;
149
+ clearCache(): void;
150
+ };
151
+ query: () => {
152
+ nest: (path: string, condition: Record<string, unknown>) => Record<string, unknown>;
153
+ buildPopulate: (paths: string[]) => Record<string, unknown> | undefined;
154
+ searchablePaths(descriptor: import("./types").ContentTypeDescriptor): string[];
155
+ buildFilters(descriptor: import("./types").ContentTypeDescriptor, query: string): {
156
+ $or: unknown[];
157
+ } | null;
158
+ buildParams(descriptor: import("./types").ContentTypeDescriptor, { query, locale, limit, includeDrafts, }: {
159
+ query: string;
160
+ locale?: string;
161
+ limit: number;
162
+ includeDrafts: boolean;
163
+ }): Record<string, unknown> | null;
164
+ };
165
+ ranking: () => {
166
+ findMatch(entry: unknown, paths: string[], test: (value: string) => boolean, normalize?: boolean): {
167
+ path: string;
168
+ value: string;
169
+ } | null;
170
+ score(entry: unknown, descriptor: import("./types").ContentTypeDescriptor, query: string): {
171
+ tier: number;
172
+ tierLabel: string;
173
+ matchedField: string | null;
174
+ matchedFieldLabel: string | null;
175
+ matchedSnippet: string | null;
176
+ exactCase: boolean;
177
+ valueLength: number;
178
+ };
179
+ compare(a: import("./types").RankedHit, b: import("./types").RankedHit): number;
180
+ sort(hits: import("./types").RankedHit[]): import("./types").RankedHit[];
181
+ };
182
+ permissions: () => {
183
+ filterReadableTypes(types: import("./types").ContentTypeDescriptor[], userAbility?: {
184
+ can: (action: string, subject: string) => boolean;
185
+ } | null): import("./types").ContentTypeDescriptor[];
186
+ };
187
+ settings: ({ strapi }: {
188
+ strapi: import("./types").StrapiLike;
189
+ }) => {
190
+ get(): Promise<import("./types").PluginSettings>;
191
+ set(patch?: Partial<import("./types").PluginSettings>): Promise<import("./types").PluginSettings>;
192
+ reset(): Promise<import("./types").PluginSettings>;
193
+ defaults: import("./types").PluginSettings;
194
+ };
195
+ search: ({ strapi }: {
196
+ strapi: import("./types").StrapiLike;
197
+ }) => {
198
+ buildAdminUrl(descriptor: import("./types").ContentTypeDescriptor, entry: import("./services/search").EntryLike): string;
199
+ queryContentType(descriptor: import("./types").ContentTypeDescriptor, { query, locale, settings, }: {
200
+ query: string;
201
+ locale?: string;
202
+ settings: import("./types").PluginSettings;
203
+ }): Promise<import("./services/search").EntryLike[]>;
204
+ resolveEntryTitle(descriptor: import("./types").ContentTypeDescriptor, entry: import("./services/search").EntryLike): string;
205
+ resolveEntryStatus(descriptor: import("./types").ContentTypeDescriptor, entry: import("./services/search").EntryLike): "published" | "draft" | null;
206
+ toHit(descriptor: import("./types").ContentTypeDescriptor, entry: import("./services/search").EntryLike, query: string, settings: import("./types").PluginSettings): import("./types").RankedHit;
207
+ search({ query: rawQuery, types, locale, page, pageSize, userAbility, }?: import("./types").SearchParams): Promise<import("./types").SearchResult>;
208
+ };
209
+ };
210
+ };
211
+ export default _default;
212
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;wBAIW,CAAC;;;+BAGZ,CAAC;;;;;;;;;;;;;;wBAFE,CAAC;;;+BAGE,CAAC;;;;;;;;;;wBAHJ,CAAC;;;+BAGE,CAAC;;;;;;;;;;;;;;wBAJoB,CAAC;;;+BAI1B,CAAF;;;;;;;;;;wBAJ2B,CAAC;;;+BAI1B,CAAF;;;;;;;;;;wBAJ2B,CAAC;;;+BAI1B,CAAF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAOmjG,CAAC;sBAAwB,CAAC;uBAAyB,CAAC;;;;;;;;;;;;qBAAkoK,CAAC;;;;;;;;;;;;;;sBAArqK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAl/D,CAAC;;;;;;;;;;AARrlC,wBAOE"}