diff --git a/net/server/internal/api_getArticles.go b/net/server/internal/api_getArticles.go index 4343d034..9b04ad10 100644 --- a/net/server/internal/api_getArticles.go +++ b/net/server/internal/api_getArticles.go @@ -48,6 +48,8 @@ func GetArticles(w http.ResponseWriter, r *http.Request) { for _, article := range articles { response = append(response, getArticleModel(&article, false, true)) } + + w.Header().Set("Content-Revision", strconv.FormatInt(account.ContentRevision, 10)) } else if tokenType == APP_TOKENCONTACT { card, code, err := BearerContactToken(r, false) @@ -60,8 +62,6 @@ func GetArticles(w http.ResponseWriter, r *http.Request) { if revisionSet { ErrResponse(w, http.StatusGone, errors.New("article view unavailable")) return - } else { - w.Header().Set("View-Revision", strconv.FormatInt(card.ViewRevision + card.Account.ViewRevision, 10)) } } @@ -78,6 +78,9 @@ func GetArticles(w http.ResponseWriter, r *http.Request) { response = append(response, getArticleModel(&article, true, false)) } } + + w.Header().Set("View-Revision", strconv.FormatInt(card.ViewRevision + card.Account.ViewRevision, 10)) + w.Header().Set("Content-Revision", strconv.FormatInt(card.Account.ContentRevision, 10)) } else { ErrResponse(w, http.StatusBadRequest, errors.New("invalid token type")) } diff --git a/net/server/internal/api_getCards.go b/net/server/internal/api_getCards.go index f3cce601..3d55f78d 100644 --- a/net/server/internal/api_getCards.go +++ b/net/server/internal/api_getCards.go @@ -34,5 +34,7 @@ func GetCards(w http.ResponseWriter, r *http.Request) { for _, slot := range slots { response = append(response, getCardModel(&slot)) } + + w.Header().Set("Card-Revision", strconv.FormatInt(account.CardRevision, 10)) WriteResponse(w, response) } diff --git a/net/server/internal/api_getGroups.go b/net/server/internal/api_getGroups.go index 2c740a12..0814b373 100644 --- a/net/server/internal/api_getGroups.go +++ b/net/server/internal/api_getGroups.go @@ -34,6 +34,8 @@ func GetGroups(w http.ResponseWriter, r *http.Request) { for _, slot := range slots { groups = append(groups, getGroupModel(&slot)) } + + w.Header().Set("Group-Revision", strconv.FormatInt(account.GroupRevision, 10)) WriteResponse(w, groups) } diff --git a/net/server/internal/ucAddContact_test.go b/net/server/internal/ucUpdateContact_test.go similarity index 98% rename from net/server/internal/ucAddContact_test.go rename to net/server/internal/ucUpdateContact_test.go index 8c085764..1b61d309 100644 --- a/net/server/internal/ucAddContact_test.go +++ b/net/server/internal/ucUpdateContact_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/assert" ) -func TestAddContact(t *testing.T) { +func TestUpdateContact(t *testing.T) { var err error var set *TestGroup var rev *Revision