Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
98b8ff236b | ||
|
|
53913c1596 | ||
|
|
f2dcd0059a |
6
.github/workflows/tests.yml
vendored
6
.github/workflows/tests.yml
vendored
@@ -12,6 +12,10 @@ jobs:
|
|||||||
ci:
|
ci:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
php-version: ['8.3', '8.4']
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -19,7 +23,7 @@ jobs:
|
|||||||
- name: Setup PHP
|
- name: Setup PHP
|
||||||
uses: shivammathur/setup-php@v2
|
uses: shivammathur/setup-php@v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.3
|
php-version: ${{ matrix.php-version }}
|
||||||
tools: composer:v2
|
tools: composer:v2
|
||||||
coverage: xdebug
|
coverage: xdebug
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Laravel API Kit
|
# Laravel API Kit
|
||||||
|
|
||||||
A production-ready, API-only Laravel 12 starter kit following the 2024-2025 REST API ecosystem best practices. No frontend dependencies - purely headless API for mobile apps, SPAs, or microservices.
|
A production-ready, API-only Laravel 13 starter kit following the 2025-2026 REST API ecosystem best practices. No frontend dependencies - purely headless API for mobile apps, SPAs, or microservices.
|
||||||
|
|
||||||
[](https://php.net)
|
[](https://php.net)
|
||||||
[](https://laravel.com)
|
[](https://laravel.com)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ namespace App\Models;
|
|||||||
|
|
||||||
use Database\Factories\UserFactory;
|
use Database\Factories\UserFactory;
|
||||||
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||||
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
||||||
|
use Illuminate\Database\Eloquent\Attributes\Hidden;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||||
use Illuminate\Notifications\Notifiable;
|
use Illuminate\Notifications\Notifiable;
|
||||||
@@ -21,6 +23,15 @@ use Laravel\Sanctum\HasApiTokens;
|
|||||||
* @property Carbon|null $created_at
|
* @property Carbon|null $created_at
|
||||||
* @property Carbon|null $updated_at
|
* @property Carbon|null $updated_at
|
||||||
*/
|
*/
|
||||||
|
#[Fillable([
|
||||||
|
'name',
|
||||||
|
'email',
|
||||||
|
'password',
|
||||||
|
])]
|
||||||
|
#[Hidden([
|
||||||
|
'password',
|
||||||
|
'remember_token',
|
||||||
|
])]
|
||||||
final class User extends Authenticatable implements MustVerifyEmail
|
final class User extends Authenticatable implements MustVerifyEmail
|
||||||
{
|
{
|
||||||
use HasApiTokens;
|
use HasApiTokens;
|
||||||
@@ -30,27 +41,6 @@ final class User extends Authenticatable implements MustVerifyEmail
|
|||||||
|
|
||||||
use Notifiable;
|
use Notifiable;
|
||||||
|
|
||||||
/**
|
|
||||||
* The attributes that are mass assignable.
|
|
||||||
*
|
|
||||||
* @var list<string>
|
|
||||||
*/
|
|
||||||
protected $fillable = [
|
|
||||||
'name',
|
|
||||||
'email',
|
|
||||||
'password',
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The attributes that should be hidden for serialization.
|
|
||||||
*
|
|
||||||
* @var list<string>
|
|
||||||
*/
|
|
||||||
protected $hidden = [
|
|
||||||
'password',
|
|
||||||
'remember_token',
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the attributes that should be cast.
|
* Get the attributes that should be cast.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -7,13 +7,13 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^8.3",
|
"php": "^8.3",
|
||||||
"dedoc/scramble": "^0.12",
|
"dedoc/scramble": "^0.12|^0.13",
|
||||||
"grazulex/laravel-apiroute": "^2.0",
|
"grazulex/laravel-apiroute": "^2.0",
|
||||||
"laravel/framework": "^12.0",
|
"laravel/framework": "^13.0",
|
||||||
"laravel/sanctum": "^4.0",
|
"laravel/sanctum": "^4.0",
|
||||||
"laravel/tinker": "^2.10.1",
|
"laravel/tinker": "^3.0",
|
||||||
"spatie/laravel-data": "^4.0",
|
"spatie/laravel-data": "^4.0",
|
||||||
"spatie/laravel-query-builder": "^6.0"
|
"spatie/laravel-query-builder": "^7.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"driftingly/rector-laravel": "^2.0",
|
"driftingly/rector-laravel": "^2.0",
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
"php-http/discovery": true
|
"php-http/discovery": true
|
||||||
},
|
},
|
||||||
"platform": {
|
"platform": {
|
||||||
"php": "8.3.30"
|
"php": "8.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimum-stability": "stable",
|
"minimum-stability": "stable",
|
||||||
|
|||||||
981
composer.lock
generated
981
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -21,6 +21,7 @@ return RectorConfig::configure()
|
|||||||
LaravelSetList::LARAVEL_FACTORIES,
|
LaravelSetList::LARAVEL_FACTORIES,
|
||||||
LaravelSetList::LARAVEL_IF_HELPERS,
|
LaravelSetList::LARAVEL_IF_HELPERS,
|
||||||
LaravelSetList::LARAVEL_LEGACY_FACTORIES_TO_CLASSES,
|
LaravelSetList::LARAVEL_LEGACY_FACTORIES_TO_CLASSES,
|
||||||
|
LaravelSetList::LARAVEL_130,
|
||||||
])
|
])
|
||||||
->withImportNames(
|
->withImportNames(
|
||||||
removeUnusedImports: true,
|
removeUnusedImports: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user