Skip to content
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion clients/algoliasearch-client-javascript/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"packages/*"
],
"scripts": {
"build": "lerna run build --skip-nx-cache --scope '@algolia/requester-testing' --scope '@algolia/logger-console' --scope 'algoliasearch' --scope '@algolia/client-composition' --scope '@algolia/composition' --scope '@algolia/advanced-personalization' --include-dependencies ",
"build": "lerna run build --skip-nx-cache --scope '@algolia/requester-testing' --scope '@algolia/logger-console' --scope 'algoliasearch' --scope '@algolia/collections' --scope '@algolia/client-composition' --scope '@algolia/composition' --scope '@algolia/advanced-personalization' --include-dependencies ",
"clean": "lerna run clean",
"release:publish": "tsc --project scripts/tsconfig.json && node scripts/dist/publish.js",
"test": "lerna run test $*",
Expand Down
17 changes: 17 additions & 0 deletions clients/algoliasearch-client-javascript/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,23 @@ __metadata:
languageName: unknown
linkType: soft

"@algolia/collections@workspace:packages/collections":
version: 0.0.0-use.local
resolution: "@algolia/collections@workspace:packages/collections"
dependencies:
"@algolia/client-common": "npm:5.35.0"
"@algolia/requester-browser-xhr": "npm:5.35.0"
"@algolia/requester-fetch": "npm:5.35.0"
"@algolia/requester-node-http": "npm:5.35.0"
"@arethetypeswrong/cli": "npm:0.18.2"
"@types/node": "npm:22.17.0"
publint: "npm:0.3.12"
rollup: "npm:4.41.0"
tsup: "npm:8.5.0"
typescript: "npm:5.9.2"
languageName: unknown
linkType: soft

"@algolia/composition@workspace:packages/composition":
version: 0.0.0-use.local
resolution: "@algolia/composition@workspace:packages/composition"
Expand Down
19 changes: 19 additions & 0 deletions config/clients.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"abtesting",
"abtesting-v3",
"analytics",
"collections",
"composition",
"ingestion",
"insights",
Expand Down Expand Up @@ -39,6 +40,10 @@
"name": "abtesting-v3",
"output": "clients/algoliasearch-client-dart/packages/client_abtesting_v3"
},
{
"name": "collections",
"output": "clients/algoliasearch-client-dart/packages/client_collections"
},
{
"name": "composition",
"output": "clients/algoliasearch-client-dart/packages/client_composition"
Expand Down Expand Up @@ -76,6 +81,7 @@
"abtesting",
"abtesting-v3",
"analytics",
"collections",
"composition",
"ingestion",
"insights",
Expand Down Expand Up @@ -105,6 +111,7 @@
"abtesting",
"abtesting-v3",
"analytics",
"collections",
"composition",
"ingestion",
"insights",
Expand Down Expand Up @@ -153,6 +160,12 @@
"name": "analytics",
"output": "clients/algoliasearch-client-javascript/packages/client-analytics"
},
{
"name": "collections",
"output": "clients/algoliasearch-client-javascript/packages/collections",
"isStandaloneClient": true,
"clientName": "collections"
},
{
"name": "composition",
"output": "clients/algoliasearch-client-javascript/packages/composition",
Expand Down Expand Up @@ -218,6 +231,7 @@
"abtesting",
"abtesting-v3",
"analytics",
"collections",
"composition",
"ingestion",
"insights",
Expand Down Expand Up @@ -247,6 +261,7 @@
"abtesting",
"abtesting-v3",
"analytics",
"collections",
"composition",
"ingestion",
"insights",
Expand Down Expand Up @@ -276,6 +291,7 @@
"abtesting",
"abtesting-v3",
"analytics",
"collections",
"composition",
"ingestion",
"insights",
Expand Down Expand Up @@ -312,6 +328,7 @@
"abtesting",
"abtesting-v3",
"analytics",
"collections",
"composition",
"ingestion",
"insights",
Expand Down Expand Up @@ -341,6 +358,7 @@
"abtesting",
"abtesting-v3",
"analytics",
"collections",
"composition",
"ingestion",
"insights",
Expand Down Expand Up @@ -370,6 +388,7 @@
"abtesting",
"abtesting-v3",
"analytics",
"collections",
"composition",
"ingestion",
"insights",
Expand Down
2 changes: 2 additions & 0 deletions config/clients.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"abtesting",
"abtesting-v3",
"analytics",
"collections",
"composition",
"ingestion",
"insights",
Expand All @@ -38,6 +39,7 @@
"abtesting",
"abtesting-v3",
"analytics",
"collections",
"composition",
"composition-full",
"ingestion",
Expand Down
3 changes: 2 additions & 1 deletion config/generation.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,14 @@ export const patterns = [
// Dart
'!clients/algoliasearch-client-dart/**',
'clients/algoliasearch-client-dart/packages/*/pubspec.yaml',
'clients/algoliasearch-client-dart/packages/*/build.yaml',
'clients/algoliasearch-client-dart/packages/*/lib/*.dart',
'clients/algoliasearch-client-dart/packages/*/lib/src/*.dart',
'clients/algoliasearch-client-dart/packages/client_core/pubspec.yaml',
'clients/algoliasearch-client-dart/packages/*/lib/src/api/**',
'clients/algoliasearch-client-dart/packages/*/lib/src/model/**',
'!clients/algoliasearch-client-dart/packages/client_core/**',
'clients/algoliasearch-client-dart/packages/client_core/lib/src/version.dart',
'!clients/algoliasearch-client-dart/packages/*/lib/src/extension.dart',
'!clients/algoliasearch-client-dart/packages/algoliasearch/lib/algoliasearch.dart',

// GO
Expand Down Expand Up @@ -90,6 +90,7 @@ export const patterns = [

// PHP
'!clients/algoliasearch-client-php/**',
'clients/algoliasearch-client-php/lib/FormDataProcessor.php',
'clients/algoliasearch-client-php/lib/Api/*',
'clients/algoliasearch-client-php/lib/Model/**',
'!clients/algoliasearch-client-php/lib/Model/AbstractModel.php',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ public void processOpts() {
supportingFiles.removeIf(file -> file.getTemplateFile().contains("README"));

supportingFiles.add(new SupportingFile("version.mustache", srcFolder, "version.dart"));
supportingFiles.add(new SupportingFile("extension.mustache", srcFolder, "extension.dart"));
supportingFiles.add(new SupportingFile("LICENSE", "", "LICENSE"));
supportingFiles.add(new SupportingFile("LICENSE", "../client_core/", "LICENSE"));

Expand Down
24 changes: 24 additions & 0 deletions playground/javascript/node/collections.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { ApiError } from '@algolia/client-common';
import { collectionsClient } from '@algolia/collections';

const appId = process.env.ALGOLIA_APPLICATION_ID || '**** APP_ID *****';
const apiKey = process.env.ALGOLIA_ADMIN_KEY || '**** ADMIN_KEY *****';
const indexName = process.env.SEARCH_INDEX || '**** INDEX_NAME *****';

// Init client with appId and apiKey
const client = collectionsClient(appId, apiKey);

async function testCollections() {
try {
// list collections
console.log(await client.listCollections({ indexName }));
} catch (e) {
if (e instanceof ApiError) {
return console.log(`[${e.status}] ${e.message}`, e.stackTrace, e);

Check warning on line 17 in playground/javascript/node/collections.ts

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

playground/javascript/node/collections.ts#L17

Detected string concatenation with a non-literal variable in a util.format / console.log function.
}

console.log('[ERROR]', e);
}
}

testCollections();
1 change: 1 addition & 0 deletions playground/javascript/node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"@algolia/client-personalization": "link:../../../clients/algoliasearch-client-javascript/packages/client-personalization",
"@algolia/client-query-suggestions": "link:../../../clients/algoliasearch-client-javascript/packages/client-query-suggestions",
"@algolia/client-search": "link:../../../clients/algoliasearch-client-javascript/packages/client-search",
"@algolia/collections": "link:../../../clients/algoliasearch-client-javascript/packages/collections",
"@algolia/composition": "link:../../../clients/algoliasearch-client-javascript/packages/composition",
"@algolia/ingestion": "link:../../../clients/algoliasearch-client-javascript/packages/ingestion",
"@algolia/monitoring": "link:../../../clients/algoliasearch-client-javascript/packages/monitoring",
Expand Down
40 changes: 40 additions & 0 deletions specs/collections/common/parameters.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
indexName:
name: indexName
in: query
required: true
description: Name of the index.
schema:
type: string
example: ALGOLIA_INDEX_NAME

paginationLimit:
name: limit
in: query
description: Number of items to fetch.
required: false
schema:
$ref: './schemas/pagination.yml#/limit'

paginationOffset:
name: offset
in: query
description: Number of items to skip.
required: false
schema:
$ref: './schemas/pagination.yml#/offset'

pathCollectionID:
name: collectionID
in: path
required: true
description: Unique identifier of a collection.
schema:
$ref: './schemas/common.yml#/collectionID'

query:
name: query
in: query
required: false
description: Query to filter collections.
schema:
$ref: './schemas/common.yml#/query'
10 changes: 10 additions & 0 deletions specs/collections/common/responses/CollectionNotFound.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
description: Collection not found.
content:
application/json:
schema:
title: collectionNotFoundResponse
type: object
properties:
message:
type: string
example: 'Collection not found'
85 changes: 85 additions & 0 deletions specs/collections/common/schemas/collection.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
Collection:
type: object
properties:
id:
type: string
example: '5db3039e-04b5-4ed6-a00e-ba3304032c5a'
name:
type: string
example: 'Summer Deals'
indexName:
type: string
example: 'prod_products_EN'
createdAt:
type: string
# format: date-time
description: |
Date and time when the collection was created, in RFC 3339 format.
example: '2024-10-07T00:00:00Z'
updatedAt:
type: string
# format: date-time
description: |
Date and time when the collection was last updated, in RFC 3339 format.
example: '2024-10-07T00:00:00Z'
status:
$ref: '#/CollectionStatus'
conditions:
$ref: 'condition.yml#/Conditions'
records:
type: array
items:
type: string

CollectionStatus:
type: string
description: |
Collection commit status.
Only returned if the request API key has write ACLs.
enum:
- COMMITTED
- COMMITTING
- TO_COMMIT

CollectionUpsert:
type: object
description: API request body for upserting a Collection.
properties:
id:
type: string
indexName:
type: string
name:
type: string
description:
type: string
add:
type: array
description: a list of objectIDs.
minItems: 0
items:
type: string
remove:
type: array
description: a list of objectIDs.
minItems: 0
items:
type: string
conditions:
$ref: 'condition.yml#/Conditions'
required:
- indexName
- name

CollectionsResponse:
type: object
allOf:
- type: object
properties:
items:
type: array
items:
$ref: '#/Collection'
required:
- items
- $ref: 'pagination.yml#/CollectionPagination'
10 changes: 10 additions & 0 deletions specs/collections/common/schemas/common.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
collectionID:
type: string
# format: uuid
description: Universally unique identifier (UUID) of a collection.
example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f

query:
type: string
description: Query to filter collections.
example: Summer collection
8 changes: 8 additions & 0 deletions specs/collections/common/schemas/condition.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Conditions:
type: object
description: Conditions to filter records.
properties:
facetFilters:
$ref: '../../../common/schemas/SearchParams.yml#/facetFilters'
numericFilters:
$ref: '../../../common/schemas/SearchParams.yml#/numericFilters'
30 changes: 30 additions & 0 deletions specs/collections/common/schemas/pagination.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
CollectionPagination:
type: object
description: Paginated API response.
additionalProperties: false
properties:
total:
type: integer
minimum: 0
description: Total number of items across all pages.
limit:
$ref: '#/limit'
offset:
$ref: '#/offset'
required:
- total
- limit
- offset

limit:
type: integer
description: Number of items to fetch.
minimum: 1
maximum: 50
default: 10

offset:
type: integer
description: Number of items to skip.
minimum: 0
default: 0
Loading
Loading