This commit is contained in:
2026-06-29 19:26:24 +02:00
parent e461932aa9
commit 25bddda31b
5 changed files with 47 additions and 3 deletions
+6
View File
@@ -192,6 +192,12 @@ export interface PlacesClient {
* @param id - The slug ID of the list.
*/
get(id: string): Promise<List | null>;
/**
* Get all places from a list.
* @param listId - The slug ID of the list.
* @returns Array of Place objects.
*/
getPlaces(listId: string): Promise<Place[]>;
/**
* Create or update a list.
* @param id - The slug ID (e.g., "to-go").
+18
View File
@@ -103,6 +103,24 @@ const Places = function (privateClient /*, publicClient: BaseClient */) {
const path = `_lists/${id}`;
return privateClient.getObject(path);
},
async getPlaces(listId) {
const list = await this.get(listId);
if (!list) {
throw new Error(`List not found: ${listId}`);
}
if (!list.placeRefs || !Array.isArray(list.placeRefs)) {
return [];
}
const promises = list.placeRefs.map(async (ref) => {
if (!ref.id || !ref.geohash)
return null;
const path = getPath(ref.geohash, ref.id);
const place = await privateClient.getObject(path);
return place;
});
const results = await Promise.all(promises);
return results.filter((p) => !!p);
},
async create(id, title, color) {
const path = `_lists/${id}`;
let list = (await privateClient.getObject(path));
+20
View File
@@ -120,6 +120,26 @@ Get all lists.
Array of List objects.
#### getPlaces()
> **getPlaces**(`listId`): `Promise`\<[`Place`](../type-aliases/Place.md)[]\>
Get all places from a list.
##### Parameters
###### listId
`string`
The slug ID of the list.
##### Returns
`Promise`\<[`Place`](../type-aliases/Place.md)[]\>
Array of Place objects.
#### removePlace()
> **removePlace**(`listId`, `placeId`): `Promise`\<[`List`](../type-aliases/List.md)\>
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "@remotestorage/module-places",
"version": "1.2.2",
"version": "1.3.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@remotestorage/module-places",
"version": "1.2.2",
"version": "1.3.0",
"license": "MIT",
"dependencies": {
"latlon-geohash": "^2.0.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@remotestorage/module-places",
"version": "1.2.2",
"version": "1.3.0",
"description": "Manage favorite/saved places",
"homepage": "https://gitea.kosmos.org/raucao/remotestorage-module-places#remotestoragemodule-places",
"repository": {