Include locale in the JSON response for the packages page

Signed-off-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
Danjela Lura 2020-06-22 21:09:08 +02:00 committed by Christopher Baines
parent 0b4825427d
commit 5708b81002
4 changed files with 40 additions and 20 deletions

View file

@ -107,7 +107,8 @@
(define (select-package-metadata-by-revision-name-and-version
conn revision-commit-hash name version locale)
(define query "
SELECT translated_package_synopsis.synopsis, translated_package_descriptions.description,
SELECT translated_package_synopsis.synopsis, translated_package_synopsis.locale,
translated_package_descriptions.description, translated_package_descriptions.locale,
package_metadata.home_page,
locations.file, locations.line, locations.column_number,
(SELECT JSON_AGG((license_data.*))
@ -125,7 +126,8 @@ INNER JOIN packages
LEFT OUTER JOIN locations
ON package_metadata.location_id = locations.id
INNER JOIN (
SELECT DISTINCT ON (package_description_sets.id) package_description_sets.id, package_descriptions.description
SELECT DISTINCT ON (package_description_sets.id) package_description_sets.id,
package_descriptions.description, package_descriptions.locale
FROM package_descriptions
INNER JOIN package_description_sets
ON package_descriptions.id = ANY (package_description_sets.description_ids)
@ -143,7 +145,8 @@ INNER JOIN (
) AS translated_package_descriptions
ON package_metadata.package_description_set_id = translated_package_descriptions.id
INNER JOIN (
SELECT DISTINCT ON (package_synopsis_sets.id) package_synopsis_sets.id, package_synopsis.synopsis
SELECT DISTINCT ON (package_synopsis_sets.id) package_synopsis_sets.id,
package_synopsis.synopsis, package_synopsis.locale
FROM package_synopsis
INNER JOIN package_synopsis_sets
ON package_synopsis.id = ANY (package_synopsis_sets.synopsis_ids)
@ -175,9 +178,9 @@ WHERE packages.id IN (
(map
(match-lambda
((synopsis description home-page file line column-number
((synopsis synopsis-locale description description-locale home-page file line column-number
license-json)
(list synopsis description home-page file line column-number
(list synopsis synopsis-locale description description-locale home-page file line column-number
(if (string-null? license-json)
#()
(json-string->scm license-json)))))

View file

@ -59,7 +59,8 @@
(string-append "
WITH data AS (
SELECT packages.name, packages.version, translated_package_synopsis.synopsis,
translated_package_descriptions.description, package_metadata.home_page,
translated_package_synopsis.locale, translated_package_descriptions.description,
translated_package_descriptions.locale, package_metadata.home_page,
locations.file, locations.line, locations.column_number,
(SELECT JSON_AGG((license_data.*))
FROM (
@ -77,7 +78,7 @@ WITH data AS (
ON package_metadata.location_id = locations.id
INNER JOIN (
SELECT DISTINCT ON (package_synopsis_sets.id) package_synopsis_sets.id,
package_synopsis.synopsis
package_synopsis.synopsis, package_synopsis.locale
FROM package_synopsis_sets
INNER JOIN package_synopsis
ON package_synopsis.id = ANY (package_synopsis_sets.synopsis_ids)
@ -90,7 +91,7 @@ WITH data AS (
ON package_metadata.package_synopsis_set_id = translated_package_synopsis.id
INNER JOIN (
SELECT DISTINCT ON (package_description_sets.id) package_description_sets.id,
package_descriptions.description
package_descriptions.description, package_descriptions.locale
FROM package_description_sets
INNER JOIN package_descriptions
ON package_descriptions.id = ANY (package_description_sets.description_ids)
@ -142,7 +143,9 @@ WHERE data.name IN (SELECT name FROM package_names);"))
SELECT packages.name,
packages.version,
translated_package_synopsis.synopsis,
translated_package_synopsis.locale,
translated_package_descriptions.description,
translated_package_descriptions.locale,
package_metadata.home_page,
locations.file, locations.line, locations.column_number,
(SELECT JSON_AGG((license_data.*))
@ -161,7 +164,7 @@ LEFT OUTER JOIN locations
ON package_metadata.location_id = locations.id
INNER JOIN (
SELECT DISTINCT ON (package_synopsis_sets.id) package_synopsis_sets.id,
package_synopsis.synopsis
package_synopsis.synopsis, package_synopsis.locale
FROM package_synopsis_sets
INNER JOIN package_synopsis
ON package_synopsis.id = ANY (package_synopsis_sets.synopsis_ids)
@ -174,7 +177,7 @@ INNER JOIN (
ON package_metadata.package_synopsis_set_id = translated_package_synopsis.id
INNER JOIN (
SELECT DISTINCT ON (package_description_sets.id) package_description_sets.id,
package_descriptions.description
package_descriptions.description, package_descriptions.locale
FROM package_description_sets
INNER JOIN package_descriptions
ON package_descriptions.id = ANY (package_description_sets.description_ids)