Skip to content

Commit 35e6c5a

Browse files
committed
hotfix map marker slug
1 parent a49d29c commit 35e6c5a

2 files changed

Lines changed: 53 additions & 0 deletions

File tree

src/features/map/hooks/useMapListingUrl.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,14 @@ export function useMapListingUrl({
296296

297297
const selectListing = useCallback(
298298
(listing: ListingMarker) => {
299+
if (!listing.slug) {
300+
console.warn(
301+
"Cannot select map listing because the marker payload is missing a slug.",
302+
listing
303+
);
304+
return;
305+
}
306+
299307
requestTokenRef.current += 1;
300308
activeSlugRef.current = listing.slug;
301309
activeTableRef.current = tableName;
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
create or replace function public.listings_in_view(
2+
min_lat double precision,
3+
min_long double precision,
4+
max_lat double precision,
5+
max_long double precision
6+
) returns table(id bigint, slug text, type text, coordinates jsonb)
7+
language plpgsql
8+
security definer
9+
set search_path = ''
10+
as $$
11+
begin
12+
return query
13+
select
14+
listings.id,
15+
listings.slug,
16+
listings.type,
17+
jsonb_build_object(
18+
'latitude', extensions.st_y(listings.location::extensions.geometry),
19+
'longitude', extensions.st_x(listings.location::extensions.geometry)
20+
) as coordinates
21+
from public.listings
22+
where listings.visibility = true
23+
and listings.location OPERATOR(extensions.&&) extensions.st_makeenvelope(
24+
min_long,
25+
min_lat,
26+
max_long,
27+
max_lat,
28+
4326
29+
)::extensions.geography;
30+
end;
31+
$$;
32+
33+
alter function public.listings_in_view(
34+
double precision,
35+
double precision,
36+
double precision,
37+
double precision
38+
) owner to postgres;
39+
40+
grant all on function public.listings_in_view(
41+
double precision,
42+
double precision,
43+
double precision,
44+
double precision
45+
) to anon, authenticated, service_role;

0 commit comments

Comments
 (0)