Unverified Commit b0da36a0 authored by Mike's avatar Mike Committed by GitHub
Browse files

Expose last user relationship update time when listing friends. (#431)

parent c9a8207d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ The format is based on [keep a changelog](http://keepachangelog.com) and this pr
- New Lua runtime function to print a log message at debug level.
- Lua runtime accounts get operations now return Facebook Instant Game IDs.
- Runtime account get operations now return account disable time if available.
- Last user relationship update time is exposed when listing friends.

### Changed
- Replace metrics implementation.
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ require (
	github.com/gorilla/mux v1.7.4
	github.com/gorilla/websocket v1.4.2
	github.com/grpc-ecosystem/grpc-gateway v1.13.0
	github.com/heroiclabs/nakama-common v1.5.0
	github.com/heroiclabs/nakama-common v1.5.1
	github.com/jackc/fake v0.0.0-20150926172116-812a484cc733 // indirect
	github.com/jackc/pgx v3.5.0+incompatible
	github.com/jmhodges/levigo v1.0.0 // indirect
+2 −2
+4 −2
Original line number Diff line number Diff line
@@ -110,7 +110,7 @@ func ListFriends(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tr
	query := `
SELECT id, username, display_name, avatar_url,
	lang_tag, location, timezone, metadata,
	create_time, users.update_time, state, position
	create_time, users.update_time, user_edge.update_time, state, position
FROM users, user_edge WHERE id = destination_id AND source_id = $1`
	params = append(params, userID)
	if state != nil {
@@ -153,10 +153,11 @@ FROM users, user_edge WHERE id = destination_id AND source_id = $1`
		var metadata []byte
		var createTime pgtype.Timestamptz
		var updateTime pgtype.Timestamptz
		var edgeUpdateTime pgtype.Timestamptz
		var state sql.NullInt64
		var position sql.NullInt64

		if err = rows.Scan(&id, &username, &displayName, &avatarURL, &lang, &location, &timezone, &metadata, &createTime, &updateTime, &state, &position); err != nil {
		if err = rows.Scan(&id, &username, &displayName, &avatarURL, &lang, &location, &timezone, &metadata, &createTime, &updateTime, &edgeUpdateTime, &state, &position); err != nil {
			logger.Error("Error retrieving friends.", zap.Error(err))
			return nil, err
		}
@@ -196,6 +197,7 @@ FROM users, user_edge WHERE id = destination_id AND source_id = $1`
			State: &wrappers.Int32Value{
				Value: int32(state.Int64),
			},
			UpdateTime: &timestamp.Timestamp{Seconds: edgeUpdateTime.Time.Unix()},
		})
	}
	if err = rows.Err(); err != nil {
+1 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ var minLonRad = minLon * degreesToRadian
var minLatRad = minLat * degreesToRadian
var maxLonRad = maxLon * degreesToRadian
var maxLatRad = maxLat * degreesToRadian
var geoTolerance = 1e-6
var geoTolerance = 1E-6
var lonScale = float64((uint64(0x1)<<GeoBits)-1) / 360.0
var latScale = float64((uint64(0x1)<<GeoBits)-1) / 180.0

Loading