mirror of https://github.com/kcal-app/kcal.git
Add API key to profile output
This commit is contained in:
parent
0f2d054649
commit
3f04f14a2d
|
@ -213,6 +213,7 @@ namespace PHPSTORM_META {
|
|||
'queue.worker' => \Illuminate\Queue\Worker::class,
|
||||
'redirect' => \Illuminate\Routing\Redirector::class,
|
||||
'redis' => \Illuminate\Redis\RedisManager::class,
|
||||
'redis.connection' => \Illuminate\Redis\Connections\PhpRedisConnection::class,
|
||||
'router' => \Illuminate\Routing\Router::class,
|
||||
'session' => \Illuminate\Session\SessionManager::class,
|
||||
'session.store' => \Illuminate\Session\Store::class,
|
||||
|
@ -428,6 +429,7 @@ namespace PHPSTORM_META {
|
|||
'queue.worker' => \Illuminate\Queue\Worker::class,
|
||||
'redirect' => \Illuminate\Routing\Redirector::class,
|
||||
'redis' => \Illuminate\Redis\RedisManager::class,
|
||||
'redis.connection' => \Illuminate\Redis\Connections\PhpRedisConnection::class,
|
||||
'router' => \Illuminate\Routing\Router::class,
|
||||
'session' => \Illuminate\Session\SessionManager::class,
|
||||
'session.store' => \Illuminate\Session\Store::class,
|
||||
|
@ -643,6 +645,7 @@ namespace PHPSTORM_META {
|
|||
'queue.worker' => \Illuminate\Queue\Worker::class,
|
||||
'redirect' => \Illuminate\Routing\Redirector::class,
|
||||
'redis' => \Illuminate\Redis\RedisManager::class,
|
||||
'redis.connection' => \Illuminate\Redis\Connections\PhpRedisConnection::class,
|
||||
'router' => \Illuminate\Routing\Router::class,
|
||||
'session' => \Illuminate\Session\SessionManager::class,
|
||||
'session.store' => \Illuminate\Session\Store::class,
|
||||
|
@ -858,6 +861,7 @@ namespace PHPSTORM_META {
|
|||
'queue.worker' => \Illuminate\Queue\Worker::class,
|
||||
'redirect' => \Illuminate\Routing\Redirector::class,
|
||||
'redis' => \Illuminate\Redis\RedisManager::class,
|
||||
'redis.connection' => \Illuminate\Redis\Connections\PhpRedisConnection::class,
|
||||
'router' => \Illuminate\Routing\Router::class,
|
||||
'session' => \Illuminate\Session\SessionManager::class,
|
||||
'session.store' => \Illuminate\Session\Store::class,
|
||||
|
@ -1073,6 +1077,7 @@ namespace PHPSTORM_META {
|
|||
'queue.worker' => \Illuminate\Queue\Worker::class,
|
||||
'redirect' => \Illuminate\Routing\Redirector::class,
|
||||
'redis' => \Illuminate\Redis\RedisManager::class,
|
||||
'redis.connection' => \Illuminate\Redis\Connections\PhpRedisConnection::class,
|
||||
'router' => \Illuminate\Routing\Router::class,
|
||||
'session' => \Illuminate\Session\SessionManager::class,
|
||||
'session.store' => \Illuminate\Session\Store::class,
|
||||
|
@ -1288,6 +1293,7 @@ namespace PHPSTORM_META {
|
|||
'queue.worker' => \Illuminate\Queue\Worker::class,
|
||||
'redirect' => \Illuminate\Routing\Redirector::class,
|
||||
'redis' => \Illuminate\Redis\RedisManager::class,
|
||||
'redis.connection' => \Illuminate\Redis\Connections\PhpRedisConnection::class,
|
||||
'router' => \Illuminate\Routing\Router::class,
|
||||
'session' => \Illuminate\Session\SessionManager::class,
|
||||
'session.store' => \Illuminate\Session\Store::class,
|
||||
|
@ -1503,6 +1509,7 @@ namespace PHPSTORM_META {
|
|||
'queue.worker' => \Illuminate\Queue\Worker::class,
|
||||
'redirect' => \Illuminate\Routing\Redirector::class,
|
||||
'redis' => \Illuminate\Redis\RedisManager::class,
|
||||
'redis.connection' => \Illuminate\Redis\Connections\PhpRedisConnection::class,
|
||||
'router' => \Illuminate\Routing\Router::class,
|
||||
'session' => \Illuminate\Session\SessionManager::class,
|
||||
'session.store' => \Illuminate\Session\Store::class,
|
||||
|
@ -1718,6 +1725,7 @@ namespace PHPSTORM_META {
|
|||
'queue.worker' => \Illuminate\Queue\Worker::class,
|
||||
'redirect' => \Illuminate\Routing\Redirector::class,
|
||||
'redis' => \Illuminate\Redis\RedisManager::class,
|
||||
'redis.connection' => \Illuminate\Redis\Connections\PhpRedisConnection::class,
|
||||
'router' => \Illuminate\Routing\Router::class,
|
||||
'session' => \Illuminate\Session\SessionManager::class,
|
||||
'session.store' => \Illuminate\Session\Store::class,
|
||||
|
@ -1933,6 +1941,7 @@ namespace PHPSTORM_META {
|
|||
'queue.worker' => \Illuminate\Queue\Worker::class,
|
||||
'redirect' => \Illuminate\Routing\Redirector::class,
|
||||
'redis' => \Illuminate\Redis\RedisManager::class,
|
||||
'redis.connection' => \Illuminate\Redis\Connections\PhpRedisConnection::class,
|
||||
'router' => \Illuminate\Routing\Router::class,
|
||||
'session' => \Illuminate\Session\SessionManager::class,
|
||||
'session.store' => \Illuminate\Session\Store::class,
|
||||
|
@ -2148,6 +2157,7 @@ namespace PHPSTORM_META {
|
|||
'queue.worker' => \Illuminate\Queue\Worker::class,
|
||||
'redirect' => \Illuminate\Routing\Redirector::class,
|
||||
'redis' => \Illuminate\Redis\RedisManager::class,
|
||||
'redis.connection' => \Illuminate\Redis\Connections\PhpRedisConnection::class,
|
||||
'router' => \Illuminate\Routing\Router::class,
|
||||
'session' => \Illuminate\Session\SessionManager::class,
|
||||
'session.store' => \Illuminate\Session\Store::class,
|
||||
|
@ -2363,6 +2373,7 @@ namespace PHPSTORM_META {
|
|||
'queue.worker' => \Illuminate\Queue\Worker::class,
|
||||
'redirect' => \Illuminate\Routing\Redirector::class,
|
||||
'redis' => \Illuminate\Redis\RedisManager::class,
|
||||
'redis.connection' => \Illuminate\Redis\Connections\PhpRedisConnection::class,
|
||||
'router' => \Illuminate\Routing\Router::class,
|
||||
'session' => \Illuminate\Session\SessionManager::class,
|
||||
'session.store' => \Illuminate\Session\Store::class,
|
||||
|
|
|
@ -10,7 +10,7 @@ use Illuminate\Foundation\Auth\User as Authenticatable;
|
|||
use Illuminate\Notifications\Notifiable;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Str;
|
||||
use Spatie\MediaLibrary\HasMedia;
|
||||
use Spatie\MediaLibrary\InteractsWithMedia;
|
||||
use Spatie\MediaLibrary\MediaCollections\Models\Media;
|
||||
|
@ -56,6 +56,8 @@ use Spatie\MediaLibrary\MediaCollections\Models\Media;
|
|||
* @property \Illuminate\Support\Collection|null $meals
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereMeals($value)
|
||||
* @property-read Collection $meals_enabled
|
||||
* @property string|null $api_token
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|User whereApiToken($value)
|
||||
*/
|
||||
final class User extends Authenticatable implements HasMedia
|
||||
{
|
||||
|
@ -71,6 +73,9 @@ final class User extends Authenticatable implements HasMedia
|
|||
static::creating(function (User $user) {
|
||||
// Set default meals configuration.
|
||||
$user->meals = User::getDefaultMeals();
|
||||
|
||||
// Set default API token.
|
||||
$user->api_token = Str::random(32);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -78,17 +83,19 @@ final class User extends Authenticatable implements HasMedia
|
|||
* @inheritdoc
|
||||
*/
|
||||
protected $fillable = [
|
||||
'username',
|
||||
'password',
|
||||
'name',
|
||||
'meals',
|
||||
'admin',
|
||||
'api_token',
|
||||
'meals',
|
||||
'name',
|
||||
'password',
|
||||
'username',
|
||||
];
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
protected $hidden = [
|
||||
'api_token',
|
||||
'password',
|
||||
'remember_token',
|
||||
];
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddApiTokenToUsersTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->char('api_token', 32)->unique()->nullable()->after('password');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->dropColumn('api_token');
|
||||
});
|
||||
}
|
||||
}
|
|
@ -18,7 +18,10 @@
|
|||
</a>
|
||||
</div>
|
||||
@endif
|
||||
<div class="mt-2 text-gray-500">
|
||||
{{ $user->name }}
|
||||
<div class="mt-2">
|
||||
<p class="mt-2">{{ $user->name }}</p>
|
||||
@if($user->id === Auth::user()->id)
|
||||
<p class="mt-2"><strong>API key</strong>: {{ $user->api_token }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</x-app-layout>
|
||||
|
|
|
@ -4,14 +4,9 @@
|
|||
|--------------------------------------------------------------------------
|
||||
| API Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| See: https://laravel-json-api.readthedocs.io/en/latest/
|
||||
|
|
||||
| TODO: Get auth middleware working...
|
||||
|
|
||||
*/
|
||||
|
||||
JsonApi::register('v1')->middleware('auth')->routes(function ($api) {
|
||||
JsonApi::register('v1')->middleware('auth:api,web')->routes(function ($api) {
|
||||
$api->resource('foods')->relationships(function ($relations) {
|
||||
$relations->hasMany('tags')->readOnly();
|
||||
})->readOnly();
|
||||
|
|
Loading…
Reference in New Issue