@vegan-friendly/strapi-plugin-elasticsearch 0.1.0-alpha.1 → 0.1.0-alpha.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 (124) hide show
  1. package/dist/admin/src/components/Initializer/index.d.ts +15 -0
  2. package/dist/admin/src/components/Initializer/index.js +25 -0
  3. package/dist/admin/src/components/PluginIcon/index.d.ts +8 -0
  4. package/dist/admin/src/components/PluginIcon/index.js +14 -0
  5. package/dist/admin/src/components/SubNavigation/index.d.ts +4 -0
  6. package/dist/admin/src/components/SubNavigation/index.js +40 -0
  7. package/dist/admin/src/index.d.ts +8 -0
  8. package/dist/admin/src/index.js +92 -0
  9. package/dist/admin/src/pages/App/index.d.ts +9 -0
  10. package/dist/admin/src/pages/App/index.js +29 -0
  11. package/dist/admin/src/pages/ConfigureCollection/index.d.ts +3 -0
  12. package/dist/admin/src/pages/ConfigureCollection/index.js +193 -0
  13. package/dist/admin/src/pages/ConfigureCollectionList/index.d.ts +3 -0
  14. package/dist/admin/src/pages/ConfigureCollectionList/index.js +228 -0
  15. package/dist/admin/src/pages/Homepage/index.d.ts +3 -0
  16. package/dist/admin/src/pages/Homepage/index.js +155 -0
  17. package/dist/admin/src/pages/ViewIndexingRunLog/index.d.ts +3 -0
  18. package/dist/admin/src/pages/ViewIndexingRunLog/index.js +125 -0
  19. package/dist/admin/src/pluginId.d.ts +2 -0
  20. package/dist/admin/src/pluginId.js +8 -0
  21. package/dist/admin/src/utils/apiUrls.d.ts +10 -0
  22. package/dist/admin/src/utils/apiUrls.js +20 -0
  23. package/dist/admin/src/utils/axiosInstance.d.ts +5 -0
  24. package/dist/admin/src/utils/axiosInstance.js +33 -0
  25. package/dist/admin/src/utils/getTrad.d.ts +2 -0
  26. package/dist/admin/src/utils/getTrad.js +8 -0
  27. package/dist/server/bootstrap.js +125 -0
  28. package/dist/server/config/index.d.ts +0 -0
  29. package/dist/server/config/index.js +5 -0
  30. package/dist/server/content-types/index.d.ts +2 -0
  31. package/{server → dist/server}/content-types/index.js +7 -9
  32. package/dist/server/content-types/indexing-logs.d.ts +0 -0
  33. package/dist/server/content-types/indexing-logs.js +35 -0
  34. package/dist/server/content-types/name-prefix.d.ts +0 -0
  35. package/dist/server/content-types/name-prefix.js +1 -0
  36. package/dist/server/content-types/tasks.d.ts +0 -0
  37. package/dist/server/content-types/tasks.js +52 -0
  38. package/dist/server/controllers/configure-indexing.d.ts +0 -0
  39. package/dist/server/controllers/configure-indexing.js +58 -0
  40. package/dist/server/controllers/index.d.ts +5 -0
  41. package/{server → dist/server}/controllers/index.js +13 -15
  42. package/dist/server/controllers/log-indexing.d.ts +0 -0
  43. package/{server → dist/server}/controllers/log-indexing.js +10 -11
  44. package/dist/server/controllers/perform-indexing.d.ts +0 -0
  45. package/{server → dist/server}/controllers/perform-indexing.js +22 -28
  46. package/dist/server/controllers/perform-search.d.ts +1 -0
  47. package/dist/server/controllers/perform-search.js +29 -0
  48. package/dist/server/controllers/setup-info.d.ts +0 -0
  49. package/{server → dist/server}/controllers/setup-info.js +10 -14
  50. package/dist/server/destroy.d.ts +0 -0
  51. package/{server → dist/server}/destroy.js +4 -5
  52. package/dist/server/index.d.ts +10 -0
  53. package/{server → dist/server}/index.js +23 -25
  54. package/dist/server/middlewares/index.d.ts +0 -0
  55. package/{server → dist/server}/middlewares/index.js +2 -3
  56. package/dist/server/policies/index.d.ts +0 -0
  57. package/{server → dist/server}/policies/index.js +2 -3
  58. package/dist/server/register.d.ts +0 -0
  59. package/{server → dist/server}/register.js +4 -5
  60. package/dist/server/routes/configure-indexing.d.ts +0 -0
  61. package/dist/server/routes/configure-indexing.js +43 -0
  62. package/dist/server/routes/index.d.ts +5 -0
  63. package/{server → dist/server}/routes/index.js +13 -13
  64. package/dist/server/routes/perform-indexing.d.ts +0 -0
  65. package/dist/server/routes/perform-indexing.js +25 -0
  66. package/dist/server/routes/perform-search.d.ts +0 -0
  67. package/dist/server/routes/perform-search.js +15 -0
  68. package/dist/server/routes/run-log.d.ts +0 -0
  69. package/dist/server/routes/run-log.js +13 -0
  70. package/dist/server/routes/setup-info.d.ts +0 -0
  71. package/dist/server/routes/setup-info.js +13 -0
  72. package/dist/server/services/configure-indexing.d.ts +24 -0
  73. package/dist/server/services/configure-indexing.js +161 -0
  74. package/dist/server/services/es-interface.d.ts +4 -0
  75. package/dist/server/services/es-interface.js +161 -0
  76. package/dist/server/services/helper.d.ts +34 -0
  77. package/{server → dist/server}/services/helper.js +269 -305
  78. package/dist/server/services/index.d.ts +7 -0
  79. package/{server → dist/server}/services/index.js +17 -21
  80. package/dist/server/services/log-indexing.d.ts +0 -0
  81. package/{server → dist/server}/services/log-indexing.js +27 -26
  82. package/dist/server/services/perform-indexing.d.ts +0 -0
  83. package/{server → dist/server}/services/perform-indexing.js +147 -173
  84. package/dist/server/services/schedule-indexing.d.ts +0 -0
  85. package/{server → dist/server}/services/schedule-indexing.js +61 -65
  86. package/dist/server/services/transform-content.d.ts +2 -0
  87. package/{server → dist/server}/services/transform-content.js +21 -22
  88. package/dist/strapi-admin.d.ts +0 -0
  89. package/{strapi-admin.js → dist/strapi-admin.js} +2 -3
  90. package/dist/strapi-server.d.ts +0 -0
  91. package/{strapi-server.js → dist/strapi-server.js} +2 -3
  92. package/package.json +24 -3
  93. package/.prettierrc +0 -7
  94. package/.vscode/settings.json +0 -24
  95. package/admin/src/components/Initializer/index.js +0 -26
  96. package/admin/src/components/PluginIcon/index.js +0 -12
  97. package/admin/src/components/SubNavigation/index.js +0 -48
  98. package/admin/src/index.js +0 -63
  99. package/admin/src/pages/App/index.js +0 -29
  100. package/admin/src/pages/ConfigureCollection/index.js +0 -225
  101. package/admin/src/pages/ConfigureCollectionList/index.js +0 -266
  102. package/admin/src/pages/Homepage/index.js +0 -168
  103. package/admin/src/pages/ViewIndexingRunLog/index.js +0 -124
  104. package/admin/src/pluginId.js +0 -5
  105. package/admin/src/translations/en.json +0 -1
  106. package/admin/src/translations/fr.json +0 -1
  107. package/admin/src/utils/apiUrls.js +0 -14
  108. package/admin/src/utils/axiosInstance.js +0 -40
  109. package/admin/src/utils/getTrad.js +0 -5
  110. package/server/bootstrap.js +0 -142
  111. package/server/config/index.js +0 -6
  112. package/server/content-types/indexing-logs.js +0 -35
  113. package/server/content-types/tasks.js +0 -52
  114. package/server/controllers/configure-indexing.js +0 -66
  115. package/server/controllers/perform-search.js +0 -31
  116. package/server/routes/configure-indexing.js +0 -42
  117. package/server/routes/perform-indexing.js +0 -24
  118. package/server/routes/perform-search.js +0 -14
  119. package/server/routes/run-log.js +0 -12
  120. package/server/routes/setup-info.js +0 -12
  121. package/server/services/configure-indexing.js +0 -184
  122. package/server/services/es-interface.js +0 -187
  123. package/server/services/virtual-collections-registry.js +0 -346
  124. /package/{server/content-types/name-prefix.js → dist/server/bootstrap.d.ts} +0 -0
File without changes
@@ -1,26 +1,27 @@
1
- module.exports = ({ strapi }) => ({
2
- async recordIndexingPass(message) {
3
- const entry = await strapi.entityService.create('plugin::elasticsearch.indexing-log', {
4
- data : {
5
- status: 'pass',
6
- details: message
7
- }
8
- });
9
- },
10
- async recordIndexingFail(message) {
11
- const entry = await strapi.entityService.create('plugin::elasticsearch.indexing-log', {
12
- data : {
13
- status: 'fail',
14
- details: String(message)
15
- }
16
- });
17
- },
18
- async fetchIndexingLogs(count = 50) {
19
- const records = await strapi.entityService.findMany('plugin::elasticsearch.indexing-log', {
20
- sort: { createdAt: 'DESC' },
21
- start: 0,
22
- limit: count
23
- });
24
- return records;
25
- }
26
- });
1
+ "use strict";
2
+ module.exports = ({ strapi }) => ({
3
+ async recordIndexingPass(message) {
4
+ const entry = await strapi.entityService.create('plugin::elasticsearch.indexing-log', {
5
+ data: {
6
+ status: 'pass',
7
+ details: message
8
+ }
9
+ });
10
+ },
11
+ async recordIndexingFail(message) {
12
+ const entry = await strapi.entityService.create('plugin::elasticsearch.indexing-log', {
13
+ data: {
14
+ status: 'fail',
15
+ details: String(message)
16
+ }
17
+ });
18
+ },
19
+ async fetchIndexingLogs(count = 50) {
20
+ const records = await strapi.entityService.findMany('plugin::elasticsearch.indexing-log', {
21
+ sort: { createdAt: 'DESC' },
22
+ start: 0,
23
+ limit: count
24
+ });
25
+ return records;
26
+ }
27
+ });
File without changes
@@ -1,173 +1,147 @@
1
-
2
- module.exports = ({ strapi }) => ({
3
-
4
- async rebuildIndex() {
5
- const helper = strapi.plugins['elasticsearch'].services.helper;
6
- const esInterface = strapi.plugins['elasticsearch'].services.esInterface;
7
- const scheduleIndexingService = strapi.plugins['elasticsearch'].services.scheduleIndexing;
8
- const configureIndexingService = strapi.plugins['elasticsearch'].services.configureIndexing;
9
- const logIndexingService = strapi.plugins['elasticsearch'].services.logIndexing;
10
-
11
- try
12
- {
13
- console.log('strapi-plugin-elasticsearch : Request to rebuild the index received.')
14
- const oldIndexName = await helper.getCurrentIndexName();
15
- console.log('strapi-plugin-elasticsearch : Recording the previous index name : ', oldIndexName);
16
-
17
- //Step 1 : Create a new index
18
- const newIndexName = await helper.getIncrementedIndexName();
19
- await esInterface.createIndex(newIndexName);
20
- console.log('strapi-plugin-elasticsearch : Created new index with name : ', newIndexName);
21
-
22
-
23
- //Step 2 : Index all the stuff on this new index
24
- console.log('strapi-plugin-elasticsearch : Starting to index all data into the new index.');
25
- const item = await scheduleIndexingService.addFullSiteIndexingTask();
26
-
27
- if (item.id)
28
- {
29
- const cols = await configureIndexingService.getCollectionsConfiguredForIndexing();
30
- for (let r=0; r< cols.length; r++)
31
- await this.indexCollection(cols[r], newIndexName);
32
-
33
- await scheduleIndexingService.markIndexingTaskComplete(item.id);
34
-
35
- console.log('strapi-plugin-elasticsearch : Indexing of data into the new index complete.');
36
- //Step 4 : Move the alias to this new index
37
- await esInterface.attachAliasToIndex(newIndexName);;
38
- console.log('strapi-plugin-elasticsearch : Attaching the newly created index to the alias.')
39
- //Step 3 : Update the search-indexing-name
40
- await helper.storeCurrentIndexName(newIndexName);
41
-
42
- console.log('strapi-plugin-elasticsearch : Deleting the previous index : ', oldIndexName);
43
- //Step 5 : Delete the previous index
44
- await esInterface.deleteIndex(oldIndexName)
45
- await logIndexingService.recordIndexingPass('Request to immediately re-index site-wide content completed successfully.');
46
-
47
- return true;
48
- }
49
- else
50
- {
51
- await logIndexingService.recordIndexingFail('An error was encountered while trying site-wide re-indexing of content.');
52
- return false;
53
- }
54
- }
55
- catch(err)
56
- {
57
- console.log('strapi-plugin-elasticsearch : searchController : An error was encountered while re-indexing.')
58
- console.log(err);
59
- await logIndexingService.recordIndexingFail(err);
60
- }
61
- },
62
- async indexCollection(collectionName, indexName = null) {
63
- const helper = strapi.plugins['elasticsearch'].services.helper;
64
- const populateAttrib = helper.getPopulateAttribute({collectionName});
65
- const isCollectionDraftPublish = helper.isCollectionDraftPublish({collectionName});
66
- const configureIndexingService = strapi.plugins['elasticsearch'].services.configureIndexing;
67
- const esInterface = strapi.plugins['elasticsearch'].services.esInterface;
68
- if (indexName === null)
69
- indexName = await helper.getCurrentIndexName();
70
- let entries = [];
71
- if (isCollectionDraftPublish)
72
- {
73
- entries = await strapi.entityService.findMany(collectionName, {
74
- sort: { createdAt: 'DESC' },
75
- populate: populateAttrib['populate'],
76
- filters: {
77
- publishedAt: {
78
- $notNull: true
79
- }
80
- }
81
- });
82
- }
83
- else
84
- {
85
- entries = await strapi.entityService.findMany(collectionName, {
86
- sort: { createdAt: 'DESC' },
87
- populate: populateAttrib['populate'],
88
- });
89
- }
90
- if (entries)
91
- {
92
- for (let s=0; s<entries.length; s++)
93
- {
94
- const item = entries[s];
95
- const indexItemId = helper.getIndexItemId({collectionName: collectionName, itemId: item.id});
96
- const collectionConfig = await configureIndexingService.getCollectionConfig({collectionName})
97
- const dataToIndex = await helper.extractDataToIndex({
98
- collectionName, data: item, collectionConfig
99
- });
100
- await esInterface.indexDataToSpecificIndex({itemId : indexItemId, itemData: dataToIndex}, indexName);
101
- }
102
- }
103
- return true;
104
- },
105
- async indexPendingData() {
106
- const scheduleIndexingService = strapi.plugins['elasticsearch'].services.scheduleIndexing;
107
- const configureIndexingService = strapi.plugins['elasticsearch'].services.configureIndexing;
108
- const logIndexingService = strapi.plugins['elasticsearch'].services.logIndexing;
109
- const esInterface = strapi.plugins['elasticsearch'].services.esInterface;
110
- const helper = strapi.plugins['elasticsearch'].services.helper;
111
- const recs = await scheduleIndexingService.getItemsPendingToBeIndexed();
112
- const fullSiteIndexing = recs.filter(r => r.full_site_indexing === true).length > 0
113
- if (fullSiteIndexing)
114
- {
115
- await this.rebuildIndex();
116
- for (let r=0; r< recs.length; r++)
117
- await scheduleIndexingService.markIndexingTaskComplete(recs[r].id);
118
- }
119
- else
120
- {
121
- try
122
- {
123
- for (let r=0; r< recs.length; r++)
124
- {
125
- const col = recs[r].collection_name;
126
- if (configureIndexingService.isCollectionConfiguredToBeIndexed(col))
127
- {
128
- //Indexing the individual item
129
- if (recs[r].item_id)
130
- {
131
- if (recs[r].indexing_type !== 'remove-from-index')
132
- {
133
- const populateAttrib = helper.getPopulateAttribute({collectionName: col});
134
- const item = await strapi.entityService.findOne(col, recs[r].item_id, {
135
- populate: populateAttrib['populate']
136
- });
137
- const indexItemId = helper.getIndexItemId({collectionName: col, itemId: item.id});
138
- const collectionConfig = await configureIndexingService.getCollectionConfig({collectionName: col})
139
- const dataToIndex = await helper.extractDataToIndex({
140
- collectionName: col, data: item, collectionConfig
141
- });
142
- await esInterface.indexData({itemId : indexItemId, itemData: dataToIndex});
143
- await scheduleIndexingService.markIndexingTaskComplete(recs[r].id);
144
- }
145
- else
146
- {
147
- const indexItemId = helper.getIndexItemId({collectionName: col, itemId: recs[r].item_id})
148
- await esInterface.removeItemFromIndex({itemId : indexItemId});
149
- await scheduleIndexingService.markIndexingTaskComplete(recs[r].id);
150
- }
151
- }
152
- else //index the entire collection
153
- {
154
- //PENDING : Index an entire collection
155
- await this.indexCollection(col);
156
- await scheduleIndexingService.markIndexingTaskComplete(recs[r].id);
157
- }
158
- }
159
- else
160
- await scheduleIndexingService.markIndexingTaskComplete(recs[r].id);
161
- }
162
- await logIndexingService.recordIndexingPass('Indexing of ' + String(recs.length) + ' records complete.');
163
- }
164
- catch(err)
165
- {
166
- await logIndexingService.recordIndexingFail('Indexing of records failed - ' + ' ' + String(err));
167
- console.log(err);
168
- return false;
169
- }
170
- }
171
- return true;
172
- },
173
- });
1
+ "use strict";
2
+ module.exports = ({ strapi }) => ({
3
+ async rebuildIndex() {
4
+ const helper = strapi.plugins['elasticsearch'].services.helper;
5
+ const esInterface = strapi.plugins['elasticsearch'].services.esInterface;
6
+ const scheduleIndexingService = strapi.plugins['elasticsearch'].services.scheduleIndexing;
7
+ const configureIndexingService = strapi.plugins['elasticsearch'].services.configureIndexing;
8
+ const logIndexingService = strapi.plugins['elasticsearch'].services.logIndexing;
9
+ try {
10
+ console.log('strapi-plugin-elasticsearch : Request to rebuild the index received.');
11
+ const oldIndexName = await helper.getCurrentIndexName();
12
+ console.log('strapi-plugin-elasticsearch : Recording the previous index name : ', oldIndexName);
13
+ //Step 1 : Create a new index
14
+ const newIndexName = await helper.getIncrementedIndexName();
15
+ await esInterface.createIndex(newIndexName);
16
+ console.log('strapi-plugin-elasticsearch : Created new index with name : ', newIndexName);
17
+ //Step 2 : Index all the stuff on this new index
18
+ console.log('strapi-plugin-elasticsearch : Starting to index all data into the new index.');
19
+ const item = await scheduleIndexingService.addFullSiteIndexingTask();
20
+ if (item.id) {
21
+ const cols = await configureIndexingService.getCollectionsConfiguredForIndexing();
22
+ for (let r = 0; r < cols.length; r++)
23
+ await this.indexCollection(cols[r], newIndexName);
24
+ await scheduleIndexingService.markIndexingTaskComplete(item.id);
25
+ console.log('strapi-plugin-elasticsearch : Indexing of data into the new index complete.');
26
+ //Step 4 : Move the alias to this new index
27
+ await esInterface.attachAliasToIndex(newIndexName);
28
+ ;
29
+ console.log('strapi-plugin-elasticsearch : Attaching the newly created index to the alias.');
30
+ //Step 3 : Update the search-indexing-name
31
+ await helper.storeCurrentIndexName(newIndexName);
32
+ console.log('strapi-plugin-elasticsearch : Deleting the previous index : ', oldIndexName);
33
+ //Step 5 : Delete the previous index
34
+ await esInterface.deleteIndex(oldIndexName);
35
+ await logIndexingService.recordIndexingPass('Request to immediately re-index site-wide content completed successfully.');
36
+ return true;
37
+ }
38
+ else {
39
+ await logIndexingService.recordIndexingFail('An error was encountered while trying site-wide re-indexing of content.');
40
+ return false;
41
+ }
42
+ }
43
+ catch (err) {
44
+ console.log('strapi-plugin-elasticsearch : searchController : An error was encountered while re-indexing.');
45
+ console.log(err);
46
+ await logIndexingService.recordIndexingFail(err);
47
+ }
48
+ },
49
+ async indexCollection(collectionName, indexName = null) {
50
+ const helper = strapi.plugins['elasticsearch'].services.helper;
51
+ const populateAttrib = helper.getPopulateAttribute({ collectionName });
52
+ const isCollectionDraftPublish = helper.isCollectionDraftPublish({ collectionName });
53
+ const configureIndexingService = strapi.plugins['elasticsearch'].services.configureIndexing;
54
+ const esInterface = strapi.plugins['elasticsearch'].services.esInterface;
55
+ if (indexName === null)
56
+ indexName = await helper.getCurrentIndexName();
57
+ let entries = [];
58
+ if (isCollectionDraftPublish) {
59
+ entries = await strapi.entityService.findMany(collectionName, {
60
+ sort: { createdAt: 'DESC' },
61
+ populate: populateAttrib['populate'],
62
+ filters: {
63
+ publishedAt: {
64
+ $notNull: true
65
+ }
66
+ }
67
+ });
68
+ }
69
+ else {
70
+ entries = await strapi.entityService.findMany(collectionName, {
71
+ sort: { createdAt: 'DESC' },
72
+ populate: populateAttrib['populate'],
73
+ });
74
+ }
75
+ if (entries) {
76
+ for (let s = 0; s < entries.length; s++) {
77
+ const item = entries[s];
78
+ const indexItemId = helper.getIndexItemId({ collectionName: collectionName, itemId: item.id });
79
+ const collectionConfig = await configureIndexingService.getCollectionConfig({ collectionName });
80
+ const dataToIndex = await helper.extractDataToIndex({
81
+ collectionName, data: item, collectionConfig
82
+ });
83
+ await esInterface.indexDataToSpecificIndex({ itemId: indexItemId, itemData: dataToIndex }, indexName);
84
+ }
85
+ }
86
+ return true;
87
+ },
88
+ async indexPendingData() {
89
+ const scheduleIndexingService = strapi.plugins['elasticsearch'].services.scheduleIndexing;
90
+ const configureIndexingService = strapi.plugins['elasticsearch'].services.configureIndexing;
91
+ const logIndexingService = strapi.plugins['elasticsearch'].services.logIndexing;
92
+ const esInterface = strapi.plugins['elasticsearch'].services.esInterface;
93
+ const helper = strapi.plugins['elasticsearch'].services.helper;
94
+ const recs = await scheduleIndexingService.getItemsPendingToBeIndexed();
95
+ const fullSiteIndexing = recs.filter(r => r.full_site_indexing === true).length > 0;
96
+ if (fullSiteIndexing) {
97
+ await this.rebuildIndex();
98
+ for (let r = 0; r < recs.length; r++)
99
+ await scheduleIndexingService.markIndexingTaskComplete(recs[r].id);
100
+ }
101
+ else {
102
+ try {
103
+ for (let r = 0; r < recs.length; r++) {
104
+ const col = recs[r].collection_name;
105
+ if (configureIndexingService.isCollectionConfiguredToBeIndexed(col)) {
106
+ //Indexing the individual item
107
+ if (recs[r].item_id) {
108
+ if (recs[r].indexing_type !== 'remove-from-index') {
109
+ const populateAttrib = helper.getPopulateAttribute({ collectionName: col });
110
+ const item = await strapi.entityService.findOne(col, recs[r].item_id, {
111
+ populate: populateAttrib['populate']
112
+ });
113
+ const indexItemId = helper.getIndexItemId({ collectionName: col, itemId: item.id });
114
+ const collectionConfig = await configureIndexingService.getCollectionConfig({ collectionName: col });
115
+ const dataToIndex = await helper.extractDataToIndex({
116
+ collectionName: col, data: item, collectionConfig
117
+ });
118
+ await esInterface.indexData({ itemId: indexItemId, itemData: dataToIndex });
119
+ await scheduleIndexingService.markIndexingTaskComplete(recs[r].id);
120
+ }
121
+ else {
122
+ const indexItemId = helper.getIndexItemId({ collectionName: col, itemId: recs[r].item_id });
123
+ await esInterface.removeItemFromIndex({ itemId: indexItemId });
124
+ await scheduleIndexingService.markIndexingTaskComplete(recs[r].id);
125
+ }
126
+ }
127
+ else //index the entire collection
128
+ {
129
+ //PENDING : Index an entire collection
130
+ await this.indexCollection(col);
131
+ await scheduleIndexingService.markIndexingTaskComplete(recs[r].id);
132
+ }
133
+ }
134
+ else
135
+ await scheduleIndexingService.markIndexingTaskComplete(recs[r].id);
136
+ }
137
+ await logIndexingService.recordIndexingPass('Indexing of ' + String(recs.length) + ' records complete.');
138
+ }
139
+ catch (err) {
140
+ await logIndexingService.recordIndexingFail('Indexing of records failed - ' + ' ' + String(err));
141
+ console.log(err);
142
+ return false;
143
+ }
144
+ }
145
+ return true;
146
+ },
147
+ });
File without changes
@@ -1,65 +1,61 @@
1
-
2
-
3
- module.exports = ({ strapi }) => ({
4
- async addFullSiteIndexingTask () {
5
- const data = await strapi.entityService.create('plugin::elasticsearch.task', {
6
- data : {
7
- collection_name: '',
8
- indexing_status: 'to-be-done',
9
- full_site_indexing: true,
10
- indexing_type: "add-to-index"
11
- }
12
- });
13
- return data;
14
- },
15
- async addCollectionToIndex({collectionUid}) {
16
- const data = await strapi.entityService.create('plugin::elasticsearch.task', {
17
- data : {
18
- collection_name: collectionUid,
19
- indexing_status: 'to-be-done',
20
- full_site_indexing: false,
21
- indexing_type: "add-to-index"
22
- }
23
- });
24
- return data;
25
- },
26
- async addItemToIndex({collectionUid, recordId}) {
27
- const data = await strapi.entityService.create('plugin::elasticsearch.task', {
28
- data : {
29
- item_id: recordId,
30
- collection_name: collectionUid,
31
- indexing_status: 'to-be-done',
32
- full_site_indexing: false,
33
- indexing_type: "add-to-index"
34
- }
35
- });
36
- return data;
37
- },
38
- async removeItemFromIndex({collectionUid, recordId}) {
39
- const data = await strapi.entityService.create('plugin::elasticsearch.task', {
40
- data : {
41
- item_id: recordId,
42
- collection_name: collectionUid,
43
- indexing_status: 'to-be-done',
44
- full_site_indexing: false,
45
- indexing_type: "remove-from-index"
46
- }
47
- });
48
- },
49
- async getItemsPendingToBeIndexed(){
50
- const entries = await strapi.entityService.findMany('plugin::elasticsearch.task', {
51
- filters: { indexing_status : 'to-be-done'},
52
- });
53
- return entries;
54
- },
55
- async markIndexingTaskComplete (recId) {
56
- const entries = await strapi.entityService.update('plugin::elasticsearch.task', recId, {
57
- data : {
58
- 'indexing_status' : 'done'
59
- }
60
- });
61
- }
62
-
63
-
64
-
65
- });
1
+ "use strict";
2
+ module.exports = ({ strapi }) => ({
3
+ async addFullSiteIndexingTask() {
4
+ const data = await strapi.entityService.create('plugin::elasticsearch.task', {
5
+ data: {
6
+ collection_name: '',
7
+ indexing_status: 'to-be-done',
8
+ full_site_indexing: true,
9
+ indexing_type: "add-to-index"
10
+ }
11
+ });
12
+ return data;
13
+ },
14
+ async addCollectionToIndex({ collectionUid }) {
15
+ const data = await strapi.entityService.create('plugin::elasticsearch.task', {
16
+ data: {
17
+ collection_name: collectionUid,
18
+ indexing_status: 'to-be-done',
19
+ full_site_indexing: false,
20
+ indexing_type: "add-to-index"
21
+ }
22
+ });
23
+ return data;
24
+ },
25
+ async addItemToIndex({ collectionUid, recordId }) {
26
+ const data = await strapi.entityService.create('plugin::elasticsearch.task', {
27
+ data: {
28
+ item_id: recordId,
29
+ collection_name: collectionUid,
30
+ indexing_status: 'to-be-done',
31
+ full_site_indexing: false,
32
+ indexing_type: "add-to-index"
33
+ }
34
+ });
35
+ return data;
36
+ },
37
+ async removeItemFromIndex({ collectionUid, recordId }) {
38
+ const data = await strapi.entityService.create('plugin::elasticsearch.task', {
39
+ data: {
40
+ item_id: recordId,
41
+ collection_name: collectionUid,
42
+ indexing_status: 'to-be-done',
43
+ full_site_indexing: false,
44
+ indexing_type: "remove-from-index"
45
+ }
46
+ });
47
+ },
48
+ async getItemsPendingToBeIndexed() {
49
+ const entries = await strapi.entityService.findMany('plugin::elasticsearch.task', {
50
+ filters: { indexing_status: 'to-be-done' },
51
+ });
52
+ return entries;
53
+ },
54
+ async markIndexingTaskComplete(recId) {
55
+ const entries = await strapi.entityService.update('plugin::elasticsearch.task', recId, {
56
+ data: {
57
+ 'indexing_status': 'done'
58
+ }
59
+ });
60
+ }
61
+ });
@@ -0,0 +1,2 @@
1
+ declare const markdownToTxt: any;
2
+ declare function transformMarkdownToText(md: any): any;
@@ -1,22 +1,21 @@
1
- const { markdownToTxt } = require('markdown-to-txt');
2
-
3
- function transformMarkdownToText(md) {
4
- let text = md;
5
- try {
6
- text = markdownToTxt(md);
7
- }
8
- catch(err) {
9
- console.error('strapi-plugin-elasticsearch : Error while transforming markdown to text.');
10
- console.error(err);
11
- }
12
- return text;
13
- }
14
-
15
- module.exports = {
16
- transform({content, from}) {
17
- if (from === 'markdown')
18
- return transformMarkdownToText(content);
19
- else
20
- return from;
21
- },
22
- };
1
+ "use strict";
2
+ const { markdownToTxt } = require('markdown-to-txt');
3
+ function transformMarkdownToText(md) {
4
+ let text = md;
5
+ try {
6
+ text = markdownToTxt(md);
7
+ }
8
+ catch (err) {
9
+ console.error('strapi-plugin-elasticsearch : Error while transforming markdown to text.');
10
+ console.error(err);
11
+ }
12
+ return text;
13
+ }
14
+ module.exports = {
15
+ transform({ content, from }) {
16
+ if (from === 'markdown')
17
+ return transformMarkdownToText(content);
18
+ else
19
+ return from;
20
+ },
21
+ };
File without changes
@@ -1,3 +1,2 @@
1
- 'use strict';
2
-
3
- module.exports = require('./admin/src').default;
1
+ 'use strict';
2
+ module.exports = require('./admin/src').default;
File without changes
@@ -1,3 +1,2 @@
1
- 'use strict';
2
-
3
- module.exports = require('./server');
1
+ 'use strict';
2
+ module.exports = require('./server');