Skip to content

Commit 994b6d1

Browse files
authored
Merge pull request #2256 from codeeu/dev
Dev
2 parents 614dad7 + a85fd89 commit 994b6d1

File tree

2,084 files changed

+58195
-70206
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,084 files changed

+58195
-70206
lines changed

.env.example

+16-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
11
APP_ENV=local
22
APP_KEY=base64:ilyL17PxJTnZXqNBVr+P36ARu9NF7HgqJ87ciGWvo5E=
33
APP_DEBUG=false
4+
APP_TIMEZONE=UTC
45
APP_URL=http://localhost
56

7+
APP_LOCALE=en
8+
APP_FALLBACK_LOCALE=en
9+
APP_FAKER_LOCALE=en_US
10+
11+
APP_MAINTENANCE_DRIVER=file
12+
APP_MAINTENANCE_STORE=database
13+
14+
BCRYPT_ROUNDS=12
15+
616
DB_CONNECTION=sqlite
717
DB_DATABASE=database/database.sqlite
818

9-
CACHE_DRIVER=array
19+
CACHE_STORE=array
1020
SESSION_DRIVER=array
1121
QUEUE_DRIVER=sync
1222

@@ -22,7 +32,12 @@ AWS_BUCKET=codeweek-dev
2232
AWS_URL=https://codeweek-s3.s3.amazonaws.com/
2333

2434
LOG_CHANNEL=stack
35+
LOG_STACK=single
2536

2637
LOCALES=al,ba,bg,cs,da,de,el,en,es,et,fi,fr,hr,hu,it,lt,lv,me,mk,nl,pl,pt,ro,rs,sk,sl,sv
2738

2839
ADMIN_EMAIL=admin@codeweek.test
40+
41+
SESSION_ENCRYPT=false
42+
SESSION_PATH=/
43+
SESSION_DOMAIN=null

.env.travis

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ DB_DATABASE=codeweek
1010
DB_USERNAME=root
1111
DB_PASSWORD=
1212

13-
CACHE_DRIVER=array
13+
CACHE_STORE=array
1414
SESSION_DRIVER=array
1515
QUEUE_DRIVER=sync
1616

.github/workflows/laravel.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ jobs:
1414
steps:
1515
- uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e
1616
with:
17-
php-version: '8.1'
17+
php-version: '8.3'
18+
tools: composer:v2
1819
env:
1920
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2021
- uses: actions/checkout@v3

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/node_modules
22
/public/hot
3+
/public/build
34
/public/storage
45
/storage/*.key
56
/vendor
@@ -18,10 +19,13 @@ public/css/app.css
1819
public/mix-manifest.json
1920
public/vendor/nova/*
2021
resources/lang/vendor/*
22+
resources/lang/*.json
2123
resources/latex/texput.log
2224
!app/Nova
2325
auth.json
2426
vue-i18n-locales.generated.js
2527
/storage/debugbar/
2628
/phpunit.xml
29+
/.phpunit.cache
2730
/.phpunit.result.cache
31+

.run/dev.run.xml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="dev" type="js.build_tools.npm" activateToolWindowBeforeRun="false" nameIsGenerated="true">
3+
<package-json value="$PROJECT_DIR$/package.json" />
4+
<command value="run" />
5+
<scripts>
6+
<script value="dev" />
7+
</scripts>
8+
<node-interpreter value="project" />
9+
<envs />
10+
<method v="2" />
11+
</configuration>
12+
</component>

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ before_script:
1515
- travis_retry composer install ${COMPOSER_FLAGS} --no-interaction --prefer-source
1616
- php artisan vue-i18n:generate
1717
- yarn install
18-
- npm run prod
18+
- npm run build
1919
- php artisan key:generate
2020

2121
cache:

app/Achievements/Achievement.php

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
<?php
22

3-
43
namespace App\Achievements;
54

6-
75
use App\User;
86
use Illuminate\Database\Eloquent\Model;
7+
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
98

109
class Achievement extends Model
1110
{
12-
1311
protected $guarded = [];
1412

15-
public function awardTo(User $user){
13+
public function awardTo(User $user)
14+
{
1615
$this->users()->attach($user);
1716
}
1817

19-
public function users(){
18+
public function users(): BelongsToMany
19+
{
2020
return $this->belongsToMany(User::class, 'user_achievements');
2121
}
2222

@@ -29,9 +29,9 @@ public function levelAsNumber()
2929
][$this->level];
3030
}
3131

32-
// public function newCollection(array $models = [])
33-
// {
34-
// return new Achievements($models);
35-
// }
32+
// public function newCollection(array $models = [])
33+
// {
34+
// return new Achievements($models);
35+
// }
3636

3737
}

app/Achievements/Achievements.php

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
<?php
22

3-
43
namespace App\Achievements;
54

6-
75
use Illuminate\Database\Eloquent\Collection;
86

97
class Achievements extends Collection
108
{
11-
public function for($user){
9+
public function for($user)
10+
{
1211
return $user->achievements;
1312
}
1413

@@ -30,4 +29,4 @@ public function asPercentageOfTotalAvailable()
3029

3130
return $totalAchievements ? round($this->count() / $totalAchievements * 100) : 0;
3231
}
33-
}
32+
}

app/Achievements/AchievementsServiceProvider.php

+4-13
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,16 @@
11
<?php
22

3-
43
namespace App\Achievements;
54

6-
75
use App\Achievements\Console\GenerateAchievementCommand;
86
use App\Achievements\Console\SyncExperience;
97
use App\Achievements\Console\SyncUsersAchievements;
108
use App\Achievements\Events\UserEarnedExperience;
11-
12-
13-
use App\Achievements\Types\StartYourEngines;
149
use Illuminate\Support\Facades\Event;
1510
use Illuminate\Support\ServiceProvider;
1611

1712
class AchievementsServiceProvider extends ServiceProvider
1813
{
19-
2014
protected $achievements = [
2115
Types\OrganiserActive2021::class,
2216
Types\OrganiserExpert2021::class,
@@ -57,16 +51,16 @@ class AchievementsServiceProvider extends ServiceProvider
5751
Types\InfluencerActive2024::class,
5852
Types\InfluencerExpert2024::class,
5953
Types\InfluencerChampion2024::class,
60-
Types\InfluencerLegendary2024::class
54+
Types\InfluencerLegendary2024::class,
6155

6256
];
6357

64-
public function boot()
58+
public function boot(): void
6559
{
6660
Event::listen(UserEarnedExperience::class, AwardAchievements::class);
6761
}
6862

69-
public function register()
63+
public function register(): void
7064
{
7165
$this->app->singleton('achievements', function () {
7266
return cache()->rememberForever('achievements', function () {
@@ -76,9 +70,6 @@ public function register()
7670
});
7771
});
7872

79-
$this->commands([GenerateAchievementCommand::class,SyncUsersAchievements::class, SyncExperience::class]);
73+
$this->commands([GenerateAchievementCommand::class, SyncUsersAchievements::class, SyncExperience::class]);
8074
}
81-
82-
83-
8475
}

app/Achievements/AwardAchievements.php

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
<?php
22

3-
43
namespace App\Achievements;
54

6-
75
use App\Achievements\Events\UserEarnedExperience;
86

97
class AwardAchievements
@@ -19,4 +17,4 @@ public function scanForAwards($user)
1917
app('achievements')->filter->qualifier($user)->map->modelKey()
2018
);
2119
}
22-
}
20+
}
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
<?php
22

3-
43
namespace App\Achievements\Console;
54

6-
75
use Illuminate\Console\Command;
86

97
class GenerateAchievementCommand extends Command
@@ -12,19 +10,19 @@ class GenerateAchievementCommand extends Command
1210

1311
protected $description = 'Generate a new Achievement class stub.';
1412

15-
public function handle()
13+
public function handle(): void
1614
{
17-
$path = app_path('Achievements/Types/'.$this->argument('name') . '.php');
15+
$path = app_path('Achievements/Types/'.$this->argument('name').'.php');
1816

1917
file_put_contents($path, $this->compileTemplate());
2018

21-
$this->info($path . ' was created!');
19+
$this->info($path.' was created!');
2220
}
2321

2422
protected function compileTemplate()
2523
{
2624
$stub = file_get_contents(app_path('Achievements/Console/achievement.stub'));
2725

28-
return str_replace('{{CLASS}}',$this->argument('name'), $stub);
26+
return str_replace('{{CLASS}}', $this->argument('name'), $stub);
2927
}
30-
}
28+
}

app/Achievements/Console/SyncExperience.php

+11-17
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
use Carbon\Carbon;
77
use Illuminate\Console\Command;
88

9-
109
class SyncExperience extends Command
1110
{
1211
/**
@@ -25,34 +24,29 @@ class SyncExperience extends Command
2524

2625
/**
2726
* Execute the console command.
28-
*
29-
* @return int
3027
*/
31-
public function handle()
28+
public function handle(): int
3229
{
3330

34-
User::role("leading teacher")
35-
->chunk(10, function($users, $index){
36-
$this->reportProgress($index);
37-
$users->each(function($user){
31+
User::role('leading teacher')
32+
->chunk(10, function ($users, $index) {
33+
$this->reportProgress($index);
34+
$users->each(function ($user) {
3835

39-
for ($year = 2021; $year <= Carbon::now()->year; $year++ ){
36+
for ($year = 2021; $year <= Carbon::now()->year; $year++) {
4037

41-
$user->resetExperience($year);
38+
$user->resetExperience($year);
4239

43-
$user->awardExperience($user->reported($year) * 2, $year);
40+
$user->awardExperience($user->reported($year) * 2, $year);
4441

45-
$user->awardExperience($user->influence($year), $year);
42+
$user->awardExperience($user->influence($year), $year);
4643

47-
}
44+
}
4845

46+
});
4947
});
50-
});
5148
}
5249

53-
/**
54-
* @param $index
55-
*/
5650
protected function reportProgress($index): void
5751
{
5852
$from = ($index - 1) * 10;

app/Achievements/Console/SyncUsersAchievements.php

+9-14
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,20 @@ class SyncUsersAchievements extends Command
2323

2424
/**
2525
* Execute the console command.
26-
*
27-
* @return int
2826
*/
29-
public function handle()
27+
public function handle(): void
3028
{
31-
User::role("leading teacher")
32-
->chunk(100, function($users, $index){
33-
$this->reportProgress($index);
34-
$users->each(function($user){
35-
$user->achievements()->sync(
36-
app('achievements')->filter->qualifier($user)->map->modelKey()
37-
);
29+
User::role('leading teacher')
30+
->chunk(100, function ($users, $index) {
31+
$this->reportProgress($index);
32+
$users->each(function ($user) {
33+
$user->achievements()->sync(
34+
app('achievements')->filter->qualifier($user)->map->modelKey()
35+
);
36+
});
3837
});
39-
});
4038
}
4139

42-
/**
43-
* @param $index
44-
*/
4540
protected function reportProgress($index): void
4641
{
4742
$from = ($index - 1) * 100;

app/Achievements/Events/UserEarnedExperience.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@ class UserEarnedExperience
99
{
1010
use Dispatchable, SerializesModels;
1111

12-
1312
public $user;
13+
1414
public $points;
15+
1516
public $totalPoints;
17+
1618
/**
1719
* Create a new event instance.
1820
*
@@ -24,6 +26,4 @@ public function __construct($user, $points, $totalPoints)
2426
$this->points = $points;
2527
$this->totalPoints = $totalPoints;
2628
}
27-
28-
2929
}

0 commit comments

Comments
 (0)