feat: add community content and address APIs
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
package com.linhelp.notice;
|
||||
|
||||
import com.linhelp.common.api.ApiResponse;
|
||||
import com.linhelp.common.security.AuthService;
|
||||
import com.linhelp.common.security.CurrentUser;
|
||||
import com.linhelp.common.security.RequireRole;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
public class BannerController {
|
||||
private final BannerService bannerService;
|
||||
private final AuthService authService;
|
||||
|
||||
public BannerController(BannerService bannerService, AuthService authService) {
|
||||
this.bannerService = bannerService;
|
||||
this.authService = authService;
|
||||
}
|
||||
|
||||
@RequireRole({"PLATFORM_ADMIN", "COMMUNITY_ADMIN"})
|
||||
@GetMapping("/api/admin/banners")
|
||||
public ApiResponse<List<BannerResponse>> adminList() {
|
||||
CurrentUser user = authService.currentUser();
|
||||
return ApiResponse.ok(bannerService.listAdmin(user.getCommunityId()));
|
||||
}
|
||||
|
||||
@RequireRole({"PLATFORM_ADMIN", "COMMUNITY_ADMIN"})
|
||||
@PostMapping("/api/admin/banners")
|
||||
public ApiResponse<BannerResponse> create(@Valid @RequestBody BannerRequest request) {
|
||||
CurrentUser user = authService.currentUser();
|
||||
request.setTenantId(user.getTenantId());
|
||||
request.setCommunityId(user.getCommunityId());
|
||||
return ApiResponse.ok(bannerService.create(request));
|
||||
}
|
||||
|
||||
@RequireRole({"PLATFORM_ADMIN", "COMMUNITY_ADMIN"})
|
||||
@PutMapping("/api/admin/banners/{id}")
|
||||
public ApiResponse<BannerResponse> update(@PathVariable Long id, @Valid @RequestBody BannerRequest request) {
|
||||
CurrentUser user = authService.currentUser();
|
||||
request.setTenantId(user.getTenantId());
|
||||
request.setCommunityId(user.getCommunityId());
|
||||
return ApiResponse.ok(bannerService.update(id, request));
|
||||
}
|
||||
|
||||
@RequireRole({"PLATFORM_ADMIN", "COMMUNITY_ADMIN"})
|
||||
@DeleteMapping("/api/admin/banners/{id}")
|
||||
public ApiResponse<Void> delete(@PathVariable Long id) {
|
||||
bannerService.delete(id);
|
||||
return ApiResponse.ok();
|
||||
}
|
||||
|
||||
@GetMapping("/api/mini/banners")
|
||||
public ApiResponse<List<BannerResponse>> miniList() {
|
||||
return ApiResponse.ok(bannerService.listEnabled(1L));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user