@@ -10,16 +10,16 @@ import (
10
10
redis "github.com/go-redis/redis/v8"
11
11
)
12
12
13
- //same as client mappings, but separated for type safety
13
+ // same as client mappings, but separated for type safety
14
14
type RoomMappings struct {
15
15
Conn * redis.Client
16
16
}
17
17
18
18
func InitialiseRoomMappings (addr string , db_num int ) * RoomMappings {
19
19
conn := redis .NewClient (& redis.Options {
20
- Addr :addr ,
21
- DB : db_num ,
22
- })
20
+ Addr : addr ,
21
+ DB : db_num ,
22
+ })
23
23
24
24
return & RoomMappings {
25
25
Conn : conn ,
@@ -40,61 +40,59 @@ func (db *RoomMappings) SendToStorageBlob(room *models.Room) error {
40
40
return fmt .Errorf ("error marshling topics: %s" , err .Error ())
41
41
}
42
42
43
-
44
43
user1_info := map [string ]interface {}{
45
- "roomId" : room .RoomId ,
46
- "otherUser" : room .User2 ,
44
+ "roomId" : room .RoomId ,
45
+ "otherUser" : room .User2 ,
47
46
"requestTime" : room .RequestTime ,
48
47
49
- "title" : room .Title ,
50
- "titleSlug" : room .TitleSlug ,
48
+ "title" : room .Title ,
49
+ "titleSlug" : room .TitleSlug ,
51
50
"difficulty" : room .Difficulty ,
52
- "topicTags" : topics_json ,
53
- "content" : room .Content ,
54
- "schemas" : schema_json ,
55
- "id" : room .QuestionId ,
51
+ "topicTags" : topics_json ,
52
+ "content" : room .Content ,
53
+ "schemas" : schema_json ,
54
+ "id" : room .QuestionId ,
56
55
}
57
56
58
57
user2_info := map [string ]interface {}{
59
- "roomId" : room .RoomId ,
60
- "otherUser" : room .User1 ,
58
+ "roomId" : room .RoomId ,
59
+ "otherUser" : room .User1 ,
61
60
"requestTime" : room .RequestTime ,
62
61
63
- "title" : room .Title ,
64
- "titleSlug" : room .TitleSlug ,
62
+ "title" : room .Title ,
63
+ "titleSlug" : room .TitleSlug ,
65
64
"difficulty" : room .Difficulty ,
66
- "topicTags" : topics_json ,
67
- "content" : room .Content ,
68
- "schemas" : schema_json ,
69
- "id" : room .QuestionId ,
65
+ "topicTags" : topics_json ,
66
+ "content" : room .Content ,
67
+ "schemas" : schema_json ,
68
+ "id" : room .QuestionId ,
70
69
}
71
70
72
-
73
- if err1 := db .Conn .HSet (ctx , room .User1 , user1_info ).Err (); err1 != nil {
71
+ if err1 := db .Conn .HSet (ctx , room .User1 , user1_info ).Err (); err1 != nil {
74
72
return fmt .Errorf ("error setting user1's room to storage: %s" , err1 .Error ())
75
73
}
76
74
77
-
78
- if err2 := db .Conn .HSet (ctx , room .User2 , user2_info ).Err (); err2 != nil {
75
+ if err2 := db .Conn .HSet (ctx , room .User2 , user2_info ).Err (); err2 != nil {
79
76
return fmt .Errorf ("error setting user2's room to storage: %s" , err2 .Error ())
80
77
}
81
-
78
+
82
79
requestTime , err := time .Parse ("2006-01-02 15-04-05" , room .RequestTime )
83
80
84
81
if err != nil {
85
82
return fmt .Errorf ("error parsing the time: %s" , err .Error ())
86
83
}
87
84
88
- expiryTime := requestTime .Add (30 * time .Second )
85
+ expiryTime := requestTime .Add (30 * time .Second ).Add (- 8 * time .Hour )
86
+
89
87
diff := int (time .Until (expiryTime ).Seconds ())
90
-
91
- if err1 := db .Conn .Expire (ctx , room .User1 , time .Duration (diff ) * time .Second ).Err (); err1 != nil {
88
+
89
+ if err1 := db .Conn .Expire (ctx , room .User1 , time .Duration (diff )* time .Second ).Err (); err1 != nil {
92
90
return fmt .Errorf ("error setting expiry time on room data: %s" , err1 .Error ())
93
91
}
94
-
95
- if err2 := db .Conn .Expire (ctx , room .User2 , time .Duration (diff ) * time .Second ).Err (); err2 != nil {
92
+
93
+ if err2 := db .Conn .Expire (ctx , room .User2 , time .Duration (diff )* time .Second ).Err (); err2 != nil {
96
94
return fmt .Errorf ("error setting expiry time on room data: %s" , err2 .Error ())
97
- }
98
-
95
+ }
96
+
99
97
return nil
100
- }
98
+ }
0 commit comments