toulouse-foederis: add count parameter to data source endpoints (#77526)
gitea/passerelle/pipeline/head This commit looks good
Details
gitea/passerelle/pipeline/head This commit looks good
Details
This commit is contained in:
parent
5157fde445
commit
100064eba8
|
@ -317,7 +317,7 @@ class Resource(BaseResource, HTTPResource):
|
|||
@property
|
||||
def referentiels_documents(self):
|
||||
return self.documents.filter(
|
||||
external_id__in=[document_id for document_id, _, __ in self.REFERENTIELS]
|
||||
external_id__in=[document_id for document_id, _, __, ___ in self.REFERENTIELS]
|
||||
)
|
||||
|
||||
@property
|
||||
|
@ -345,9 +345,12 @@ class Resource(BaseResource, HTTPResource):
|
|||
raise requests.RequestException('code field is not 200, message=%s' % data.get('message'))
|
||||
return data.get('results', [])
|
||||
|
||||
def update_referentiel(self, document_id, path, parent):
|
||||
def update_referentiel(self, document_id, path, parent, count):
|
||||
try:
|
||||
results = self.http_request('GET', f'{path}?viewIntegrationName=api_publik')
|
||||
params = {'viewIntegrationName': 'api_publik'}
|
||||
if count is not None:
|
||||
params['count'] = count
|
||||
results = self.http_request('GET', f'{path}', params=params)
|
||||
except requests.RequestException:
|
||||
raise UpdateError(_('Service is unavailable'))
|
||||
|
||||
|
@ -469,16 +472,16 @@ class Resource(BaseResource, HTTPResource):
|
|||
|
||||
REFERENTIELS = [
|
||||
# document_id, path, parent fkey
|
||||
('origine_candidature', 'data/origine_candidature', None),
|
||||
('civilite', 'data/civilite', None),
|
||||
('nationalite', 'data/nationalite1', None),
|
||||
('situation_actuelle', 'data/situation_actuelle', None),
|
||||
('type_emploi', 'data/type_emploi', None),
|
||||
('domaine_emploi', 'data/domaine_emploi', None),
|
||||
('sous_domaine_emploi', 'data/sous_domaine_emploi', 'domaine_emploi'),
|
||||
('emploi', 'custom/emploi', 'sous_domaine_emploi'),
|
||||
('niveau_diplome', 'data/niveau_diplome1', None),
|
||||
('habilitation', 'data/habilitation', None),
|
||||
('origine_candidature', 'data/origine_candidature', None, 200),
|
||||
('civilite', 'data/civilite', None, 200),
|
||||
('nationalite', 'data/nationalite1', None, 200),
|
||||
('situation_actuelle', 'data/situation_actuelle', None, 200),
|
||||
('type_emploi', 'data/type_emploi', None, 200),
|
||||
('domaine_emploi', 'data/domaine_emploi', None, 200),
|
||||
('sous_domaine_emploi', 'data/sous_domaine_emploi', 'domaine_emploi', 200),
|
||||
('emploi', 'custom/emploi', 'sous_domaine_emploi', None),
|
||||
('niveau_diplome', 'data/niveau_diplome1', None, 200),
|
||||
('habilitation', 'data/habilitation', None, 200),
|
||||
]
|
||||
|
||||
REFERENTIELS_FKEYS = {
|
||||
|
@ -496,8 +499,8 @@ class Resource(BaseResource, HTTPResource):
|
|||
}
|
||||
|
||||
def update_referentiels(self):
|
||||
for document_id, path, parent in self.REFERENTIELS:
|
||||
self.update_referentiel(document_id, path, parent)
|
||||
for document_id, path, parent, count in self.REFERENTIELS:
|
||||
self.update_referentiel(document_id, path, parent, count)
|
||||
self.update_announces()
|
||||
|
||||
def hourly(self):
|
||||
|
@ -511,7 +514,7 @@ class Resource(BaseResource, HTTPResource):
|
|||
@endpoint(
|
||||
description=_('Get data source'),
|
||||
long_description=_('Available datasources: %s')
|
||||
% ', '.join(document_id.replace('_', '-') for document_id, _, __ in REFERENTIELS),
|
||||
% ', '.join(document_id.replace('_', '-') for document_id, _, __, ___ in REFERENTIELS),
|
||||
name='ds',
|
||||
pattern=r'^(?P<name>[a-z_-]+)/$',
|
||||
example_pattern='{name}/',
|
||||
|
@ -523,7 +526,7 @@ class Resource(BaseResource, HTTPResource):
|
|||
)
|
||||
def datasource(self, request, name, parent=None):
|
||||
name = name.replace('-', '_')
|
||||
for document_id, _, __ in self.REFERENTIELS:
|
||||
for document_id, _, __, ___ in self.REFERENTIELS:
|
||||
if document_id == name:
|
||||
break
|
||||
else:
|
||||
|
|
|
@ -37,37 +37,37 @@ def get_json_content(name):
|
|||
HTTP_MOCKS = {
|
||||
'type-emploi': {
|
||||
'path': r'^/.*/data/type_emploi$',
|
||||
'query': 'viewIntegrationName=api_publik',
|
||||
'query': 'viewIntegrationName=api_publik&count=200',
|
||||
'content': get_json_content('type_emploi'),
|
||||
},
|
||||
'origine-candidature': {
|
||||
'path': r'^/.*/data/origine_candidature$',
|
||||
'query': 'viewIntegrationName=api_publik',
|
||||
'query': 'viewIntegrationName=api_publik&count=200',
|
||||
'content': get_json_content('origine_candidature'),
|
||||
},
|
||||
'civilite': {
|
||||
'path': r'^/.*/data/civilite$',
|
||||
'query': 'viewIntegrationName=api_publik',
|
||||
'query': 'viewIntegrationName=api_publik&count=200',
|
||||
'content': get_json_content('civilite'),
|
||||
},
|
||||
'nationalite': {
|
||||
'path': r'^/.*/data/nationalite1$',
|
||||
'query': 'viewIntegrationName=api_publik',
|
||||
'query': 'viewIntegrationName=api_publik&count=200',
|
||||
'content': get_json_content('nationalite1'),
|
||||
},
|
||||
'situation-actuelle': {
|
||||
'path': r'^/.*/data/situation_actuelle$',
|
||||
'query': 'viewIntegrationName=api_publik',
|
||||
'query': 'viewIntegrationName=api_publik&count=200',
|
||||
'content': get_json_content('situation_actuelle'),
|
||||
},
|
||||
'domaine-emploi': {
|
||||
'path': r'^/.*/data/domaine_emploi$',
|
||||
'query': 'viewIntegrationName=api_publik',
|
||||
'query': 'viewIntegrationName=api_publik&count=200',
|
||||
'content': get_json_content('domaine_emploi'),
|
||||
},
|
||||
'sous-domaine-emploi': {
|
||||
'path': r'^/.*/data/sous_domaine_emploi$',
|
||||
'query': 'viewIntegrationName=api_publik',
|
||||
'query': 'viewIntegrationName=api_publik&count=200',
|
||||
'content': get_json_content('sous_domaine_emploi'),
|
||||
},
|
||||
'emploi': {
|
||||
|
@ -77,12 +77,12 @@ HTTP_MOCKS = {
|
|||
},
|
||||
'niveau-diplome': {
|
||||
'path': r'^/.*/data/niveau_diplome1$',
|
||||
'query': 'viewIntegrationName=api_publik',
|
||||
'query': 'viewIntegrationName=api_publik&count=200',
|
||||
'content': get_json_content('niveau_diplome1'),
|
||||
},
|
||||
'habilitation': {
|
||||
'path': r'^.*/data/habilitation$',
|
||||
'query': 'viewIntegrationName=api_publik',
|
||||
'query': 'viewIntegrationName=api_publik&count=200',
|
||||
'content': get_json_content('habilitation'),
|
||||
},
|
||||
'annonce': {
|
||||
|
|
Loading…
Reference in New Issue