org.eclipse.dirigible.components.websockets.endpoint.WebsocketEndpoint Maven / Gradle / Ivy
/*
* Copyright (c) 2023 SAP SE or an SAP affiliate company and Eclipse Dirigible contributors
*
* All rights reserved. This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v2.0 which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* SPDX-FileCopyrightText: 2023 SAP SE or an SAP affiliate company and Eclipse Dirigible
* contributors SPDX-License-Identifier: EPL-2.0
*/
package org.eclipse.dirigible.components.websockets.endpoint;
import java.util.List;
import org.eclipse.dirigible.components.base.endpoint.BaseEndpoint;
import org.eclipse.dirigible.components.websockets.domain.Websocket;
import org.eclipse.dirigible.components.websockets.service.WebsocketService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.v3.oas.annotations.Parameter;
/**
* The Class WebsocketEndpoint.
*/
@RestController
@RequestMapping(BaseEndpoint.PREFIX_ENDPOINT_SECURED + "websockets")
public class WebsocketEndpoint extends BaseEndpoint {
/** The websocket service. */
@Autowired
private WebsocketService websocketService;
/**
* Find all.
*
* @param size the size
* @param page the page
* @return the page
*/
@GetMapping("/pages")
public Page findAll(
@Parameter(description = "The size of the page to be returned") @RequestParam(required = false) Integer size,
@Parameter(description = "Zero-based page index") @RequestParam(required = false) Integer page) {
if (size == null) {
size = DEFAULT_PAGE_SIZE;
}
if (page == null) {
page = 0;
}
Pageable pageable = PageRequest.of(page, size);
Page websockets = websocketService.getPages(pageable);
return websockets;
}
/**
* Gets the.
*
* @param id the id
* @return the response entity
*/
@GetMapping("/{id}")
public ResponseEntity get(@PathVariable("id") Long id) {
return ResponseEntity.ok(websocketService.findById(id));
}
/**
* Find by name.
*
* @param name the name
* @return the response entity
*/
@GetMapping("/search")
public ResponseEntity findByName(@RequestParam("name") String name) {
return ResponseEntity.ok(websocketService.findByName(name));
}
/**
* Gets the all.
*
* @return the all
*/
@GetMapping
public ResponseEntity> getAll() {
return ResponseEntity.ok(websocketService.getAll());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy