1.3.0
This commit is contained in:
Vendored
+6
@@ -192,6 +192,12 @@ export interface PlacesClient {
|
|||||||
* @param id - The slug ID of the list.
|
* @param id - The slug ID of the list.
|
||||||
*/
|
*/
|
||||||
get(id: string): Promise<List | null>;
|
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.
|
* Create or update a list.
|
||||||
* @param id - The slug ID (e.g., "to-go").
|
* @param id - The slug ID (e.g., "to-go").
|
||||||
|
|||||||
Vendored
+18
@@ -103,6 +103,24 @@ const Places = function (privateClient /*, publicClient: BaseClient */) {
|
|||||||
const path = `_lists/${id}`;
|
const path = `_lists/${id}`;
|
||||||
return privateClient.getObject(path);
|
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) {
|
async create(id, title, color) {
|
||||||
const path = `_lists/${id}`;
|
const path = `_lists/${id}`;
|
||||||
let list = (await privateClient.getObject(path));
|
let list = (await privateClient.getObject(path));
|
||||||
|
|||||||
@@ -120,6 +120,26 @@ Get all lists.
|
|||||||
|
|
||||||
Array of List objects.
|
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()
|
||||||
|
|
||||||
> **removePlace**(`listId`, `placeId`): `Promise`\<[`List`](../type-aliases/List.md)\>
|
> **removePlace**(`listId`, `placeId`): `Promise`\<[`List`](../type-aliases/List.md)\>
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@remotestorage/module-places",
|
"name": "@remotestorage/module-places",
|
||||||
"version": "1.2.2",
|
"version": "1.3.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@remotestorage/module-places",
|
"name": "@remotestorage/module-places",
|
||||||
"version": "1.2.2",
|
"version": "1.3.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"latlon-geohash": "^2.0.0",
|
"latlon-geohash": "^2.0.0",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@remotestorage/module-places",
|
"name": "@remotestorage/module-places",
|
||||||
"version": "1.2.2",
|
"version": "1.3.0",
|
||||||
"description": "Manage favorite/saved places",
|
"description": "Manage favorite/saved places",
|
||||||
"homepage": "https://gitea.kosmos.org/raucao/remotestorage-module-places#remotestoragemodule-places",
|
"homepage": "https://gitea.kosmos.org/raucao/remotestorage-module-places#remotestoragemodule-places",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
Reference in New Issue
Block a user