Commit ba676ca8 authored by Sebastian Castro's avatar Sebastian Castro

Adds liste of available api endpoint

parent 0ef114fc
......@@ -65,9 +65,11 @@ class ConfigurationAdmin extends AbstractAdmin
->end()
->tab('API')
->with("Configurer les API (Utilisateurs avancés)")
->add('api.protectPublicApiWithToken', 'checkbox', array('label' => "Protéger l'api publique avec des jetons utilisateurs (i.e. besoin de créer un compte pour utiliser l'api publique)", 'required' => false))
->add('api.protectPublicApiWithToken', 'checkbox', array('label' => "Protéger l'api publique pour récupérer les élément avec des jetons utilisateurs (i.e. besoin de créer un compte pour utiliser l'api publique)", 'required' => false))
->add('api.internalApiAuthorizedDomains', 'text', array('label' => "Liste des domaines externe qui utiliseront l'API interne. Mettez * si vous voulez que n'importe quel domaine puisse y avoir accès. Cette option est nécessaire si vous voulez afficher vos données avec GoGoCartoJs mais sur un autre serveur.", 'required' => false))
->end()
->with("Liste des apis disponibles")
->add('apilist', 'text', array('mapped' => false, 'label' => false, 'required' => false, 'attr' => ['class' => 'gogo-api-list']))
->end();
}
}
\ No newline at end of file
......@@ -138,6 +138,22 @@ class APIController extends GoGoController
return $this->createResponse($responseJson, $config);
}
public function getTaxonomyMappingAction(Request $request, $id = null, $_format = 'json')
{
$em = $this->get('doctrine_mongodb')->getManager();
$options = $em->getRepository('BiopenGeoDirectoryBundle:Option')->findAll();
$result = [];
foreach ($options as $key => $option) {
$result[$option->getId()] = $option;
}
$serializer = $this->get('jms_serializer');
$responseJson = $serializer->serialize($result, 'json');
$config = $em->getRepository('BiopenCoreBundle:Configuration')->findConfiguration();
return $this->createResponse($responseJson, $config);
}
private function isJsonLdRequest($request, $_format)
{
return $_format == 'jsonld' || $request->headers->get('Accept') == 'application/ld+json';
......
......@@ -16,6 +16,13 @@ biopen_api_taxonomy:
options:
expose: true
biopen_api_taxonomy_mapping:
path: /taxonomy-mapping
defaults: { _controller: BiopenGeoDirectoryBundle:API:getTaxonomyMapping, id: null, _format: json }
requirements:
methods: GET
_format: json
biopen_api_elements_from_text:
path: /elements/search
defaults: { _controller: BiopenGeoDirectoryBundle:API:getElementsFromText }
......
{% import _self as self %}
{% macro apiLink(name, url) %}
<tr class="sonata-ba-view-container">
<th style="width: 400px; max-width: 40%;">{{ name }}</th>
<td>
<a href="{{ url }}" target="_blank">{{ url }}</a>
</td>
</tr>
{% endmacro %}
<h5>Éléments</h5>
<div class="box-body table-responsive no-padding table-box">
<table class="table">
<tbody>
{{ self.apiLink("Interface graphique pour construire une api", url('biopen_api_ui')) }}
{{ self.apiLink("Rechercher un élement", url('biopen_api_elements_from_text', { 'text': 'votre_texte_de_recherche'})) }}
{{ self.apiLink("Element unique (remplacer ID par le numéro de l'option)", url('biopen_api_element_get', { 'id': 'ID'})) }}
</tbody>
</table>
</div>
<h5>Taxonomie / Catégories</h5>
<div class="box-body table-responsive no-padding table-box">
<table class="table">
<tbody>
{{ self.apiLink("Taxonomie", url('biopen_api_taxonomy')) }}
{{ self.apiLink("Taxonomie sémantique", url('biopen_api_taxonomy', { '_format': 'jsonld'})) }}
{{ self.apiLink("Option unique (remplacer ID par le numéro de l'option)", url('biopen_api_taxonomy_show', { 'id': 'ID'})) }}
{{ self.apiLink("Liste des options", url('biopen_element_import_available_options')) }}
{{ self.apiLink("Liste des options avec correspondance id", url('biopen_api_taxonomy_mapping')) }}
</tbody>
</table>
</div>
<h5>Configuration</h5>
<div class="box-body table-responsive no-padding table-box">
<table class="table">
<tbody>
{{ self.apiLink("Informations générale sur cette carte", url('biopen_api_project_info')) }}
{{ self.apiLink("GoGoCartoJs config", url('biopen_api_gogocartojs_configuration')) }}
{{ self.apiLink("GoGoCarto config", url('biopen_api_configuration')) }}
</tbody>
</table>
</div>
<style>
.box-body.table-box {
margin-bottom: 30px;
border-top: 3px solid #e4e4e4;
border-radius: 4px;
}
</style>
\ No newline at end of file
......@@ -25,6 +25,8 @@
{% include '@BiopenAdmin/core_custom/custom-fields/color-picker.html.twig' %}
{% elseif attr_class == "gogo-icon-picker" %}
{% include '@BiopenAdmin/core_custom/custom-fields/icon-picker.html.twig' %}
{% elseif attr_class == "gogo-api-list" %}
{% include '@BiopenAdmin/core_custom/custom-fields/api-list.html.twig' %}
{% else %}
{% set attr = attr|merge({'class': attr_class ~ ' form-control'}) %}
{{ parent() }}
......
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