From 28e964bf4bb6abbfa556ca688ce5d8317a0f52d1 Mon Sep 17 00:00:00 2001 From: Jonathan Amsterdam Date: Fri, 4 Dec 2020 08:59:17 -0500 Subject: internal/frontend: show module readme links in sub-units Show a module's README links on all units within the module. For golang/go#42968 Change-Id: I8701a04a16e1dd766b1b23ce12d52d01190840fd Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/275276 Trust: Jonathan Amsterdam Run-TryBot: Jonathan Amsterdam TryBot-Result: kokoro Reviewed-by: Julie Qiu --- internal/postgres/unit.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'internal/postgres') diff --git a/internal/postgres/unit.go b/internal/postgres/unit.go index 49e9a151..8a2fec9b 100644 --- a/internal/postgres/unit.go +++ b/internal/postgres/unit.go @@ -404,3 +404,28 @@ func (db *DB) getPathsInModule(ctx context.Context, modulePath, resolvedVersion } return paths, nil } + +// GetModuleReadme returns the README corresponding to the modulePath and version. +func (db *DB) GetModuleReadme(ctx context.Context, modulePath, resolvedVersion string) (_ *internal.Readme, err error) { + defer derrors.Wrap(&err, "GetModuleReadme(ctx, %q, %q)", modulePath, resolvedVersion) + var readme internal.Readme + err = db.db.QueryRow(ctx, ` + SELECT file_path, contents + FROM modules m + INNER JOIN units u + ON u.module_id = m.id + INNER JOIN readmes r + ON u.id = r.unit_id + WHERE + m.module_path=$1 + AND m.version=$2 + AND m.module_path=u.path`, modulePath, resolvedVersion).Scan(&readme.Filepath, &readme.Contents) + switch err { + case sql.ErrNoRows: + return nil, derrors.NotFound + case nil: + return &readme, nil + default: + return nil, err + } +} -- cgit v1.3