Skip to content

Commit d6821ee

Browse files
committed
fix(deploy): include the index config in the changes
1 parent 13df98d commit d6821ee

File tree

4 files changed

+28
-8
lines changed

4 files changed

+28
-8
lines changed

packages/deploy/src/clusterChanges/applyCouchbaseClusterChanges.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -637,13 +637,15 @@ async function applyUpsertSearchIndex(
637637
scopeName: change.scope,
638638
});
639639

640-
if (change.type === 'updateSearchIndex') {
641-
const searchIndex = await cluster
642-
.bucket(change.bucket)
643-
.scope(change.scope)
644-
.searchIndexes()
645-
.getIndex(change.name);
640+
const searchIndexes = await cluster
641+
.bucket(change.bucket)
642+
.scope(change.scope)
643+
.searchIndexes()
644+
.getAllIndexes();
645+
646+
const searchIndex = searchIndexes.find((s) => s.name === change.name);
646647

648+
if (searchIndex) {
647649
config.uuid = searchIndex.uuid;
648650
config.sourceUUID = searchIndex.sourceUuid;
649651
}

packages/deploy/src/clusterChanges/getCouchbaseClusterChanges.spec.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,11 @@ describe('getCouchbaseClusterChanges', () => {
579579
bucket: 'bucket1',
580580
scope: 'scope1',
581581
configFn: searchIndexConfigFn1,
582+
config: searchIndexConfigFn1({
583+
sourceName: 'bucket1',
584+
bucketName: 'bucket1',
585+
scopeName: 'scope1',
586+
}),
582587
},
583588
]);
584589
});
@@ -628,6 +633,11 @@ describe('getCouchbaseClusterChanges', () => {
628633
bucket: 'bucket1',
629634
scope: 'scope1',
630635
configFn: searchIndexConfigFn2,
636+
config: searchIndexConfigFn2({
637+
sourceName: 'bucket1',
638+
bucketName: 'bucket1',
639+
scopeName: 'scope1',
640+
}),
631641
},
632642
]);
633643
});

packages/deploy/src/clusterChanges/getCouchbaseClusterChanges.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -720,6 +720,11 @@ function getNewSearchIndexes(
720720
bucket: bucketName,
721721
scope: scopeName,
722722
configFn: requestedIndexFn,
723+
config: requestedIndexFn({
724+
sourceName: bucketName,
725+
bucketName,
726+
scopeName,
727+
}),
723728
};
724729
});
725730
}
@@ -762,16 +767,17 @@ function getUpdatedSearchIndexes(
762767
invariant(currentIndexFn, 'Current index definition not found.');
763768
invariant(requestedIndexFn, 'Requested index definition not found.');
764769

765-
const indexHaveChanged =
770+
const indexHasChanged =
766771
JSON.stringify(currentIndexConfig) !== JSON.stringify(requestedIndexConfig);
767772

768-
if (indexHaveChanged) {
773+
if (indexHasChanged) {
769774
return {
770775
type: 'updateSearchIndex',
771776
name: b,
772777
bucket: bucketName,
773778
scope: scopeName,
774779
configFn: requestedIndexFn,
780+
config: requestedIndexConfig,
775781
} satisfies CouchbaseClusterChangeUpdateSearchIndex;
776782
}
777783
})

packages/deploy/src/clusterChanges/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ export type CouchbaseClusterChangeCreateSearchIndex = {
164164
*/
165165
name: string;
166166
configFn: CouchbaseClusterSearchIndexConfig;
167+
config: ReturnType<CouchbaseClusterSearchIndexConfig>;
167168
};
168169

169170
export type CouchbaseClusterChangeUpdateSearchIndex = {
@@ -175,6 +176,7 @@ export type CouchbaseClusterChangeUpdateSearchIndex = {
175176
*/
176177
name: string;
177178
configFn: CouchbaseClusterSearchIndexConfig;
179+
config: ReturnType<CouchbaseClusterSearchIndexConfig>;
178180
};
179181

180182
export type CouchbaseClusterChangeDropSearchIndex = {

0 commit comments

Comments
 (0)