package com.tyndalehouse.step.rest.controllers;
import com.tyndalehouse.step.guice.providers.ClientSessionProvider;
import com.tyndalehouse.step.models.Note;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
* Caters for persisting notes in the system
*
* @author chrisburrell
*/
@Singleton
public class NotesController {
private static final Logger LOGGER = LoggerFactory.getLogger(NotesController.class);
private ClientSessionProvider sessionProvider;
/**
*/
@Inject
public NotesController(ClientSessionProvider sessionProvider) {
this.sessionProvider = sessionProvider;
}
/**
* @return all the notes in the system
*/
public List<Note> notes() {
boolean partialContent = isPartialRequest();
List<Note> notes = new ArrayList<Note>();
Note n = new Note();
n.setId(UUID.randomUUID().toString());
if (!partialContent) {
n.setNoteContent("Hi");
}
n.setTitle("my first doc");
notes.add(n);
Note n2 = new Note();
n2.setId(UUID.randomUUID().toString());
if (!partialContent) {
n2.setNoteContent("Bye");
}
n2.setTitle("MY SECOND DOC");
notes.add(n2);
return notes;
}
/**
* @return all the notes in the system
*/
public Note notes(String id) {
Note n = new Note();
n.setId(id);
if (!isPartialRequest()) {
n.setNoteContent("Some update");
}
return n;
}
/**
* @return true if partial request
*/
private boolean isPartialRequest() {
return Boolean.parseBoolean(sessionProvider.get().getParam("partial"));
}
}