diff --git a/federationapi/routing/backfill.go b/federationapi/routing/backfill.go index d996db6a3..5c6b0087f 100644 --- a/federationapi/routing/backfill.go +++ b/federationapi/routing/backfill.go @@ -17,11 +17,11 @@ package routing import ( "net/http" "strconv" + "time" "github.com/matrix-org/dendrite/clientapi/httputil" "github.com/matrix-org/dendrite/clientapi/jsonerror" "github.com/matrix-org/dendrite/common/config" - "github.com/matrix-org/dendrite/federationapi/types" "github.com/matrix-org/dendrite/roomserver/api" "github.com/matrix-org/gomatrixserverlib" "github.com/matrix-org/util" @@ -90,9 +90,11 @@ func Backfill( } } - txn := types.NewTransaction() - txn.Origin = cfg.Matrix.ServerName - txn.PDUs = evs + txn := gomatrixserverlib.Transaction{ + Origin: cfg.Matrix.ServerName, + PDUs: evs, + OriginServerTS: gomatrixserverlib.AsTimestamp(time.Now()), + } // Send the events to the client. return util.JSONResponse{ diff --git a/federationapi/types/types.go b/federationapi/types/types.go deleted file mode 100644 index 24838d547..000000000 --- a/federationapi/types/types.go +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2018 New Vector Ltd -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package types - -import ( - "time" - - "github.com/matrix-org/gomatrixserverlib" -) - -// Transaction is the representation of a transaction from the federation API -// See https://matrix.org/docs/spec/server_server/unstable.html for more info. -type Transaction struct { - // The server_name of the homeserver sending this transaction. - Origin gomatrixserverlib.ServerName `json:"origin"` - // POSIX timestamp in milliseconds on originating homeserver when this - // transaction started. - OriginServerTS int64 `json:"origin_server_ts"` - // List of persistent updates to rooms. - PDUs []gomatrixserverlib.Event `json:"pdus"` -} - -// NewTransaction sets the timestamp of a new transaction instance and then -// returns the said instance. -func NewTransaction() Transaction { - // Retrieve the current timestamp in nanoseconds and make it a milliseconds - // one. - ts := time.Now().UnixNano() / int64(time.Millisecond) - - return Transaction{OriginServerTS: ts} -}