From 83c1723bf5099a8148e419bdab9457e05acf5e7a Mon Sep 17 00:00:00 2001 From: dantepippi <6619666+dantepippi@users.noreply.github.com> Date: Tue, 19 May 2020 04:30:05 -0300 Subject: [PATCH] [MM-24663] Refactor link metadata store to use squirrel (#14464) * Refactor link_metadata_store to use squirrel * Fix sql buil error string * Fix := on second err * Merging code to a single Where call * Saving a line. Co-authored-by: Ibrahim Serdar Acikgoz Co-authored-by: mattermod Co-authored-by: Dante Pippi Co-authored-by: dantepippi Co-authored-by: Ibrahim Serdar Acikgoz --- store/sqlstore/link_metadata_store.go | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/store/sqlstore/link_metadata_store.go b/store/sqlstore/link_metadata_store.go index fa5fe48a7b..fbd3b59d63 100644 --- a/store/sqlstore/link_metadata_store.go +++ b/store/sqlstore/link_metadata_store.go @@ -7,6 +7,8 @@ import ( "database/sql" "net/http" + sq "github.com/Masterminds/squirrel" + "github.com/mattermost/mattermost-server/v5/model" "github.com/mattermost/mattermost-server/v5/store" ) @@ -53,15 +55,15 @@ func (s SqlLinkMetadataStore) Save(metadata *model.LinkMetadata) (*model.LinkMet func (s SqlLinkMetadataStore) Get(url string, timestamp int64) (*model.LinkMetadata, *model.AppError) { var metadata *model.LinkMetadata - - err := s.GetReplica().SelectOne(&metadata, - `SELECT - * - FROM - LinkMetadata - WHERE - URL = :URL - AND Timestamp = :Timestamp`, map[string]interface{}{"URL": url, "Timestamp": timestamp}) + query, args, err := s.getQueryBuilder(). + Select("*"). + From("LinkMetadata"). + Where(sq.Eq{"URL": url, "Timestamp": timestamp}). + ToSql() + if err != nil { + return nil, model.NewAppError("SqlLinkMetadataStore.Get", "store.sql.build_query.app_error", nil, err.Error(), http.StatusInternalServerError) + } + err = s.GetReplica().SelectOne(&metadata, query, args...) if err != nil { if err == sql.ErrNoRows { return nil, model.NewAppError("SqlLinkMetadataStore.Get", "store.sql_link_metadata.get.app_error", nil, "url="+url+", "+err.Error(), http.StatusNotFound)