Commit f272d0f9 authored by Alex Pinto's avatar Alex Pinto

WIP: initial Google SSO endpoint

parent 97feab8b
package com.ascendfinalproject.warehouse.controllers; package com.ascendfinalproject.warehouse.controllers;
import com.ascendfinalproject.warehouse.models.OrderResponse; import com.ascendfinalproject.warehouse.models.OrderResponse;
import com.ascendfinalproject.warehouse.models.Session;
import com.ascendfinalproject.warehouse.models.WarehouseOrder; import com.ascendfinalproject.warehouse.models.WarehouseOrder;
import com.ascendfinalproject.warehouse.services.SessionService;
import com.ascendfinalproject.warehouse.services.WarehouseOrderService; import com.ascendfinalproject.warehouse.services.WarehouseOrderService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
...@@ -16,6 +18,9 @@ public class WarehouseController { ...@@ -16,6 +18,9 @@ public class WarehouseController {
@Autowired @Autowired
WarehouseOrderService orderService; WarehouseOrderService orderService;
@Autowired
SessionService sessionService;
@CrossOrigin @CrossOrigin
@GetMapping(value = "/orders") @GetMapping(value = "/orders")
public Flux<WarehouseOrder> getOrders() { public Flux<WarehouseOrder> getOrders() {
...@@ -40,4 +45,14 @@ public class WarehouseController { ...@@ -40,4 +45,14 @@ public class WarehouseController {
return orderService.updateOrder(order, id); return orderService.updateOrder(order, id);
} }
@CrossOrigin
@PostMapping(value = "/authenticate")
public Session authenticate(@RequestBody Session session) {
if(sessionService.tokenExists(session)) {
return session;
}
return sessionService.saveToken(session);
}
} }
package com.ascendfinalproject.warehouse.models;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
@Getter
@Setter
public class Session {
@Id
private String token;
}
package com.ascendfinalproject.warehouse.repositories;
import com.ascendfinalproject.warehouse.models.Session;
import org.springframework.data.repository.CrudRepository;
public interface SessionRepository extends CrudRepository<Session, String> {
}
package com.ascendfinalproject.warehouse.services;
import com.ascendfinalproject.warehouse.models.Session;
import com.ascendfinalproject.warehouse.repositories.SessionRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class SessionService {
@Autowired
SessionRepository sessionRepository;
public Session saveToken(Session session) {
return sessionRepository.save(session);
}
public boolean tokenExists(Session session) {
return sessionRepository.existsById(session.getToken());
}
}
...@@ -47,7 +47,6 @@ public class WarehouseOrderService { ...@@ -47,7 +47,6 @@ public class WarehouseOrderService {
existingOrder.setModifiedAt(new Date(System.currentTimeMillis())); existingOrder.setModifiedAt(new Date(System.currentTimeMillis()));
return orderRepository.save(existingOrder); return orderRepository.save(existingOrder);
}); });
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment