mirror of
https://github.com/shlinkio/shlink.git
synced 2024-11-21 20:27:14 +03:00
Expose visitedUrl when serializing any kind of visit, not only orphan visits
This commit is contained in:
parent
d948543d5c
commit
6fe269193a
10 changed files with 40 additions and 25 deletions
|
@ -232,6 +232,11 @@
|
|||
"potentialBot": {
|
||||
"type": "boolean",
|
||||
"description": "Tells if Shlink thinks this visit comes potentially from a bot or crawler"
|
||||
},
|
||||
"visitedUrl": {
|
||||
"type": "string",
|
||||
"nullable": true,
|
||||
"description": "The originally visited URL that triggered the tracking of this visit"
|
||||
}
|
||||
},
|
||||
"example": {
|
||||
|
@ -247,7 +252,8 @@
|
|||
"regionName": "California",
|
||||
"timezone": "America/Los_Angeles"
|
||||
},
|
||||
"potentialBot": false
|
||||
"potentialBot": false,
|
||||
"visitedUrl": "https://s.test"
|
||||
}
|
||||
},
|
||||
"OrphanVisit": {
|
||||
|
@ -256,11 +262,6 @@
|
|||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"visitedUrl": {
|
||||
"type": "string",
|
||||
"nullable": true,
|
||||
"description": "The originally visited URL that triggered the tracking of this visit"
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
|
|
|
@ -1,14 +1,10 @@
|
|||
{
|
||||
"type": "object",
|
||||
"required": ["visitedUrl", "type"],
|
||||
"required": ["type"],
|
||||
"allOf": [{
|
||||
"$ref": "./Visit.json"
|
||||
}],
|
||||
"properties": {
|
||||
"visitedUrl": {
|
||||
"type": ["string", "null"],
|
||||
"description": "The originally visited URL that triggered the tracking of this visit"
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"type": "object",
|
||||
"required": ["referer", "date", "userAgent", "visitLocation"],
|
||||
"required": ["referer", "date", "userAgent", "visitLocation", "potentialBot", "visitedUrl"],
|
||||
"properties": {
|
||||
"referer": {
|
||||
"type": "string",
|
||||
|
@ -21,6 +21,10 @@
|
|||
"potentialBot": {
|
||||
"type": "boolean",
|
||||
"description": "Tells if Shlink thinks this visit comes potentially from a bot or crawler"
|
||||
},
|
||||
"visitedUrl": {
|
||||
"type": ["string", "null"],
|
||||
"description": "The originally visited URL that triggered the tracking of this visit"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,7 +100,8 @@
|
|||
"date": "2015-08-20T05:05:03+04:00",
|
||||
"userAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0",
|
||||
"visitLocation": null,
|
||||
"potentialBot": false
|
||||
"potentialBot": false,
|
||||
"visitedUrl": "https://s.test"
|
||||
},
|
||||
{
|
||||
"referer": "https://t.co",
|
||||
|
@ -115,14 +116,16 @@
|
|||
"regionName": "California",
|
||||
"timezone": "America/Los_Angeles"
|
||||
},
|
||||
"potentialBot": false
|
||||
"potentialBot": false,
|
||||
"visitedUrl": "https://s.test"
|
||||
},
|
||||
{
|
||||
"referer": null,
|
||||
"date": "2015-08-20T05:05:03+04:00",
|
||||
"userAgent": "some_web_crawler/1.4",
|
||||
"visitLocation": null,
|
||||
"potentialBot": true
|
||||
"potentialBot": true,
|
||||
"visitedUrl": "https://s.test"
|
||||
}
|
||||
],
|
||||
"pagination": {
|
||||
|
|
|
@ -103,7 +103,8 @@
|
|||
"date": "2015-08-20T05:05:03+04:00",
|
||||
"userAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0",
|
||||
"visitLocation": null,
|
||||
"potentialBot": false
|
||||
"potentialBot": false,
|
||||
"visitedUrl": "https://s.test"
|
||||
},
|
||||
{
|
||||
"referer": "https://t.co",
|
||||
|
@ -118,14 +119,16 @@
|
|||
"regionName": "California",
|
||||
"timezone": "America/Los_Angeles"
|
||||
},
|
||||
"potentialBot": false
|
||||
"potentialBot": false,
|
||||
"visitedUrl": "https://s.test"
|
||||
},
|
||||
{
|
||||
"referer": null,
|
||||
"date": "2015-08-20T05:05:03+04:00",
|
||||
"userAgent": "some_web_crawler/1.4",
|
||||
"visitLocation": null,
|
||||
"potentialBot": true
|
||||
"potentialBot": true,
|
||||
"visitedUrl": "https://s.test"
|
||||
}
|
||||
],
|
||||
"pagination": {
|
||||
|
|
|
@ -103,7 +103,8 @@
|
|||
"date": "2015-08-20T05:05:03+04:00",
|
||||
"userAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0",
|
||||
"visitLocation": null,
|
||||
"potentialBot": false
|
||||
"potentialBot": false,
|
||||
"visitedUrl": "https://s.test"
|
||||
},
|
||||
{
|
||||
"referer": "https://t.co",
|
||||
|
@ -118,14 +119,16 @@
|
|||
"regionName": "California",
|
||||
"timezone": "America/Los_Angeles"
|
||||
},
|
||||
"potentialBot": false
|
||||
"potentialBot": false,
|
||||
"visitedUrl": "https://s.test"
|
||||
},
|
||||
{
|
||||
"referer": null,
|
||||
"date": "2015-08-20T05:05:03+04:00",
|
||||
"userAgent": "some_web_crawler/1.4",
|
||||
"visitLocation": null,
|
||||
"potentialBot": true
|
||||
"potentialBot": true,
|
||||
"visitedUrl": "https://s.test"
|
||||
}
|
||||
],
|
||||
"pagination": {
|
||||
|
|
|
@ -94,7 +94,8 @@
|
|||
"date": "2015-08-20T05:05:03+04:00",
|
||||
"userAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0",
|
||||
"visitLocation": null,
|
||||
"potentialBot": false
|
||||
"potentialBot": false,
|
||||
"visitedUrl": "https://s.test"
|
||||
},
|
||||
{
|
||||
"referer": "https://t.co",
|
||||
|
@ -109,14 +110,16 @@
|
|||
"regionName": "California",
|
||||
"timezone": "America/Los_Angeles"
|
||||
},
|
||||
"potentialBot": false
|
||||
"potentialBot": false,
|
||||
"visitedUrl": "https://s.test"
|
||||
},
|
||||
{
|
||||
"referer": null,
|
||||
"date": "2015-08-20T05:05:03+04:00",
|
||||
"userAgent": "some_web_crawler/1.4",
|
||||
"visitLocation": null,
|
||||
"potentialBot": true
|
||||
"potentialBot": true,
|
||||
"visitedUrl": "https://s.test"
|
||||
}
|
||||
],
|
||||
"pagination": {
|
||||
|
|
|
@ -163,6 +163,7 @@ class Visit extends AbstractEntity implements JsonSerializable
|
|||
'userAgent' => $this->userAgent,
|
||||
'visitLocation' => $this->visitLocation,
|
||||
'potentialBot' => $this->potentialBot,
|
||||
'visitedUrl' => $this->visitedUrl,
|
||||
];
|
||||
if (! $this->isOrphan()) {
|
||||
return $base;
|
||||
|
@ -170,7 +171,6 @@ class Visit extends AbstractEntity implements JsonSerializable
|
|||
|
||||
return [
|
||||
...$base,
|
||||
'visitedUrl' => $this->visitedUrl,
|
||||
'type' => $this->type->value,
|
||||
];
|
||||
}
|
||||
|
|
|
@ -68,6 +68,7 @@ class PublishingUpdatesGeneratorTest extends TestCase
|
|||
'visitLocation' => null,
|
||||
'date' => $visit->getDate()->toAtomString(),
|
||||
'potentialBot' => false,
|
||||
'visitedUrl' => '',
|
||||
],
|
||||
], $update->payload);
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ class VisitTest extends TestCase
|
|||
'userAgent' => $userAgent,
|
||||
'visitLocation' => null,
|
||||
'potentialBot' => $expectedToBePotentialBot,
|
||||
'visitedUrl' => $visit->visitedUrl,
|
||||
], $visit->jsonSerialize());
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue