laravel-love

Add Social Reactions to Laravel Eloquent Models. It lets people express how they feel about the content. Fully customizable Weighted Reaction System & Reaction Type System with Like, Dislike and any other custom emotion types. Do you react?

MIT License

Downloads
225.9K
Stars
1.2K
Committers
11

Bot releases are hidden (Show)

laravel-love - 10.0.0 Latest Release

Published by antonkomarev 8 months ago

What's Changed

Full Changelog: https://github.com/cybercog/laravel-love/compare/9.0.0...10.0.0

laravel-love - 9.0.0

Published by antonkomarev over 1 year ago

Code has breaking changes because of Eloquent Model local scopes refactoring.

Follow upgrade instructions from v8 to v9 to migrate code.

Added

  • (#234) Added Laravel 10 support
  • (#216) Added Docker Compose to quick development build
  • (#227) Added whereReactedTo model scope to Reacterable models
  • (#227) Added whereNotReactedTo model scope to Reacterable models
  • (#227) Added whereReactedToBetween model scope to Reacterable models

Changed

  • (#227) Extracted Reactable model scopes to ReactableEloquentBuilderTrait
  • (#231) Console command love:setup-reactable generates migration with nullable column love_reactant_id by default
  • (#231) Console command love:setup-reactable option --nullable replaced with --not-nullable
  • (#231) Console command love:setup-reacterable generates migration with nullable column love_reacter_id by default
  • (#231) Console command love:setup-reacterable option --nullable replaced with --not-nullable
  • (#233) Console command love:recount use default queue connection if --queue-connection option is not defined
  • (#222) Removed DI usage from console commands constructors
  • (#215) Migrated to console AsCommand attribute
  • (#215) Package generating anonymous class migrations now
  • (#217) Switched to native typed class properties
  • (#218) Switched to Symfony Console exit code constants

Removed

  • (#215) Dropped PHP 7.x support
  • (#215) Dropped Laravel 6 support
  • (#215) Dropped Laravel 7 support
  • (#215) Dropped Laravel 8 support

Full Changelog: https://github.com/cybercog/laravel-love/compare/8.9.0...9.0.0

laravel-love - 8.9.0

Published by antonkomarev over 2 years ago

laravel-love - 8.8.1

Published by antonkomarev over 3 years ago

Removed

  • (#197) Dropped PHP 7.1 support
laravel-love - 8.8.0

Published by antonkomarev over 3 years ago

Removed

  • (#196) Dropped Laravel 5.7 support
  • (#196) Dropped Laravel 5.8 support

Fixed

  • (#196) Fixed CVE-2021-21263 vulnerability
  • (#196) Fixed GHSA-x7p5-p2c9-phvg vulnerability
laravel-love - 8.7.1

Published by antonkomarev almost 4 years ago

Fixed

  • (#186) Improve CLI application performance by replacing $name with $defaultName static property in commands
  • (#187) Fixed inconsistency in method parameter names
laravel-love - 8.7.0

Published by antonkomarev almost 4 years ago

Added

  • (#185) Added PHP 8.x support
laravel-love - 8.6.1

Published by antonkomarev about 4 years ago

Changed

  • (#178) Rename imported interfaces aliases

View the changes from 8.6.0 to 8.6.1

laravel-love - 8.6.0

Published by antonkomarev about 4 years ago

Added

  • (#177) Added accessor methods to aggregates jobs

View the changes from 8.5.0 to 8.6.0

laravel-love - 8.5.0

Published by antonkomarev about 4 years ago

Added

  • (#176) Added Laravel 8 support

View the changes from 8.4.0 to 8.5.0

laravel-love - 8.4.0

Published by antonkomarev over 4 years ago

Added

  • (#165) Added table names configuration

Fixed

  • (#161) Removed redundant queues from Reactant listeners

View the changes from 8.3.1 to 8.4.0

laravel-love - 8.3.1

Published by antonkomarev over 4 years ago

Added

  • (#158) Add Laravel 7.x support

View the changes from 8.3.0 to 8.3.1

laravel-love - 8.3.0

Published by antonkomarev over 4 years ago

Added

  • (#146) Extracted logic from Cog\Laravel\Love\Reactant\Listeners\IncrementAggregates listener to Cog\Laravel\Love\Reactant\Jobs\IncrementReactionAggregatesJob
  • (#146) Extracted logic from Cog\Laravel\Love\Reactant\Listeners\DecrementAggregates listener to Cog\Laravel\Love\Reactant\Jobs\DecrementReactionAggregatesJob
  • (#147) Extracted event listeners registering from Cog\Laravel\Love\LoveServiceProvider to Cog\Laravel\Love\LoveEventServiceProvider
  • (#148) Extracted rebuild of reactant reactions counters from Cog\Laravel\Love\Console\Commands\Recount command to Cog\Laravel\Love\Reactant\Jobs\RebuildReactionAggregatesJob
  • (#148) Added --queue-connection= option to love:recount Artisan command

Fixed

  • (#148) Fixed love:recount Artisan command execution when love_reactant_reaction_totals database table is empty
  • (#151) Fixed love:recount Artisan command return type

View the changes from 8.2.0 to 8.3.0

laravel-love - 8.2.0

Published by antonkomarev over 4 years ago

Added

  • (#127) Artisan commands for registering existing models as reactants/reacters

View the changes from 8.1.2 to 8.2.0

laravel-love - 8.1.2

Published by antonkomarev about 5 years ago

Fixed

  • (#121) Drop foreign key before database column delete

View the changes from 8.1.1 to 8.1.2

laravel-love - 8.1.1

Published by antonkomarev about 5 years ago

Fixed

  • (#118) Fix custom connection in database migrations

View the changes from 8.1.0 to 8.1.1

laravel-love - 8.1.0

Published by antonkomarev about 5 years ago

Added

  • (#113) Laravel 6 support

Changed

  • (#110) Removed dependency of RateOutOfRange exception in contracts namespace on concrete Reaction model implementation
  • (#110) Renamed withValue method to withValueBetween in RateOutOfRange exception
  • (#110) Added $minimumRate parameter to withValueBetween method in RateOutOfRange exception
  • (#110) Added $maximumRate parameter to withValueBetween method in RateOutOfRange exception
  • (#111) Changed $rate parameter type from float to ?float of hasReactedTo method in Reacter model contract
  • (#111) Changed $rate parameter type from float to ?float of hasNotReactedTo method in Reacter model contract

View the changes from 8.0.0 to 8.1.0

laravel-love - 5.3.0

Published by antonkomarev about 5 years ago

Added

  • (#114) Laravel 6 support

View the changes from 5.2.1 to 5.3.0

laravel-love - 8.0.0: ∞ Endless Love

Published by antonkomarev about 5 years ago

Code has a lot of breaking changes because of new Weighted Reaction System.

Follow upgrade instructions to migrate code & database to new structure.

Added

  • Added love:upgrade-v7-to-v8 Artisan command
  • (#90) Added ReactionCounter::COUNT_DEFAULT public constant
  • (#90) Added ReactionCounter::WEIGHT_DEFAULT public constant
  • (#90) Added ReactionTotal::COUNT_DEFAULT public constant
  • (#90) Added ReactionTotal::WEIGHT_DEFAULT public constant
  • (#91) Added Reaction::RATE_DEFAULT public constant
  • (#91) Added Reaction::RATE_MIN public constant
  • (#91) Added Reaction::RATE_MAX public constant
  • (#91) Added ReactionType::MASS_DEFAULT public constant
  • (#91) Added rate attribute to Reacter model
  • (#91) Added rate DECIMIAL(4, 2) column to love_reactions db table
  • (#91) Added ability to call Reacter::reactTo with already reacted reactant, same reaction type, but only rate differs
  • (#91) Added Cog\Contracts\Love\Reaction\Exceptions\RateOutOfRange exception
  • (#100) Added Cog\Contracts\Love\Reaction\Exceptions\RateInvalid exception
  • (#96) Added progress bar to love:recount Artisan command
  • (#97) Added ability to call Reactable::joinReactionCounterOfType more than once
  • (#102) Added scopeWhereNotReactedBy scope to Reactable model trait

Changed

  • (#79) Renamed isReactedTo method to hasReactedTo in Reacter model contract
  • (#79) Added $reactionType parameter to hasReactedTo in Reacter model contract
  • (#91) Added $rate parameter to hasReactedTo method in Reacter model contract
  • (#91) Added $rate parameter to hasReactedTo method in Reacter facade contract
  • (#79) Renamed isNotReactedTo method to hasNotReactedTo in Reacter model contract
  • (#79) Added $reactionType parameter to hasNotReactedTo in Reacter model contract
  • (#91) Added $rate parameter to hasNotReactedTo method in Reacter model contract
  • (#91) Added $rate parameter to hasNotReactedTo method in Reacter facade contract
  • (#79) Added $reactionType parameter to isReactedBy in Reactant model contract
  • (#91) Added $rate parameter to isReactedBy method in Reactant model contract
  • (#91) Added $rate parameter to isReactedBy method in Reactant facade contract
  • (#79) Added $reactionType parameter to isNotReactedBy in Reactant model contract
  • (#91) Added $rate parameter to isNotReactedBy method in Reactant model contract
  • (#91) Added $rate parameter to isNotReactedBy method in Reactant facade contract
  • (#83) Artisan command love:reaction-type-add awaits options instead of arguments
  • (#87) Resolving models default attributes values moved from accessors to Eloquent methods
  • (#88) Renamed weight attribute to mass in ReactionType model
  • (#88) Renamed getWeight method to getMass in ReactionType model contract
  • (#89) Added $reactionType parameter to scopeWhereReactedBy method in Reactable model trait
  • (#90) Moved count & weight attributes default values of ReactionCounter to application level
  • (#90) Moved count & weight attributes default values of ReactionTotal to application level
  • (#91) Changed getWeight method return type from int to float in reactant's ReactionCounter model contract
  • (#91) Changed $amount parameter type from int to float of incrementWeight method in reactant's ReactionCounter model contract
  • (#91) Changed $amount parameter type from int to float of decrementWeight method in reactant's ReactionCounter model contract
  • (#91) Changed getWeight method return type from int to float in reactant's ReactionTotal model contract
  • (#91) Changed $amount parameter type from int to float of incrementWeight method in reactant's ReactionTotal model contract
  • (#91) Changed $amount parameter type from int to float of decrementWeight method in reactant's ReactionTotal model contract
  • (#91) Added ?float $rate parameter to reactTo method in Reacter facade contract
  • (#91) Added ?float $rate parameter to reactTo method in Reacter model contract
  • (#91) Added getRate method to Reaction model contract
  • (#91) Changed getWeight method return type from int to float in Reaction model contract
  • (#91) Changed weight column type to DECIMIAL(13, 2) in love_reactant_reaction_counters db table
  • (#91) Changed weight column type to DECIMIAL(13, 2) in love_reactant_reaction_totals db table
  • (#96) Changed signature of love:recount Artisan command to love:recount {--model=} {--type=}
  • (#99) Make Reacterable parameter nullable in isReactedBy method of Reactant facade contract
  • (#99) Make Reacterable parameter nullable in isNotReactedBy method of Reactant facade contract
  • (#102) Changed second parameter type from Reactant to Reacterable in scopeWhereReactedBy method of Reactable model trait
  • (#102) Changed third parameter type from ?ReactionType to ?string in scopeWhereReactedBy method of Reactable model trait
  • (#97) Added third ?string $alias parameter to scopeJoinReactionCounterOfType method of Reactable model trait
  • (#102) Added second ?string $alias parameter to scopeJoinReactionTotal method of Reactable model trait
  • (#102) Renamed virtual column reactions_count to reaction_{$type}_count in scopeJoinReactionCounterOfType method of Reactable model trait
  • (#102) Renamed virtual column reactions_weight to reaction_{$type}_weight in scopeJoinReactionCounterOfType method of Reactable model trait
  • (#102) Renamed virtual column reactions_total_count to reaction_total_count in scopeJoinReactionTotal method of Reactable model trait
  • (#102) Renamed virtual column reactions_total_weight to reaction_total_weight in scopeJoinReactionTotal method of Reactable model trait

Removed

  • (#86) Laravel 5.6 support obsolete
  • (#79) Removed isReactedToWithType method from Reacter model contract
  • (#79) Removed isNotReactedToWithType method from Reacter model contract
  • (#79) Removed isReactedByWithType method from Reactant model contract
  • (#79) Removed isNotReactedByWithType method Reactant model contract
  • (#89) Removed scopeWhereReactedByWithType method from Reactable model trait

View the changes from 7.2.1 to 8.0.0

laravel-love - 7.2.1

Published by antonkomarev over 5 years ago

Fixed

  • (#77) Fixed Null Objects iterable return type inconsistency

View the changes from 7.2.0 to 7.2.1