Skip to content

Commit d266214

Browse files
author
Sylvain Maucourt
committed
implementation done 👍
1 parent c50ecaa commit d266214

File tree

4 files changed

+149
-9
lines changed

4 files changed

+149
-9
lines changed

log_context.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@
3434
"application_name":"herow",
3535
"application_version":"3.3.0",
3636
"subtype":"CONTEXT",
37-
"ua":"Mozilla/5.0 (iPhone12,1; CPU iPhone OS 14_3 like Mac OS X) FxiOS/3.3.0b518"
37+
"ua":"Mozilla/5.0 (iPhone12,1; CPU iPhone OS 14_3 like Mac OS X) FxiOS/3.3.0b518",
38+
"moments": {
39+
"home": 0.56,
40+
"office": 0.03,
41+
"shopping": 0.02,
42+
"other": 0.23
43+
}
3844
}
3945
}

routes/information.js

Lines changed: 137 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,148 @@ module.exports = async function (fastify, options) {
1313
properties: {
1414
adId: { type: 'string', minLength: 10 },
1515
customId: { type: 'string' },
16-
optins: { type: 'array',
16+
optins: {
17+
type: 'array',
1718
minItems: 1,
1819
maxItems: 1,
19-
items: { type: 'object',
20-
properties: {
20+
items: {
21+
type: 'object',
22+
properties: {
2123
type: { type: 'string', enum: [ 'USER_DATA' ] },
2224
value: { type: 'boolean' }
2325
}
24-
}
26+
}
27+
},
28+
predictions: {
29+
type: 'object',
30+
properties: {
31+
tags: {
32+
type: 'array',
33+
items: {
34+
type: 'object',
35+
properties: {
36+
tag: { type: 'string', minLength: 2 },
37+
pattern: {
38+
type: 'object',
39+
properties: {
40+
monday_early_morning: { type: 'number' },
41+
monday_late_morning: { type: 'number' },
42+
monday_lunch_time: { type: 'number' },
43+
monday_early_afternoon: { type: 'number' },
44+
monday_late_afternoon: { type: 'number' },
45+
monday_evening: { type: 'number' },
46+
monday_night: { type: 'number' },
47+
tuesday_early_morning: { type: 'number' },
48+
tuesday_late_morning: { type: 'number' },
49+
tuesday_lunch_time: { type: 'number' },
50+
tuesday_early_afternoon: { type: 'number' },
51+
tuesday_late_afternoon: { type: 'number' },
52+
tuesday_evening: { type: 'number' },
53+
tuesday_night: { type: 'number' },
54+
wednesday_early_morning: { type: 'number' },
55+
wednesday_late_morning: { type: 'number' },
56+
wednesday_lunch_time: { type: 'number' },
57+
wednesday_early_afternoon: { type: 'number' },
58+
wednesday_late_afternoon: { type: 'number' },
59+
wednesday_evening: { type: 'number' },
60+
wednesday_night: { type: 'number' },
61+
thursday_early_morning: { type: 'number' },
62+
thursday_late_morning: { type: 'number' },
63+
thursday_lunch_time: { type: 'number' },
64+
thursday_early_afternoon: { type: 'number' },
65+
thursday_late_afternoon: { type: 'number' },
66+
thursday_evening: { type: 'number' },
67+
thursday_night: { type: 'number' },
68+
friday_early_morning: { type: 'number' },
69+
friday_late_morning: { type: 'number' },
70+
friday_lunch_time: { type: 'number' },
71+
friday_early_afternoon: { type: 'number' },
72+
friday_late_afternoon: { type: 'number' },
73+
friday_evening: { type: 'number' },
74+
friday_night: { type: 'number' },
75+
saturday_early_morning: { type: 'number' },
76+
saturday_late_morning: { type: 'number' },
77+
saturday_lunch_time: { type: 'number' },
78+
saturday_early_afternoon: { type: 'number' },
79+
saturday_late_afternoon: { type: 'number' },
80+
saturday_evening: { type: 'number' },
81+
saturday_night: { type: 'number' },
82+
sunday_early_morning: { type: 'number' },
83+
sunday_late_morning: { type: 'number' },
84+
sunday_lunch_time: { type: 'number' },
85+
sunday_early_afternoon: { type: 'number' },
86+
sunday_late_afternoon: { type: 'number' },
87+
sunday_evening: { type: 'number' },
88+
sunday_night: { type: 'number' },
89+
}
90+
}
91+
}
92+
}
93+
},
94+
zones: {
95+
type: 'array',
96+
items: {
97+
type: 'object',
98+
properties: {
99+
id: { type: 'string', minLength: 2 },
100+
pattern: {
101+
type: 'object',
102+
properties: {
103+
monday_early_morning: { type: 'number' },
104+
monday_late_morning: { type: 'number' },
105+
monday_lunch_time: { type: 'number' },
106+
monday_early_afternoon: { type: 'number' },
107+
monday_late_afternoon: { type: 'number' },
108+
monday_evening: { type: 'number' },
109+
monday_night: { type: 'number' },
110+
tuesday_early_morning: { type: 'number' },
111+
tuesday_late_morning: { type: 'number' },
112+
tuesday_lunch_time: { type: 'number' },
113+
tuesday_early_afternoon: { type: 'number' },
114+
tuesday_late_afternoon: { type: 'number' },
115+
tuesday_evening: { type: 'number' },
116+
tuesday_night: { type: 'number' },
117+
wednesday_early_morning: { type: 'number' },
118+
wednesday_late_morning: { type: 'number' },
119+
wednesday_lunch_time: { type: 'number' },
120+
wednesday_early_afternoon: { type: 'number' },
121+
wednesday_late_afternoon: { type: 'number' },
122+
wednesday_evening: { type: 'number' },
123+
wednesday_night: { type: 'number' },
124+
thursday_early_morning: { type: 'number' },
125+
thursday_late_morning: { type: 'number' },
126+
thursday_lunch_time: { type: 'number' },
127+
thursday_early_afternoon: { type: 'number' },
128+
thursday_late_afternoon: { type: 'number' },
129+
thursday_evening: { type: 'number' },
130+
thursday_night: { type: 'number' },
131+
friday_early_morning: { type: 'number' },
132+
friday_late_morning: { type: 'number' },
133+
friday_lunch_time: { type: 'number' },
134+
friday_early_afternoon: { type: 'number' },
135+
friday_late_afternoon: { type: 'number' },
136+
friday_evening: { type: 'number' },
137+
friday_night: { type: 'number' },
138+
saturday_early_morning: { type: 'number' },
139+
saturday_late_morning: { type: 'number' },
140+
saturday_lunch_time: { type: 'number' },
141+
saturday_early_afternoon: { type: 'number' },
142+
saturday_late_afternoon: { type: 'number' },
143+
saturday_evening: { type: 'number' },
144+
saturday_night: { type: 'number' },
145+
sunday_early_morning: { type: 'number' },
146+
sunday_late_morning: { type: 'number' },
147+
sunday_lunch_time: { type: 'number' },
148+
sunday_early_afternoon: { type: 'number' },
149+
sunday_late_afternoon: { type: 'number' },
150+
sunday_evening: { type: 'number' },
151+
sunday_night: { type: 'number' },
152+
}
153+
}
154+
}
155+
}
156+
}
157+
}
25158
}
26159
}
27160
},

routes/logs.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ module.exports = async function (fastify, options) {
3232
req.body.data.company = req.client
3333
req.body.data.db = req.client
3434

35-
const userinfo = await fastify.redis.get('device:' + req.deviceId)
36-
req.body.data.custom_id = JSON.parse(userinfo)?.customId
35+
const userinfo = JSON.parse(await fastify.redis.get('device:' + req.deviceId))
36+
req.body.data.custom_id = userinfo?.customId
37+
req.body.data.predictions = userinfo?.predictions
3738

3839
await fastify.kafka.send({
3940
topic: process.env.KAFKA_TOPIC || 'stat-logs',

userinfo.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
{
2222
"tag": "Intermarche Contact",
2323
"pattern": {
24-
"monday_morning": 0.85,
24+
"monday_early_morning": 0.85,
2525
"friday_evening": 0.12
2626
}
2727
}],
@@ -35,4 +35,4 @@
3535
},
3636
"customId": "Damien",
3737
"adStatus": true
38-
}
38+
}

0 commit comments

Comments
 (0)