mirror of
https://github.com/samsonjs/immich.git
synced 2026-04-26 14:57:42 +00:00
fix: add scoped API permissions to map endpoints (#25423)
This commit is contained in:
parent
3304c8efd8
commit
c320146538
5 changed files with 12 additions and 3 deletions
BIN
mobile/openapi/lib/model/permission.dart
generated
BIN
mobile/openapi/lib/model/permission.dart
generated
Binary file not shown.
|
|
@ -6305,6 +6305,7 @@
|
||||||
"state": "Stable"
|
"state": "Stable"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"x-immich-permission": "map.read",
|
||||||
"x-immich-state": "Stable"
|
"x-immich-state": "Stable"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -6376,6 +6377,7 @@
|
||||||
"state": "Stable"
|
"state": "Stable"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"x-immich-permission": "map.search",
|
||||||
"x-immich-state": "Stable"
|
"x-immich-state": "Stable"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -18966,6 +18968,8 @@
|
||||||
"timeline.read",
|
"timeline.read",
|
||||||
"timeline.download",
|
"timeline.download",
|
||||||
"maintenance",
|
"maintenance",
|
||||||
|
"map.read",
|
||||||
|
"map.search",
|
||||||
"memory.create",
|
"memory.create",
|
||||||
"memory.read",
|
"memory.read",
|
||||||
"memory.update",
|
"memory.update",
|
||||||
|
|
|
||||||
|
|
@ -5534,6 +5534,8 @@ export enum Permission {
|
||||||
TimelineRead = "timeline.read",
|
TimelineRead = "timeline.read",
|
||||||
TimelineDownload = "timeline.download",
|
TimelineDownload = "timeline.download",
|
||||||
Maintenance = "maintenance",
|
Maintenance = "maintenance",
|
||||||
|
MapRead = "map.read",
|
||||||
|
MapSearch = "map.search",
|
||||||
MemoryCreate = "memory.create",
|
MemoryCreate = "memory.create",
|
||||||
MemoryRead = "memory.read",
|
MemoryRead = "memory.read",
|
||||||
MemoryUpdate = "memory.update",
|
MemoryUpdate = "memory.update",
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import {
|
||||||
MapReverseGeocodeDto,
|
MapReverseGeocodeDto,
|
||||||
MapReverseGeocodeResponseDto,
|
MapReverseGeocodeResponseDto,
|
||||||
} from 'src/dtos/map.dto';
|
} from 'src/dtos/map.dto';
|
||||||
import { ApiTag } from 'src/enum';
|
import { ApiTag, Permission } from 'src/enum';
|
||||||
import { Auth, Authenticated } from 'src/middleware/auth.guard';
|
import { Auth, Authenticated } from 'src/middleware/auth.guard';
|
||||||
import { MapService } from 'src/services/map.service';
|
import { MapService } from 'src/services/map.service';
|
||||||
|
|
||||||
|
|
@ -18,7 +18,7 @@ export class MapController {
|
||||||
constructor(private service: MapService) {}
|
constructor(private service: MapService) {}
|
||||||
|
|
||||||
@Get('markers')
|
@Get('markers')
|
||||||
@Authenticated()
|
@Authenticated({ permission: Permission.MapRead })
|
||||||
@Endpoint({
|
@Endpoint({
|
||||||
summary: 'Retrieve map markers',
|
summary: 'Retrieve map markers',
|
||||||
description: 'Retrieve a list of latitude and longitude coordinates for every asset with location data.',
|
description: 'Retrieve a list of latitude and longitude coordinates for every asset with location data.',
|
||||||
|
|
@ -28,8 +28,8 @@ export class MapController {
|
||||||
return this.service.getMapMarkers(auth, options);
|
return this.service.getMapMarkers(auth, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Authenticated()
|
|
||||||
@Get('reverse-geocode')
|
@Get('reverse-geocode')
|
||||||
|
@Authenticated({ permission: Permission.MapSearch })
|
||||||
@HttpCode(HttpStatus.OK)
|
@HttpCode(HttpStatus.OK)
|
||||||
@Endpoint({
|
@Endpoint({
|
||||||
summary: 'Reverse geocode coordinates',
|
summary: 'Reverse geocode coordinates',
|
||||||
|
|
|
||||||
|
|
@ -160,6 +160,9 @@ export enum Permission {
|
||||||
|
|
||||||
Maintenance = 'maintenance',
|
Maintenance = 'maintenance',
|
||||||
|
|
||||||
|
MapRead = 'map.read',
|
||||||
|
MapSearch = 'map.search',
|
||||||
|
|
||||||
MemoryCreate = 'memory.create',
|
MemoryCreate = 'memory.create',
|
||||||
MemoryRead = 'memory.read',
|
MemoryRead = 'memory.read',
|
||||||
MemoryUpdate = 'memory.update',
|
MemoryUpdate = 'memory.update',
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue