Skip to content

Commit bed1191

Browse files
Kalmar99Jonas Kalmar Rønningmillotp
authored
feat(specs): add support for widgets / banners in search for the csharp client (#3870)
Co-authored-by: Jonas Kalmar Rønning <[email protected]> Co-authored-by: Pierre Millot <[email protected]>
1 parent d899340 commit bed1191

File tree

7 files changed

+90
-13
lines changed

7 files changed

+90
-13
lines changed

.github/workflows/check.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,6 @@ jobs:
531531
- uses: actions/checkout@v4
532532
with:
533533
fetch-depth: 0
534-
ref: ${{ github.event.pull_request.head.ref }}
535534
token: ${{ secrets.ALGOLIA_BOT_TOKEN != '' && secrets.ALGOLIA_BOT_TOKEN || secrets.GITHUB_TOKEN }}
536535

537536
- name: Download all artifacts
@@ -571,12 +570,17 @@ jobs:
571570
} >> "$GITHUB_OUTPUT"
572571
rm -rf tests/output/**/benchmarkResult.json
573572
573+
- name: Extract branch name
574+
id: extract_branch
575+
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
576+
574577
- name: Push generated code
575578
id: pushGeneratedCode
576579
run: yarn workspace scripts pushGeneratedCode
577580
env:
578581
GITHUB_TOKEN: ${{ secrets.ALGOLIA_BOT_TOKEN != '' && secrets.ALGOLIA_BOT_TOKEN || secrets.GITHUB_TOKEN }}
579582
PR_NUMBER: ${{ github.event.number }}
583+
BRANCH_NAME: ${{ steps.extract_branch.outputs.branch }}
580584

581585
- name: update generation comment
582586
uses: marocchino/sticky-pull-request-comment@v2
@@ -663,8 +667,9 @@ jobs:
663667
- uses: actions/checkout@v4
664668
with:
665669
fetch-depth: 0
666-
ref: ${{ github.event.pull_request.head.ref }}
670+
ref: ${{ needs.codegen.outputs.generatedCommit }}
667671
token: ${{ secrets.ALGOLIA_BOT_TOKEN }}
672+
repository: ${{ github.event.pull_request.head.repo.full_name }}
668673

669674
- name: Setup
670675
uses: ./.github/actions/setup

clients/algoliasearch-client-csharp/algoliasearch/Models/Search/RenderingContent.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ public override bool Equals(object obj)
7171
}
7272

7373
return
74-
(FacetOrdering == input.FacetOrdering || (FacetOrdering != null && FacetOrdering.Equals(input.FacetOrdering))) &&
75-
(Redirect == input.Redirect || (Redirect != null && Redirect.Equals(input.Redirect)));
74+
(FacetOrdering == input.FacetOrdering || (FacetOrdering != null && FacetOrdering.Equals(input.FacetOrdering))) &&
75+
(Redirect == input.Redirect || (Redirect != null && Redirect.Equals(input.Redirect)));
7676
}
7777

7878
/// <summary>

generators/src/main/java/com/algolia/codegen/AlgoliaSwiftGenerator.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ public class AlgoliaSwiftGenerator extends Swift5ClientCodegen {
3838
"aroundradiusall",
3939
"automaticfacetfilter",
4040
"automaticfacetfilters",
41+
"banner",
42+
"bannerimage",
43+
"bannerimageurl",
44+
"bannerlink",
45+
"banners",
4146
"baseindexsettings",
4247
"basesearchparams",
4348
"basesearchparamswithoutquery",
@@ -109,7 +114,8 @@ public class AlgoliaSwiftGenerator extends Swift5ClientCodegen {
109114
"timerange",
110115
"typotolerance",
111116
"typotoleranceenum",
112-
"value"
117+
"value",
118+
"widgets"
113119
);
114120

115121
// This is used for the CTS generation

scripts/ci/codegen/pushGeneratedCode.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import text, { commitStartPrepareRelease } from './text.js';
88

99
async function isUpToDate(baseBranch: string): Promise<boolean> {
1010
await run('git fetch origin');
11-
return (await run(`git pull origin ${baseBranch}`)).includes('Already up to date.');
11+
return (await run(`git pull origin "${baseBranch}"`)).includes('Already up to date.');
1212
}
1313

1414
/**
@@ -19,7 +19,7 @@ export async function pushGeneratedCode(): Promise<void> {
1919

2020
await configureGitHubAuthor();
2121

22-
const baseBranch = await run('git branch --show-current');
22+
const baseBranch = process.env.BRANCH_NAME || (await run('git branch --show-current'));
2323
const isMainBranch = baseBranch === MAIN_BRANCH;
2424
const IS_RELEASE_COMMIT = (await run('git log -1 --format="%s"')).startsWith(commitStartPrepareRelease);
2525
console.log(`Checking codegen status on '${baseBranch}'.`);
@@ -41,10 +41,10 @@ export async function pushGeneratedCode(): Promise<void> {
4141
const branchToPush = isMainBranch ? baseBranch : `generated/${baseBranch}`;
4242

4343
if (!isMainBranch) {
44-
await run(`git push -d origin generated/${baseBranch} || true`);
44+
await run(`git push -d origin "generated/${baseBranch}" || true`);
4545

4646
console.log(`Creating branch for generated code: '${branchToPush}'`);
47-
await run(`git checkout -b ${branchToPush}`);
47+
await run(`git checkout -b "${branchToPush}"`);
4848
}
4949

5050
if (!(await isUpToDate(baseBranch))) {
@@ -55,9 +55,9 @@ export async function pushGeneratedCode(): Promise<void> {
5555
}
5656

5757
const skipCi = isMainBranch ? '[skip ci]' : '';
58-
let message = await run(`git show -s ${baseBranch} --format="%s ${text.commitEndMessage} ${skipCi}"`);
58+
let message = await run(`git show -s "${baseBranch}" --format="%s ${text.commitEndMessage} ${skipCi}"`);
5959
const authors = await run(
60-
`git show -s ${baseBranch} --format="
60+
`git show -s "${baseBranch}" --format="
6161
6262
Co-authored-by: %an <%ae>
6363
%(trailers:key=Co-authored-by)"`,
@@ -73,7 +73,7 @@ Co-authored-by: %an <%ae>
7373
console.log(`Pushing code to generated branch: '${branchToPush}'`);
7474
await run('git add .');
7575
await run(`git commit -m "${message}"`);
76-
await run(`git push origin ${branchToPush}`);
76+
await run(`git push origin "${branchToPush}"`);
7777

7878
setOutput('GENERATED_COMMIT', await run('git rev-parse HEAD'));
7979
}

scripts/ci/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export async function getNbGitDiff({
3030

3131
return parseInt(
3232
(
33-
await run(`git add -N . && git diff --shortstat ${branch}${checkHead} -- ${path} | wc -l`, {
33+
await run(`git add -N . && git diff --shortstat "${branch}${checkHead}" -- ${path} | wc -l`, {
3434
cwd,
3535
})
3636
).trim(),

specs/common/schemas/IndexSettings.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1001,6 +1001,8 @@ renderingContent:
10011001
$ref: '#/facetOrdering'
10021002
redirect:
10031003
$ref: '#/redirectURL'
1004+
widgets:
1005+
$ref: '#/widgets'
10041006
x-categories:
10051007
- Advanced
10061008

@@ -1022,6 +1024,58 @@ facetOrdering:
10221024
values:
10231025
$ref: '#/values'
10241026

1027+
widgets:
1028+
description: widgets returned from any rules that are applied to the current search.
1029+
type: object
1030+
additionalProperties: false
1031+
properties:
1032+
banners:
1033+
$ref: '#/banners'
1034+
1035+
banners:
1036+
description: banners defined in the merchandising studio for the given search.
1037+
type: array
1038+
additionalProperties: false
1039+
properties:
1040+
banners:
1041+
$ref: '#/banner'
1042+
1043+
banner:
1044+
description: a search banner with image and url.
1045+
type: object
1046+
additionalProperties: false
1047+
properties:
1048+
image:
1049+
$ref: '#/bannerImage'
1050+
link:
1051+
$ref: '#/bannerLink'
1052+
1053+
bannerLink:
1054+
description: link for a banner defined in merchandising studio.
1055+
type: object
1056+
additionalProperties: false
1057+
properties:
1058+
url:
1059+
type: string
1060+
1061+
bannerImage:
1062+
description: image of a search banner.
1063+
type: object
1064+
additionalProperties: false
1065+
properties:
1066+
urls:
1067+
$ref: '#/bannerImageUrl'
1068+
title:
1069+
type: string
1070+
1071+
bannerImageUrl:
1072+
description: url for a search banner image.
1073+
type: array
1074+
additionalProperties: false
1075+
properties:
1076+
url:
1077+
type: string
1078+
10251079
facets:
10261080
description: Order of facet names.
10271081
type: object

templates/javascript/clients/algoliasearch/builds/models.mustache

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ import type {
1313
AroundRadiusAll,
1414
AutomaticFacetFilter,
1515
AutomaticFacetFilters,
16+
Banner,
17+
BannerImage,
18+
BannerImageUrl,
19+
BannerLink,
20+
Banners,
1621
BaseIndexSettings,
1722
BaseSearchParams,
1823
BaseSearchParamsWithoutQuery,
@@ -79,6 +84,7 @@ import type {
7984
TypoTolerance,
8085
TypoToleranceEnum,
8186
Value,
87+
Widgets,
8288
} from '@algolia/client-search';
8389
import { apiClientVersion } from '@algolia/client-search';
8490
import type { RecommendClient } from '@algolia/recommend';
@@ -103,6 +109,11 @@ export {
103109
AroundRadiusAll,
104110
AutomaticFacetFilter,
105111
AutomaticFacetFilters,
112+
Banner,
113+
BannerImage,
114+
BannerImageUrl,
115+
BannerLink,
116+
Banners,
106117
BaseIndexSettings,
107118
BaseSearchParams,
108119
BaseSearchParamsWithoutQuery,
@@ -170,6 +181,7 @@ export {
170181
TypoTolerance,
171182
TypoToleranceEnum,
172183
Value,
184+
Widgets,
173185
};
174186

175187
/**

0 commit comments

Comments
 (0)