Compare commits

..

5 Commits

@ -8,8 +8,8 @@
<version>3.3.5</version> <version>3.3.5</version>
<relativePath/> <!-- lookup parent from repository --> <relativePath/> <!-- lookup parent from repository -->
</parent> </parent>
<groupId>com.example</groupId> <groupId>io.entgra.proprietary.device.mgt</groupId>
<artifactId>Public-Configuration</artifactId> <artifactId>public-config</artifactId>
<version>0.0.1-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<name>Public-Configuration</name> <name>Public-Configuration</name>
<description>Demo project for Spring Boot</description> <description>Demo project for Spring Boot</description>
@ -38,6 +38,11 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>8.0.0.Final</version>
</dependency>
<dependency> <dependency>
<groupId>com.mysql</groupId> <groupId>com.mysql</groupId>
@ -54,6 +59,13 @@
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.11.0</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

@ -1,3 +1,21 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration; package com.example.Public.Configuration;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;

@ -0,0 +1,70 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.controller;
import com.example.Public.Configuration.model.DeviceConfig;
import com.example.Public.Configuration.response.Response;
import com.example.Public.Configuration.service.impl.DeviceConfigServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/device-config")
public class DeviceConfigController {
@Autowired
private DeviceConfigServiceImpl deviceConfigService;
@PostMapping("/create")
public ResponseEntity<?> createDeviceConfigProfile(@RequestBody DeviceConfig deviceConfig) {
DeviceConfig newDeviceConfig = deviceConfigService.getByConfigId(deviceConfig.getConfigId());
if (newDeviceConfig == null) {
deviceConfigService.saveConfigProfile(deviceConfig);
return new ResponseEntity<>(new Response(HttpStatus.CREATED.value(),
"Device Config created successfully"), HttpStatus.CREATED);
}
return new ResponseEntity<>("Device already exists", HttpStatus.BAD_REQUEST);
}
@GetMapping("/configs")
public List<DeviceConfig> getConfigsDevices() {
return deviceConfigService.getAllDeviceConfigs();
}
@GetMapping("one-config/:configId")
public ResponseEntity<?> fetchConfigByConfigId(@PathVariable int configId) {
DeviceConfig deviceConfig1 = deviceConfigService.getByConfigId(configId);
if (deviceConfig1 == null) {
return new ResponseEntity<>(new Response(HttpStatus.NOT_FOUND.value(),
"No Device found for Config ID: +configId"), HttpStatus.NOT_FOUND);
}
return new ResponseEntity<>(deviceConfig1, HttpStatus.OK);
}
@PutMapping("/{configId}")
public DeviceConfig updateDeviceDetails(@RequestBody DeviceConfig deviceConfig) {
return deviceConfigService.UpdateConfigDetails(deviceConfig);
}
@DeleteMapping("/{configId}")
public String deleteConfigConfigId(@PathVariable int configId) {
System.out.println("Deleting Device Config with ID: " + configId);
return deviceConfigService.deleteConfigProfile(configId);
}
}

@ -1,8 +1,26 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.controller; package com.example.Public.Configuration.controller;
import com.example.Public.Configuration.model.Device; import com.example.Public.Configuration.model.Device;
import com.example.Public.Configuration.response.ResponseMessage; import com.example.Public.Configuration.response.Response;
import com.example.Public.Configuration.service.DeviceService; import com.example.Public.Configuration.service.impl.DeviceServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
@ -14,49 +32,38 @@ import java.util.List;
@RequestMapping("/device") @RequestMapping("/device")
public class DeviceController { public class DeviceController {
@Autowired @Autowired // This annotation is used to inject the DeviceService object into the DeviceController class.
private DeviceService deviceService; private DeviceServiceImpl deviceService; // This object is used to perform CRUD operations on the Device table in the database.
@PostMapping("/add")
public ResponseEntity<?> addDevice(@RequestBody Device device) {
Device DeviceExit = deviceService.getDeviceById(device.getDevice_id());
if (DeviceExit != null) {
deviceService.saveDevice(device);
// return new ResponseEntity<>("Device Already Exists", HttpStatus.BAD_REQUEST);
return new ResponseEntity<>(new ResponseMessage(HttpStatus.CREATED.value(),
"Device Already Exists"), HttpStatus.CREATED);
@PostMapping("/create") // add a new device to the database.
public ResponseEntity<?> createDevice(@RequestBody Device device) {
Device deviceExist = deviceService.getDeviceById(device.getDeviceId());
; // check if the device already exists in the database.// save the device object to the database.
if (deviceExist == null) {
deviceService.saveDetails(device); // save the device object to the database.
return new ResponseEntity<>(new Response(HttpStatus.CREATED.value(), "Device added successfully"), HttpStatus.CREATED); // return a success message.
} }
return new ResponseEntity<String>("Device Created Successfully", HttpStatus.BAD_REQUEST); return new ResponseEntity<String>("Device already exists", HttpStatus.BAD_REQUEST); // return a message indicating that the device already exists.
} }
@GetMapping("/devices")
@GetMapping("/get/{id}") public List<Device> getDevicesByDeviceId() { // get all devices from the database.
public List<Device> getDevice() { return deviceService.getAllDevices(); // return a list of all devices.
return deviceService.getAllDevices();
} }
@GetMapping("/{deviceId}")
@GetMapping("/id") public ResponseEntity<?> fetchDeviceByDeviceId(@PathVariable int deviceId) { // get a device by its id.
public ResponseEntity<?> fetchDeviceById(@PathVariable Long device_id) { Device device = deviceService.getDeviceById(deviceId);
Device device = deviceService.getDeviceById(device_id);
if (device == null) { if (device == null) {
return new ResponseEntity<>(new ResponseMessage(HttpStatus.NOT_FOUND.value(), return new ResponseEntity<>(new Response(HttpStatus.NOT_FOUND.value(), "No Device found for ID: +id"), HttpStatus.NOT_FOUND);// return an empty device object if the device does not exist in the database.
"No Device Found with Id: + device_id"), HttpStatus.CREATED);
} }
return new ResponseEntity<>(device, HttpStatus.OK); return new ResponseEntity<>(device, HttpStatus.OK); // return the device object if it exists in the database.
} }
@PutMapping("/update") @PutMapping("/updateDevice")
public Device updateDevice(@RequestBody Device device) { // update a device in the database. public Device updateDeviceDetailsByDeviceId(@RequestBody Device device) { // update a device in the database.
return deviceService.updateDevice(device); return deviceService.UpdateDetailsById(device);
} }
@DeleteMapping("{deviceId}")
@DeleteMapping("/deleteDevice/{id}") public String deleteDeviceByDeviceId(@PathVariable int deviceId) { // delete a device from the database.
public String deleteByDeviceId(@PathVariable Long device_id) { // delete a device from the database. return deviceService.deleteDevice(deviceId);
return deviceService.deleteDevice(device_id);
} }
} }

@ -0,0 +1,81 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.controller;
import com.example.Public.Configuration.dto.EnrolmentRequestDTO;
import com.example.Public.Configuration.model.EnrolmentRequestLog;
import com.example.Public.Configuration.response.Response;
import com.example.Public.Configuration.service.impl.EnrolmentRequestServiceImpl;
import com.google.gson.Gson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.time.Instant;
import java.util.List;
@RestController
@RequestMapping("/enrolment-request")
public class EnrolmentRequestController {
@Autowired // This annotation is used to inject the DeviceService object into the DeviceController class.
private EnrolmentRequestServiceImpl enrolmentRequestService; // This object is used to perform CRUD operations on the Device table in the database.
@PostMapping("/create") // add a new device to the database.
public ResponseEntity<?> createEnrolmentRequest(@RequestBody EnrolmentRequestDTO enrolmentRequestLog) {
Gson gson = new Gson();
String ER = gson.toJson(enrolmentRequestLog.getEnrolmentRequest());
enrolmentRequestLog.setResponseTime(String.valueOf(Instant.now().toEpochMilli()));
EnrolmentRequestLog deviceEnrolmentRequest = enrolmentRequestService.getEnrolmentRequestByRequestId(enrolmentRequestLog.getRequestId());
if (deviceEnrolmentRequest == null) {
EnrolmentRequestLog enrolmentRequest = new EnrolmentRequestLog();
enrolmentRequest.setRequestId(enrolmentRequestLog.getRequestId());
enrolmentRequest.setEnrolmentRequest(ER);
enrolmentRequest.setResponseTime(Long.parseLong(enrolmentRequestLog.getResponseTime()));
enrolmentRequestService.saveEnrolmentRequest(enrolmentRequest);
return new ResponseEntity<>(new Response(HttpStatus.CREATED.value(),
"Device added successfully"), HttpStatus.CREATED);
}
return new ResponseEntity<>("Device already exists", HttpStatus.BAD_REQUEST);
}
@GetMapping("/requests")
public List<EnrolmentRequestLog> getDevicesByRequests() {
return enrolmentRequestService.getAllEnrolmentRequests();
}
@GetMapping("/{requestId}")
public ResponseEntity<?> fetchEnrolmentRequest(@PathVariable int requestId) {
EnrolmentRequestLog deviceEnrolment = enrolmentRequestService.getEnrolmentRequestByRequestId(requestId);
if (deviceEnrolment == null) {
return new ResponseEntity<>(new Response(HttpStatus.NOT_FOUND.value()
,"No Device found for Enrolment Request : +imei"), HttpStatus.NOT_FOUND);
}
return new ResponseEntity<>(deviceEnrolment, HttpStatus.OK); // return the device object if it exists in the database.
}
@PutMapping("/{requestId}")
public EnrolmentRequestLog updateEnrolmentRequestLog(@RequestBody EnrolmentRequestLog enrolmentRequestLog) { // update a device in the database.
return enrolmentRequestService.updateEnrolmentRequest(enrolmentRequestLog);
}
@DeleteMapping("/{requestId}")
public String deleteEnrolmentRequestId(@PathVariable int requestId) {
return enrolmentRequestService.deleteEnrolmentRequest(requestId); // delete a device from the database.
}
}

@ -0,0 +1,33 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.dao;
import com.example.Public.Configuration.model.DeviceConfig;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface DeviceConfigDao extends JpaRepository<DeviceConfig, Integer> {
DeviceConfig findByConfigId(int configId);
void deleteByConfigId(int configId);
}

@ -1,7 +1,26 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.dao; package com.example.Public.Configuration.dao;
import com.example.Public.Configuration.model.Device; import com.example.Public.Configuration.model.Device;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
public interface DeviceDao extends JpaRepository<Device, Long> { public interface DeviceDao extends JpaRepository<Device, Integer> {
} }

@ -0,0 +1,29 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.dao;
import com.example.Public.Configuration.model.EnrolmentRequestLog;
import org.springframework.data.jpa.repository.JpaRepository;
public interface EnrolmentRequestLogDao extends JpaRepository<EnrolmentRequestLog, Integer> {
EnrolmentRequestLog findByRequestId(int requestId);
void deleteByRequestId(int requestId);
}

@ -0,0 +1,33 @@
package com.example.Public.Configuration.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class EnrolmentRequestDTO {
private int requestId;
private EnrolmentRequest enrolmentRequest;
private String responseTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
public static class EnrolmentRequest {
private String imei;
private String ipAddress;
private int subTypeId;
private String smsPIN;
private int mfwVersion;
private int rssi;
private String network;
private int comTypeId;
private String cellId;
private String lac;
private int sysTick;
private String meFwVersion;
}
}

@ -1,3 +1,21 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.model; package com.example.Public.Configuration.model;
import jakarta.persistence.*; import jakarta.persistence.*;
@ -9,16 +27,20 @@ import java.util.Date;
@Entity @Entity
@Data @Data
@Table(name = "device") @Table(name = "device_profile")
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class Device { public class Device {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "Device_id") @Column(name = "device_id")
private Long device_id; private int deviceId;
@Column(name = "device_name")
private String device_name;
@Column(name = "imei") @Column(name = "imei")
private String imei; private String imei;
@ -26,25 +48,11 @@ public class Device {
@Column(name = "device_model") @Column(name = "device_model")
private String device_model; private String device_model;
@Column(name = "update_time") @Column(name = "device_organization")
private Date update_time;
@Column(name ="network")
private String network;
@Column(name ="MFW_Version")
private String MFW_Version;
@Column(name ="LAC")
private String LAC;
@Column(name =" device_organiztion")
private String device_organization; private String device_organization;
@Column(name ="MEFW_Version") @Column(name = "config_id")
private String MEFW_Version; private String configId;
@Column(name ="RSSI")
private String RSSI;
} }

@ -0,0 +1,46 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.model;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Entity
@Data
@Table(name = "device_config-profile")
@NoArgsConstructor
@AllArgsConstructor
public class DeviceConfig {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "config_id")
private int configId;
@Column(name = "config_profile")
private String configProfile;
@Column(name = "config_content")
private String configContent;
}

@ -0,0 +1,57 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.model;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Entity
@Data
@Table(name = "enrolment_request_log")
@AllArgsConstructor
@NoArgsConstructor
public class EnrolmentRequestLog {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "enrolment_id")
private int requestId;
@Column(name = "enrolment_request")
private String EnrolmentRequest;
@Column(name = "response_time")
private long responseTime;
@Column(name = "author")
private String author;
}

@ -0,0 +1,33 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.response;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Response {
private int code;
private String message;
}

@ -1,12 +0,0 @@
package com.example.Public.Configuration.response;
import lombok.AllArgsConstructor;
@AllArgsConstructor
public class ResponseMessage {
private int status;
private String message;
}

@ -0,0 +1,39 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.service;
import com.example.Public.Configuration.model.DeviceConfig;
import java.util.List;
public interface DeviceConfigService {
// static final String CONFIG_ID = "configId";
DeviceConfig saveConfigProfile(DeviceConfig deviceConfig);
List<DeviceConfig> getAllDeviceConfigs();
DeviceConfig getByConfigId(String configId);
DeviceConfig UpdateConfigDetails(DeviceConfig deviceConfig);
String deleteConfigProfile(String configId);
}

@ -1,3 +1,21 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.service; package com.example.Public.Configuration.service;
import com.example.Public.Configuration.model.Device; import com.example.Public.Configuration.model.Device;
@ -5,16 +23,13 @@ import com.example.Public.Configuration.model.Device;
import java.util.List; import java.util.List;
public interface DeviceService { public interface DeviceService {
Device saveDetails(Device device);
Device saveDevice(Device device);
List<Device> getAllDevices(); List<Device> getAllDevices();
Device getDeviceById(long device_id); Device getDeviceById(int device_id);
Device updateDevice(Device device);
String deleteDevice(long device_id);
Device UpdateDetailsById(Device device);
String deleteDevice(int device_id);
} }

@ -0,0 +1,37 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.service;
import com.example.Public.Configuration.model.EnrolmentRequestLog;
import java.util.List;
public interface EnrolmentRequestService {
EnrolmentRequestLog saveEnrolmentRequest(EnrolmentRequestLog enrolmentRequestLog);
List<EnrolmentRequestLog> getEnrolmentRequests();
EnrolmentRequestLog getEnrolmentRequestByRequestId(String imei);
EnrolmentRequestLog updateEnrolmentRequest(EnrolmentRequestLog enrolmentRequestLog);
String deleteEnrolmentRequest(String imei);
}

@ -0,0 +1,61 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.service.impl;
import com.example.Public.Configuration.dao.DeviceConfigDao;
import com.example.Public.Configuration.model.DeviceConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class DeviceConfigServiceImpl {
@Autowired
private DeviceConfigDao deviceConfigDao;
public void saveConfigProfile(DeviceConfig deviceConfig) {
deviceConfigDao.save(deviceConfig); // use to save the device details to the database
}//autowire the deviceDao object
public List<DeviceConfig> getAllDeviceConfigs() {
return deviceConfigDao.findAll(); // use to command using the deviceDao object to get all the device details from the database
}
public DeviceConfig getByConfigId(int configId) {
return deviceConfigDao.findByConfigId(configId); // use to get the device details by id
}
public DeviceConfig UpdateConfigDetails(DeviceConfig deviceConfig) {
DeviceConfig updatedConfig = deviceConfigDao.findByConfigId(deviceConfig.getConfigId());
if (updatedConfig != null) {
updatedConfig.setConfigProfile(deviceConfig.getConfigProfile());
updatedConfig.setConfigContent(deviceConfig.getConfigContent());
deviceConfigDao.save(updatedConfig);
}
return updatedConfig; // return the updated device object
}
public String deleteConfigProfile(int configId) {
deviceConfigDao.deleteByConfigId(configId); // use to delete the device details by id
return "Config profile deleted successfully"; // return the message to the user
}
}

@ -1,73 +1,63 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.service.impl; package com.example.Public.Configuration.service.impl;
import com.example.Public.Configuration.dao.DeviceDao; import com.example.Public.Configuration.dao.DeviceDao;
import com.example.Public.Configuration.model.Device; import com.example.Public.Configuration.model.Device;
import com.example.Public.Configuration.service.DeviceService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@Service @Service
public class DeviceServiceImpl implements DeviceService { public class DeviceServiceImpl {
@Autowired @Autowired
private DeviceDao deviceDao; private DeviceDao deviceDao; //autowire the deviceDao object
public Device saveDevice(Device device) { public void saveDetails(Device device) { //used to save the device details in the database
return deviceDao.save(device); deviceDao.save(device);
} }
public List<Device> getAllDevices() { public List<Device> getAllDevices() {
return deviceDao.findAll(); return deviceDao.findAll(); // use to command using
}
@Override
public Device getDeviceById(long device_id) {
return null;
}
@Override
public Device updateDevice(Device device) {
return null;
} }
@Override public Device getDeviceById(int device_id) {
public String deleteDevice(long device_id) { return deviceDao.findById(device_id).orElse(null); // use to get the device details by id
return "";
} }
public Device getDeviceById(Long device_id) { public Device UpdateDetailsById(Device device) { //used to update the device details in the database
return deviceDao.findById(device_id).orElse(null); Device updatedDevice = deviceDao.findById(device.getDeviceId()).orElse(null); //This command is used to get the device details by id
}
public Device UpdateDevice(Device device) { //used to update the device details in the database
Device updatedDevice = deviceDao.findById(device.getDevice_id()).orElse(null); //This command is used to get the device details by id
if (updatedDevice != null) { // device details are present in the database then update the device details if (updatedDevice != null) { // device details are present in the database then update the device details
updatedDevice.setImei(device.getImei()); updatedDevice.setDeviceId(device.getDeviceId());
updatedDevice.setDevice_model(device.getDevice_model()); updatedDevice.setDevice_model(device.getDevice_model());
updatedDevice.setUpdate_time(device.getUpdate_time()); updatedDevice.setConfigId(device.getConfigId());
updatedDevice.setNetwork(device.getNetwork());
updatedDevice.setMFW_Version(device.getMFW_Version());
updatedDevice.setLAC(device.getLAC());
updatedDevice.setDevice_organization(device.getDevice_organization());
updatedDevice.setMEFW_Version(device.getMEFW_Version());
updatedDevice.setRSSI(device.getRSSI());
deviceDao.save(updatedDevice); deviceDao.save(updatedDevice);
} }
return updatedDevice; return updatedDevice; // return the updated device object
}
public String deleteDevice(Long device_id) {
deviceDao.deleteById(device_id);
return "deleted " +device_id;
} }
public String deleteDevice(int device_id) {//used to delete the device details from the database
deviceDao.deleteById(device_id);//delete the device details by id
return "deleted" + device_id;//return the message that the device is deleted
}
} }

@ -0,0 +1,63 @@
/*
* Copyright (C) 2018 - 2024 Entgra (Pvt) Ltd, Inc - All Rights Reserved.
*
* Unauthorised copying/redistribution of this file, via any medium is strictly prohibited.
*
* Licensed under the Entgra Commercial License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://entgra.io/licenses/entgra-commercial/1.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.example.Public.Configuration.service.impl;
import com.example.Public.Configuration.dao.EnrolmentRequestLogDao;
import com.example.Public.Configuration.model.EnrolmentRequestLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class EnrolmentRequestServiceImpl {
@Autowired
private EnrolmentRequestLogDao enrolmentRequestLogDao;
public void saveEnrolmentRequest(EnrolmentRequestLog enrolmentRequestLog) {
enrolmentRequestLogDao.save(enrolmentRequestLog);
}
public List<EnrolmentRequestLog> getAllEnrolmentRequests() {
return enrolmentRequestLogDao.findAll();
}
public EnrolmentRequestLog getEnrolmentRequestByRequestId(int requestId) {
return enrolmentRequestLogDao.findByRequestId(requestId);
}
public EnrolmentRequestLog updateEnrolmentRequest(EnrolmentRequestLog enrolmentRequestLog) { //used to update the device details in the database
EnrolmentRequestLog updatedEnrolmentRequest = enrolmentRequestLogDao.findByRequestId(enrolmentRequestLog.getRequestId()); //This command is used to get the device details by id
if (updatedEnrolmentRequest != null) { // device details are present in the database then update the device details
updatedEnrolmentRequest.setRequestId(Integer.parseInt(enrolmentRequestLog.getEnrolmentRequest()));
updatedEnrolmentRequest.setResponseTime(enrolmentRequestLog.getResponseTime());
enrolmentRequestLogDao.save(updatedEnrolmentRequest);
}
return updatedEnrolmentRequest; // return the updated device object
}
public String deleteEnrolmentRequest(int requestId) {
enrolmentRequestLogDao.deleteByRequestId(requestId);
return "deleted" + requestId;
}
}

@ -2,8 +2,8 @@ spring.application.name=Public-Configuration
#Specifiy the database URL #Specifiy the database URL
spring.datasource.url=jdbc:mysql://localhost:3306/DM spring.datasource.url=jdbc:mysql://localhost:3306/DM
spring.datasource.username=kavishka spring.datasource.username=root
spring.datasource.password=Kav@3639 spring.datasource.password=password
#this command will update the database schema if any changes are made to the entity classes #this command will update the database schema if any changes are made to the entity classes
@ -15,3 +15,4 @@ spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
#show the sql queries in console #show the sql queries in console
spring.jpa.show-sql=true spring.jpa.show-sql=true

Loading…
Cancel
Save