Skip to content

Instantly share code, notes, and snippets.

@thomasmartin-whoz
Last active October 21, 2022 07:35
Show Gist options
  • Save thomasmartin-whoz/cc5e185494624f4435e2b82ca9c105ab to your computer and use it in GitHub Desktop.
Save thomasmartin-whoz/cc5e185494624f4435e2b82ca9c105ab to your computer and use it in GitHub Desktop.
class PersonController {
PersonService personService
def create(CreatePersonCommand createPersonCommand) {
Person personToCreate = PersonConverter.convertCreateCommandToDomain(createPersonCommand)
Person person = personService.create(personToCreate)
PersonOutput personOutput = PersonConverter.convertDomainToOutput(person)
render personOutput
}
def list() {
List<PersonOutput> persons = personService.findAllByIdIn(params.personIds)
.collect { person ->
PersonConverter.convertDomainToOutput(person)
}
render persons
}
def update(UpdatePersonCommand updatePersonCommand) {
Person storedPerson = personService.findById(params.id)
Person toUpdatePerson = PersonConverter.mergeUpdateCommandToDomain(updatePersonCommand,storedPerson)
Person updatedPerson = personService.update(toUpdatePerson)
PersonOutput updatedPersonOutput = PersonConverter.convertDomainToOutput(updatedPerson)
render updatedPersonOutput
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment