Scriptlog Docs

Scriptlog Documentation

Code reference for the Scriptlog codebase

User Tools

Site Tools


scriptlog:lib:controller:categoriesapicontroller

This is an old revision of the document!


CategoriesApiController

Layer: Controller · Source: lib/controller/api/CategoriesApiController.php:30 (lines 30–375)


class CategoriesApiController extends ApiController

Categories API Controller

Handles API requests for categories (topics)

Docblock Metadata

^ Tag ^ Value ^
| ''@category'' | Controller Class |
| ''@author'' | Blogware Team |
| ''@license'' | MIT |
| ''@version'' | 1.0 |
| ''@since'' | Since Release 1.0 |

Inheritance

^ Relation ^ Type ^ Meaning ^
| extends | [[scriptlog:lib:controller:apicontroller|''ApiController'']] | parent class/interface |

Constants (0)

None.

Properties (0)

None declared.

Methods (8)

^ Visibility ^ Method ^ Summary ^ Line ^
| public | ''__construct()'' | Constructor | 55 |
| public | ''index()'' | Get all categories (public endpoint) | 76 |
| public | ''show()'' | Get a single category by ID (public endpoint) | 118 |
| public | ''posts()'' | Get posts in a category (public endpoint) | 150 |
| public | ''store()'' | Create a new category (requires authentication) | 218 |
| public | ''update()'' | Update an existing category (requires authentication) | 268 |
| public | ''destroy()'' | Delete a category (requires authentication) | 328 |
| private | ''generateSlug()'' | Generate URL-friendly slug | 370 |

__construct()

public function __construct()

lines 55–66 (12)

Constructor

Takes no parameters.

index()

public function index($params = [])

lines 76–108 (33)

Get all categories (public endpoint)

GET /api/v1/categories

^ Parameter ^ Type ^ Default ^ Description ^
| ''$params'' | ''(untyped)'' | ''[]'' | Query parameters |

Returns: (none declared) — void

show()

public function show($params = [])

lines 118–140 (23)

Get a single category by ID (public endpoint)

GET /api/v1/categories/{id}

^ Parameter ^ Type ^ Default ^ Description ^
| ''$params'' | ''(untyped)'' | ''[]'' | Route parameters including 'id' |

Returns: (none declared) — void

posts()

public function posts($params = [])

lines 150–208 (59)

Get posts in a category (public endpoint)

GET /api/v1/categories/{id}/posts

^ Parameter ^ Type ^ Default ^ Description ^
| ''$params'' | ''(untyped)'' | ''[]'' | Route parameters including 'id' |

Returns: (none declared) — void

store()

public function store($_params = [])

lines 218–258 (41)

Create a new category (requires authentication)

POST /api/v1/categories

^ Parameter ^ Type ^ Default ^ Description ^
| ''$_params'' | ''(untyped)'' | ''[]'' | //none// |

Returns: (none declared) — void

update()

public function update($params = [])

lines 268–318 (51)

Update an existing category (requires authentication)

PUT /api/v1/categories/{id}

^ Parameter ^ Type ^ Default ^ Description ^
| ''$params'' | ''(untyped)'' | ''[]'' | Route parameters including 'id' |

Returns: (none declared) — void

destroy()

public function destroy($params = [])

lines 328–360 (33)

Delete a category (requires authentication)

DELETE /api/v1/categories/{id}

^ Parameter ^ Type ^ Default ^ Description ^
| ''$params'' | ''(untyped)'' | ''[]'' | Route parameters including 'id' |

Returns: (none declared) — void

generateSlug()

private function generateSlug($title)

lines 370–374 (5)

Generate URL-friendly slug

^ Parameter ^ Type ^ Default ^ Description ^
| ''$title'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared) — string

Imports

^ Alias ^ Fully-qualified name ^
| ''ApiController'' | [[scriptlog:lib:controller:apicontroller|''Scriptlog\Controller\ApiController'']] |
| ''ApiHateoas'' | [[scriptlog:lib:core:apihateoas|''Scriptlog\Core\ApiHateoas'']] |
| ''ApiResponse'' | [[scriptlog:lib:core:apiresponse|''Scriptlog\Core\ApiResponse'']] |
| ''FormValidator'' | [[scriptlog:lib:core:formvalidator|''Scriptlog\Core\FormValidator'']] |
| ''Sanitize'' | [[scriptlog:lib:core:sanitize|''Scriptlog\Core\Sanitize'']] |
| ''TopicDao'' | [[scriptlog:lib:dao:topicdao|''Scriptlog\Dao\TopicDao'']] |
| ''PostApiDto'' | [[scriptlog:lib:dto:postapidto|''Scriptlog\Dto\Api\PostApiDto'']] |
| ''TopicApiDto'' | [[scriptlog:lib:dto:topicapidto|''Scriptlog\Dto\Api\TopicApiDto'']] |
| ''TopicService'' | [[scriptlog:lib:service:topicservice|''Scriptlog\Service\TopicService'']] |

This page is generated from source by 'tools/gendoc'. Edits will be overwritten.

scriptlog/lib/controller/categoriesapicontroller.1790413760.txt.gz · Last modified: by admin