@@ -42,12 +42,17 @@ open class ApiController(
42
42
@ApiOperation(" Item info" )
43
43
@GetMapping(" /item/{id}" )
44
44
@ResponseBody
45
- fun getItem (request : HttpServletRequest , @PathVariable id : Long ): ItemEntityDto ? {
45
+ fun getItem (
46
+ request : HttpServletRequest ,
47
+ @PathVariable id : Long ,
48
+ @RequestParam(defaultValue = " 0" ) explicitOpening : Long
49
+ ): ItemEntityDto ? {
46
50
val item = items.getOne(id)
47
51
if (item == null || (! request.hasUser() && ! item.visibleWithoutLogin))
48
52
return null
49
53
val loggedIn = request.hasUser() || request.isInInternalNetwork()
50
- return ItemEntityDto (item, openings.findNextOf(item.circle!! .id), loggedIn)
54
+ val opening = if (explicitOpening != 0L ) openings.getOne(explicitOpening) else openings.findNextOf(item.circle!! .id)
55
+ return ItemEntityDto (item, opening, loggedIn, loggedIn && explicitOpening > 0 )
51
56
}
52
57
53
58
@ApiOperation(" List of items" )
@@ -66,7 +71,8 @@ open class ApiController(
66
71
.map { item: ItemEntity ->
67
72
ItemEntityDto (item,
68
73
cache.computeIfAbsent(item.circle!! .id) { openings.findNextOf(it) },
69
- loggedIn || request.isInInternalNetwork())
74
+ loggedIn || request.isInInternalNetwork(),
75
+ false )
70
76
}
71
77
.collect(Collectors .toList())
72
78
return ResponseEntity (list, HttpStatus .OK )
@@ -78,7 +84,8 @@ open class ApiController(
78
84
.map { item: ItemEntity ->
79
85
ItemEntityDto (item,
80
86
cache.computeIfAbsent(item.circle!! .id) { openings.findNextOf(it) },
81
- loggedIn || request.isInInternalNetwork())
87
+ loggedIn || request.isInInternalNetwork(),
88
+ false )
82
89
}
83
90
.collect(Collectors .toList())
84
91
return ResponseEntity (list, HttpStatus .OK )
@@ -97,7 +104,8 @@ open class ApiController(
97
104
.map { item: ItemEntity ->
98
105
ItemEntityDto (item,
99
106
cache.computeIfAbsent(item.circle!! .id) { openings.findNextOf(it) },
100
- loggedIn || request.isInInternalNetwork())
107
+ loggedIn || request.isInInternalNetwork(),
108
+ false )
101
109
}
102
110
.collect(Collectors .toList())
103
111
return ResponseEntity (list, HttpStatus .OK )
@@ -116,7 +124,8 @@ open class ApiController(
116
124
.map { item: ItemEntity ->
117
125
ItemEntityDto (item,
118
126
cache.computeIfAbsent(item.circle!! .id) { openings.findNextOf(it) },
119
- loggedIn || request.isInInternalNetwork())
127
+ loggedIn || request.isInInternalNetwork(),
128
+ false )
120
129
}
121
130
.collect(Collectors .toList())
122
131
return ResponseEntity (list, HttpStatus .OK )
0 commit comments