Skip to content

Commit 4c5e18d

Browse files
author
Sylvain Maucourt
committed
implementation done 👍
1 parent a3c3a85 commit 4c5e18d

File tree

4 files changed

+150
-9
lines changed

4 files changed

+150
-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: 140 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,155 @@ 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' }
23-
}
24-
}
25+
}
26+
}
2527
},
26-
location: { type: 'object',
28+
location: {
29+
type: 'object',
2730
properties: {
2831
status: { type: 'string', enum: [ 'ALWAYS', 'WHILE_IN_USE', 'NOT_DETERMINED', 'DENIED' ] },
2932
precision: { type: 'string', enum: [ 'FINE', 'COARSE' ] }
3033
}
34+
},
35+
predictions: {
36+
type: 'object',
37+
properties: {
38+
tags: {
39+
type: 'array',
40+
items: {
41+
type: 'object',
42+
properties: {
43+
tag: { type: 'string', minLength: 2 },
44+
pattern: {
45+
type: 'object',
46+
properties: {
47+
monday_early_morning: { type: 'number' },
48+
monday_late_morning: { type: 'number' },
49+
monday_lunch_time: { type: 'number' },
50+
monday_early_afternoon: { type: 'number' },
51+
monday_late_afternoon: { type: 'number' },
52+
monday_evening: { type: 'number' },
53+
monday_night: { type: 'number' },
54+
tuesday_early_morning: { type: 'number' },
55+
tuesday_late_morning: { type: 'number' },
56+
tuesday_lunch_time: { type: 'number' },
57+
tuesday_early_afternoon: { type: 'number' },
58+
tuesday_late_afternoon: { type: 'number' },
59+
tuesday_evening: { type: 'number' },
60+
tuesday_night: { type: 'number' },
61+
wednesday_early_morning: { type: 'number' },
62+
wednesday_late_morning: { type: 'number' },
63+
wednesday_lunch_time: { type: 'number' },
64+
wednesday_early_afternoon: { type: 'number' },
65+
wednesday_late_afternoon: { type: 'number' },
66+
wednesday_evening: { type: 'number' },
67+
wednesday_night: { type: 'number' },
68+
thursday_early_morning: { type: 'number' },
69+
thursday_late_morning: { type: 'number' },
70+
thursday_lunch_time: { type: 'number' },
71+
thursday_early_afternoon: { type: 'number' },
72+
thursday_late_afternoon: { type: 'number' },
73+
thursday_evening: { type: 'number' },
74+
thursday_night: { type: 'number' },
75+
friday_early_morning: { type: 'number' },
76+
friday_late_morning: { type: 'number' },
77+
friday_lunch_time: { type: 'number' },
78+
friday_early_afternoon: { type: 'number' },
79+
friday_late_afternoon: { type: 'number' },
80+
friday_evening: { type: 'number' },
81+
friday_night: { type: 'number' },
82+
saturday_early_morning: { type: 'number' },
83+
saturday_late_morning: { type: 'number' },
84+
saturday_lunch_time: { type: 'number' },
85+
saturday_early_afternoon: { type: 'number' },
86+
saturday_late_afternoon: { type: 'number' },
87+
saturday_evening: { type: 'number' },
88+
saturday_night: { type: 'number' },
89+
sunday_early_morning: { type: 'number' },
90+
sunday_late_morning: { type: 'number' },
91+
sunday_lunch_time: { type: 'number' },
92+
sunday_early_afternoon: { type: 'number' },
93+
sunday_late_afternoon: { type: 'number' },
94+
sunday_evening: { type: 'number' },
95+
sunday_night: { type: 'number' },
96+
}
97+
}
98+
}
99+
}
100+
},
101+
zones: {
102+
type: 'array',
103+
items: {
104+
type: 'object',
105+
properties: {
106+
id: { type: 'string', minLength: 2 },
107+
pattern: {
108+
type: 'object',
109+
properties: {
110+
monday_early_morning: { type: 'number' },
111+
monday_late_morning: { type: 'number' },
112+
monday_lunch_time: { type: 'number' },
113+
monday_early_afternoon: { type: 'number' },
114+
monday_late_afternoon: { type: 'number' },
115+
monday_evening: { type: 'number' },
116+
monday_night: { type: 'number' },
117+
tuesday_early_morning: { type: 'number' },
118+
tuesday_late_morning: { type: 'number' },
119+
tuesday_lunch_time: { type: 'number' },
120+
tuesday_early_afternoon: { type: 'number' },
121+
tuesday_late_afternoon: { type: 'number' },
122+
tuesday_evening: { type: 'number' },
123+
tuesday_night: { type: 'number' },
124+
wednesday_early_morning: { type: 'number' },
125+
wednesday_late_morning: { type: 'number' },
126+
wednesday_lunch_time: { type: 'number' },
127+
wednesday_early_afternoon: { type: 'number' },
128+
wednesday_late_afternoon: { type: 'number' },
129+
wednesday_evening: { type: 'number' },
130+
wednesday_night: { type: 'number' },
131+
thursday_early_morning: { type: 'number' },
132+
thursday_late_morning: { type: 'number' },
133+
thursday_lunch_time: { type: 'number' },
134+
thursday_early_afternoon: { type: 'number' },
135+
thursday_late_afternoon: { type: 'number' },
136+
thursday_evening: { type: 'number' },
137+
thursday_night: { type: 'number' },
138+
friday_early_morning: { type: 'number' },
139+
friday_late_morning: { type: 'number' },
140+
friday_lunch_time: { type: 'number' },
141+
friday_early_afternoon: { type: 'number' },
142+
friday_late_afternoon: { type: 'number' },
143+
friday_evening: { type: 'number' },
144+
friday_night: { type: 'number' },
145+
saturday_early_morning: { type: 'number' },
146+
saturday_late_morning: { type: 'number' },
147+
saturday_lunch_time: { type: 'number' },
148+
saturday_early_afternoon: { type: 'number' },
149+
saturday_late_afternoon: { type: 'number' },
150+
saturday_evening: { type: 'number' },
151+
saturday_night: { type: 'number' },
152+
sunday_early_morning: { type: 'number' },
153+
sunday_late_morning: { type: 'number' },
154+
sunday_lunch_time: { type: 'number' },
155+
sunday_early_afternoon: { type: 'number' },
156+
sunday_late_afternoon: { type: 'number' },
157+
sunday_evening: { type: 'number' },
158+
sunday_night: { type: 'number' },
159+
}
160+
}
161+
}
162+
}
163+
}
164+
}
31165
}
32166
}
33167
},

routes/logs.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ module.exports = async function (fastify, options) {
4141
req.body.data.custom_id = userinfo_json?.customId
4242
req.body.data.location_status = userinfo_json?.location?.status
4343
req.body.data.location_precision = userinfo_json?.location?.precision
44+
req.body.data.predictions = userinfo_json?.predictions
4445

4546
await fastify.kafka.send({
4647
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)