mirror of
https://code.castopod.org/adaures/castopod
synced 2025-04-19 13:01:19 +00:00
fix(analytics): set duration field to precise decimal as episode's audio file duration
This commit is contained in:
parent
714d6b5d49
commit
d772685405
@ -27,7 +27,10 @@ class AddAnalyticsPodcasts extends Migration
|
||||
'type' => 'DATE',
|
||||
],
|
||||
'duration' => [
|
||||
'type' => 'INT',
|
||||
// a hit in analytics podcast increments this value when a podcast is listened to in a given date.
|
||||
// Here, the "cumulative listening time" on a podcast per day
|
||||
// cannot surpass 999,999,999,999.999 seconds (~277,777,777 hours) - should be enough.
|
||||
'type' => 'DECIMAL(15,3)',
|
||||
'unsigned' => true,
|
||||
],
|
||||
'bandwidth' => [
|
||||
|
@ -36,7 +36,7 @@ class AddAnalyticsPodcastsProcedure extends Migration
|
||||
IN `p_os` VARCHAR(32),
|
||||
IN `p_bot` TINYINT(1) UNSIGNED,
|
||||
IN `p_filesize` INT UNSIGNED,
|
||||
IN `p_duration` INT UNSIGNED,
|
||||
IN `p_duration` DECIMAL(8,3) UNSIGNED,
|
||||
IN `p_age` INT UNSIGNED,
|
||||
IN `p_new_listener` TINYINT(1) UNSIGNED
|
||||
) MODIFIES SQL DATA
|
||||
|
@ -17,7 +17,7 @@ use CodeIgniter\Entity\Entity;
|
||||
/**
|
||||
* @property int $podcast_id
|
||||
* @property Time $date
|
||||
* @property int $duration
|
||||
* @property double $duration
|
||||
* @property int $bandwidth
|
||||
* @property int $unique_listeners
|
||||
* @property int $hits
|
||||
@ -36,7 +36,7 @@ class AnalyticsPodcasts extends Entity
|
||||
*/
|
||||
protected $casts = [
|
||||
'podcast_id' => 'integer',
|
||||
'duration' => 'integer',
|
||||
'duration' => 'double',
|
||||
'bandwidth' => 'integer',
|
||||
'unique_listeners' => 'integer',
|
||||
'hits' => 'integer',
|
||||
|
@ -252,7 +252,7 @@ if (! function_exists('podcast_hit')) {
|
||||
* @param integer $episodeId The Episode ID
|
||||
* @param integer $bytesThreshold The minimum total number of bytes that must be downloaded so that an episode is counted (>1mn)
|
||||
* @param integer $fileSize The podcast complete file size
|
||||
* @param integer $duration The episode duration in seconds
|
||||
* @param double $duration The episode duration in seconds
|
||||
* @param int $publicationTime The episode's publication time as a UNIX timestamp
|
||||
* @param string $serviceName The name of the service that had fetched the RSS feed
|
||||
*/
|
||||
@ -261,7 +261,7 @@ if (! function_exists('podcast_hit')) {
|
||||
int $episodeId,
|
||||
int $bytesThreshold,
|
||||
int $fileSize,
|
||||
int $duration,
|
||||
float $duration,
|
||||
int $publicationTime,
|
||||
string $serviceName
|
||||
): void {
|
||||
|
Loading…
x
Reference in New Issue
Block a user