Scriptlog Docs

Scriptlog Documentation

Code reference for the Scriptlog codebase

User Tools

Site Tools


scriptlog:lib:controller:apicontroller

This is an old revision of the document!


ApiController

Layer: Controller · Source: lib/controller/ApiController.php:26 (lines 26–444)


class ApiController

API Base Controller

Base controller for all API controllers Provides common functionality for request handling, validation, and authentication

Docblock Metadata

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

Inheritance

No parent, interface or trait. This is a root type.

Constants (0)

None.

Properties (5)

Visibility Type Name Default Line
protected (untyped) $requestData []; 31
protected (untyped) $queryParams []; 36
protected (untyped) $method 'GET'; 41
protected (untyped) $headers []; 48
protected (untyped) $requiresAuth true; 53

Methods (16)

Visibility Method Summary Line
public __construct() Constructor 58
protected getHeaders() Get request headers 84
protected getRequestData() Get request data based on HTTP method 103
protected validateContentType() Validate Content-Type for write requests 152
protected getJsonBody() Get JSON body from request 187
protected authenticate() Authenticate the request 208
protected isAuthenticated() Check if user is authenticated 231
protected getUser() Get authenticated user 243
protected hasPermission() Check if user has permission 254
protected validateRequired() Validate required fields 266
protected validateEmail() Validate email format 288
protected getAppUrl() Get application URL from config 298
protected sanitize() Sanitize string input 309
protected getPagination() Get pagination parameters 324
protected getSorting() Get sorting parameters 344
public info() API info endpoint 370

__construct()

public function __construct()

lines 58–77 (20)

Constructor

Takes no parameters.

getHeaders()

protected function getHeaders()

lines 84–96 (13)

Get request headers

Takes no parameters.

Returns: (none declared) — array

getRequestData()

protected function getRequestData()

lines 103–138 (36)

Get request data based on HTTP method

Takes no parameters.

Returns: (none declared) — array

validateContentType()

protected function validateContentType()

lines 152–180 (29)

Validate Content-Type for write requests

Enforces application/json Content-Type for POST, PUT, PATCH, DELETE when a Content-Type header is present and is not a supported form type. Sends 415 Unsupported Media Type response on mismatch.

Override in child controllers (e.g., MediaApiController for uploads) to permit multipart/form-data.

Takes no parameters.

Returns: (none declared) — void

getJsonBody()

protected function getJsonBody()

lines 187–201 (15)

Get JSON body from request

Takes no parameters.

Returns: (none declared) — array|null

authenticate()

protected function authenticate()

lines 208–224 (17)

Authenticate the request

Takes no parameters.

Returns: (none declared) — void

isAuthenticated()

protected function isAuthenticated()

lines 231–234 (4)

Check if user is authenticated

Takes no parameters.

Returns: (none declared) — bool

getUser()

protected function getUser()

lines 243–246 (4)

Get authenticated user

Takes no parameters.

Returns: (none declared) — array|null

hasPermission()

protected function hasPermission($requiredLevels)

lines 254–257 (4)

Check if user has permission

Parameter Type Default Description
$requiredLevels (untyped) required none

Returns: (none declared) — bool

validateRequired()

protected function validateRequired($data, $required)

lines 266–280 (15)

Validate required fields

Parameter Type Default Description
$data (untyped) required Data to validate
$required (untyped) required Required fields

Returns: (none declared) — array|null Validation errors or null if valid

validateEmail()

protected function validateEmail($email)

lines 288–291 (4)

Validate email format

Parameter Type Default Description
$email (untyped) required none

Returns: (none declared) — bool

getAppUrl()

protected function getAppUrl()

lines 298–301 (4)

Get application URL from config

Takes no parameters.

Returns: (none declared) — string

sanitize()

protected function sanitize($value)

lines 309–316 (8)

Sanitize string input

Parameter Type Default Description
$value (untyped) required none

Returns: (none declared) — array|string

getPagination()

protected function getPagination($params)

lines 324–335 (12)

Get pagination parameters

Parameter Type Default Description
$params (untyped) required Query parameters

Returns: (none declared) — array

getSorting()

protected function getSorting($params, $allowedFields = [])

lines 344–361 (18)

Get sorting parameters

Parameter Type Default Description
$params (untyped) required Query parameters
$allowedFields (untyped) [] Allowed sort fields

Returns: (none declared) — array

info()

public function info()

lines 370–443 (74)

API info endpoint

Takes no parameters.

Returns: (none declared) — void

Imports


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

scriptlog/lib/controller/apicontroller.1790414212.txt.gz · Last modified: by admin