class OrganizationResource extends AbstractResource {

    @POST
    public Response postOrganization(@Auth final DbCredential credential, final Organization organization){
        if(!credential.getRoles().contains(DbCredential.AvailableRoles.DATA_UPDATER)){
            throw new WebApplicationException(Response.status(Response.Status.UNAUTHORIZED).build());
        }

        LOG.info("Got a post organization request.");

        // Checks if the data is corrupted
        DataValidator.validate(organization);

        final DbOrganization dbOrganization = getModelMapper().getDbOrganization(organization);
        getOrganizationHandler().store(dbOrganization);

        return Response.ok().status(HttpStatus.CREATED_201).build();
    }

    public  OrganizationResource(final RepositoryHandler repositoryHandler, final GrapesServerConfig configuration);

}