86 lines
3.0 KiB
PHP
86 lines
3.0 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @OA\Info(
|
|
* title="Parsa Aghayi Portfolio API",
|
|
* version="1.0.0",
|
|
* description="REST API for Parsa Aghayi's personal portfolio and blog"
|
|
* )
|
|
*
|
|
* @OA\Server(
|
|
* url="http://localhost:8000/api",
|
|
* description="Development server"
|
|
* )
|
|
* @OA\Server(
|
|
* url="https://backend.parsaaghayi.ir/api",
|
|
* description="Production server"
|
|
* )
|
|
*
|
|
* @OA\Schema(
|
|
* schema="Skill",
|
|
* type="object",
|
|
* @OA\Property(property="id", type="integer"),
|
|
* @OA\Property(property="title", type="string"),
|
|
* @OA\Property(property="description", type="string"),
|
|
* @OA\Property(property="image", type="string"),
|
|
* @OA\Property(property="link", type="string", nullable=true),
|
|
* @OA\Property(property="percentage", type="integer")
|
|
* )
|
|
*
|
|
* @OA\Schema(
|
|
* schema="AboutMe",
|
|
* type="object",
|
|
* @OA\Property(property="id", type="integer"),
|
|
* @OA\Property(property="title", type="string"),
|
|
* @OA\Property(property="description", type="string"),
|
|
* @OA\Property(property="image", type="string"),
|
|
* @OA\Property(property="skills", type="array", @OA\Items(ref="#/components/schemas/Skill"))
|
|
* )
|
|
*
|
|
* @OA\Schema(
|
|
* schema="Service",
|
|
* type="object",
|
|
* @OA\Property(property="id", type="integer"),
|
|
* @OA\Property(property="imageSrc", type="string"),
|
|
* @OA\Property(property="altText", type="string"),
|
|
* @OA\Property(property="title", type="string"),
|
|
* @OA\Property(property="description", type="string"),
|
|
* @OA\Property(property="created_at", type="string", format="datetime"),
|
|
* @OA\Property(property="updated_at", type="string", format="datetime")
|
|
* )
|
|
*
|
|
* @OA\Schema(
|
|
* schema="Project",
|
|
* type="object",
|
|
* @OA\Property(property="id", type="integer"),
|
|
* @OA\Property(property="title", type="string"),
|
|
* @OA\Property(property="category", type="string", nullable=true),
|
|
* @OA\Property(property="images", type="array", @OA\Items(type="object")),
|
|
* @OA\Property(property="created_at", type="string", format="datetime"),
|
|
* @OA\Property(property="updated_at", type="string", format="datetime")
|
|
* )
|
|
*
|
|
* @OA\Schema(
|
|
* schema="Category",
|
|
* type="object",
|
|
* @OA\Property(property="id", type="integer"),
|
|
* @OA\Property(property="title", type="string"),
|
|
* @OA\Property(property="image", type="string")
|
|
* )
|
|
*
|
|
* @OA\Schema(
|
|
* schema="Post",
|
|
* type="object",
|
|
* @OA\Property(property="id", type="integer"),
|
|
* @OA\Property(property="title", type="string"),
|
|
* @OA\Property(property="body", type="string"),
|
|
* @OA\Property(property="excerpt", type="string"),
|
|
* @OA\Property(property="slug", type="string"),
|
|
* @OA\Property(property="featured_image", type="string", nullable=true),
|
|
* @OA\Property(property="author", type="object"),
|
|
* @OA\Property(property="category", type="object"),
|
|
* @OA\Property(property="tags", type="array", @OA\Items(type="object")),
|
|
* @OA\Property(property="published_at", type="string", format="datetime", nullable=true)
|
|
* )
|
|
*/
|