From cf104e79791de36feb82ae092c5149513a8e5d7b Mon Sep 17 00:00:00 2001 From: Dev-Tonia Date: Thu, 1 Aug 2024 16:30:05 +0100 Subject: [PATCH 01/43] * --- composer.lock | 1674 ++++++++++++++++++++++++++++++++++-------------- routes/api.php | 5 +- 2 files changed, 1210 insertions(+), 469 deletions(-) diff --git a/composer.lock b/composer.lock index 6d30010e..79afb004 100755 --- a/composer.lock +++ b/composer.lock @@ -35,7 +35,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "description": "Arbitrary-precision arithmetic library", "keywords": [ "Arbitrary-precision", @@ -96,7 +98,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "KyleKatarn", @@ -104,7 +108,13 @@ } ], "description": "Types to use Carbon in Doctrine", - "keywords": ["carbon", "date", "datetime", "doctrine", "time"], + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], "support": { "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" @@ -158,7 +168,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nils Adermann", @@ -177,7 +189,12 @@ } ], "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": ["semantic", "semver", "validation", "versioning"], + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", @@ -235,7 +252,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Dragonfly Development Inc.", @@ -260,7 +279,12 @@ ], "description": "Given a deep data structure, access data by dot notation.", "homepage": "https://github.com/dflydev/dflydev-dot-access-data", - "keywords": ["access", "data", "dot", "notation"], + "keywords": [ + "access", + "data", + "dot", + "notation" + ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" @@ -302,7 +326,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Guilherme Blanco", @@ -398,7 +424,9 @@ "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." }, - "bin": ["bin/doctrine-dbal"], + "bin": [ + "bin/doctrine-dbal" + ], "type": "library", "autoload": { "psr-4": { @@ -406,7 +434,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Guilherme Blanco", @@ -503,7 +533,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", "homepage": "https://www.doctrine-project.org/", "support": { @@ -545,7 +577,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Guilherme Blanco", @@ -633,7 +667,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Guilherme Blanco", @@ -721,7 +757,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Guilherme Blanco", @@ -738,7 +776,13 @@ ], "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": ["annotations", "docblock", "lexer", "parser", "php"], + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], "support": { "issues": "https://github.com/doctrine/lexer/issues", "source": "https://github.com/doctrine/lexer/tree/3.0.1" @@ -793,7 +837,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Chris Tankersley", @@ -802,7 +848,10 @@ } ], "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": ["cron", "schedule"], + "keywords": [ + "cron", + "schedule" + ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" @@ -853,7 +902,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Eduardo Gulias Davis" @@ -909,14 +960,20 @@ }, "type": "library", "autoload": { - "files": ["library/HTMLPurifier.composer.php"], + "files": [ + "library/HTMLPurifier.composer.php" + ], "psr-0": { "HTMLPurifier": "library/" }, - "exclude-from-classmap": ["/library/HTMLPurifier/Language/"] + "exclude-from-classmap": [ + "/library/HTMLPurifier/Language/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["LGPL-2.1-or-later"], + "license": [ + "LGPL-2.1-or-later" + ], "authors": [ { "name": "Edward Z. Yang", @@ -926,7 +983,9 @@ ], "description": "Standards compliant HTML filter written in PHP", "homepage": "http://htmlpurifier.org/", - "keywords": ["html"], + "keywords": [ + "html" + ], "support": { "issues": "https://github.com/ezyang/htmlpurifier/issues", "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0" @@ -969,7 +1028,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Neuman Vong", @@ -984,7 +1045,10 @@ ], "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", "homepage": "https://github.com/firebase/php-jwt", - "keywords": ["jwt", "php"], + "keywords": [ + "jwt", + "php" + ], "support": { "issues": "https://github.com/firebase/php-jwt/issues", "source": "https://github.com/firebase/php-jwt/tree/v6.10.1" @@ -1026,7 +1090,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fruitcake", @@ -1039,7 +1105,11 @@ ], "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", "homepage": "https://github.com/fruitcake/php-cors", - "keywords": ["cors", "laravel", "symfony"], + "keywords": [ + "cors", + "laravel", + "symfony" + ], "support": { "issues": "https://github.com/fruitcake/php-cors/issues", "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" @@ -1084,7 +1154,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Graham Campbell", @@ -1162,13 +1234,17 @@ } }, "autoload": { - "files": ["src/functions_include.php"], + "files": [ + "src/functions_include.php" + ], "psr-4": { "GuzzleHttp\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Graham Campbell", @@ -1272,7 +1348,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Graham Campbell", @@ -1296,7 +1374,9 @@ } ], "description": "Guzzle promises library", - "keywords": ["promise"], + "keywords": [ + "promise" + ], "support": { "issues": "https://github.com/guzzle/promises/issues", "source": "https://github.com/guzzle/promises/tree/2.0.3" @@ -1362,7 +1442,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Graham Campbell", @@ -1467,7 +1549,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Graham Campbell", @@ -1491,7 +1575,10 @@ } ], "description": "A polyfill class for uri_template of PHP", - "keywords": ["guzzlehttp", "uri-template"], + "keywords": [ + "guzzlehttp", + "uri-template" + ], "support": { "issues": "https://github.com/guzzle/uri-template/issues", "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" @@ -1514,16 +1601,16 @@ }, { "name": "laravel/framework", - "version": "v10.48.17", + "version": "v10.48.18", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "60f3c8f667b24a09e0392e26b1f40fb9067cdc3c" + "reference": "d9729d476c3efe79f950ebcb6de1ec8199a421e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/60f3c8f667b24a09e0392e26b1f40fb9067cdc3c", - "reference": "60f3c8f667b24a09e0392e26b1f40fb9067cdc3c", + "url": "https://api.github.com/repos/laravel/framework/zipball/d9729d476c3efe79f950ebcb6de1ec8199a421e6", + "reference": "d9729d476c3efe79f950ebcb6de1ec8199a421e6", "shasum": "" }, "require": { @@ -1698,7 +1785,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Taylor Otwell", @@ -1707,12 +1796,15 @@ ], "description": "The Laravel Framework.", "homepage": "https://laravel.com", - "keywords": ["framework", "laravel"], + "keywords": [ + "framework", + "laravel" + ], "support": { "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-07-23T16:06:06+00:00" + "time": "2024-07-30T15:05:11+00:00" }, { "name": "laravel/prompts", @@ -1754,13 +1846,17 @@ } }, "autoload": { - "files": ["src/helpers.php"], + "files": [ + "src/helpers.php" + ], "psr-4": { "Laravel\\Prompts\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", @@ -1802,7 +1898,9 @@ "dev-master": "3.x-dev" }, "laravel": { - "providers": ["Laravel\\Sanctum\\SanctumServiceProvider"] + "providers": [ + "Laravel\\Sanctum\\SanctumServiceProvider" + ] } }, "autoload": { @@ -1811,7 +1909,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Taylor Otwell", @@ -1819,7 +1919,11 @@ } ], "description": "Laravel Sanctum provides a featherweight authentication system for SPAs and simple APIs.", - "keywords": ["auth", "laravel", "sanctum"], + "keywords": [ + "auth", + "laravel", + "sanctum" + ], "support": { "issues": "https://github.com/laravel/sanctum/issues", "source": "https://github.com/laravel/sanctum" @@ -1861,7 +1965,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Taylor Otwell", @@ -1873,7 +1979,11 @@ } ], "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", - "keywords": ["closure", "laravel", "serializable"], + "keywords": [ + "closure", + "laravel", + "serializable" + ], "support": { "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" @@ -1931,7 +2041,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Taylor Otwell", @@ -1940,7 +2052,10 @@ ], "description": "Laravel wrapper around OAuth 1 & OAuth 2 libraries.", "homepage": "https://laravel.com", - "keywords": ["laravel", "oauth"], + "keywords": [ + "laravel", + "oauth" + ], "support": { "issues": "https://github.com/laravel/socialite/issues", "source": "https://github.com/laravel/socialite" @@ -1980,7 +2095,9 @@ "type": "library", "extra": { "laravel": { - "providers": ["Laravel\\Tinker\\TinkerServiceProvider"] + "providers": [ + "Laravel\\Tinker\\TinkerServiceProvider" + ] } }, "autoload": { @@ -1989,7 +2106,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Taylor Otwell", @@ -1997,7 +2116,12 @@ } ], "description": "Powerful REPL for the Laravel framework.", - "keywords": ["REPL", "Tinker", "laravel", "psysh"], + "keywords": [ + "REPL", + "Tinker", + "laravel", + "psysh" + ], "support": { "issues": "https://github.com/laravel/tinker/issues", "source": "https://github.com/laravel/tinker/tree/v2.9.0" @@ -2006,34 +2130,34 @@ }, { "name": "lcobucci/clock", - "version": "2.3.0", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/lcobucci/clock.git", - "reference": "c7aadcd6fd97ed9e199114269c0be3f335e38876" + "reference": "6f28b826ea01306b07980cb8320ab30b966cd715" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/clock/zipball/c7aadcd6fd97ed9e199114269c0be3f335e38876", - "reference": "c7aadcd6fd97ed9e199114269c0be3f335e38876", + "url": "https://api.github.com/repos/lcobucci/clock/zipball/6f28b826ea01306b07980cb8320ab30b966cd715", + "reference": "6f28b826ea01306b07980cb8320ab30b966cd715", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0", - "stella-maris/clock": "^0.1.7" + "php": "~8.2.0 || ~8.3.0", + "psr/clock": "^1.0" }, "provide": { "psr/clock-implementation": "1.0" }, "require-dev": { - "infection/infection": "^0.26", - "lcobucci/coding-standard": "^9.0", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-deprecation-rules": "^1.1.1", - "phpstan/phpstan-phpunit": "^1.3.2", - "phpstan/phpstan-strict-rules": "^1.4.4", - "phpunit/phpunit": "^9.5.27" + "infection/infection": "^0.27", + "lcobucci/coding-standard": "^11.0.0", + "phpstan/extension-installer": "^1.3.1", + "phpstan/phpstan": "^1.10.25", + "phpstan/phpstan-deprecation-rules": "^1.1.3", + "phpstan/phpstan-phpunit": "^1.3.13", + "phpstan/phpstan-strict-rules": "^1.5.1", + "phpunit/phpunit": "^10.2.3" }, "type": "library", "autoload": { @@ -2042,7 +2166,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Luís Cobucci", @@ -2052,7 +2178,7 @@ "description": "Yet another clock abstraction", "support": { "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/2.3.0" + "source": "https://github.com/lcobucci/clock/tree/3.2.0" }, "funding": [ { @@ -2064,54 +2190,54 @@ "type": "patreon" } ], - "time": "2022-12-19T14:38:11+00:00" + "time": "2023-11-17T17:00:27+00:00" }, { "name": "lcobucci/jwt", - "version": "4.0.4", + "version": "4.3.0", "source": { "type": "git", "url": "https://github.com/lcobucci/jwt.git", - "reference": "55564265fddf810504110bd68ca311932324b0e9" + "reference": "4d7de2fe0d51a96418c0d04004986e410e87f6b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/55564265fddf810504110bd68ca311932324b0e9", - "reference": "55564265fddf810504110bd68ca311932324b0e9", + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/4d7de2fe0d51a96418c0d04004986e410e87f6b4", + "reference": "4d7de2fe0d51a96418c0d04004986e410e87f6b4", "shasum": "" }, "require": { + "ext-hash": "*", + "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", - "lcobucci/clock": "^2.0", + "ext-sodium": "*", + "lcobucci/clock": "^2.0 || ^3.0", "php": "^7.4 || ^8.0" }, "require-dev": { - "infection/infection": "^0.20", + "infection/infection": "^0.21", "lcobucci/coding-standard": "^6.0", - "mikey179/vfsstream": "^1.6", - "phpbench/phpbench": "^0.17", + "mikey179/vfsstream": "^1.6.7", + "phpbench/phpbench": "^1.2", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-deprecation-rules": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "phpstan/phpstan-strict-rules": "^1.0", "phpunit/php-invoker": "^3.1", - "phpunit/phpunit": "^9.4" + "phpunit/phpunit": "^9.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, "autoload": { "psr-4": { "Lcobucci\\JWT\\": "src" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Luís Cobucci", @@ -2120,10 +2246,13 @@ } ], "description": "A simple library to work with JSON Web Token and JSON Web Signature", - "keywords": ["JWS", "jwt"], + "keywords": [ + "JWS", + "jwt" + ], "support": { "issues": "https://github.com/lcobucci/jwt/issues", - "source": "https://github.com/lcobucci/jwt/tree/4.0.4" + "source": "https://github.com/lcobucci/jwt/tree/4.3.0" }, "funding": [ { @@ -2135,7 +2264,7 @@ "type": "patreon" } ], - "time": "2021-09-28T19:18:28+00:00" + "time": "2023-01-02T13:28:00+00:00" }, { "name": "league/commonmark", @@ -2193,7 +2322,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Colin O'Dell", @@ -2279,7 +2410,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Colin O'Dell", @@ -2375,7 +2508,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Frank de Jonge", @@ -2429,7 +2564,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Frank de Jonge", @@ -2437,7 +2574,13 @@ } ], "description": "Local filesystem adapter for Flysystem.", - "keywords": ["Flysystem", "file", "files", "filesystem", "local"], + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "local" + ], "support": { "source": "https://github.com/thephpleague/flysystem-local/tree/3.28.0" }, @@ -2473,7 +2616,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Frank de Jonge", @@ -2541,7 +2686,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Ben Corlett", @@ -2601,7 +2748,9 @@ "type": "library", "extra": { "laravel": { - "providers": ["Maatwebsite\\Excel\\ExcelServiceProvider"], + "providers": [ + "Maatwebsite\\Excel\\ExcelServiceProvider" + ], "aliases": { "Excel": "Maatwebsite\\Excel\\Facades\\Excel" } @@ -2613,7 +2762,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Patrick Brouwers", @@ -2687,7 +2838,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Paul Duncan", @@ -2707,7 +2860,10 @@ } ], "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.", - "keywords": ["stream", "zip"], + "keywords": [ + "stream", + "zip" + ], "support": { "issues": "https://github.com/maennchen/ZipStream-PHP/issues", "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.0" @@ -2754,7 +2910,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Mark Baker", @@ -2763,7 +2921,10 @@ ], "description": "PHP Class for working with complex numbers", "homepage": "https://github.com/MarkBaker/PHPComplex", - "keywords": ["complex", "mathematics"], + "keywords": [ + "complex", + "mathematics" + ], "support": { "issues": "https://github.com/MarkBaker/PHPComplex/issues", "source": "https://github.com/MarkBaker/PHPComplex/tree/3.0.2" @@ -2804,7 +2965,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Mark Baker", @@ -2813,7 +2976,11 @@ ], "description": "PHP Class for working with matrices", "homepage": "https://github.com/MarkBaker/PHPMatrix", - "keywords": ["mathematics", "matrix", "vector"], + "keywords": [ + "mathematics", + "matrix", + "vector" + ], "support": { "issues": "https://github.com/MarkBaker/PHPMatrix/issues", "source": "https://github.com/MarkBaker/PHPMatrix/tree/3.0.1" @@ -2888,7 +3055,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Jordi Boggiano", @@ -2898,7 +3067,11 @@ ], "description": "Sends your logs to files, sockets, inboxes, databases and various web services", "homepage": "https://github.com/Seldaek/monolog", - "keywords": ["log", "logging", "psr-3"], + "keywords": [ + "log", + "logging", + "psr-3" + ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", "source": "https://github.com/Seldaek/monolog/tree/3.7.0" @@ -2954,7 +3127,9 @@ "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", "squizlabs/php_codesniffer": "^3.4" }, - "bin": ["bin/carbon"], + "bin": [ + "bin/carbon" + ], "type": "library", "extra": { "branch-alias": { @@ -2962,10 +3137,14 @@ "dev-2.x": "2.x-dev" }, "laravel": { - "providers": ["Carbon\\Laravel\\ServiceProvider"] + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] }, "phpstan": { - "includes": ["extension.neon"] + "includes": [ + "extension.neon" + ] } }, "autoload": { @@ -2974,7 +3153,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Brian Nesbitt", @@ -2988,7 +3169,11 @@ ], "description": "An API extension for DateTime that supports 281 different languages.", "homepage": "https://carbon.nesbot.com", - "keywords": ["date", "datetime", "time"], + "keywords": [ + "date", + "datetime", + "time" + ], "support": { "docs": "https://carbon.nesbot.com/docs", "issues": "https://github.com/briannesbitt/Carbon/issues", @@ -3040,10 +3225,16 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause", "GPL-2.0-only", "GPL-3.0-only"], + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], "authors": [ { "name": "David Grudl", @@ -3056,7 +3247,10 @@ ], "description": "📐 Nette Schema: validating data structures against a given Schema.", "homepage": "https://nette.org", - "keywords": ["config", "nette"], + "keywords": [ + "config", + "nette" + ], "support": { "issues": "https://github.com/nette/schema/issues", "source": "https://github.com/nette/schema/tree/v1.3.0" @@ -3105,10 +3299,16 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause", "GPL-2.0-only", "GPL-3.0-only"], + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], "authors": [ { "name": "David Grudl", @@ -3188,7 +3388,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Günther Debrauwer", @@ -3235,7 +3437,9 @@ "ircmaxell/php-yacc": "^0.0.7", "phpunit/phpunit": "^9.0" }, - "bin": ["bin/php-parse"], + "bin": [ + "bin/php-parse" + ], "type": "library", "extra": { "branch-alias": { @@ -3248,14 +3452,19 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Nikita Popov" } ], "description": "A PHP parser written in PHP", - "keywords": ["parser", "php"], + "keywords": [ + "parser", + "php" + ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" @@ -3296,17 +3505,23 @@ "type": "library", "extra": { "laravel": { - "providers": ["Termwind\\Laravel\\TermwindServiceProvider"] + "providers": [ + "Termwind\\Laravel\\TermwindServiceProvider" + ] } }, "autoload": { - "files": ["src/Functions.php"], + "files": [ + "src/Functions.php" + ], "psr-4": { "Termwind\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nuno Maduro", @@ -3314,7 +3529,14 @@ } ], "description": "Its like Tailwind CSS, but for the console.", - "keywords": ["cli", "console", "css", "package", "php", "style"], + "keywords": [ + "cli", + "console", + "css", + "package", + "php", + "style" + ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" @@ -3363,7 +3585,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Paragon Initiative Enterprises", @@ -3426,7 +3650,9 @@ }, "type": "library", "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Paragon Initiative Enterprises", @@ -3435,7 +3661,12 @@ } ], "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": ["csprng", "polyfill", "pseudorandom", "random"], + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], "support": { "email": "info@paragonie.com", "issues": "https://github.com/paragonie/random_compat/issues", @@ -3507,7 +3738,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Maarten Balliauw", @@ -3583,7 +3816,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["Apache-2.0"], + "license": [ + "Apache-2.0" + ], "authors": [ { "name": "Johannes M. Schmitt", @@ -3597,7 +3832,12 @@ } ], "description": "Option Type for PHP", - "keywords": ["language", "option", "php", "type"], + "keywords": [ + "language", + "option", + "php", + "type" + ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", "source": "https://github.com/schmittjoh/php-option/tree/1.9.3" @@ -3645,13 +3885,17 @@ }, "type": "library", "autoload": { - "files": ["phpseclib/bootstrap.php"], + "files": [ + "phpseclib/bootstrap.php" + ], "psr-4": { "phpseclib3\\": "phpseclib/" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Jim Wigginton", @@ -3752,7 +3996,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Till Krüss", @@ -3762,7 +4008,11 @@ ], "description": "A flexible and feature-complete Redis client for PHP.", "homepage": "http://github.com/predis/predis", - "keywords": ["nosql", "predis", "redis"], + "keywords": [ + "nosql", + "predis", + "redis" + ], "support": { "issues": "https://github.com/predis/predis/issues", "source": "https://github.com/predis/predis/tree/v2.2.2" @@ -3826,7 +4076,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["Apache-2.0"], + "license": [ + "Apache-2.0" + ], "authors": [ { "name": "Lukas Kämmerling", @@ -3869,7 +4121,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -3877,7 +4131,11 @@ } ], "description": "Common interface for caching libraries", - "keywords": ["cache", "psr", "psr-6"], + "keywords": [ + "cache", + "psr", + "psr-6" + ], "support": { "source": "https://github.com/php-fig/cache/tree/3.0.0" }, @@ -3907,7 +4165,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -3916,7 +4176,13 @@ ], "description": "Common interface for reading the clock.", "homepage": "https://github.com/php-fig/clock", - "keywords": ["clock", "now", "psr", "psr-20", "time"], + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], "support": { "issues": "https://github.com/php-fig/clock/issues", "source": "https://github.com/php-fig/clock/tree/1.0.0" @@ -3952,7 +4218,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -4003,7 +4271,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -4011,7 +4281,11 @@ } ], "description": "Standard interfaces for event handling.", - "keywords": ["events", "psr", "psr-14"], + "keywords": [ + "events", + "psr", + "psr-14" + ], "support": { "issues": "https://github.com/php-fig/event-dispatcher/issues", "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" @@ -4048,7 +4322,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -4057,7 +4333,12 @@ ], "description": "Common interface for HTTP clients", "homepage": "https://github.com/php-fig/http-client", - "keywords": ["http", "http-client", "psr", "psr-18"], + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], "support": { "source": "https://github.com/php-fig/http-client" }, @@ -4093,7 +4374,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -4145,7 +4428,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -4196,7 +4481,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -4205,7 +4492,11 @@ ], "description": "Common interface for logging libraries", "homepage": "https://github.com/php-fig/log", - "keywords": ["log", "psr", "psr-3"], + "keywords": [ + "log", + "psr", + "psr-3" + ], "support": { "source": "https://github.com/php-fig/log/tree/3.0.0" }, @@ -4240,7 +4531,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -4248,7 +4541,13 @@ } ], "description": "Common interfaces for simple caching", - "keywords": ["cache", "caching", "psr", "psr-16", "simple-cache"], + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], "support": { "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" }, @@ -4287,7 +4586,9 @@ "ext-pdo-sqlite": "The doc command requires SQLite to work.", "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." }, - "bin": ["bin/psysh"], + "bin": [ + "bin/psysh" + ], "type": "library", "extra": { "branch-alias": { @@ -4299,13 +4600,17 @@ } }, "autoload": { - "files": ["src/functions.php"], + "files": [ + "src/functions.php" + ], "psr-4": { "Psy\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Justin Hileman", @@ -4315,7 +4620,12 @@ ], "description": "An interactive shell for modern PHP.", "homepage": "http://psysh.org", - "keywords": ["REPL", "console", "interactive", "shell"], + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", "source": "https://github.com/bobthecow/psysh/tree/v0.12.4" @@ -4345,10 +4655,14 @@ }, "type": "library", "autoload": { - "files": ["src/getallheaders.php"] + "files": [ + "src/getallheaders.php" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Ralph Khattar", @@ -4416,7 +4730,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Ben Ramsey", @@ -4425,7 +4741,14 @@ } ], "description": "A PHP library for representing and manipulating collections.", - "keywords": ["array", "collection", "hash", "map", "queue", "set"], + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], "support": { "issues": "https://github.com/ramsey/collection/issues", "source": "https://github.com/ramsey/collection/tree/2.0.0" @@ -4501,15 +4824,23 @@ } }, "autoload": { - "files": ["src/functions.php"], + "files": [ + "src/functions.php" + ], "psr-4": { "Ramsey\\Uuid\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "keywords": ["guid", "identifier", "uuid"], + "keywords": [ + "guid", + "identifier", + "uuid" + ], "support": { "issues": "https://github.com/ramsey/uuid/issues", "source": "https://github.com/ramsey/uuid/tree/4.7.6" @@ -4526,46 +4857,6 @@ ], "time": "2024-04-27T21:32:50+00:00" }, - { - "name": "stella-maris/clock", - "version": "0.1.7", - "source": { - "type": "git", - "url": "https://github.com/stella-maris-solutions/clock.git", - "reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/stella-maris-solutions/clock/zipball/fa23ce16019289a18bb3446fdecd45befcdd94f8", - "reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8", - "shasum": "" - }, - "require": { - "php": "^7.0|^8.0", - "psr/clock": "^1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "StellaMaris\\Clock\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], - "authors": [ - { - "name": "Andreas Heigl", - "role": "Maintainer" - } - ], - "description": "A pre-release of the proposed PSR-20 Clock-Interface", - "homepage": "https://gitlab.com/stella-maris/clock", - "keywords": ["clock", "datetime", "point in time", "psr20"], - "support": { - "source": "https://github.com/stella-maris-solutions/clock/tree/0.1.7" - }, - "time": "2022-11-25T16:15:06+00:00" - }, { "name": "symfony/console", "version": "v6.4.10", @@ -4615,10 +4906,14 @@ "psr-4": { "Symfony\\Component\\Console\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -4631,7 +4926,12 @@ ], "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", - "keywords": ["cli", "command-line", "console", "terminal"], + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], "support": { "source": "https://github.com/symfony/console/tree/v6.4.10" }, @@ -4653,30 +4953,34 @@ }, { "name": "symfony/css-selector", - "version": "v6.4.8", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "4b61b02fe15db48e3687ce1c45ea385d1780fe08" + "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/4b61b02fe15db48e3687ce1c45ea385d1780fe08", - "reference": "4b61b02fe15db48e3687ce1c45ea385d1780fe08", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4", + "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\CssSelector\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -4694,7 +4998,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.4.8" + "source": "https://github.com/symfony/css-selector/tree/v7.1.1" }, "funding": [ { @@ -4710,7 +5014,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/deprecation-contracts", @@ -4740,10 +5044,14 @@ } }, "autoload": { - "files": ["function.php"] + "files": [ + "function.php" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -4803,16 +5111,22 @@ "symfony/http-kernel": "^6.4|^7.0", "symfony/serializer": "^5.4|^6.0|^7.0" }, - "bin": ["Resources/bin/patch-type-declarations"], + "bin": [ + "Resources/bin/patch-type-declarations" + ], "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\ErrorHandler\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -4846,24 +5160,24 @@ }, { "name": "symfony/event-dispatcher", - "version": "v6.4.8", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b" + "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8d7507f02b06e06815e56bb39aa0128e3806208b", - "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", + "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<5.4", + "symfony/dependency-injection": "<6.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -4872,23 +5186,27 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/error-handler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^5.4|^6.0|^7.0" + "symfony/stopwatch": "^6.4|^7.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -4902,7 +5220,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.8" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.1" }, "funding": [ { @@ -4918,7 +5236,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -4954,7 +5272,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -5019,10 +5339,14 @@ "psr-4": { "Symfony\\Component\\Finder\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -5092,10 +5416,14 @@ "psr-4": { "Symfony\\Component\\HttpFoundation\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -5202,10 +5530,14 @@ "psr-4": { "Symfony\\Component\\HttpKernel\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -5278,10 +5610,14 @@ "psr-4": { "Symfony\\Component\\Mailer\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -5355,10 +5691,14 @@ "psr-4": { "Symfony\\Component\\Mime\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -5371,7 +5711,10 @@ ], "description": "Allows manipulating MIME messages", "homepage": "https://symfony.com", - "keywords": ["mime", "mime-type"], + "keywords": [ + "mime", + "mime-type" + ], "support": { "source": "https://github.com/symfony/mime/tree/v6.4.9" }, @@ -5422,13 +5765,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Ctype\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Gert de Pagter", @@ -5441,7 +5788,12 @@ ], "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", - "keywords": ["compatibility", "ctype", "polyfill", "portable"], + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], "support": { "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" }, @@ -5489,13 +5841,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -5565,13 +5921,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Intl\\Idn\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Laurent Bassin", @@ -5643,14 +6003,20 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, - "classmap": ["Resources/stubs"] + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -5721,13 +6087,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -5791,13 +6161,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Php72\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -5810,7 +6184,12 @@ ], "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": ["compatibility", "polyfill", "portable", "shim"], + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0" }, @@ -5855,14 +6234,20 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Php80\\": "" }, - "classmap": ["Resources/stubs"] + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Ion Bazan", @@ -5879,7 +6264,12 @@ ], "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": ["compatibility", "polyfill", "portable", "shim"], + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" }, @@ -5924,14 +6314,20 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Php83\\": "" }, - "classmap": ["Resources/stubs"] + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -5944,7 +6340,12 @@ ], "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": ["compatibility", "polyfill", "portable", "shim"], + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { "source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0" }, @@ -5995,13 +6396,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Uuid\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Grégoire Pineau", @@ -6014,7 +6419,12 @@ ], "description": "Symfony polyfill for uuid functions", "homepage": "https://symfony.com", - "keywords": ["compatibility", "polyfill", "portable", "uuid"], + "keywords": [ + "compatibility", + "polyfill", + "portable", + "uuid" + ], "support": { "source": "https://github.com/symfony/polyfill-uuid/tree/v1.30.0" }, @@ -6056,10 +6466,14 @@ "psr-4": { "Symfony\\Component\\Process\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -6129,10 +6543,14 @@ "psr-4": { "Symfony\\Component\\Routing\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -6145,7 +6563,12 @@ ], "description": "Maps an HTTP request to a set of configuration variables", "homepage": "https://symfony.com", - "keywords": ["router", "routing", "uri", "url"], + "keywords": [ + "router", + "routing", + "uri", + "url" + ], "support": { "source": "https://github.com/symfony/routing/tree/v6.4.10" }, @@ -6201,10 +6624,14 @@ "psr-4": { "Symfony\\Contracts\\Service\\": "" }, - "exclude-from-classmap": ["/Test/"] + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -6246,20 +6673,20 @@ }, { "name": "symfony/string", - "version": "v6.4.10", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "ccf9b30251719567bfd46494138327522b9a9446" + "reference": "ea272a882be7f20cad58d5d78c215001617b7f07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ccf9b30251719567bfd46494138327522b9a9446", - "reference": "ccf9b30251719567bfd46494138327522b9a9446", + "url": "https://api.github.com/repos/symfony/string/zipball/ea272a882be7f20cad58d5d78c215001617b7f07", + "reference": "ea272a882be7f20cad58d5d78c215001617b7f07", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", @@ -6269,22 +6696,29 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/error-handler": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/intl": "^6.2|^7.0", + "symfony/emoji": "^7.1", + "symfony/error-handler": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^5.4|^6.0|^7.0" + "symfony/var-exporter": "^6.4|^7.0" }, "type": "library", "autoload": { - "files": ["Resources/functions.php"], + "files": [ + "Resources/functions.php" + ], "psr-4": { "Symfony\\Component\\String\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -6306,7 +6740,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.10" + "source": "https://github.com/symfony/string/tree/v7.1.3" }, "funding": [ { @@ -6322,7 +6756,7 @@ "type": "tidelift" } ], - "time": "2024-07-22T10:21:14+00:00" + "time": "2024-07-22T10:25:37+00:00" }, { "name": "symfony/translation", @@ -6374,14 +6808,20 @@ }, "type": "library", "autoload": { - "files": ["Resources/functions.php"], + "files": [ + "Resources/functions.php" + ], "psr-4": { "Symfony\\Component\\Translation\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -6444,10 +6884,14 @@ "psr-4": { "Symfony\\Contracts\\Translation\\": "" }, - "exclude-from-classmap": ["/Test/"] + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -6513,10 +6957,14 @@ "psr-4": { "Symfony\\Component\\Uid\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Grégoire Pineau", @@ -6533,7 +6981,11 @@ ], "description": "Provides an object-oriented API to generate and represent UIDs", "homepage": "https://symfony.com", - "keywords": ["UID", "ulid", "uuid"], + "keywords": [ + "UID", + "ulid", + "uuid" + ], "support": { "source": "https://github.com/symfony/uid/tree/v6.4.8" }, @@ -6584,17 +7036,25 @@ "symfony/uid": "^5.4|^6.0|^7.0", "twig/twig": "^2.13|^3.0.4" }, - "bin": ["Resources/bin/var-dump-server"], + "bin": [ + "Resources/bin/var-dump-server" + ], "type": "library", "autoload": { - "files": ["Resources/functions/dump.php"], + "files": [ + "Resources/functions/dump.php" + ], "psr-4": { "Symfony\\Component\\VarDumper\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -6607,7 +7067,10 @@ ], "description": "Provides mechanisms for walking through any arbitrary PHP variable", "homepage": "https://symfony.com", - "keywords": ["debug", "dump"], + "keywords": [ + "debug", + "dump" + ], "support": { "source": "https://github.com/symfony/var-dumper/tree/v6.4.10" }, @@ -6662,7 +7125,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Tijs Verkoyen", @@ -6730,7 +7195,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Sean Tymon", @@ -6807,7 +7274,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Graham Campbell", @@ -6821,7 +7290,11 @@ } ], "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": ["dotenv", "env", "environment"], + "keywords": [ + "dotenv", + "env", + "environment" + ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1" @@ -6868,7 +7341,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Lars Moelleken", @@ -6877,7 +7352,11 @@ ], "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", "homepage": "https://github.com/voku/portable-ascii", - "keywords": ["ascii", "clean", "php"], + "keywords": [ + "ascii", + "clean", + "php" + ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", "source": "https://github.com/voku/portable-ascii/tree/2.0.1" @@ -6943,7 +7422,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Bernhard Schussek", @@ -6951,7 +7432,11 @@ } ], "description": "Assertions to validate method input/output with nice error messages.", - "keywords": ["assert", "check", "validate"], + "keywords": [ + "assert", + "check", + "validate" + ], "support": { "issues": "https://github.com/webmozarts/assert/issues", "source": "https://github.com/webmozarts/assert/tree/1.11.0" @@ -6988,7 +7473,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Emanuil Rusev", @@ -6998,7 +7485,10 @@ ], "description": "Parser for Markdown.", "homepage": "http://parsedown.org", - "keywords": ["markdown", "parser"], + "keywords": [ + "markdown", + "parser" + ], "support": { "issues": "https://github.com/erusev/parsedown/issues", "source": "https://github.com/erusev/parsedown/tree/1.7.x" @@ -7048,14 +7538,20 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "François Zaninotto" } ], "description": "Faker is a PHP library that generates fake data for you.", - "keywords": ["data", "faker", "fixtures"], + "keywords": [ + "data", + "faker", + "fixtures" + ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" @@ -7101,7 +7597,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Filipe Dobreira", @@ -7164,12 +7662,18 @@ } }, "autoload": { - "classmap": ["hamcrest"] + "classmap": [ + "hamcrest" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "description": "This is the PHP port of Hamcrest Matchers", - "keywords": ["test"], + "keywords": [ + "test" + ], "support": { "issues": "https://github.com/hamcrest/hamcrest-php/issues", "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" @@ -7231,7 +7735,9 @@ "type": "library", "extra": { "laravel": { - "providers": ["Knuckles\\Scribe\\ScribeServiceProvider"] + "providers": [ + "Knuckles\\Scribe\\ScribeServiceProvider" + ] } }, "autoload": { @@ -7241,7 +7747,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Shalvah" @@ -7249,7 +7757,12 @@ ], "description": "Generate API documentation for humans from your Laravel codebase.✍", "homepage": "http://github.com/knuckleswtf/scribe", - "keywords": ["api", "dingo", "documentation", "laravel"], + "keywords": [ + "api", + "dingo", + "documentation", + "laravel" + ], "support": { "issues": "https://github.com/knuckleswtf/scribe/issues", "source": "https://github.com/knuckleswtf/scribe/tree/4.37.1" @@ -7264,16 +7777,16 @@ }, { "name": "laravel/pint", - "version": "v1.17.0", + "version": "v1.17.1", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "4dba80c1de4b81dc4c4fb10ea6f4781495eb29f5" + "reference": "b5b6f716db298671c1dfea5b1082ec2c0ae7064f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/4dba80c1de4b81dc4c4fb10ea6f4781495eb29f5", - "reference": "4dba80c1de4b81dc4c4fb10ea6f4781495eb29f5", + "url": "https://api.github.com/repos/laravel/pint/zipball/b5b6f716db298671c1dfea5b1082ec2c0ae7064f", + "reference": "b5b6f716db298671c1dfea5b1082ec2c0ae7064f", "shasum": "" }, "require": { @@ -7292,7 +7805,9 @@ "nunomaduro/termwind": "^1.15.1", "pestphp/pest": "^2.34.8" }, - "bin": ["builds/pint"], + "bin": [ + "builds/pint" + ], "type": "project", "autoload": { "psr-4": { @@ -7302,7 +7817,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nuno Maduro", @@ -7311,12 +7828,18 @@ ], "description": "An opinionated code formatter for PHP.", "homepage": "https://laravel.com", - "keywords": ["format", "formatter", "lint", "linter", "php"], + "keywords": [ + "format", + "formatter", + "lint", + "linter", + "php" + ], "support": { "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2024-07-23T16:40:20+00:00" + "time": "2024-08-01T09:06:33+00:00" }, { "name": "laravel/sail", @@ -7344,11 +7867,15 @@ "orchestra/testbench": "^7.0|^8.0|^9.0", "phpstan/phpstan": "^1.10" }, - "bin": ["bin/sail"], + "bin": [ + "bin/sail" + ], "type": "library", "extra": { "laravel": { - "providers": ["Laravel\\Sail\\SailServiceProvider"] + "providers": [ + "Laravel\\Sail\\SailServiceProvider" + ] } }, "autoload": { @@ -7357,7 +7884,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Taylor Otwell", @@ -7365,7 +7894,10 @@ } ], "description": "Docker files for running a basic Laravel application.", - "keywords": ["docker", "laravel"], + "keywords": [ + "docker", + "laravel" + ], "support": { "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" @@ -7400,13 +7932,18 @@ }, "type": "library", "autoload": { - "files": ["library/helpers.php", "library/Mockery.php"], + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], "psr-4": { "Mockery\\": "library/Mockery" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Pádraic Brady", @@ -7482,11 +8019,15 @@ }, "autoload": { "psr-0": { - "Mpociot": ["src/"] + "Mpociot": [ + "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Mike van Riel", @@ -7528,13 +8069,17 @@ }, "type": "library", "autoload": { - "files": ["src/DeepCopy/deep_copy.php"], + "files": [ + "src/DeepCopy/deep_copy.php" + ], "psr-4": { "DeepCopy\\": "src/DeepCopy/" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "description": "Create deep copies (clones) of your objects", "keywords": [ "clone", @@ -7601,13 +8146,17 @@ } }, "autoload": { - "files": ["./src/Adapters/Phpunit/Autoload.php"], + "files": [ + "./src/Adapters/Phpunit/Autoload.php" + ], "psr-4": { "NunoMaduro\\Collision\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nuno Maduro", @@ -7676,10 +8225,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Arne Blankerts", @@ -7729,10 +8282,14 @@ }, "type": "library", "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Arne Blankerts", @@ -7800,10 +8357,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -7813,7 +8374,11 @@ ], "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": ["coverage", "testing", "xunit"], + "keywords": [ + "coverage", + "testing", + "xunit" + ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", @@ -7854,10 +8419,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -7867,7 +8436,10 @@ ], "description": "FilterIterator implementation that filters files based on a list of suffixes.", "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": ["filesystem", "iterator"], + "keywords": [ + "filesystem", + "iterator" + ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", @@ -7912,10 +8484,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -7925,7 +8501,9 @@ ], "description": "Invoke callables with a timeout", "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": ["process"], + "keywords": [ + "process" + ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" @@ -7965,10 +8543,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -7978,7 +8560,9 @@ ], "description": "Simple template engine.", "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": ["template"], + "keywords": [ + "template" + ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", @@ -8019,10 +8603,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8032,7 +8620,9 @@ ], "description": "Utility class for timing", "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": ["timer"], + "keywords": [ + "timer" + ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" @@ -8047,16 +8637,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.28", + "version": "10.5.29", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "ff7fb85cdf88131b83e721fb2a327b664dbed275" + "reference": "8e9e80872b4e8064401788ee8a32d40b4455318f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ff7fb85cdf88131b83e721fb2a327b664dbed275", - "reference": "ff7fb85cdf88131b83e721fb2a327b664dbed275", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e9e80872b4e8064401788ee8a32d40b4455318f", + "reference": "8e9e80872b4e8064401788ee8a32d40b4455318f", "shasum": "" }, "require": { @@ -8090,7 +8680,9 @@ "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" }, - "bin": ["phpunit"], + "bin": [ + "phpunit" + ], "type": "library", "extra": { "branch-alias": { @@ -8098,11 +8690,17 @@ } }, "autoload": { - "files": ["src/Framework/Assert/Functions.php"], - "classmap": ["src/"] + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8112,11 +8710,15 @@ ], "description": "The PHP Unit Testing framework.", "homepage": "https://phpunit.de/", - "keywords": ["phpunit", "testing", "xunit"], + "keywords": [ + "phpunit", + "testing", + "xunit" + ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.28" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.29" }, "funding": [ { @@ -8132,7 +8734,7 @@ "type": "tidelift" } ], - "time": "2024-07-18T14:54:16+00:00" + "time": "2024-07-30T11:08:00+00:00" }, { "name": "sebastian/cli-parser", @@ -8161,10 +8763,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8214,10 +8820,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8266,10 +8876,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8321,10 +8935,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8345,7 +8963,11 @@ ], "description": "Provides the functionality to compare PHP values for equality", "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": ["comparator", "compare", "equality"], + "keywords": [ + "comparator", + "compare", + "equality" + ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", @@ -8387,10 +9009,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8441,10 +9067,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8457,7 +9087,12 @@ ], "description": "Diff implementation", "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": ["diff", "udiff", "unidiff", "unified diff"], + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", @@ -8501,10 +9136,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8513,7 +9152,11 @@ ], "description": "Provides functionality to handle HHVM/PHP environments", "homepage": "https://github.com/sebastianbergmann/environment", - "keywords": ["Xdebug", "environment", "hhvm"], + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", @@ -8556,10 +9199,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8584,7 +9231,10 @@ ], "description": "Provides the functionality to export PHP variables for visualization", "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": ["export", "exporter"], + "keywords": [ + "export", + "exporter" + ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", @@ -8628,10 +9278,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8640,7 +9294,9 @@ ], "description": "Snapshotting of global state", "homepage": "https://www.github.com/sebastianbergmann/global-state", - "keywords": ["global state"], + "keywords": [ + "global state" + ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", @@ -8682,10 +9338,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8737,10 +9397,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8788,10 +9452,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8839,10 +9507,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8898,10 +9570,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8947,10 +9623,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -8996,15 +9676,23 @@ }, "type": "library", "autoload": { - "files": ["helpers.php"], + "files": [ + "helpers.php" + ], "psr-4": { "Shalvah\\Clara\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "description": "🔊 Simple, pretty, testable console output for CLI apps.", - "keywords": ["cli", "log", "logging"], + "keywords": [ + "cli", + "log", + "logging" + ], "support": { "issues": "https://github.com/shalvah/clara/issues", "source": "https://github.com/shalvah/clara/tree/3.2.0" @@ -9043,7 +9731,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Shalvah", @@ -9052,7 +9742,9 @@ ], "description": "Create automatic upgrades for your package.", "homepage": "http://github.com/shalvah/upgrader", - "keywords": ["upgrade"], + "keywords": [ + "upgrade" + ], "support": { "issues": "https://github.com/shalvah/upgrader/issues", "source": "https://github.com/shalvah/upgrader/tree/0.6.0" @@ -9096,7 +9788,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Freek Van de Herten", @@ -9107,7 +9801,10 @@ ], "description": "A better backtrace", "homepage": "https://github.com/spatie/backtrace", - "keywords": ["Backtrace", "spatie"], + "keywords": [ + "Backtrace", + "spatie" + ], "support": { "source": "https://github.com/spatie/backtrace/tree/1.6.2" }, @@ -9153,7 +9850,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Brent Roose", @@ -9164,7 +9863,10 @@ ], "description": "Data transfer objects with batteries included", "homepage": "https://github.com/spatie/data-transfer-object", - "keywords": ["data-transfer-object", "spatie"], + "keywords": [ + "data-transfer-object", + "spatie" + ], "support": { "issues": "https://github.com/spatie/data-transfer-object/issues", "source": "https://github.com/spatie/data-transfer-object/tree/3.9.1" @@ -9228,7 +9930,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Ruben Van Assche", @@ -9238,7 +9942,10 @@ ], "description": "This is my package error-solutions", "homepage": "https://github.com/spatie/error-solutions", - "keywords": ["error-solutions", "spatie"], + "keywords": [ + "error-solutions", + "spatie" + ], "support": { "issues": "https://github.com/spatie/error-solutions/issues", "source": "https://github.com/spatie/error-solutions/tree/1.1.1" @@ -9253,16 +9960,16 @@ }, { "name": "spatie/flare-client-php", - "version": "1.7.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/spatie/flare-client-php.git", - "reference": "097040ff51e660e0f6fc863684ac4b02c93fa234" + "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/097040ff51e660e0f6fc863684ac4b02c93fa234", - "reference": "097040ff51e660e0f6fc863684ac4b02c93fa234", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122", + "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122", "shasum": "" }, "require": { @@ -9280,7 +9987,7 @@ "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.0", - "spatie/phpunit-snapshot-assertions": "^4.0|^5.0" + "spatie/pest-plugin-snapshots": "^1.0|^2.0" }, "type": "library", "extra": { @@ -9289,19 +9996,28 @@ } }, "autoload": { - "files": ["src/helpers.php"], + "files": [ + "src/helpers.php" + ], "psr-4": { "Spatie\\FlareClient\\": "src" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "description": "Send PHP errors to Flare", "homepage": "https://github.com/spatie/flare-client-php", - "keywords": ["exception", "flare", "reporting", "spatie"], + "keywords": [ + "exception", + "flare", + "reporting", + "spatie" + ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.7.0" + "source": "https://github.com/spatie/flare-client-php/tree/1.8.0" }, "funding": [ { @@ -9309,7 +10025,7 @@ "type": "github" } ], - "time": "2024-06-12T14:39:14+00:00" + "time": "2024-08-01T08:27:26+00:00" }, { "name": "spatie/ignition", @@ -9362,7 +10078,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Spatie", @@ -9372,7 +10090,12 @@ ], "description": "A beautiful error page for PHP applications.", "homepage": "https://flareapp.io/ignition", - "keywords": ["error", "flare", "laravel", "page"], + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], "support": { "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", "forum": "https://twitter.com/flareappio", @@ -9438,13 +10161,17 @@ } }, "autoload": { - "files": ["src/helpers.php"], + "files": [ + "src/helpers.php" + ], "psr-4": { "Spatie\\LaravelIgnition\\": "src" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Spatie", @@ -9454,7 +10181,12 @@ ], "description": "A beautiful error page for Laravel applications.", "homepage": "https://flareapp.io/ignition", - "keywords": ["error", "flare", "laravel", "page"], + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], "support": { "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", "forum": "https://twitter.com/flareappio", @@ -9471,36 +10203,39 @@ }, { "name": "symfony/var-exporter", - "version": "v6.4.9", + "version": "v7.1.2", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "f9a060622e0d93777b7f8687ec4860191e16802e" + "reference": "b80a669a2264609f07f1667f891dbfca25eba44c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/f9a060622e0d93777b7f8687ec4860191e16802e", - "reference": "f9a060622e0d93777b7f8687ec4860191e16802e", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/b80a669a2264609f07f1667f891dbfca25eba44c", + "reference": "b80a669a2264609f07f1667f891dbfca25eba44c", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" + "php": ">=8.2" }, "require-dev": { "symfony/property-access": "^6.4|^7.0", "symfony/serializer": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/var-dumper": "^6.4|^7.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\VarExporter\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -9524,7 +10259,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.9" + "source": "https://github.com/symfony/var-exporter/tree/v7.1.2" }, "funding": [ { @@ -9540,43 +10275,48 @@ "type": "tidelift" } ], - "time": "2024-06-24T15:53:56+00:00" + "time": "2024-06-28T08:00:31+00:00" }, { "name": "symfony/yaml", - "version": "v6.4.8", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "52903de178d542850f6f341ba92995d3d63e60c9" + "reference": "fa34c77015aa6720469db7003567b9f772492bf2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/52903de178d542850f6f341ba92995d3d63e60c9", - "reference": "52903de178d542850f6f341ba92995d3d63e60c9", + "url": "https://api.github.com/repos/symfony/yaml/zipball/fa34c77015aa6720469db7003567b9f772492bf2", + "reference": "fa34c77015aa6720469db7003567b9f772492bf2", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<5.4" + "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0" + "symfony/console": "^6.4|^7.0" }, - "bin": ["Resources/bin/yaml-lint"], + "bin": [ + "Resources/bin/yaml-lint" + ], "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Yaml\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -9590,7 +10330,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.8" + "source": "https://github.com/symfony/yaml/tree/v7.1.1" }, "funding": [ { @@ -9606,7 +10346,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "theseer/tokenizer", @@ -9630,10 +10370,14 @@ }, "type": "library", "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Arne Blankerts", diff --git a/routes/api.php b/routes/api.php index 8f225f8b..037231b6 100755 --- a/routes/api.php +++ b/routes/api.php @@ -93,7 +93,7 @@ Route::middleware('throttle:10,1')->get('/topics/search', [ArticleController::class, 'search']); Route::middleware('auth:api')->group(function () { - + Route::post('/organizations/{org_id}/products', [ProductController::class, 'store']); Route::patch('/organizations/{org_id}/products/{product_id}', [ProductController::class, 'update']); Route::delete('/products/{productId}', [ProductController::class, 'destroy']); @@ -207,7 +207,6 @@ Route::patch('/blogs/edit/{id}', [BlogController::class, 'update'])->name('admin.blogs.update'); Route::delete('/blogs/{id}', [BlogController::class, 'destroy']); Route::get('/waitlists', [WaitListController::class, 'index']); - }); @@ -243,5 +242,3 @@ Route::post('/notifications', [UserNotificationController::class, 'create'])->middleware('auth.jwt'); Route::get('/notifications', [UserNotificationController::class, 'getByUser'])->middleware('auth.jwt'); }); - - From 9866a916db5d6e531097fd2c79ec7075c19bca2d Mon Sep 17 00:00:00 2001 From: Dev-Tonia Date: Fri, 2 Aug 2024 11:59:45 +0100 Subject: [PATCH 02/43] feat: added the delete product feat --- .../Controllers/Api/V1/ProductController.php | 46 ++++++++++++------- routes/api.php | 2 +- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/app/Http/Controllers/Api/V1/ProductController.php b/app/Http/Controllers/Api/V1/ProductController.php index 1094c4b5..6a07d270 100755 --- a/app/Http/Controllers/Api/V1/ProductController.php +++ b/app/Http/Controllers/Api/V1/ProductController.php @@ -78,11 +78,11 @@ public function search(Request $request) }); } - + $page = $request->input('page', 1); $limit = $request->input('limit', 10); $products = $query->with(['productsVariant', 'categories']) - ->paginate($limit, ['*'], 'page', $page); + ->paginate($limit, ['*'], 'page', $page); $transformedProducts = $products->map(function ($product) { return [ @@ -92,9 +92,9 @@ public function search(Request $request) 'description' => $product->description, 'product_id' => $product->product_id, 'quantity' => $product->quantity, - 'category' => $product->categories->isNotEmpty() ? $product->categories->map->name : [], - 'stock' => $product->productsVariant->isNotEmpty() ? $product->productsVariant->first()->stock : null, - 'status' => $product->productsVariant->isNotEmpty() ? $product->productsVariant->first()->stock_status : null, + 'category' => $product->categories->isNotEmpty() ? $product->categories->map->name : [], + 'stock' => $product->productsVariant->isNotEmpty() ? $product->productsVariant->first()->stock : null, + 'status' => $product->productsVariant->isNotEmpty() ? $product->productsVariant->first()->stock_status : null, 'date_added' => $product->created_at ]; }); @@ -107,7 +107,7 @@ public function search(Request $request) 'totalPages' => $products->lastPage(), 'currentPage' => $products->currentPage(), 'perPage' => $products->perPage(), - ], + ], 'status_code' => 200 ], 200); } @@ -237,7 +237,6 @@ public function store(CreateProductRequest $request) ]); return response()->json(['message' => 'Product created successfully', 'product' => $product], 201); - } /** @@ -318,28 +317,43 @@ public function update(UpdateProductRequest $request, string $org_id, string $pr /** * Remove the specified resource from storage. */ - public function destroy($productId) + public function destroy($org_id, $product_id) { - if (!Auth::check()) { - return response()->json([ - 'error' => 'Unauthorized', - 'message' => 'You must be authenticated to delete a product.' - ], 401); + + $isOwner = OrganisationUser::where('org_id', $org_id)->where('user_id', auth()->id())->exists(); + // dd($isOwner); // Check if the user's organization matches the org_id in the request + if (!$isOwner) { + return response()->json( + [ + 'status' => 'Forbidden', + 'message' => 'You do not have permission to delete a product from this organization.', + 'status_code' => 403 + ], + 403 + ); } - $product = Product::find($productId); + $product = Product::find($product_id); if (!$product) { return response()->json([ 'error' => 'Product not found', - 'message' => "The product with ID $productId does not exist." + 'message' => "The product with ID $product_id does not exist." ], 404); } + // Check if the product belongs to the organization + if ($product->org_id !== $org_id) { + return response()->json([ + 'error' => 'Forbidden', + 'message' => 'You do not have permission to delete this product.' + ], 403); + } + $product->delete(); return response()->json([ 'message' => 'Product deleted successfully.' - ], 200); + ], 204); } } diff --git a/routes/api.php b/routes/api.php index cac80e14..e1e6b83b 100755 --- a/routes/api.php +++ b/routes/api.php @@ -97,7 +97,7 @@ Route::post('/organizations/{org_id}/products', [ProductController::class, 'store']); Route::patch('/organizations/{org_id}/products/{product_id}', [ProductController::class, 'update']); - Route::delete('/products/{productId}', [ProductController::class, 'destroy']); + Route::delete('/organizations/{org_id}/products/{product_id}', [ProductController::class, 'destroy']); }); //comment From a9d09241c47425ec043d44c8e5ebf2e5d4241f00 Mon Sep 17 00:00:00 2001 From: Amowogbaje Gideon Date: Tue, 6 Aug 2024 10:00:11 +0100 Subject: [PATCH 03/43] udpated user subscriptions with org_id --- .../Controllers/Api/V1/PaymentController.php | 27 ++++++++++++++++-- ...85955_add_org_id_to_user_subscriptions.php | 28 +++++++++++++++++++ 2 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 database/migrations/2024_08_06_085955_add_org_id_to_user_subscriptions.php diff --git a/app/Http/Controllers/Api/V1/PaymentController.php b/app/Http/Controllers/Api/V1/PaymentController.php index ce39662c..8c096867 100644 --- a/app/Http/Controllers/Api/V1/PaymentController.php +++ b/app/Http/Controllers/Api/V1/PaymentController.php @@ -8,6 +8,7 @@ use Illuminate\Support\Facades\Validator; use App\Models\Payment; use App\Services\PaymentService; +use App\Models\Organisation; use App\Models\SubscriptionPlan; use App\Models\UserSubscription; use Illuminate\Support\Str; @@ -26,7 +27,7 @@ public function initiatePaymentForPayStack(Request $request) { // return response()->json(['h'=> 'ng']); $validator = Validator::make($request->all(), [ - // 'organisation_id' => 'required', + 'organisation_id' => 'required', 'plan_id' =>'required', 'billing_option' => 'required|in:monthly,yearly', 'full_name' => 'required', @@ -39,6 +40,15 @@ public function initiatePaymentForPayStack(Request $request) 'message' => 'Validation error: ' . $validator->errors()->first() ], 400); } + $userIsAnAdminInOrganisation = Organisation::where('user_id', auth()->user()->id) + ->where('org_id', $request->organisation_id) + ->exists(); + if ($userIsAnAdminInOrganisation) { + return response()->json([ + 'status' => 403, + 'message' => 'You do not have permission to initiate this payment' + ], 403); + } // $gateway_id = Gateway::where('code', 'paystack')->first()->id; $subscriptionPlan = SubscriptionPlan::find($request->plan_id); @@ -72,7 +82,8 @@ public function initiatePaymentForPayStack(Request $request) } catch (\Exception $e) { return response()->json([ 'status' => 500, - 'message' => 'Payment Initialization Failed: ' . $e->getMessage() + 'message' => 'An unexpected error occurred. Please try again later.' + // 'message' => 'Payment Initialization Failed: ' . $e->getMessage() ], 500); } } @@ -115,7 +126,7 @@ public function handlePaystackCallback($id, Request $request) public function initiatePaymentForFlutterWave(Request $request) { $validator = Validator::make($request->all(), [ - // 'organisation_id' => 'required', + 'organisation_id' => 'required', 'plan_id' =>'required', 'billing_option' => 'required|in:monthly,yearly', 'full_name' => 'required', @@ -128,6 +139,16 @@ public function initiatePaymentForFlutterWave(Request $request) 'message' => 'Validation error: ' . $validator->errors()->first() ], 400); } + + $userIsAnAdminInOrganisation = Organisation::where('user_id', auth()->user()->id) + ->where('org_id', $request->organisation_id) + ->exists(); + if ($userIsAnAdminInOrganisation) { + return response()->json([ + 'status' => 403, + 'message' => 'You do not have permission to initiate this payment' + ], 403); + } // $gateway_id = Gateway::where('code', 'flutterwave')->first()->id; $subscriptionPlan = SubscriptionPlan::find($request->plan_id); diff --git a/database/migrations/2024_08_06_085955_add_org_id_to_user_subscriptions.php b/database/migrations/2024_08_06_085955_add_org_id_to_user_subscriptions.php new file mode 100644 index 00000000..02c80a78 --- /dev/null +++ b/database/migrations/2024_08_06_085955_add_org_id_to_user_subscriptions.php @@ -0,0 +1,28 @@ + Date: Tue, 6 Aug 2024 10:11:54 +0100 Subject: [PATCH 04/43] updates made to how subscription works --- app/Http/Controllers/Api/V1/PaymentController.php | 6 ++++-- app/Services/PaymentService.php | 4 ++-- ...024_08_06_085955_add_org_id_to_user_subscriptions.php | 9 ++++++--- routes/api.php | 4 ++-- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/Api/V1/PaymentController.php b/app/Http/Controllers/Api/V1/PaymentController.php index 8c096867..3b1ba9c8 100644 --- a/app/Http/Controllers/Api/V1/PaymentController.php +++ b/app/Http/Controllers/Api/V1/PaymentController.php @@ -88,7 +88,7 @@ public function initiatePaymentForPayStack(Request $request) } } - public function handlePaystackCallback($id, Request $request) + public function handlePaystackCallback($organisation_id, $id, Request $request) { $reference = $request->query('reference'); @@ -110,6 +110,7 @@ public function handlePaystackCallback($id, Request $request) $userSubscription = new UserSubscription; $userSubscription->user_id = auth()->user()->id; $userSubscription->subscription_plan_id = $id; + $userSubscription->org_id = $organisation_id; $userSubscription->save(); @@ -192,7 +193,7 @@ public function initiatePaymentForFlutterWave(Request $request) } } - public function handleFlutterwaveCallback($id, Request $request) + public function handleFlutterwaveCallback($organisation_id, $id, Request $request) { $transaction_id = $request->query('transaction_id'); @@ -213,6 +214,7 @@ public function handleFlutterwaveCallback($id, Request $request) $userSubscription = new UserSubscription; $userSubscription->user_id = auth()->user()->id; $userSubscription->subscription_plan_id = $id; + $userSubscription->org_id = $organisation_id; $userSubscription->save(); // Redirect to the specified URL with status diff --git a/app/Services/PaymentService.php b/app/Services/PaymentService.php index 143763f5..9135ec37 100644 --- a/app/Services/PaymentService.php +++ b/app/Services/PaymentService.php @@ -17,7 +17,7 @@ public function initiatePaystackPayment($data) 'email' => $data['email'], 'plan' => $data['plan_code'], 'reference' => $data['reference'], - 'callback_url' => url('/api/v1/payments/paystack/verify/'.$data['plan_id']), + 'callback_url' => url('/api/v1/payments/paystack/'.$data['organisation_id'].'verify/'.$data['plan_id']), 'metadata' => [ 'cancel_action' => route('payment.cancel') ] @@ -61,7 +61,7 @@ public function initiateFlutterwavePayment($data) 'tx_ref' => $data['reference'], 'amount' => $data['amount'], // Flutterwave still needs the amount 'currency' => 'USD', - 'redirect_url' => url('/api/v1/payments/flutterwave/verify/'.$data['plan_id']), + 'redirect_url' => url('/api/v1/payments/'.$data['organisation_id'].'flutterwave/verify/'.$data['plan_id']), 'customer' => [ 'email' => $data['email'], 'name' => $data['full_name'] diff --git a/database/migrations/2024_08_06_085955_add_org_id_to_user_subscriptions.php b/database/migrations/2024_08_06_085955_add_org_id_to_user_subscriptions.php index 02c80a78..bef81a7d 100644 --- a/database/migrations/2024_08_06_085955_add_org_id_to_user_subscriptions.php +++ b/database/migrations/2024_08_06_085955_add_org_id_to_user_subscriptions.php @@ -9,20 +9,23 @@ /** * Run the migrations. */ - public function up(): void + public function up() { Schema::table('user_subscriptions', function (Blueprint $table) { - // + $table->foreignUuid('org_id')->constrained('organisations', 'org_id')->cascadeOnDelete()->cascadeOnUpdate(); }); } + /** * Reverse the migrations. */ public function down(): void { + Schema::table('user_subscriptions', function (Blueprint $table) { - // + $table->dropForeign(['org_id']); + $table->dropColumn('org_id'); }); } }; diff --git a/routes/api.php b/routes/api.php index 283c96e2..87263f85 100755 --- a/routes/api.php +++ b/routes/api.php @@ -155,9 +155,9 @@ Route::apiResource('/features', FeatureController::class); Route::apiResource('/plans', SubscriptionController::class); Route::post('/payments/paystack', [PaymentController::class, 'initiatePaymentForPayStack']); - Route::get('/payments/paystack/verify/{id}', [PaymentController::class, 'handlePaystackCallback']); + Route::get('/payments/paystack/{organisation_id}/verify/{id}', [PaymentController::class, 'handlePaystackCallback']); Route::post('/payments/flutterwave', [PaymentController::class, 'initiatePaymentForFlutterWave']); - Route::get('/payments/flutterwave/verify/{id}', [PaymentController::class, 'handleFlutterwaveCallback']); + Route::get('/payments/flutterwave/{organisation_id}/verify/{id}', [PaymentController::class, 'handleFlutterwaveCallback']); Route::get('/payments/cancel', [PaymentController::class, 'cancel'])->name('payment.cancel'); Route::post('/users/plans/{user_subscription}/cancel', [\App\Http\Controllers\Api\V1\User\SubscriptionController::class, 'destroy']); Route::get('/users/plan', [\App\Http\Controllers\Api\V1\User\SubscriptionController::class, 'userPlan']); From ce223992cfcad0fa091a41809394651ff4bb1f8e Mon Sep 17 00:00:00 2001 From: Amowogbaje Gideon Date: Tue, 6 Aug 2024 10:15:25 +0100 Subject: [PATCH 05/43] added same flow for paystack and flutterwave --- app/Http/Controllers/Api/V1/PaymentController.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Http/Controllers/Api/V1/PaymentController.php b/app/Http/Controllers/Api/V1/PaymentController.php index 3b1ba9c8..8c14d7bc 100644 --- a/app/Http/Controllers/Api/V1/PaymentController.php +++ b/app/Http/Controllers/Api/V1/PaymentController.php @@ -57,6 +57,7 @@ public function initiatePaymentForPayStack(Request $request) $data['reference'] = Str::uuid(); $data['plan_code'] = $subscriptionPlan->paystack_plan_code; $data['plan_id'] = $subscriptionPlan->id; + $data['organisation_id'] = $request->organisation_id; try { @@ -159,6 +160,7 @@ public function initiatePaymentForFlutterWave(Request $request) $data['plan_code'] = $subscriptionPlan->flutterwave_plan_code; $data['plan_id'] = $subscriptionPlan->id; $data['amount'] = $subscriptionPlan->price; + $data['organisation_id'] = $request->organisation_id; $data['title'] = $subscriptionPlan->name; try { From 4afc1bee8e45cc7771e587e4308b0b3973d0ccda Mon Sep 17 00:00:00 2001 From: Amowogbaje Gideon Date: Tue, 6 Aug 2024 10:49:15 +0100 Subject: [PATCH 06/43] error catching on subscription plan id validation --- app/Http/Controllers/Api/V1/PaymentController.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/Http/Controllers/Api/V1/PaymentController.php b/app/Http/Controllers/Api/V1/PaymentController.php index 8c14d7bc..92670492 100644 --- a/app/Http/Controllers/Api/V1/PaymentController.php +++ b/app/Http/Controllers/Api/V1/PaymentController.php @@ -153,6 +153,12 @@ public function initiatePaymentForFlutterWave(Request $request) } // $gateway_id = Gateway::where('code', 'flutterwave')->first()->id; $subscriptionPlan = SubscriptionPlan::find($request->plan_id); + if(!$subscriptionPlan) { + return response()->json([ + 'status' => 404, + 'message' => 'Subscription Plan not found' + ], 404); + } $data = $validator->validated(); $data['email'] = auth()->user()->email; From 65aea0e65c9b4000162c46eef7c3f8cd3503eaf1 Mon Sep 17 00:00:00 2001 From: Amowogbaje Gideon Date: Tue, 6 Aug 2024 10:51:00 +0100 Subject: [PATCH 07/43] error catching on subscription plan id validation on paystack --- app/Http/Controllers/Api/V1/PaymentController.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/Http/Controllers/Api/V1/PaymentController.php b/app/Http/Controllers/Api/V1/PaymentController.php index 92670492..d683d47a 100644 --- a/app/Http/Controllers/Api/V1/PaymentController.php +++ b/app/Http/Controllers/Api/V1/PaymentController.php @@ -52,6 +52,12 @@ public function initiatePaymentForPayStack(Request $request) // $gateway_id = Gateway::where('code', 'paystack')->first()->id; $subscriptionPlan = SubscriptionPlan::find($request->plan_id); + if(!$subscriptionPlan) { + return response()->json([ + 'status' => 404, + 'message' => 'Subscription Plan not found' + ], 404); + } $data = $validator->validated(); $data['email'] = auth()->user()->email; $data['reference'] = Str::uuid(); From dd5d62b885e436e4fbff27db07abbcb74a2aa37a Mon Sep 17 00:00:00 2001 From: Amowogbaje Gideon Date: Tue, 6 Aug 2024 11:19:21 +0100 Subject: [PATCH 08/43] creating relationship between organisation and subscription --- app/Models/Organisation.php | 17 +++++++++++++++++ app/Models/SubscriptionPlan.php | 5 +++++ app/Models/UserSubscription.php | 5 +++++ 3 files changed, 27 insertions(+) diff --git a/app/Models/Organisation.php b/app/Models/Organisation.php index 0c9b43da..90d25022 100755 --- a/app/Models/Organisation.php +++ b/app/Models/Organisation.php @@ -71,4 +71,21 @@ public function roles() { return $this->hasMany(Role::class, 'org_id'); } + + public function subscriptions() + { + return $this->hasMany(UserSubscription::class, 'org_id', 'org_id'); + } + + public function subscriptionPlan() + { + return $this->hasOneThrough( + SubscriptionPlan::class, + UserSubscription::class, + 'org_id', // Foreign key on UserSubscription table + 'id', // Foreign key on SubscriptionPlan table + 'org_id', // Local key on Organisation table + 'subscription_plan_id' // Local key on UserSubscription table + ); + } } diff --git a/app/Models/SubscriptionPlan.php b/app/Models/SubscriptionPlan.php index 7f917c4b..411acb1e 100755 --- a/app/Models/SubscriptionPlan.php +++ b/app/Models/SubscriptionPlan.php @@ -21,4 +21,9 @@ public function features(): BelongsToMany ->withTimestamps(); } + public function userSubscriptions() + { + return $this->hasMany(UserSubscription::class, 'subscription_plan_id', 'id'); + } + } diff --git a/app/Models/UserSubscription.php b/app/Models/UserSubscription.php index 4abb3d30..946f23bd 100755 --- a/app/Models/UserSubscription.php +++ b/app/Models/UserSubscription.php @@ -11,4 +11,9 @@ class UserSubscription extends Model use HasFactory, HasUuids; protected $fillable = ['subscription_plan_id', 'cancellation_reason']; + + public function subscriptionPlan() + { + return $this->belongsTo(SubscriptionPlan::class, 'subscription_plan_id', 'id'); + } } From 60f76ecb76fe0515d8d6fbb00acb33411b03e317 Mon Sep 17 00:00:00 2001 From: Amowogbaje Gideon Date: Tue, 6 Aug 2024 12:10:50 +0100 Subject: [PATCH 09/43] creating relationship between organisation and subscription v2 --- app/Models/Organisation.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Models/Organisation.php b/app/Models/Organisation.php index 90d25022..9a4990f5 100755 --- a/app/Models/Organisation.php +++ b/app/Models/Organisation.php @@ -72,9 +72,9 @@ public function roles() return $this->hasMany(Role::class, 'org_id'); } - public function subscriptions() + public function subscription() { - return $this->hasMany(UserSubscription::class, 'org_id', 'org_id'); + return $this->hasOne(UserSubscription::class, 'org_id', 'org_id'); } public function subscriptionPlan() From d27a214a57b34c96a27d086c923c4ac4d3c92eff Mon Sep 17 00:00:00 2001 From: wilsonabdiel Date: Tue, 6 Aug 2024 19:53:28 +0100 Subject: [PATCH 10/43] feat: retrieving quests messages for core task --- app/Http/Controllers/QuestController.php | 22 +++++++ .../Controllers/QuestMessageController.php | 66 +++++++++++++++++++ .../Requests/StoreQuestMessageRequest.php | 28 ++++++++ .../Requests/UpdateQuestMessageRequest.php | 28 ++++++++ app/Models/Quest.php | 18 +++++ app/Models/QuestMessage.php | 18 +++++ .../2024_08_06_184118_create_quests_table.php | 30 +++++++++ ..._06_184558_create_quest_messages_table.php | 26 ++++++++ database/seeders/DatabaseSeeder.php | 5 ++ database/seeders/QuestMessageSeeder.php | 33 ++++++++++ database/seeders/QuestSeeder.php | 21 ++++++ routes/api.php | 6 ++ 12 files changed, 301 insertions(+) create mode 100644 app/Http/Controllers/QuestController.php create mode 100644 app/Http/Controllers/QuestMessageController.php create mode 100644 app/Http/Requests/StoreQuestMessageRequest.php create mode 100644 app/Http/Requests/UpdateQuestMessageRequest.php create mode 100644 app/Models/Quest.php create mode 100644 app/Models/QuestMessage.php create mode 100644 database/migrations/2024_08_06_184118_create_quests_table.php create mode 100644 database/migrations/2024_08_06_184558_create_quest_messages_table.php create mode 100644 database/seeders/QuestMessageSeeder.php create mode 100644 database/seeders/QuestSeeder.php diff --git a/app/Http/Controllers/QuestController.php b/app/Http/Controllers/QuestController.php new file mode 100644 index 00000000..5dfb7b7b --- /dev/null +++ b/app/Http/Controllers/QuestController.php @@ -0,0 +1,22 @@ +json(['message' => 'Quest not found'], 404); + } + + $messages = $quest->messages; + return response()->json($messages); + } +} diff --git a/app/Http/Controllers/QuestMessageController.php b/app/Http/Controllers/QuestMessageController.php new file mode 100644 index 00000000..b9de6529 --- /dev/null +++ b/app/Http/Controllers/QuestMessageController.php @@ -0,0 +1,66 @@ +|string> + */ + public function rules(): array + { + return [ + // + ]; + } +} diff --git a/app/Http/Requests/UpdateQuestMessageRequest.php b/app/Http/Requests/UpdateQuestMessageRequest.php new file mode 100644 index 00000000..1c475ddc --- /dev/null +++ b/app/Http/Requests/UpdateQuestMessageRequest.php @@ -0,0 +1,28 @@ +|string> + */ + public function rules(): array + { + return [ + // + ]; + } +} diff --git a/app/Models/Quest.php b/app/Models/Quest.php new file mode 100644 index 00000000..816d1a56 --- /dev/null +++ b/app/Models/Quest.php @@ -0,0 +1,18 @@ +hasMany(QuestMessage::class)->orderBy('sequence'); + } +} diff --git a/app/Models/QuestMessage.php b/app/Models/QuestMessage.php new file mode 100644 index 00000000..4dd478ff --- /dev/null +++ b/app/Models/QuestMessage.php @@ -0,0 +1,18 @@ +belongsTo(Quest::class); + } +} diff --git a/database/migrations/2024_08_06_184118_create_quests_table.php b/database/migrations/2024_08_06_184118_create_quests_table.php new file mode 100644 index 00000000..04c2c1d1 --- /dev/null +++ b/database/migrations/2024_08_06_184118_create_quests_table.php @@ -0,0 +1,30 @@ +id(); + $table->string('title'); + $table->text('description'); + $table->timestamps(); + }); + + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('quests'); + } +}; diff --git a/database/migrations/2024_08_06_184558_create_quest_messages_table.php b/database/migrations/2024_08_06_184558_create_quest_messages_table.php new file mode 100644 index 00000000..5a007acd --- /dev/null +++ b/database/migrations/2024_08_06_184558_create_quest_messages_table.php @@ -0,0 +1,26 @@ +id(); + $table->foreignId('quest_id')->constrained()->onDelete('cascade'); + $table->string('key'); + $table->text('question'); + $table->text('answer'); + $table->integer('sequence'); + $table->timestamps(); + }); + } + + public function down() + { + Schema::dropIfExists('quest_messages'); + } +} diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 986ee26c..d4bf0fa2 100755 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -70,5 +70,10 @@ public function run(): void UserNotificationSeeder::class, ]); + $this->call([ + QuestsSeeder::class, + QuestMessageSeeder::class, + ]); + } } diff --git a/database/seeders/QuestMessageSeeder.php b/database/seeders/QuestMessageSeeder.php new file mode 100644 index 00000000..e97f2a86 --- /dev/null +++ b/database/seeders/QuestMessageSeeder.php @@ -0,0 +1,33 @@ +insert([ + [ + 'quest_id' => 1, + 'key' => 'message_1', + 'question' => 'I need to ask where the baby is', + 'answer' => 'The baby is on the second floor.', + 'sequence' => 1, + 'created_at' => now(), + 'updated_at' => now(), + ], + [ + 'quest_id' => 1, + 'key' => 'message_2', + 'question' => 'How can I get there?', + 'answer' => 'Take the stairs on your left.', + 'sequence' => 2, + 'created_at' => now(), + 'updated_at' => now(), + ] + ]); + } +} diff --git a/database/seeders/QuestSeeder.php b/database/seeders/QuestSeeder.php new file mode 100644 index 00000000..5bb3d743 --- /dev/null +++ b/database/seeders/QuestSeeder.php @@ -0,0 +1,21 @@ +insert([ + 'title' => 'The Burning Building', + 'description' => 'Welcome! A fire has broken out in an apartment building in your neighborhood. A baby is trapped inside and needs your help. Your mission: Go into the burning building and rescue the baby. Every second counts! To succeed, you must learn to understand and speak the words that would serve as your tool.', + 'created_at' => now(), + 'updated_at' => now(), + ]); + } +} diff --git a/routes/api.php b/routes/api.php index d508cf84..5b93bb16 100755 --- a/routes/api.php +++ b/routes/api.php @@ -39,6 +39,7 @@ use App\Http\Controllers\Api\V1\User\ProfileController; use App\Http\Controllers\Api\V1\JobSearchController; +use App\Http\Controllers\QuestController; /* |-------------------------------------------------------------------------- | API Routes @@ -220,6 +221,11 @@ Route::delete('/notifications', [UserNotificationController::class, 'destroy']); Route::post('/notifications', [UserNotificationController::class, 'create'])->middleware('auth.jwt'); Route::get('/notifications', [UserNotificationController::class, 'getByUser'])->middleware('auth.jwt'); + + +// quest + Route::get('/quests/{id}/messages', [QuestController::class, 'getQuestMessages']); + }); From 19ab75623edb774883887ee9fd7c81a2297f4b3d Mon Sep 17 00:00:00 2001 From: Alemoh Rapheal Date: Tue, 6 Aug 2024 12:18:00 -0700 Subject: [PATCH 11/43] fix: resolve api conflict --- routes/api.php | 1 - 1 file changed, 1 deletion(-) diff --git a/routes/api.php b/routes/api.php index 4c785dd1..102e5c61 100755 --- a/routes/api.php +++ b/routes/api.php @@ -120,7 +120,6 @@ Route::post('/squeeze', [SqueezeController::class, 'store']); - // Help Articles Route::post('/help-center/topics', [HelpArticleController::class, 'store']); Route::patch('/help-center/topics/{articleId}', [HelpArticleController::class, 'update']); From b0fe2275cb9b8ce3d7e2673695e50e7c03477dcc Mon Sep 17 00:00:00 2001 From: Amowogbaje Gideon Date: Tue, 6 Aug 2024 21:03:08 +0100 Subject: [PATCH 12/43] corrected authorization validation --- app/Http/Controllers/Api/V1/PaymentController.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/V1/PaymentController.php b/app/Http/Controllers/Api/V1/PaymentController.php index d683d47a..97699ae2 100644 --- a/app/Http/Controllers/Api/V1/PaymentController.php +++ b/app/Http/Controllers/Api/V1/PaymentController.php @@ -43,7 +43,7 @@ public function initiatePaymentForPayStack(Request $request) $userIsAnAdminInOrganisation = Organisation::where('user_id', auth()->user()->id) ->where('org_id', $request->organisation_id) ->exists(); - if ($userIsAnAdminInOrganisation) { + if (!$userIsAnAdminInOrganisation) { return response()->json([ 'status' => 403, 'message' => 'You do not have permission to initiate this payment' @@ -151,7 +151,8 @@ public function initiatePaymentForFlutterWave(Request $request) $userIsAnAdminInOrganisation = Organisation::where('user_id', auth()->user()->id) ->where('org_id', $request->organisation_id) ->exists(); - if ($userIsAnAdminInOrganisation) { + // return response()->json(auth()->user()->id); + if (!$userIsAnAdminInOrganisation) { return response()->json([ 'status' => 403, 'message' => 'You do not have permission to initiate this payment' From 914e0015ac190e3f05f7bf90a63431c8ed6590d1 Mon Sep 17 00:00:00 2001 From: Amowogbaje Gideon Date: Tue, 6 Aug 2024 22:03:39 +0100 Subject: [PATCH 13/43] payment checkout code --- app/Http/Controllers/Api/V1/PaymentController.php | 5 +++-- app/Services/PaymentService.php | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/V1/PaymentController.php b/app/Http/Controllers/Api/V1/PaymentController.php index 97699ae2..9624d3b4 100644 --- a/app/Http/Controllers/Api/V1/PaymentController.php +++ b/app/Http/Controllers/Api/V1/PaymentController.php @@ -63,6 +63,7 @@ public function initiatePaymentForPayStack(Request $request) $data['reference'] = Str::uuid(); $data['plan_code'] = $subscriptionPlan->paystack_plan_code; $data['plan_id'] = $subscriptionPlan->id; + $data['amount'] = $subscriptionPlan->price; $data['organisation_id'] = $request->organisation_id; try { @@ -89,8 +90,8 @@ public function initiatePaymentForPayStack(Request $request) } catch (\Exception $e) { return response()->json([ 'status' => 500, - 'message' => 'An unexpected error occurred. Please try again later.' - // 'message' => 'Payment Initialization Failed: ' . $e->getMessage() + // 'message' => 'An unexpected error occurred. Please try again later.' + 'message' => 'Payment Initialization Failed: ' . $e->getMessage() ], 500); } } diff --git a/app/Services/PaymentService.php b/app/Services/PaymentService.php index 9135ec37..7dd3d8ff 100644 --- a/app/Services/PaymentService.php +++ b/app/Services/PaymentService.php @@ -16,6 +16,7 @@ public function initiatePaystackPayment($data) ])->post('https://api.paystack.co/transaction/initialize', [ 'email' => $data['email'], 'plan' => $data['plan_code'], + 'amount' => $data['amount'], 'reference' => $data['reference'], 'callback_url' => url('/api/v1/payments/paystack/'.$data['organisation_id'].'verify/'.$data['plan_id']), 'metadata' => [ From 070bfd689a31063f8f11f7599ec0ab7d84ca4d80 Mon Sep 17 00:00:00 2001 From: Amowogbaje Gideon Date: Tue, 6 Aug 2024 22:35:20 +0100 Subject: [PATCH 14/43] flutter edit --- app/Http/Controllers/Api/V1/PaymentController.php | 1 + app/Services/PaymentService.php | 7 ++----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Api/V1/PaymentController.php b/app/Http/Controllers/Api/V1/PaymentController.php index 9624d3b4..4b842faf 100644 --- a/app/Http/Controllers/Api/V1/PaymentController.php +++ b/app/Http/Controllers/Api/V1/PaymentController.php @@ -174,6 +174,7 @@ public function initiatePaymentForFlutterWave(Request $request) $data['plan_code'] = $subscriptionPlan->flutterwave_plan_code; $data['plan_id'] = $subscriptionPlan->id; $data['amount'] = $subscriptionPlan->price; + $data['title'] = $subscriptionPlan->name; $data['organisation_id'] = $request->organisation_id; $data['title'] = $subscriptionPlan->name; diff --git a/app/Services/PaymentService.php b/app/Services/PaymentService.php index 7dd3d8ff..c9b07a99 100644 --- a/app/Services/PaymentService.php +++ b/app/Services/PaymentService.php @@ -62,18 +62,15 @@ public function initiateFlutterwavePayment($data) 'tx_ref' => $data['reference'], 'amount' => $data['amount'], // Flutterwave still needs the amount 'currency' => 'USD', + 'payment_plan' => $data['plan_code'], 'redirect_url' => url('/api/v1/payments/'.$data['organisation_id'].'flutterwave/verify/'.$data['plan_id']), 'customer' => [ 'email' => $data['email'], 'name' => $data['full_name'] ], 'customizations' => [ - 'title' => 'Your Payment Title', + 'title' => $data['title'], 'billing_option' => $data['billing_option'] // Include billing_option in customizations - ], - 'meta' => [ - 'source' => 'laravel-flutterwave', - 'plan_code' => $data['plan_code'] // Include plan_code in meta ] ]); From 5c829906e950640fc1c7fd2a106c8f2543b5be60 Mon Sep 17 00:00:00 2001 From: Amowogbaje Gideon Date: Tue, 6 Aug 2024 22:52:04 +0100 Subject: [PATCH 15/43] response body --- app/Http/Controllers/Api/V1/PaymentController.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Api/V1/PaymentController.php b/app/Http/Controllers/Api/V1/PaymentController.php index 4b842faf..8f23dfb1 100644 --- a/app/Http/Controllers/Api/V1/PaymentController.php +++ b/app/Http/Controllers/Api/V1/PaymentController.php @@ -90,8 +90,8 @@ public function initiatePaymentForPayStack(Request $request) } catch (\Exception $e) { return response()->json([ 'status' => 500, - // 'message' => 'An unexpected error occurred. Please try again later.' - 'message' => 'Payment Initialization Failed: ' . $e->getMessage() + 'message' => 'An unexpected error occurred. Please try again later.' + // 'message' => 'Payment Initialization Failed: ' . $e->getMessage() ], 500); } } @@ -205,7 +205,8 @@ public function initiatePaymentForFlutterWave(Request $request) } catch (\Exception $e) { return response()->json([ 'status' => 500, - 'message' => 'Payment Initialization Failed: ' . $e->getMessage() + 'message' => 'An unexpected error occurred. Please try again later.' + // 'message' => 'Payment Initialization Failed: ' . $e->getMessage() ], 500); } } From 73d689bdaf033186f584b79733653bc0c9ba0117 Mon Sep 17 00:00:00 2001 From: Amowogbaje Gideon Date: Tue, 6 Aug 2024 23:00:22 +0100 Subject: [PATCH 16/43] verify endpooints --- app/Services/PaymentService.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Services/PaymentService.php b/app/Services/PaymentService.php index c9b07a99..6711efab 100644 --- a/app/Services/PaymentService.php +++ b/app/Services/PaymentService.php @@ -18,7 +18,7 @@ public function initiatePaystackPayment($data) 'plan' => $data['plan_code'], 'amount' => $data['amount'], 'reference' => $data['reference'], - 'callback_url' => url('/api/v1/payments/paystack/'.$data['organisation_id'].'verify/'.$data['plan_id']), + 'callback_url' => url('/api/v1/payments/paystack/'.$data['organisation_id'].'/verify/'.$data['plan_id']), 'metadata' => [ 'cancel_action' => route('payment.cancel') ] @@ -63,7 +63,7 @@ public function initiateFlutterwavePayment($data) 'amount' => $data['amount'], // Flutterwave still needs the amount 'currency' => 'USD', 'payment_plan' => $data['plan_code'], - 'redirect_url' => url('/api/v1/payments/'.$data['organisation_id'].'flutterwave/verify/'.$data['plan_id']), + 'redirect_url' => url('/api/v1/payments/flutterwave/'.$data['organisation_id'].'/verify/'.$data['plan_id']), 'customer' => [ 'email' => $data['email'], 'name' => $data['full_name'] From 25483f274f9b78af7e43e23f1f8379960788c5cd Mon Sep 17 00:00:00 2001 From: Muhammad Yahaya Date: Tue, 6 Aug 2024 23:40:10 +0100 Subject: [PATCH 17/43] edit:registration-endpoint --- .../Api/V1/Auth/AuthController.php | 25 ++++++++++++++----- .../Api/V1/User/UserController.php | 9 ++++++- tests/Feature/ProductControllerTest.php | 4 +-- tests/Feature/ProductDeletionTest.php | 4 +-- tests/Feature/ProductTest.php | 8 +++--- tests/Unit/RegistrationTest.php | 20 +++++++-------- 6 files changed, 45 insertions(+), 25 deletions(-) diff --git a/app/Http/Controllers/Api/V1/Auth/AuthController.php b/app/Http/Controllers/Api/V1/Auth/AuthController.php index 47faeed8..e57d3c7f 100755 --- a/app/Http/Controllers/Api/V1/Auth/AuthController.php +++ b/app/Http/Controllers/Api/V1/Auth/AuthController.php @@ -68,6 +68,7 @@ public function store(Request $request) 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), + 'role' => 'user' ]); $user->profile()->create([ @@ -79,14 +80,26 @@ public function store(Request $request) $token = JWTAuth::fromUser($user); DB::commit(); - $data = [ - 'accessToken' => $token, - 'user' => $user, - ]; - return $this->apiResponse('Registration successful', Response::HTTP_CREATED, $data); + + return response()->json([ + + 'status' => 201, + "message" => "User Created Successfully", + 'access_token' => $token, + 'data' => [ + 'user' => [ + 'id' => $user->id, + 'first_name' => $request->first_name, + 'last_name' => $request->last_name, + 'avatar_url' => $user->profile->avatar_url, + 'email' => $user->email, + 'role' => $user->role + ] + ], + ], 201); + // return $this->apiResponse('Registration successful', Response::HTTP_CREATED, $data); } catch (\Exception $e) { DB::rollBack(); - Log::error('Registration error: ' . $e->getMessage()); return $this->apiResponse('Registration unsuccessful', Response::HTTP_BAD_REQUEST); } diff --git a/app/Http/Controllers/Api/V1/User/UserController.php b/app/Http/Controllers/Api/V1/User/UserController.php index 46a004a9..17a0ebc4 100755 --- a/app/Http/Controllers/Api/V1/User/UserController.php +++ b/app/Http/Controllers/Api/V1/User/UserController.php @@ -21,6 +21,13 @@ public function index() $totalActiveUsers = User::where('is_active', 1)->count() - $totalDeletedUsers; $totalInActiveUsers = User::where('is_active', 0)->count(); + dd($users); + + // $users = [ + // 'name' => + // ]; + + return response()->json( [ "status_code" => 200, @@ -29,7 +36,7 @@ public function index() "total_deleted_users" => $totalDeletedUsers, "total_active_users" => $totalActiveUsers, "total_inActive_users" => $totalInActiveUsers, - "data" => $users + "data" =>$users ], 200 ); diff --git a/tests/Feature/ProductControllerTest.php b/tests/Feature/ProductControllerTest.php index a2af82ea..e4fd635e 100755 --- a/tests/Feature/ProductControllerTest.php +++ b/tests/Feature/ProductControllerTest.php @@ -27,10 +27,10 @@ protected function setUp(): void $response->assertStatus(201); - $this->accessToken = $response->json('data.accessToken'); + $this->accessToken = $response->json('access_token'); } - + public function testUserLogin() { diff --git a/tests/Feature/ProductDeletionTest.php b/tests/Feature/ProductDeletionTest.php index 4277e1c3..0bb3c05c 100755 --- a/tests/Feature/ProductDeletionTest.php +++ b/tests/Feature/ProductDeletionTest.php @@ -49,7 +49,7 @@ public function test_authenticated_user_can_delete_product() $response->assertStatus(201); // Retrieve the JWT token from the registration response - $token = $response->json('data.accessToken'); + $token = $response->json('access_token'); $this->assertNotEmpty($token); @@ -95,7 +95,7 @@ public function test_authenticated_user_cannot_delete_non_existent_product() $response->assertStatus(201); // Retrieve the JWT token from the registration response - $token = $response->json('data.accessToken'); + $token = $response->json('access_token'); $this->assertNotEmpty($token); diff --git a/tests/Feature/ProductTest.php b/tests/Feature/ProductTest.php index 2fd8a849..01b49051 100755 --- a/tests/Feature/ProductTest.php +++ b/tests/Feature/ProductTest.php @@ -10,7 +10,7 @@ class ProductTest extends TestCase { use RefreshDatabase; - + /** * Test that authenticated user can retrieve products with pagination. @@ -33,7 +33,7 @@ public function test_authenticated_user_can_retrieve_products_with_pagination() $response->assertStatus(201); // Retrieve the JWT token from the registration response - $token = $response->json('data.accessToken'); + $token = $response->json('access_token'); $this->assertNotEmpty($token); @@ -91,7 +91,7 @@ public function test_authenticated_user_receives_bad_request_for_invalid_paginat $response->assertStatus(201); // Retrieve the JWT token from the registration response - $token = $response->json('data.accessToken'); + $token = $response->json('access_token'); $this->assertNotEmpty($token); @@ -108,5 +108,5 @@ public function test_authenticated_user_receives_bad_request_for_invalid_paginat ]); } - + } diff --git a/tests/Unit/RegistrationTest.php b/tests/Unit/RegistrationTest.php index 86d27ffc..d089a84b 100755 --- a/tests/Unit/RegistrationTest.php +++ b/tests/Unit/RegistrationTest.php @@ -34,22 +34,23 @@ public function test_registration_returns_jwt_token() // Check the response structure $response->assertJsonStructure([ + 'status', 'message', - 'status_code', + 'access_token', 'data' => [ - 'accessToken', 'user' => [ - 'name', - 'email', 'id', - 'updated_at', - 'created_at', + 'first_name', + 'last_name', + 'email', + 'avatar_url', + 'role' ] ] ]); // Optionally, decode and verify the token - $token = $response->json('data.accessToken'); + $token = $response->json('access_token'); $this->assertNotEmpty($token); } @@ -57,7 +58,6 @@ public function test_fails_if_email_is_not_passed() { $registrationData = [ 'name' => 'Test User', - 'email' => '', 'password' => 'Ed8M7s*)?e:hTb^#&;C! 'Ed8M7s*)?e:hTb^#&;C! 'Test', @@ -143,7 +143,7 @@ public function google_login_creates_or_updates_user_and_profile_with_post() ]); $response->assertStatus(Response::HTTP_OK); - + // Verify user in the database $user = User::where('email', $googleUser['email'])->first(); $this->assertNotNull($user); @@ -245,7 +245,7 @@ public function facebook_login_creates_or_updates_user_and_profile_with_post() ]); $response->assertStatus(Response::HTTP_OK); - + // Verify user in the database $user = User::where('email', $facebookUser['email'])->first(); $this->assertNotNull($user); From f8b9ab21eed9bf067ee0576f39526aa78a4d3658 Mon Sep 17 00:00:00 2001 From: Dev-Tonia Date: Wed, 7 Aug 2024 00:04:52 +0100 Subject: [PATCH 18/43] fix: the delete endpoint --- public/uploads/1722977096.jpg | Bin 0 -> 695 bytes public/uploads/1722977574.jpg | Bin 0 -> 695 bytes public/uploads/1722978653.jpg | Bin 0 -> 695 bytes public/uploads/1722978978.jpg | Bin 0 -> 695 bytes routes/api.php | 2 +- 5 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 public/uploads/1722977096.jpg create mode 100644 public/uploads/1722977574.jpg create mode 100644 public/uploads/1722978653.jpg create mode 100644 public/uploads/1722978978.jpg diff --git a/public/uploads/1722977096.jpg b/public/uploads/1722977096.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b00797624aa746a4a3578303e4fa34d50be62291 GIT binary patch literal 695 zcmex=_1P|rX?qqI0P zFI~aY%U!`Mz|~!$%)&rZMU_b4?usLlYAdd38%$3nLpnV-q8g zA&i`yoIKn-61=<;Mv5|uMkIs(2N(o77`Pa?m>HEAm;@P_1sVSzVUTBFU}OdQ7UW?l zU}R!uVP#|I;N;>4D%dK(z{JSR%*4XX%F4n5R9y>{XJ8Rz6;d>GWD^cdWLGK_F>0K+ zkVDyN<3Z7&iyu^slZu)+xx~aJB&Af<)HO7&0Dr^+rDGx zu0w~996fgY#K}{aE?>EN?fQ+Iw;n!v{N(Ag=PzEq`uOSdm#^Qx|M>X}>z(JGL-`{vmgtrq9L1*V<3BCp|FxsBZr97#DyCVaw;1KeGpA5 xy2vG_V)9V+BgkuDpAqM=CbE16_ZY%ow-|Vs8G(__1P|rX?qqI0P zFI~aY%U!`Mz|~!$%)&rZMU_b4?usLlYAdd38%$3nLpnV-q8g zA&i`yoIKn-61=<;Mv5|uMkIs(2N(o77`Pa?m>HEAm;@P_1sVSzVUTBFU}OdQ7UW?l zU}R!uVP#|I;N;>4D%dK(z{JSR%*4XX%F4n5R9y>{XJ8Rz6;d>GWD^cdWLGK_F>0K+ zkVDyN<3Z7&iyu^slZu)+xx~aJB&Af<)HO7&0Dr^+rDGx zu0w~996fgY#K}{aE?>EN?fQ+Iw;n!v{N(Ag=PzEq`uOSdm#^Qx|M>X}>z(JGL-`{vmgtrq9L1*V<3BCp|FxsBZr97#DyCVaw;1KeGpA5 xy2vG_V)9V+BgkuDpAqM=CbE16_ZY%ow-|Vs8G(__1P|rX?qqI0P zFI~aY%U!`Mz|~!$%)&rZMU_b4?usLlYAdd38%$3nLpnV-q8g zA&i`yoIKn-61=<;Mv5|uMkIs(2N(o77`Pa?m>HEAm;@P_1sVSzVUTBFU}OdQ7UW?l zU}R!uVP#|I;N;>4D%dK(z{JSR%*4XX%F4n5R9y>{XJ8Rz6;d>GWD^cdWLGK_F>0K+ zkVDyN<3Z7&iyu^slZu)+xx~aJB&Af<)HO7&0Dr^+rDGx zu0w~996fgY#K}{aE?>EN?fQ+Iw;n!v{N(Ag=PzEq`uOSdm#^Qx|M>X}>z(JGL-`{vmgtrq9L1*V<3BCp|FxsBZr97#DyCVaw;1KeGpA5 xy2vG_V)9V+BgkuDpAqM=CbE16_ZY%ow-|Vs8G(__1P|rX?qqI0P zFI~aY%U!`Mz|~!$%)&rZMU_b4?usLlYAdd38%$3nLpnV-q8g zA&i`yoIKn-61=<;Mv5|uMkIs(2N(o77`Pa?m>HEAm;@P_1sVSzVUTBFU}OdQ7UW?l zU}R!uVP#|I;N;>4D%dK(z{JSR%*4XX%F4n5R9y>{XJ8Rz6;d>GWD^cdWLGK_F>0K+ zkVDyN<3Z7&iyu^slZu)+xx~aJB&Af<)HO7&0Dr^+rDGx zu0w~996fgY#K}{aE?>EN?fQ+Iw;n!v{N(Ag=PzEq`uOSdm#^Qx|M>X}>z(JGL-`{vmgtrq9L1*V<3BCp|FxsBZr97#DyCVaw;1KeGpA5 xy2vG_V)9V+BgkuDpAqM=CbE16_ZY%ow-|Vs8G(_group(function () { - Route::post('/', function (Request $request) { + Route::post('/', function () { // dd($request); return 'language Learning Ai Game'; }); From 40ab03053b3bbcccfbbf0b800e5144c95fa345d7 Mon Sep 17 00:00:00 2001 From: Alemoh Rapheal Date: Tue, 6 Aug 2024 23:49:43 -0700 Subject: [PATCH 19/43] feat: list all squeeze pages --- .../Api/V1/SqueezePageCoontroller.php | 79 +++++++++++++++++++ app/Models/SqueezePage.php | 14 ++++ ...753_add_columns_to_squeeze_pages_table.php | 34 ++++++++ database/seeders/DatabaseSeeder.php | 3 +- database/seeders/SqueezePageSeeder.php | 58 +++++++++++++- routes/api.php | 9 +-- tests/Feature/SqueezePagesTest.php | 55 +++++++++++++ 7 files changed, 243 insertions(+), 9 deletions(-) create mode 100644 app/Http/Controllers/Api/V1/SqueezePageCoontroller.php create mode 100644 database/migrations/2024_08_07_063753_add_columns_to_squeeze_pages_table.php create mode 100644 tests/Feature/SqueezePagesTest.php diff --git a/app/Http/Controllers/Api/V1/SqueezePageCoontroller.php b/app/Http/Controllers/Api/V1/SqueezePageCoontroller.php new file mode 100644 index 00000000..ed12a957 --- /dev/null +++ b/app/Http/Controllers/Api/V1/SqueezePageCoontroller.php @@ -0,0 +1,79 @@ +get(); + return response()->json([ + 'status' => Response::HTTP_OK, + 'message' => 'Squeeze Pages retrieved successfully', + 'data' => $plans, + ]); + } catch (\Exception $e) { + return response()->json([ + 'message' => 'Internal server error', + 'status' => Response::HTTP_INTERNAL_SERVER_ERROR + ], Response::HTTP_INTERNAL_SERVER_ERROR); + } + } + + /** + * Show the form for creating a new resource. + */ + public function create() + { + // + } + + /** + * Store a newly created resource in storage. + */ + public function store(Request $request) + { + // + } + + /** + * Display the specified resource. + */ + public function show(string $id) + { + // + } + + /** + * Show the form for editing the specified resource. + */ + public function edit(string $id) + { + // + } + + /** + * Update the specified resource in storage. + */ + public function update(Request $request, string $id) + { + // + } + + /** + * Remove the specified resource from storage. + */ + public function destroy(string $id) + { + // + } +} diff --git a/app/Models/SqueezePage.php b/app/Models/SqueezePage.php index 62df2463..6b84da3f 100644 --- a/app/Models/SqueezePage.php +++ b/app/Models/SqueezePage.php @@ -9,4 +9,18 @@ class SqueezePage extends Model { use HasFactory, HasUuids; + + + protected $fillable = [ + 'title', + 'slug', + 'status', + 'activate', + 'headline', + 'sub_headline', + 'hero_image', + 'content', + ]; + + } diff --git a/database/migrations/2024_08_07_063753_add_columns_to_squeeze_pages_table.php b/database/migrations/2024_08_07_063753_add_columns_to_squeeze_pages_table.php new file mode 100644 index 00000000..fe00a5d6 --- /dev/null +++ b/database/migrations/2024_08_07_063753_add_columns_to_squeeze_pages_table.php @@ -0,0 +1,34 @@ +string('title'); + $table->string('slug')->unique(); + $table->enum('status', ['offline', 'online'])->default('online'); + $table->boolean('activate'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('squeeze_pages', function (Blueprint $table) { + $table->dropColumn('title'); + $table->dropColumn('slug'); + $table->dropColumn('status'); + $table->dropColumn('activate'); + }); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 93c398eb..cb17e532 100755 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -76,7 +76,8 @@ public function run(): void FaqSeeder::class, UserNotificationSeeder::class, NotificationSettingSeeder::class, - OrderSeeder::class + OrderSeeder::class, + SqueezePageSeeder::class ]); } diff --git a/database/seeders/SqueezePageSeeder.php b/database/seeders/SqueezePageSeeder.php index 5e671b8f..69ad4411 100644 --- a/database/seeders/SqueezePageSeeder.php +++ b/database/seeders/SqueezePageSeeder.php @@ -2,6 +2,7 @@ namespace Database\Seeders; +use App\Models\SqueezePage; use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; @@ -12,6 +13,61 @@ class SqueezePageSeeder extends Seeder */ public function run(): void { - // + $squeezePages = [ + [ + 'title' => 'Digital Marketing', + 'slug' => 'digital-marketing', + 'status' => 'online', + 'activate' => true, + 'headline' => 'Master Digital Marketing', + 'sub_headline' => 'Unlock the Secrets of Online Success', + 'hero_image' => 'digital_marketing.jpg', + 'content' => 'Learn the best strategies to excel in digital marketing...', + ], + [ + 'title' => 'Conversion Secrets', + 'slug' => 'conversion-secrets', + 'status' => 'online', + 'activate' => true, + 'headline' => 'Increase Your Conversions', + 'sub_headline' => 'Discover Proven Techniques', + 'hero_image' => 'conversion_secrets.jpg', + 'content' => 'Find out how to turn visitors into customers...', + ], + [ + 'title' => 'Email Mastery', + 'slug' => 'email-mastery', + 'status' => 'offline', + 'activate' => false, + 'headline' => 'Master Email Marketing', + 'sub_headline' => 'Boost Your Campaigns', + 'hero_image' => 'email_mastery.jpg', + 'content' => 'Effective email marketing strategies to engage your audience...', + ], + [ + 'title' => 'Social Growth', + 'slug' => 'social-growth', + 'status' => 'offline', + 'activate' => false, + 'headline' => 'Grow Your Social Media', + 'sub_headline' => 'Strategies for Success', + 'hero_image' => 'social_growth.jpg', + 'content' => 'Learn how to grow your social media presence...', + ], + [ + 'title' => 'Content Blueprint', + 'slug' => 'content-blueprint', + 'status' => 'online', + 'activate' => true, + 'headline' => 'Content Marketing Blueprint', + 'sub_headline' => 'Your Guide to Success', + 'hero_image' => 'content_blueprint.jpg', + 'content' => 'Step-by-step guide to successful content marketing...', + ], + ]; + + foreach ($squeezePages as $squeezePage) { + SqueezePage::create($squeezePage); + } } } diff --git a/routes/api.php b/routes/api.php index 031594a8..6cf7eabd 100755 --- a/routes/api.php +++ b/routes/api.php @@ -42,8 +42,7 @@ use App\Http\Controllers\Api\V1\JobSearchController; use App\Http\Controllers\Api\V1\WaitListController; use App\Http\Controllers\Api\V1\CookiePreferencesController; - - +use App\Http\Controllers\Api\V1\SqueezePageCoontroller; /* |-------------------------------------------------------------------------- @@ -219,13 +218,9 @@ Route::patch('/blogs/edit/{id}', [BlogController::class, 'update'])->name('admin.blogs.update'); Route::delete('/blogs/{id}', [BlogController::class, 'destroy']); Route::get('/waitlists', [WaitListController::class, 'index']); + Route::apiResource('squeeze-pages', SqueezePageCoontroller::class); }); - - - - - Route::post('/waitlists', [WaitListController::class, 'store']); Route::apiResource('faqs', FaqController::class); diff --git a/tests/Feature/SqueezePagesTest.php b/tests/Feature/SqueezePagesTest.php new file mode 100644 index 00000000..87e1b0a3 --- /dev/null +++ b/tests/Feature/SqueezePagesTest.php @@ -0,0 +1,55 @@ +adminUser = User::factory()->create(['role' => 'admin']); + $this->adminToken = JWTAuth::fromUser($this->adminUser); + } + + + public function test_it_retrieves_squeeze_pages_successfully() + { + $response = $this->withHeaders(['Authorization' => "Bearer $this->adminToken"]) + ->getJson('/api/v1/squeeze-pages'); + + $response->assertStatus(200) + ->assertJsonStructure([ + 'status', + 'message', + 'data' => [ + '*' => [ + 'uuid', + 'title', + 'slug', + 'created_at', + 'status', + 'activate', + ] + ] + ]); + } + + public function test_if_it_fails_for_unathorised_access_to_squeeze_pages() + { + + $response = $this->getJson('/api/v1/squeeze-pages'); + $response->assertStatus(401); + } +} From 021a70c362d74daee9afa22e7b4b9f7b1c65dc12 Mon Sep 17 00:00:00 2001 From: Alemoh Rapheal Date: Wed, 7 Aug 2024 00:00:03 -0700 Subject: [PATCH 20/43] feat: list all squeeze pages --- app/Http/Controllers/Api/V1/SqueezePageCoontroller.php | 2 +- tests/Feature/SqueezePagesTest.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/V1/SqueezePageCoontroller.php b/app/Http/Controllers/Api/V1/SqueezePageCoontroller.php index ed12a957..b47b9274 100644 --- a/app/Http/Controllers/Api/V1/SqueezePageCoontroller.php +++ b/app/Http/Controllers/Api/V1/SqueezePageCoontroller.php @@ -15,7 +15,7 @@ class SqueezePageCoontroller extends Controller public function index() { try { - $plans = SqueezePage::select(['uuid', 'title', 'slug', 'created_at', 'status', 'activate'])->get(); + $plans = SqueezePage::select(['id', 'title', 'slug', 'created_at', 'status', 'activate'])->get(); return response()->json([ 'status' => Response::HTTP_OK, 'message' => 'Squeeze Pages retrieved successfully', diff --git a/tests/Feature/SqueezePagesTest.php b/tests/Feature/SqueezePagesTest.php index 87e1b0a3..9b778e69 100644 --- a/tests/Feature/SqueezePagesTest.php +++ b/tests/Feature/SqueezePagesTest.php @@ -35,7 +35,7 @@ public function test_it_retrieves_squeeze_pages_successfully() 'message', 'data' => [ '*' => [ - 'uuid', + 'id', 'title', 'slug', 'created_at', From 636748f3f9705efb0b5c098ba128848e0e4fe97f Mon Sep 17 00:00:00 2001 From: bhimbho Date: Wed, 7 Aug 2024 03:28:50 +0100 Subject: [PATCH 21/43] feat: user dashboard cards --- .../Api/V1/Admin/DashboardController.php | 146 ++++++++++++++++++ app/Models/Product.php | 6 + app/Models/User.php | 5 + database/factories/OrderFactory.php | 8 +- database/seeders/OrderSeeder.php | 22 +-- database/seeders/OrganisationSeeder.php | 3 +- resources/docs/documentation.json | 89 +++++++++++ routes/api.php | 2 + 8 files changed, 259 insertions(+), 22 deletions(-) create mode 100644 app/Http/Controllers/Api/V1/Admin/DashboardController.php diff --git a/app/Http/Controllers/Api/V1/Admin/DashboardController.php b/app/Http/Controllers/Api/V1/Admin/DashboardController.php new file mode 100644 index 00000000..a59b212a --- /dev/null +++ b/app/Http/Controllers/Api/V1/Admin/DashboardController.php @@ -0,0 +1,146 @@ +user(); + + $currentMonth = now()->startOfMonth(); + $lastMonth = now()->subMonth()->startOfMonth(); + $userProducts = $user->products(); + $currentMonthRevenue = $userProducts + ->with(['orders' => function ($query) use ($currentMonth) { + $query->where('created_at', '>=', $currentMonth); + }]) + ->get() + ->flatMap(function ($product) { + return $product->orders->map(function ($order) { + return $order->quantity * $order->amount; + }); + })->sum(); + + $currentMonthOrders = $userProducts->withCount(['orders' => function ($query) use ($currentMonth) { + $query->where('created_at', '>=', $currentMonth); + }]) + ->get() + ->sum('orders_count'); + + $lastMonthRevenue = $userProducts + ->with(['orders' => function ($query) use ($currentMonth, $lastMonth) { + $query->whereBetween('created_at', [$lastMonth, $currentMonth]); + }]) + ->get() + ->flatMap(function ($product) { + return $product->orders->map(function ($order) { + return $order->quantity * $order->amount; + }); + })->sum(); + + $lastMonthOrders = $userProducts->withCount(['orders' => function ($query) use ($currentMonth, $lastMonth) { + $query->whereBetween('created_at', [$lastMonth, $currentMonth]); + }]) + ->get() + ->sum('orders_count'); + + $percentageDifference = 0; + + if ($lastMonthRevenue > 0 && $currentMonthRevenue > 0) { + $percentageDifference = (($currentMonthRevenue - $lastMonthRevenue) / $lastMonthRevenue) * 100; + } else if ($currentMonthRevenue > 0 && $lastMonthRevenue === 0) { + $percentageDifference = 100; + } + + $percentageDifferenceOrders = 0; + if ($lastMonthOrders > 0 && $currentMonthOrders > 0) { + $percentageDifferenceOrders = (($currentMonthOrders - $lastMonthOrders) / $lastMonthOrders) * 100; + } else if ($currentMonthOrders > 0 && $lastMonthOrders === 0) { + $percentageDifferenceOrders = 100; + } + + $oneHourAgo = now()->subHour(); + $activeUser = $user->owned_organisations()->with(['users' => function ($query) { + $query->where('is_active', true); + }])->count(); + $activeUserAnHourAgo = $user->owned_organisations()->with(['users' => function ($query) use ($oneHourAgo) { + $query->where([ + ['is_active', true], + ['modified_at', '>=', $oneHourAgo] + ] + ); + }])->count(); + + return response()->json([ + 'message' => 'Dashboard retrieved successfully', + 'status_code' => Response::HTTP_OK, + 'data' => [ + 'current_month_revenue' => $currentMonthRevenue, + 'difference_in_revenue_percent' => $percentageDifference . '%', + 'subscriptions' => 0, + 'monthly_subscriptions_diff' => 0, + 'current_month_orders' => $currentMonthOrders, + 'difference_in_orders_percent' => $percentageDifferenceOrders . '%', + 'active_users_count' => $activeUser, + 'difference_an_hour_ago' => max(($activeUser - $activeUserAnHourAgo), 0), + ] + ]); + } + + /** + * Show the form for creating a new resource. + */ + public function create() + { + // + } + + /** + * Store a newly created resource in storage. + */ + public function store(Request $request) + { + // + } + + /** + * Display the specified resource. + */ + public function show(string $id) + { + // + } + + /** + * Show the form for editing the specified resource. + */ + public function edit(string $id) + { + // + } + + /** + * Update the specified resource in storage. + */ + public function update(Request $request, string $id) + { + // + } + + /** + * Remove the specified resource from storage. + */ + public function destroy(string $id) + { + // + } +} diff --git a/app/Models/Product.php b/app/Models/Product.php index 17f94b3f..0337808a 100755 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsToMany; +use Illuminate\Database\Eloquent\Relations\HasMany; class Product extends Model { @@ -53,4 +54,9 @@ public function organisation() { return $this->belongsTo(Organisation::class); } + + public function orders(): HasMany + { + return $this->hasMany(Order::class, 'product_id'); + } } diff --git a/app/Models/User.php b/app/Models/User.php index 05c21788..ae4af4ad 100755 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -105,6 +105,11 @@ public function organisations(): BelongsToMany return $this->belongsToMany(Organisation::class, 'organisation_user', 'user_id', 'org_id')->using(OrganisationUser::class); } + public function owned_organisations(): hasMany + { + return $this->hasMany(Organisation::class, 'user_id', 'id'); + } + public function jobs(): BelongsToMany { return $this->belongsToMany(Job::class, 'job_users', 'user_id', 'job_id')->using(JobUser::class); diff --git a/database/factories/OrderFactory.php b/database/factories/OrderFactory.php index c122d40c..9d61bc6e 100644 --- a/database/factories/OrderFactory.php +++ b/database/factories/OrderFactory.php @@ -2,6 +2,8 @@ namespace Database\Factories; +use App\Models\Product; +use App\Models\User; use Illuminate\Database\Eloquent\Factories\Factory; /** @@ -17,7 +19,11 @@ class OrderFactory extends Factory public function definition(): array { return [ - // + 'user_id' => User::factory(), + 'product_id' => Product::factory(), + 'status' => $this->faker->boolean, + 'quantity' => $this->faker->randomDigit(), + 'amount' => $this->faker->randomDigit(), ]; } } diff --git a/database/seeders/OrderSeeder.php b/database/seeders/OrderSeeder.php index 4521f943..8accffea 100644 --- a/database/seeders/OrderSeeder.php +++ b/database/seeders/OrderSeeder.php @@ -2,6 +2,7 @@ namespace Database\Seeders; +use App\Models\Product; use Illuminate\Database\Seeder; use App\Models\Order; use App\Models\User; @@ -13,25 +14,6 @@ class OrderSeeder extends Seeder { public function run() { - $faker = Faker::create(); - $users = User::all(); - - foreach (range(1, 50) as $index) { - Order::create([ - 'id' => Str::uuid(), - 'user_id' => $users->random()->id, - 'order_number' => $faker->unique()->numberBetween(100000, 999999), - 'total_amount' => $faker->randomFloat(2, 10, 1000), - 'tax' => $faker->randomFloat(2, 1, 100), - 'shipping_cost' => $faker->randomFloat(2, 5, 50), - 'discount' => $faker->randomFloat(2, 0, 50), - 'status' => $faker->randomElement(['pending', 'processing', 'shipped', 'delivered']), - 'payment_status' => $faker->randomElement(['unpaid', 'paid', 'refunded']), - 'payment_method' => $faker->randomElement(['credit_card', 'paypal', 'bank_transfer']), - 'shipping_address' => $faker->address, - 'billing_address' => $faker->address, - 'notes' => $faker->optional()->sentence, - ]); - } + Order::factory()->count(10)->create(); } } diff --git a/database/seeders/OrganisationSeeder.php b/database/seeders/OrganisationSeeder.php index abb00f59..92450ff1 100755 --- a/database/seeders/OrganisationSeeder.php +++ b/database/seeders/OrganisationSeeder.php @@ -2,6 +2,7 @@ namespace Database\Seeders; +use App\Models\Organisation; use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; @@ -12,6 +13,6 @@ class OrganisationSeeder extends Seeder */ public function run(): void { - // + Organisation::factory()->create(); } } diff --git a/resources/docs/documentation.json b/resources/docs/documentation.json index 92cd825f..63437c5c 100755 --- a/resources/docs/documentation.json +++ b/resources/docs/documentation.json @@ -4357,6 +4357,95 @@ } } } + }, + "/api/v1/dashboard-cards": { + "get": { + "summary": "Get a dashboard card content", + "tags": [ + "User Dashboard" + ], + "responses": { + "200": { + "description": "Dashboard retrieved successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string", + "example": "Dashboard retrieved successfully" + }, + "status_code": { + "type": "integer", + "example": 200 + }, + "data": { + "type": "array", + "items": { + "properties": { + "current_month_revenue": { + "type": "string", + "example": "148" + }, + "difference_in_revenue_percent": { + "type": "string", + "example": "20%" + }, + "subscriptions": { + "type": "string", + "example": "2000" + }, + "monthly_subscriptions_diff": { + "type": "string", + "example": "148" + }, + "current_month_orders": { + "type": "string", + "example": "200" + }, + "difference_in_orders_percent": { + "type": "string", + "example": "50%" + }, + "active_users_count": { + "type": "string", + "example": "200" + }, + "difference_an_hour_ago": { + "type": "string", + "example": "40" + } + } + } + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "500": { + "description": "An error occurred", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + } } }, "components": { diff --git a/routes/api.php b/routes/api.php index 66138f1b..51779101 100755 --- a/routes/api.php +++ b/routes/api.php @@ -2,6 +2,7 @@ use App\Http\Controllers\Api\V1\Admin\BlogController; use App\Http\Controllers\Api\V1\Admin\CustomerController; +use App\Http\Controllers\Api\V1\Admin\DashboardController; use App\Http\Controllers\Api\V1\Admin\EmailTemplateController; use App\Http\Controllers\Api\V1\Admin\Plan\FeatureController; use App\Http\Controllers\Api\V1\Admin\Plan\SubscriptionController; @@ -219,6 +220,7 @@ Route::delete('/blogs/{id}', [BlogController::class, 'destroy']); Route::get('/waitlists', [WaitListController::class, 'index']); Route::apiResource('squeeze-pages', SqueezePageCoontroller::class); + Route::get('/dashboard-cards', [DashboardController::class, 'index']); }); Route::post('/waitlists', [WaitListController::class, 'store']); From bedc4f501ab4625b8ded96e7cbd168ab1612c0b8 Mon Sep 17 00:00:00 2001 From: timiajayi Date: Wed, 7 Aug 2024 05:11:22 +0100 Subject: [PATCH 22/43] updated scribe doc --- .scribe/endpoints.cache/00.yaml | 6337 +++++- .scribe/endpoints/00.yaml | 6335 +++++- .../scribe}/backup-copydocumentation.json | 0 .../docs => public/vendor/scribe}/doc.yaml | 0 .../vendor/scribe}/documentation copy.json | 0 .../vendor/scribe}/documentation.json | 0 resources/views/scribe/index.blade.php | 17908 ++++++++++++++-- 7 files changed, 28156 insertions(+), 2424 deletions(-) rename {resources/docs => public/vendor/scribe}/backup-copydocumentation.json (100%) mode change 100755 => 100644 rename {resources/docs => public/vendor/scribe}/doc.yaml (100%) rename {resources/docs => public/vendor/scribe}/documentation copy.json (100%) rename {resources/docs => public/vendor/scribe}/documentation.json (100%) mode change 100755 => 100644 diff --git a/.scribe/endpoints.cache/00.yaml b/.scribe/endpoints.cache/00.yaml index d61f4891..00fd0b1f 100755 --- a/.scribe/endpoints.cache/00.yaml +++ b/.scribe/endpoints.cache/00.yaml @@ -27,8 +27,26 @@ endpoints: name: name: name description: 'Must not be greater than 255 characters.' + required: false + example: vzjhkcivnbfkxoukeydez + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + first_name: + name: first_name + description: 'Must not be greater than 255 characters.' + required: true + example: cy + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + last_name: + name: last_name + description: 'Must not be greater than 255 characters.' required: true - example: kyqjicowiqcvbipmclenjzwa + example: ytrj type: string enumValues: [] exampleWasSpecified: false @@ -37,7 +55,7 @@ endpoints: name: email description: 'Must be a valid email address. Must not be greater than 255 characters.' required: true - example: mante.carmel@example.net + example: roxane.koelpin@example.net type: string enumValues: [] exampleWasSpecified: false @@ -46,15 +64,17 @@ endpoints: name: password description: '' required: true - example: quos + example: 'riPguZ''*;47V8]`:5"' type: string enumValues: [] exampleWasSpecified: false custom: [] cleanBodyParameters: - name: kyqjicowiqcvbipmclenjzwa - email: mante.carmel@example.net - password: quos + name: vzjhkcivnbfkxoukeydez + first_name: cy + last_name: ytrj + email: roxane.koelpin@example.net + password: 'riPguZ''*;47V8]`:5"' fileParameters: [] responses: [] responseFields: [] @@ -88,7 +108,7 @@ endpoints: name: email description: 'Must be a valid email address. Must not be greater than 255 characters.' required: true - example: anderson.alex@example.net + example: karlie.welch@example.net type: string enumValues: [] exampleWasSpecified: false @@ -97,14 +117,14 @@ endpoints: name: password description: 'Must be at least 8 characters.' required: true - example: hTGB64 + example: "j%('l+FPa@WYmF82oYP" type: string enumValues: [] exampleWasSpecified: false custom: [] cleanBodyParameters: - email: anderson.alex@example.net - password: hTGB64 + email: karlie.welch@example.net + password: "j%('l+FPa@WYmF82oYP" fileParameters: [] responses: [] responseFields: [] @@ -116,13 +136,43 @@ endpoints: - httpMethods: - POST - uri: api/v1/roles + uri: api/v1/auth/logout metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Store a newly created resource in storage.' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/auth/password-reset-email + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Handle the incoming request.' description: '' authenticated: false custom: [] @@ -134,37 +184,77 @@ endpoints: queryParameters: [] cleanQueryParameters: [] bodyParameters: - role_name: - name: role_name - description: 'Must not be greater than 255 characters.' + email: + name: email + description: 'Must be a valid email address.' required: true - example: kmub + example: eileen79@example.net type: string enumValues: [] exampleWasSpecified: false custom: [] - organisation_id: - name: organisation_id - description: 'Must not be greater than 255 characters.' + cleanBodyParameters: + email: eileen79@example.net + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/auth/request-password-request/{token}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Handle the incoming request.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + token: + name: token + description: '' required: true - example: v + example: aut type: string enumValues: [] exampleWasSpecified: false custom: [] - permissions_id: - name: permissions_id + cleanUrlParameters: + token: aut + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + email: + name: email + description: 'Must be a valid email address.' + required: true + example: danika74@example.net + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + password: + name: password description: '' required: true - example: tenetur + example: '3Nq(,V$L$h8PFD4?Y!' type: string enumValues: [] exampleWasSpecified: false custom: [] cleanBodyParameters: - role_name: kmub - organisation_id: v - permissions_id: tenetur + email: danika74@example.net + password: '3Nq(,V$L$h8PFD4?Y!' fileParameters: [] responses: [] responseFields: [] @@ -176,13 +266,13 @@ endpoints: - httpMethods: - GET - uri: api/v1/users + uri: api/v1/auth/google metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display a listing of the resource.' + title: '' description: '' authenticated: false custom: [] @@ -198,11 +288,24 @@ endpoints: fileParameters: [] responses: - - status: 200 - content: '{"current_page":1,"data":[],"first_page_url":"http:\/\/localhost\/api\/v1\/users?page=1","from":null,"last_page":1,"last_page_url":"http:\/\/localhost\/api\/v1\/users?page=1","links":[{"url":null,"label":"« Previous","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"next_page_url":null,"path":"http:\/\/localhost\/api\/v1\/users","per_page":15,"prev_page_url":null,"to":null,"total":0}' + status: 302 + content: |- + + + + + + + Redirecting to https://accounts.google.com/o/oauth2/auth?scope=openid+profile+email&response_type=code + + + Redirecting to https://accounts.google.com/o/oauth2/auth?scope=openid+profile+email&response_type=code. + + headers: cache-control: 'no-cache, private' - content-type: application/json + location: 'https://accounts.google.com/o/oauth2/auth?scope=openid+profile+email&response_type=code' + content-type: 'text/html; charset=utf-8' x-ratelimit-limit: '60' x-ratelimit-remaining: '59' access-control-allow-origin: '*' @@ -216,14 +319,14 @@ endpoints: custom: [] - httpMethods: - - POST - uri: api/v1/users + - GET + uri: api/v1/auth/login-google metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Store a newly created resource in storage.' + title: '' description: '' authenticated: false custom: [] @@ -237,7 +340,31 @@ endpoints: bodyParameters: [] cleanBodyParameters: [] fileParameters: [] - responses: [] + responses: + - + status: 302 + content: |- + + + + + + + Redirecting to https://accounts.google.com/o/oauth2/auth?scope=openid+profile+email&response_type=code + + + Redirecting to https://accounts.google.com/o/oauth2/auth?scope=openid+profile+email&response_type=code. + + + headers: + cache-control: 'no-cache, private' + location: 'https://accounts.google.com/o/oauth2/auth?scope=openid+profile+email&response_type=code' + content-type: 'text/html; charset=utf-8' + x-ratelimit-limit: '60' + x-ratelimit-remaining: '58' + access-control-allow-origin: '*' + description: null + custom: [] responseFields: [] auth: [] controller: null @@ -247,31 +374,21 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/users/{id}' + uri: api/v1/auth/google/callback metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display the specified resource.' + title: '' description: '' authenticated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the user.' - required: true - example: consequuntur - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - cleanUrlParameters: - id: consequuntur + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -279,16 +396,16 @@ endpoints: fileParameters: [] responses: - - status: 404 + status: 500 content: |- { - "message": "No query results for model [App\\Models\\User] consequuntur" + "message": "Server Error" } headers: cache-control: 'no-cache, private' content-type: application/json x-ratelimit-limit: '60' - x-ratelimit-remaining: '58' + x-ratelimit-remaining: '57' access-control-allow-origin: '*' description: null custom: [] @@ -300,33 +417,22 @@ endpoints: custom: [] - httpMethods: - - PUT - - PATCH - uri: 'api/v1/users/{id}' + - POST + uri: api/v1/auth/google/callback metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update the specified resource in storage.' + title: '' description: '' authenticated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the user.' - required: true - example: sed - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - cleanUrlParameters: - id: sed + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -341,36 +447,36 @@ endpoints: custom: [] - httpMethods: - - DELETE - uri: 'api/v1/users/{id}' + - POST + uri: api/v1/auth/forgot-password metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Remove the specified resource from storage.' + title: 'Handle the incoming request.' description: '' authenticated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the user.' + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + email: + name: email + description: 'Must be a valid email address.' required: true - example: non + example: ghuel@example.com type: string enumValues: [] exampleWasSpecified: false custom: [] - cleanUrlParameters: - id: non - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] + cleanBodyParameters: + email: ghuel@example.com fileParameters: [] responses: [] responseFields: [] @@ -381,14 +487,14 @@ endpoints: custom: [] - httpMethods: - - GET - uri: api/v1/products/categories + - POST + uri: api/v1/auth/reset-forgot-password metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: '' + title: 'Handle the incoming request.' description: '' authenticated: false custom: [] @@ -399,21 +505,30 @@ endpoints: cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 200 - content: '{"status_code":200,"categories":[]}' - headers: - cache-control: 'no-cache, private' - content-type: application/json - x-ratelimit-limit: '60' - x-ratelimit-remaining: '57' - access-control-allow-origin: '*' - description: null + bodyParameters: + email: + name: email + description: 'Must be a valid email address.' + required: true + example: brody42@example.net + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + password: + name: password + description: '' + required: true + example: "d-'uAz" + type: string + enumValues: [] + exampleWasSpecified: false custom: [] + cleanBodyParameters: + email: brody42@example.net + password: "d-'uAz" + fileParameters: [] + responses: [] responseFields: [] auth: [] controller: null @@ -422,14 +537,14 @@ endpoints: custom: [] - httpMethods: - - GET - uri: api/v1/topics/search + - POST + uri: api/v1/auth/verify-otp metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: '' + title: 'Handle the incoming request.' description: '' authenticated: false custom: [] @@ -440,21 +555,30 @@ endpoints: cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 400 - content: '{"success":false,"message":"Title query parameter is required","status_code":400}' - headers: - cache-control: 'no-cache, private' - content-type: application/json - x-ratelimit-limit: '10' - x-ratelimit-remaining: '9' - access-control-allow-origin: '*' - description: null + bodyParameters: + email: + name: email + description: 'Must be a valid email address.' + required: true + example: qyundt@example.com + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + token: + name: token + description: 'Must be 6 digits.' + required: true + example: 4 + type: integer + enumValues: [] + exampleWasSpecified: false custom: [] + cleanBodyParameters: + email: qyundt@example.com + token: 4 + fileParameters: [] + responses: [] responseFields: [] auth: [] controller: null @@ -464,7 +588,7 @@ endpoints: - httpMethods: - POST - uri: api/v1/products + uri: api/v1/roles metadata: groupName: Endpoints groupDescription: '' @@ -482,27 +606,37 @@ endpoints: queryParameters: [] cleanQueryParameters: [] bodyParameters: - name: - name: name + role_name: + name: role_name description: 'Must not be greater than 255 characters.' required: true - example: tvzfqfvqihaycqsdmrt + example: mttdibbvatesznjhbp type: string enumValues: [] exampleWasSpecified: false custom: [] - description: - name: description + organisation_id: + name: organisation_id + description: 'Must not be greater than 255 characters.' + required: true + example: fibies + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + permissions_id: + name: permissions_id description: '' required: true - example: 'Praesentium laborum error impedit autem.' + example: perspiciatis type: string enumValues: [] exampleWasSpecified: false custom: [] cleanBodyParameters: - name: tvzfqfvqihaycqsdmrt - description: 'Praesentium laborum error impedit autem.' + role_name: mttdibbvatesznjhbp + organisation_id: fibies + permissions_id: perspiciatis fileParameters: [] responses: [] responseFields: [] @@ -514,7 +648,7 @@ endpoints: - httpMethods: - GET - uri: api/v1/help-center/topics/search + uri: api/v1/auth/login-facebook metadata: groupName: Endpoints groupDescription: '' @@ -536,13 +670,26 @@ endpoints: fileParameters: [] responses: - - status: 400 - content: '{"success":false,"message":"Title query parameter is required","status_code":400}' + status: 302 + content: |- + + + + + + + Redirecting to https://www.facebook.com/v3.3/dialog/oauth?scope=email&response_type=code + + + Redirecting to https://www.facebook.com/v3.3/dialog/oauth?scope=email&response_type=code. + + headers: cache-control: 'no-cache, private' - content-type: application/json - x-ratelimit-limit: '10' - x-ratelimit-remaining: '8' + location: 'https://www.facebook.com/v3.3/dialog/oauth?scope=email&response_type=code' + content-type: 'text/html; charset=utf-8' + x-ratelimit-limit: '60' + x-ratelimit-remaining: '56' access-control-allow-origin: '*' description: null custom: [] @@ -552,70 +699,10 @@ endpoints: method: null route: null custom: [] - - - httpMethods: - - POST - uri: api/v1/contact - metadata: - groupName: Endpoints - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: '' - description: '' - authenticated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - name: - name: name - description: '' - required: true - example: odit - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - email: - name: email - description: 'Must be a valid email address.' - required: true - example: boehm.vidal@example.net - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - message: - name: message - description: '' - required: true - example: accusamus - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - cleanBodyParameters: - name: odit - email: boehm.vidal@example.net - message: accusamus - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - httpMethods: - GET - uri: api/v1/blogs/latest + uri: api/v1/auth/facebook/callback metadata: groupName: Endpoints groupDescription: '' @@ -637,13 +724,16 @@ endpoints: fileParameters: [] responses: - - status: 200 - content: '{"count":0,"next":null,"previous":null,"results":[]}' + status: 500 + content: |- + { + "message": "Server Error" + } headers: cache-control: 'no-cache, private' content-type: application/json x-ratelimit-limit: '60' - x-ratelimit-remaining: '54' + x-ratelimit-remaining: '55' access-control-allow-origin: '*' description: null custom: [] @@ -656,7 +746,7 @@ endpoints: - httpMethods: - POST - uri: api/v1/squeeze + uri: api/v1/auth/facebook/callback metadata: groupName: Endpoints groupDescription: '' @@ -686,7 +776,7 @@ endpoints: - httpMethods: - GET - uri: api/v1/features + uri: api/v1/users metadata: groupName: Endpoints groupDescription: '' @@ -708,11 +798,13 @@ endpoints: fileParameters: [] responses: - - status: 401 - content: '{"message":"Unauthenticated."}' + status: 200 + content: '{"status_code":200,"message":"Users returned successfully","total_users":149,"total_deleted_users":0,"total_active_users":149,"total_inActive_users":0,"data":{"current_page":1,"data":[{"id":"9cb402fc-cba8-46cd-acf6-7a6ed3826eaa","name":"Christine Lemke","email":"sdach@example.net","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:41.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z","deleted_at":null},{"id":"9cb402fc-b94f-4615-a96a-f37ed6f38690","name":"Zoey Nienow","email":"earlene.becker@example.org","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:41.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z","deleted_at":null},{"id":"9cb402fc-c2f6-4236-91ab-beb4254b5ac3","name":"Sunny Harvey","email":"armstrong.stephania@example.net","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:41.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z","deleted_at":null},{"id":"9cb402fc-dfc1-4a33-a216-ecb45fe4b645","name":"Deshawn Cartwright","email":"blanda.oswaldo@example.net","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:41.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z","deleted_at":null},{"id":"9cb402fc-c717-4407-967a-dcd4f16ac3e4","name":"Jessika Hand","email":"casey.lakin@example.com","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:41.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z","deleted_at":null},{"id":"9cb402fc-bef0-4858-b959-530c092f8db3","name":"Okey Heaney","email":"koelpin.deontae@example.org","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:41.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z","deleted_at":null},{"id":"9cb402fb-9fec-4610-a8b2-910cc4de4ee6","name":"Nikita Ullrich","email":"brice57@example.org","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-97e2-4743-aa0b-e0c96e4ff0d0","name":"Alexandre Parisian","email":"axel95@example.org","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-a35e-4011-8896-c770e79de91f","name":"Vicky Kirlin","email":"ruthe04@example.org","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-6d3b-4199-b887-2555f423ae27","name":"Gregory Collins","email":"rodriguez.julius@example.net","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-91f0-4b53-8286-2892f78ad855","name":"Amos Crist","email":"imorissette@example.net","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-9474-4d44-b32a-9f43225912ad","name":"Orville Koch","email":"nhackett@example.com","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-9a52-420e-b3bc-af43d457be6f","name":"Dustin Wisoky","email":"janick79@example.com","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-9d92-43b1-b5c4-53ad3754a9ad","name":"Francisca Hyatt","email":"ljenkins@example.com","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-4168-4929-b35e-76274548250d","name":"Dorian Powlowski","email":"mwilkinson@example.net","phone":null,"role":"admin","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null}],"first_page_url":"http:\/\/localhost\/api\/v1\/users?page=1","from":1,"last_page":10,"last_page_url":"http:\/\/localhost\/api\/v1\/users?page=10","links":[{"url":null,"label":"« Previous","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=1","label":"1","active":true},{"url":"http:\/\/localhost\/api\/v1\/users?page=2","label":"2","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=3","label":"3","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=4","label":"4","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=5","label":"5","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=6","label":"6","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=7","label":"7","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=8","label":"8","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=9","label":"9","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=10","label":"10","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=2","label":"Next »","active":false}],"next_page_url":"http:\/\/localhost\/api\/v1\/users?page=2","path":"http:\/\/localhost\/api\/v1\/users","per_page":15,"prev_page_url":null,"to":15,"total":149}}' headers: cache-control: 'no-cache, private' content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '54' access-control-allow-origin: '*' description: null custom: [] @@ -725,7 +817,7 @@ endpoints: - httpMethods: - POST - uri: api/v1/features + uri: api/v1/users metadata: groupName: Endpoints groupDescription: '' @@ -742,28 +834,8 @@ endpoints: cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] - bodyParameters: - feature: - name: feature - description: '' - required: true - example: modi - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - description: - name: description - description: 'Must not be greater than 255 characters.' - required: false - example: 'Modi voluptatibus hic enim.' - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - cleanBodyParameters: - feature: modi - description: 'Modi voluptatibus hic enim.' + bodyParameters: [] + cleanBodyParameters: [] fileParameters: [] responses: [] responseFields: [] @@ -775,7 +847,7 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/features/{id}' + uri: 'api/v1/users/{id}' metadata: groupName: Endpoints groupDescription: '' @@ -791,15 +863,15 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the feature.' + description: 'The ID of the user.' required: true - example: itaque + example: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 type: string enumValues: [] exampleWasSpecified: false custom: [] cleanUrlParameters: - id: itaque + id: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -807,11 +879,13 @@ endpoints: fileParameters: [] responses: - - status: 401 - content: '{"message":"Unauthenticated."}' + status: 200 + content: '{"id":"9cb402e5-e983-4696-9bc4-74d7bfc255a1","name":"Super Admin","email":"bulldozeradmin@hng.com","phone":null,"role":"admin","email_verified_at":null,"is_active":true,"is_verified":true,"signup_type":"Token","social_id":null,"created_at":"2024-08-06T18:39:26.000000Z","updated_at":"2024-08-06T18:39:26.000000Z","deleted_at":null,"profile":{"profile_id":"9cb402e5-f584-4727-af8d-d3e561978279","user_id":"9cb402e5-e983-4696-9bc4-74d7bfc255a1","first_name":"Super","last_name":"Admin","job_title":"Super Admin","pronoun":null,"bio":"Super Admin bio","avatar_url":null,"display_image":null,"created_at":"2024-08-06T18:39:26.000000Z","updated_at":"2024-08-06T18:39:26.000000Z"},"products":[],"organisations":[]}' headers: cache-control: 'no-cache, private' content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '53' access-control-allow-origin: '*' description: null custom: [] @@ -825,7 +899,7 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/features/{id}' + uri: 'api/v1/users/{id}' metadata: groupName: Endpoints groupDescription: '' @@ -841,19 +915,68 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the feature.' + description: 'The ID of the user.' required: true - example: qui + example: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 type: string enumValues: [] exampleWasSpecified: false custom: [] cleanUrlParameters: - id: qui + id: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 queryParameters: [] cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] + bodyParameters: + name: + name: name + description: '' + required: false + example: deserunt + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + first_name: + name: first_name + description: 'Must not be greater than 255 characters.' + required: false + example: e + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + last_name: + name: last_name + description: 'Must not be greater than 255 characters.' + required: false + example: raduppterqexmk + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: '' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + phone: + name: phone + description: '' + required: false + example: quod + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: deserunt + first_name: e + last_name: raduppterqexmk + phone: quod fileParameters: [] responses: [] responseFields: [] @@ -865,7 +988,7 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/features/{id}' + uri: 'api/v1/users/{id}' metadata: groupName: Endpoints groupDescription: '' @@ -881,15 +1004,15 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the feature.' + description: 'The ID of the user.' required: true - example: quia + example: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 type: string enumValues: [] exampleWasSpecified: false custom: [] cleanUrlParameters: - id: quia + id: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -905,13 +1028,13 @@ endpoints: - httpMethods: - GET - uri: api/v1/plans + uri: api/v1/jobs metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display a listing of the resource.' + title: '' description: '' authenticated: false custom: [] @@ -922,16 +1045,38 @@ endpoints: cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] + bodyParameters: + page: + name: page + description: 'Must be at least 1.' + required: false + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + size: + name: size + description: 'Must be at least 1.' + required: false + example: 86 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + page: 2 + size: 86 fileParameters: [] responses: - - status: 401 - content: '{"message":"Unauthenticated."}' + status: 200 + content: '{"message":"Job listings retrieved successfully.","data":[],"pagination":{"current_page":2,"total_pages":1,"page_size":86,"total_items":52}}' headers: cache-control: 'no-cache, private' content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '52' access-control-allow-origin: '*' description: null custom: [] @@ -943,14 +1088,14 @@ endpoints: custom: [] - httpMethods: - - POST - uri: api/v1/plans + - GET + uri: api/v1/jobs/search metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Store a newly created resource in storage.' + title: '' description: '' authenticated: false custom: [] @@ -962,85 +1107,50 @@ endpoints: queryParameters: [] cleanQueryParameters: [] bodyParameters: - name: - name: name - description: '' + query: + name: query + description: 'Must be at least 3 characters.' required: true - example: tenetur + example: sutvlocbquteeithkxitmyhnuvbrvwckogpwmnjfnukxtvqnsdmhbnxpwaisaiftwyn type: string enumValues: [] exampleWasSpecified: false custom: [] - duration: - name: duration - description: '' - required: true - example: yearly - type: string - enumValues: - - monthly - - yearly - exampleWasSpecified: false - custom: [] - price: - name: price - description: '' - required: true - example: 15 + page: + name: page + description: 'Must be at least 1.' + required: false + example: 82 type: integer enumValues: [] exampleWasSpecified: false custom: [] - description: - name: description - description: '' - required: true - example: 'Veniam accusamus sequi quam est modi soluta quia.' - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - features: - name: features - description: '' - required: true - example: - - [] - type: 'object[]' - enumValues: [] - exampleWasSpecified: false - custom: [] - 'features[].id': - name: 'features[].id' - description: 'Must be a valid UUID.' - required: true - example: 2f725c0c-e035-359c-98f9-aebee287982e - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - 'features[].status': - name: 'features[].status' - description: '' - required: true - example: '1' + size: + name: size + description: 'Must be at least 1.' + required: false + example: 64 type: integer - enumValues: - - '0' - - '1' + enumValues: [] exampleWasSpecified: false custom: [] cleanBodyParameters: - name: tenetur - duration: yearly - price: 15 - description: 'Veniam accusamus sequi quam est modi soluta quia.' - features: - - - id: 2f725c0c-e035-359c-98f9-aebee287982e - status: '1' + query: sutvlocbquteeithkxitmyhnuvbrvwckogpwmnjfnukxtvqnsdmhbnxpwaisaiftwyn + page: 82 + size: 64 fileParameters: [] - responses: [] + responses: + - + status: 200 + content: '{"message":"Job search results retrieved successfully.","data":[],"pagination":{"current_page":82,"total_pages":1,"page_size":64,"total_items":0}}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '51' + access-control-allow-origin: '*' + description: null + custom: [] responseFields: [] auth: [] controller: null @@ -1050,13 +1160,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/plans/{id}' + uri: 'api/v1/jobs/{id}' metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display the specified resource.' + title: '' description: '' authenticated: false custom: [] @@ -1066,15 +1176,15 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the plan.' + description: 'The ID of the job.' required: true - example: nihil + example: 9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e type: string enumValues: [] exampleWasSpecified: false custom: [] cleanUrlParameters: - id: nihil + id: 9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -1082,11 +1192,13 @@ endpoints: fileParameters: [] responses: - - status: 401 - content: '{"message":"Unauthenticated."}' + status: 200 + content: '{"id":"9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e","created_at":"2024-08-06T18:39:27.000000Z","updated_at":"2024-08-06T18:39:27.000000Z","title":"Food Service Manager","description":"Repellat dolor quia cumque voluptatem vel. Non consequatur reprehenderit commodi impedit ut. Voluptate id debitis similique nam.","location":"Hammesfurt","deadline":null,"salary_range":"128744 per year","job_type":"Contract","job_mode":null,"company_name":null,"is_deleted":false}' headers: cache-control: 'no-cache, private' content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '50' access-control-allow-origin: '*' description: null custom: [] @@ -1098,79 +1210,39 @@ endpoints: custom: [] - httpMethods: - - PUT - - PATCH - uri: 'api/v1/plans/{id}' + - GET + uri: api/v1/products/categories metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update the specified resource in storage.' + title: '' description: '' authenticated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the plan.' - required: true - example: ea - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - cleanUrlParameters: - id: ea + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] cleanBodyParameters: [] fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/v1/plans/{id}' - metadata: - groupName: Endpoints - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Remove the specified resource from storage.' - description: '' - authenticated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the plan.' - required: true - example: minima - type: string - enumValues: [] - exampleWasSpecified: false + responses: + - + status: 500 + content: '{"status_code":500,"error":{"code":"INTERNAL_SERVER_ERROR","message":"An unexpected error occurred while processing your request.","details":{"support_email":"support@example.com"}}}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '49' + access-control-allow-origin: '*' + description: null custom: [] - cleanUrlParameters: - id: minima - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] responseFields: [] auth: [] controller: null @@ -1179,14 +1251,14 @@ endpoints: custom: [] - httpMethods: - - POST - uri: api/v1/organisations + - GET + uri: api/v1/products/search metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Store a newly created resource in storage.' + title: '' description: '' authenticated: false custom: [] @@ -1200,87 +1272,91 @@ endpoints: bodyParameters: name: name: name - description: '' - required: true - example: praesentium - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - description: - name: description - description: '' + description: 'Must not be greater than 255 characters.' required: true - example: 'Asperiores eligendi sint et libero repellat perspiciatis suscipit harum.' + example: llcydxrrnsvk type: string enumValues: [] exampleWasSpecified: false custom: [] - email: - name: email - description: 'Must be a valid email address. Must not be greater than 255 characters.' - required: true - example: krystel05@example.com + category: + name: category + description: 'Must not be greater than 255 characters.' + required: false + example: rytxwnvfof type: string enumValues: [] exampleWasSpecified: false custom: [] - industry: - name: industry - description: '' - required: true - example: nihil - type: string + minPrice: + name: minPrice + description: 'Must be at least 0.' + required: false + example: 62 + type: number enumValues: [] exampleWasSpecified: false custom: [] - type: - name: type - description: '' - required: true - example: sed - type: string + maxPrice: + name: maxPrice + description: 'Must be at least 0.' + required: false + example: 45 + type: number enumValues: [] exampleWasSpecified: false custom: [] - country: - name: country + status: + name: status description: '' - required: true - example: aut + required: false + example: low_on_stock type: string - enumValues: [] + enumValues: + - in_stock + - out_of_stock + - low_on_stock exampleWasSpecified: false custom: [] - address: - name: address - description: '' - required: true - example: repellendus - type: string + page: + name: page + description: 'Must be at least 1.' + required: false + example: 60 + type: integer enumValues: [] exampleWasSpecified: false custom: [] - state: - name: state - description: '' - required: true - example: iusto - type: string + limit: + name: limit + description: 'Must be at least 1. Must not be greater than 100.' + required: false + example: 20 + type: integer enumValues: [] exampleWasSpecified: false custom: [] cleanBodyParameters: - name: praesentium - description: 'Asperiores eligendi sint et libero repellat perspiciatis suscipit harum.' - email: krystel05@example.com - industry: nihil - type: sed - country: aut - address: repellendus - state: iusto + name: llcydxrrnsvk + category: rytxwnvfof + minPrice: 62 + maxPrice: 45 + status: low_on_stock + page: 60 + limit: 20 fileParameters: [] - responses: [] + responses: + - + status: 200 + content: '{"success":true,"products":[],"pagination":{"totalItems":0,"totalPages":1,"currentPage":60,"perPage":20},"status_code":200}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '48' + access-control-allow-origin: '*' + description: null + custom: [] responseFields: [] auth: [] controller: null @@ -1290,7 +1366,7 @@ endpoints: - httpMethods: - GET - uri: api/v1/organisations + uri: api/v1/products metadata: groupName: Endpoints groupDescription: '' @@ -1312,13 +1388,13 @@ endpoints: fileParameters: [] responses: - - status: 401 - content: '{"status":"Unauthorized","message":"User not authenticated","status_code":401}' + status: 200 + content: '{"success":true,"message":"Products retrieved successfully","products":[{"name":"ad''s product","price":"738.30","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/002222?text=laborum","description":"Consequatur consequatur soluta ut sunt a ut aspernatur. Consectetur deleniti iusto ut eum at aut. Aliquam recusandae iure quia similique vitae aut.","product_id":"9cb402e7-36c2-4a1d-9d19-b04efe6ae83d","quantity":"78","category":[],"stock":48,"status":"low_on_stock","date_added":"2024-08-06T18:39:27.000000Z"},{"name":"sit''s product","price":"706.17","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/003333?text=aut","description":"Illum voluptas minus cumque pariatur ea. Laudantium rerum et quo beatae suscipit debitis ut. Nihil eligendi non eligendi autem dolorum. Dolorem rerum hic et iste voluptas voluptatem.","product_id":"9cb402e7-39b4-46f4-b1f3-4ac102280b61","quantity":"59","category":[],"stock":33,"status":"low_on_stock","date_added":"2024-08-06T18:39:27.000000Z"},{"name":"qui''s product","price":"352.28","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/008822?text=dolor","description":"Numquam fuga qui non omnis dolor aperiam accusantium tempore. Adipisci consectetur omnis est expedita nam pariatur. Necessitatibus et enim facilis earum consequatur.","product_id":"9cb402e7-508d-4a1d-984f-853dd1fd1633","quantity":"44","category":[],"stock":1,"status":"out_of_stock","date_added":"2024-08-06T18:39:27.000000Z"},{"name":"earum''s product","price":"44.92","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/001166?text=illo","description":"Sunt eaque accusamus voluptate aut. Perspiciatis exercitationem reprehenderit voluptatibus laboriosam maxime dolore recusandae iste. Et sed et perspiciatis soluta.","product_id":"9cb402e7-522e-49b8-8fba-a95935c16aa3","quantity":"32","category":[],"stock":83,"status":"out_of_stock","date_added":"2024-08-06T18:39:27.000000Z"},{"name":"soluta''s product","price":"498.42","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/005500?text=blanditiis","description":"Molestias a voluptatem consequatur enim et. Consectetur sapiente consequatur voluptas beatae asperiores dicta autem.","product_id":"9cb402fb-a8f1-4761-a035-2ba9042ec2ba","quantity":"23","category":[],"stock":41,"status":"in_stock","date_added":"2024-08-06T18:39:40.000000Z"},{"name":"aperiam''s product","price":"362.32","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/00ee22?text=architecto","description":"Perspiciatis quia ut eos ratione. Culpa amet voluptas aliquid suscipit debitis rerum error. Nulla harum cum dolores sint est omnis asperiores. Nam et eum est alias reiciendis corrupti non.","product_id":"9cb402fb-aa66-4413-bbee-81530272f256","quantity":"62","category":[],"stock":24,"status":"low_on_stock","date_added":"2024-08-06T18:39:40.000000Z"},{"name":"illum''s product","price":"586.54","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/005555?text=rem","description":"Voluptatibus et maxime pariatur reiciendis. Voluptates labore aperiam voluptatum quis earum odit. Recusandae impedit id error rem voluptatem ad vitae.","product_id":"9cb402fb-abcc-467b-bc18-f464ca010d45","quantity":"18","category":[],"stock":75,"status":"in_stock","date_added":"2024-08-06T18:39:40.000000Z"},{"name":"dolore''s product","price":"631.88","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/00bb88?text=facere","description":"Architecto consequuntur quo commodi aperiam ea rem aperiam sapiente. Vel sapiente non et voluptatem rerum. Optio accusantium quidem id iusto sunt.","product_id":"9cb402fb-ad2b-404d-8220-72c0eacf8b5d","quantity":"68","category":[],"stock":21,"status":"in_stock","date_added":"2024-08-06T18:39:40.000000Z"},{"name":"ut''s product","price":"315.79","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/00cc44?text=et","description":"Ducimus ipsum facere et cum sed eum. Non minima eaque maiores nemo ut. Ut enim quia dolor expedita. Consectetur molestiae quia eaque. Blanditiis qui ut amet.","product_id":"9cb402fb-ae80-4466-8a43-a8e977a8a597","quantity":"44","category":[],"stock":24,"status":"low_on_stock","date_added":"2024-08-06T18:39:40.000000Z"}],"pagination":{"totalItems":9,"totalPages":1,"currentPage":1},"status_code":200}' headers: cache-control: 'no-cache, private' content-type: application/json x-ratelimit-limit: '60' - x-ratelimit-remaining: '53' + x-ratelimit-remaining: '47' access-control-allow-origin: '*' description: null custom: [] @@ -1330,14 +1406,14 @@ endpoints: custom: [] - httpMethods: - - DELETE - uri: 'api/v1/organisations/{org_id}/users/{user_id}' + - GET + uri: 'api/v1/products/{product_id}' metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: '' + title: 'Display the specified resource.' description: '' authenticated: false custom: [] @@ -1345,33 +1421,34 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - org_id: - name: org_id - description: 'The ID of the org.' - required: true - example: qui - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - user_id: - name: user_id - description: 'The ID of the user.' + product_id: + name: product_id + description: 'The ID of the product.' required: true - example: et + example: 9cb402e7-36c2-4a1d-9d19-b04efe6ae83d type: string enumValues: [] exampleWasSpecified: false custom: [] cleanUrlParameters: - org_id: qui - user_id: et + product_id: 9cb402e7-36c2-4a1d-9d19-b04efe6ae83d queryParameters: [] cleanQueryParameters: [] bodyParameters: [] cleanBodyParameters: [] fileParameters: [] - responses: [] + responses: + - + status: 200 + content: '{"status":"success","message":"Product retrieve ","status_code":200,"data":{"product_id":"9cb402e7-36c2-4a1d-9d19-b04efe6ae83d","name":"ad''s product","description":"Consequatur consequatur soluta ut sunt a ut aspernatur. Consectetur deleniti iusto ut eum at aut. Aliquam recusandae iure quia similique vitae aut.","price":"738.30","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/002222?text=laborum","sock":"78","date_added":"2024-08-06T18:39:27.000000Z","category":[]}}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '46' + access-control-allow-origin: '*' + description: null + custom: [] responseFields: [] auth: [] controller: null @@ -1381,7 +1458,7 @@ endpoints: - httpMethods: - GET - uri: api/v1/customers + uri: api/v1/billing-plans metadata: groupName: Endpoints groupDescription: '' @@ -1398,36 +1475,18 @@ endpoints: cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] - bodyParameters: - limit: - name: limit - description: 'Must be at least 1.' - required: true - example: 63 - type: integer - enumValues: [] - exampleWasSpecified: false - custom: [] - page: - name: page - description: 'Must be at least 1.' - required: true - example: 34 - type: integer - enumValues: [] - exampleWasSpecified: false - custom: [] - cleanBodyParameters: - limit: 63 - page: 34 + bodyParameters: [] + cleanBodyParameters: [] fileParameters: [] responses: - - status: 401 - content: '{"message":"Unauthenticated."}' + status: 200 + content: '{"status":200,"message":"Billing plans retrieved successfully","data":[{"id":"9cb402fb-6a92-4de4-a230-de1dfd5dcbfb","name":"premium","price":1524,"created_at":"2024-08-06T18:39:40.000000Z"},{"id":"256d949b-1ec0-4b46-9045-664acf39f5ab","name":"Free","price":0,"created_at":"2024-08-06T18:39:40.000000Z"},{"id":"49ff2db3-5ba8-4280-84c9-05037fb63ac6","name":"Basic","price":20,"created_at":"2024-08-06T18:39:40.000000Z"},{"id":"889817cd-4f22-4671-a494-4eb29bdfa6cc","name":"Advanced","price":50,"created_at":"2024-08-06T18:39:40.000000Z"},{"id":"bfba079f-bed7-4e63-ab3c-686dd9d3f6a5","name":"Premium","price":100,"created_at":"2024-08-06T18:39:40.000000Z"}]}' headers: cache-control: 'no-cache, private' content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '45' access-control-allow-origin: '*' description: null custom: [] @@ -1439,38 +1498,49 @@ endpoints: custom: [] - httpMethods: - - POST - uri: api/v1/testimonials + - GET + uri: 'api/v1/billing-plans/{id}' metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Store a newly created resource in storage.' + title: 'Display the specified resource.' description: '' authenticated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - content: - name: content - description: '' + urlParameters: + id: + name: id + description: 'The ID of the billing plan.' required: true - example: sit + example: enim type: string enumValues: [] exampleWasSpecified: false custom: [] - cleanBodyParameters: - content: sit + cleanUrlParameters: + id: enim + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] fileParameters: [] - responses: [] + responses: + - + status: 500 + content: '{"status":500,"message":"Internal server error"}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '44' + access-control-allow-origin: '*' + description: null + custom: [] responseFields: [] auth: [] controller: null @@ -1480,13 +1550,5037 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/testimonials/{testimonial_id}' + uri: api/v1/topics/search metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display the specified resource.' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 400 + content: '{"success":false,"message":"Title query parameter is required","status_code":400}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '10' + x-ratelimit-remaining: '9' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/organizations/{org_id}/products' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: multipart/form-data + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: voluptatem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: voluptatem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must not be greater than 255 characters.' + required: true + example: jqwhnsjufxbbndcjgwgqirh + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: true + example: 'Eos veniam et exercitationem beatae similique.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + category: + name: category + description: 'Must be a valid UUID.' + required: true + example: 8cd85132-ed44-3864-84e3-1cc9403bf864 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + price: + name: price + description: '' + required: true + example: 5475336.7 + type: number + enumValues: [] + exampleWasSpecified: false + custom: [] + stock: + name: stock + description: '' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + image: + name: image + description: 'Must be an image. Must not be greater than 1024 kilobytes.' + required: true + example: null + type: file + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: jqwhnsjufxbbndcjgwgqirh + description: 'Eos veniam et exercitationem beatae similique.' + category: 8cd85132-ed44-3864-84e3-1cc9403bf864 + price: 5475336.7 + stock: 2 + fileParameters: + image: null + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/organizations/{org_id}/products/{product_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: quas + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + product_id: + name: product_id + description: 'The ID of the product.' + required: true + example: 9cb402e7-36c2-4a1d-9d19-b04efe6ae83d + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: quas + product_id: 9cb402e7-36c2-4a1d-9d19-b04efe6ae83d + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: 'Must not be greater than 255 characters.' + required: false + example: akyedjhcihdogqejv + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: false + example: 'Quasi nemo enim provident maxime omnis aliquid et porro.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + price: + name: price + description: 'Must be at least 0.' + required: false + example: 10 + type: number + enumValues: [] + exampleWasSpecified: false + custom: [] + stock: + name: stock + description: 'Must be at least 0.' + required: false + example: 53 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + image: + name: image + description: 'Must be a valid URL.' + required: false + example: 'http://www.sauer.com/aut-omnis-nulla-dicta-id-incidunt-sit.html' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + is_archived: + name: is_archived + description: '' + required: false + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + productsVariant: + name: productsVariant + description: '' + required: true + example: + - [] + type: 'object[]' + enumValues: [] + exampleWasSpecified: false + custom: [] + 'productsVariant[].size_id': + name: 'productsVariant[].size_id' + description: 'Must be a valid UUID.' + required: true + example: debe7c41-53c9-304a-a612-8a61baa948cc + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + 'productsVariant[].stock': + name: 'productsVariant[].stock' + description: 'Must be at least 0.' + required: true + example: 84 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + 'productsVariant[].price': + name: 'productsVariant[].price' + description: 'Must be at least 0.' + required: true + example: 40 + type: number + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: akyedjhcihdogqejv + description: 'Quasi nemo enim provident maxime omnis aliquid et porro.' + price: 10 + stock: 53 + image: 'http://www.sauer.com/aut-omnis-nulla-dicta-id-incidunt-sit.html' + is_archived: false + productsVariant: + - + size_id: debe7c41-53c9-304a-a612-8a61baa948cc + stock: 84 + price: 40 + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/products/{productId}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + productId: + name: productId + description: '' + required: true + example: 9cb402e7-36c2-4a1d-9d19-b04efe6ae83d + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + productId: 9cb402e7-36c2-4a1d-9d19-b04efe6ae83d + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/blogs/{blogId}/comments' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + blogId: + name: blogId + description: '' + required: true + example: sed + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + blogId: sed + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/comments/{commentId}/reply' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + commentId: + name: commentId + description: '' + required: true + example: quidem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + commentId: quidem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/comments/{commentId}/like' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + commentId: + name: commentId + description: '' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + commentId: ut + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/comments/{commentId}/dislike' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + commentId: + name: commentId + description: '' + required: true + example: consequatur + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + commentId: consequatur + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/comments/edit/{commentId}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + commentId: + name: commentId + description: '' + required: true + example: sunt + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + commentId: sunt + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/comments/{commentId}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + commentId: + name: commentId + description: '' + required: true + example: minus + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + commentId: minus + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/blogs/{blogId}/comments' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + blogId: + name: blogId + description: '' + required: true + example: in + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + blogId: in + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/help-center/topics/search + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must be at least 3 characters.' + required: true + example: iowyfnqddhjanetnxx + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: iowyfnqddhjanetnxx + fileParameters: [] + responses: + - + status: 200 + content: '{"success":true,"message":"Articles retrieved successfully.","status_code":200,"topics":[{"article_id":"b368979f-e7ed-46eb-b5c4-44a06dbe0e76","title":"How to reset your password","content":"To reset your password, follow these steps...","user_id":"9cb402e7-4131-4e7d-a381-5bc2d5db4ce3","author":" "},{"article_id":"703c6521-7d6c-48e8-93e2-01d5378a064d","title":"How to update your profile","content":"To update your profile, go to the settings page...","user_id":"9cb402e7-32e0-421d-b0f1-afd95021228b","author":" "},{"article_id":"93f1edb5-154f-4c4f-9ff1-a83b6bc6f638","title":"How to delete your account","content":"To delete your account, please contact support...","user_id":"9cb402e7-8006-4a16-a911-40fb1787ec6b","author":" "}]}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '42' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/inquiries + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: sunt + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: 'Must be a valid email address.' + required: true + example: mlindgren@example.com + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + message: + name: message + description: '' + required: true + example: sint + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: sunt + email: mlindgren@example.com + message: sint + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/inquiries + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"status_code":200,"message":"Inquiries returned successfully","data":[]}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '41' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/blogs/latest + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"count":4,"next":null,"previous":null,"results":[{"id":"71eb8a33-c1ef-4526-9c13-0e57e84e3454","title":"Maiores nulla quis qui aut id iusto voluptatibus.","content":"Unde nihil vel perspiciatis tempore beatae. Iusto velit amet ipsa dolores. Ab eos quis rerum ipsa dolorum. Cumque eos velit est voluptatem.\n\nQui qui magni iure delectus expedita quibusdam. Consectetur sit sit accusantium enim dolore ut. Aspernatur omnis ipsum voluptatibus amet tempore fugiat.\n\nId nihil autem iusto maxime sed ipsa repudiandae. Iusto eligendi ipsam dolor minus corporis. Expedita maxime suscipit soluta excepturi eum facere.","author":"Dorian Powlowski","created_at":"2024-08-06T18:39:40.000000Z","category":"World News","image_url":"storage\/images\/MTm0TdKKdV.jpg"},{"id":"4beb4480-9a7e-4d40-9913-2222c0d4000a","title":"Et dolores qui et quod qui a.","content":"Deserunt voluptatem pariatur aut explicabo voluptas sapiente alias similique. Quos necessitatibus est facere et voluptatibus mollitia sint est. Accusantium dicta adipisci est eum enim ut ratione. Nostrum mollitia tempora repellendus voluptatibus.\n\nVoluptas nulla ut voluptatem et quo. Deserunt cumque odio ipsam sapiente velit inventore. Porro consectetur qui et est occaecati.\n\nDeserunt est voluptate et aut neque quis praesentium. Maiores ut ex eaque et illum. Rerum aperiam illum sit. Architecto dolorem provident accusamus illum perspiciatis non.","author":"Ilene Klein","created_at":"2024-08-06T18:39:38.000000Z","category":"Lifestyle","image_url":"storage\/images\/BzVOnNLQ89.jpg"},{"id":"bf6252d8-1ae7-4fac-bbe1-533a4d5d49ba","title":"Culpa quis repellat consequuntur explicabo autem aspernatur debitis.","content":"Asperiores officia fuga et quas. Et adipisci exercitationem et aut a quasi. Vel voluptas ad consectetur hic accusantium ut voluptatem.\n\nReprehenderit sed nostrum facilis sit quia. Et voluptates voluptatum consectetur est unde. Vitae necessitatibus optio voluptatem cum.\n\nQuo eligendi nihil laborum atque doloremque sunt. Ea voluptates eius dolores quis quisquam dolorem fuga. Modi sapiente expedita dignissimos et.","author":"Mina Schimmel","created_at":"2024-08-06T18:39:35.000000Z","category":"Food","image_url":"storage\/images\/BCYawtsLx6.jpg"},{"id":"fad7d874-61f9-40f0-ad3e-8bafdc6daf7b","title":"Ut odio ipsam illo vel fuga.","content":"Et quidem culpa culpa vel quam velit. Velit numquam aspernatur vero quis iure expedita. Dicta quia facere consectetur.\n\nVoluptatem eos dolorem aut reprehenderit numquam. Quis ut doloribus quo quasi voluptatem vero officiis sunt. Voluptate a eum ut. Tempore facere ducimus corporis accusamus aspernatur et.\n\nRerum quis modi quia. Sit voluptate et similique ea quia. Et non magni atque quia molestiae. Ratione velit perferendis quos vitae.","author":"Rafael Schowalter","created_at":"2024-08-06T18:39:32.000000Z","category":"Business","image_url":"storage\/images\/QZsSJjeCnS.jpg"}],"status_code":200}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '40' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/blogs/search + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"current_page":1,"total_pages":1,"total_results":4,"blogs":[{"id":"fad7d874-61f9-40f0-ad3e-8bafdc6daf7b","content":"Et quidem culpa culpa vel quam velit. Velit numquam aspernatur vero quis iure expedita. Dicta quia facere consectetur.\n\nVoluptatem eos dolorem aut reprehenderit numquam. Quis ut doloribus quo quasi voluptatem vero officiis sunt. Voluptate a eum ut. Tempore facere ducimus corporis accusamus aspernatur et.\n\nRerum quis modi quia. Sit voluptate et similique ea quia. Et non magni atque quia molestiae. Ratione velit perferendis quos vitae.","author":"Rafael Schowalter","created_at":"2024-08-06T18:39:32.000000Z","updated_at":"2024-08-06T18:39:32.000000Z","title":"Ut odio ipsam illo vel fuga.","deleted_at":null,"category":"Business","image_url":"storage\/images\/QZsSJjeCnS.jpg","author_id":"9cb402ef-36e7-459b-9f23-ef9c9f105ca9"},{"id":"bf6252d8-1ae7-4fac-bbe1-533a4d5d49ba","content":"Asperiores officia fuga et quas. Et adipisci exercitationem et aut a quasi. Vel voluptas ad consectetur hic accusantium ut voluptatem.\n\nReprehenderit sed nostrum facilis sit quia. Et voluptates voluptatum consectetur est unde. Vitae necessitatibus optio voluptatem cum.\n\nQuo eligendi nihil laborum atque doloremque sunt. Ea voluptates eius dolores quis quisquam dolorem fuga. Modi sapiente expedita dignissimos et.","author":"Mina Schimmel","created_at":"2024-08-06T18:39:35.000000Z","updated_at":"2024-08-06T18:39:35.000000Z","title":"Culpa quis repellat consequuntur explicabo autem aspernatur debitis.","deleted_at":null,"category":"Food","image_url":"storage\/images\/BCYawtsLx6.jpg","author_id":"9cb402f4-1294-408f-ba03-f763631af8fb"},{"id":"4beb4480-9a7e-4d40-9913-2222c0d4000a","content":"Deserunt voluptatem pariatur aut explicabo voluptas sapiente alias similique. Quos necessitatibus est facere et voluptatibus mollitia sint est. Accusantium dicta adipisci est eum enim ut ratione. Nostrum mollitia tempora repellendus voluptatibus.\n\nVoluptas nulla ut voluptatem et quo. Deserunt cumque odio ipsam sapiente velit inventore. Porro consectetur qui et est occaecati.\n\nDeserunt est voluptate et aut neque quis praesentium. Maiores ut ex eaque et illum. Rerum aperiam illum sit. Architecto dolorem provident accusamus illum perspiciatis non.","author":"Ilene Klein","created_at":"2024-08-06T18:39:38.000000Z","updated_at":"2024-08-06T18:39:38.000000Z","title":"Et dolores qui et quod qui a.","deleted_at":null,"category":"Lifestyle","image_url":"storage\/images\/BzVOnNLQ89.jpg","author_id":"9cb402f7-f864-4d13-bd34-f90e3d1d02eb"},{"id":"71eb8a33-c1ef-4526-9c13-0e57e84e3454","content":"Unde nihil vel perspiciatis tempore beatae. Iusto velit amet ipsa dolores. Ab eos quis rerum ipsa dolorum. Cumque eos velit est voluptatem.\n\nQui qui magni iure delectus expedita quibusdam. Consectetur sit sit accusantium enim dolore ut. Aspernatur omnis ipsum voluptatibus amet tempore fugiat.\n\nId nihil autem iusto maxime sed ipsa repudiandae. Iusto eligendi ipsam dolor minus corporis. Expedita maxime suscipit soluta excepturi eum facere.","author":"Dorian Powlowski","created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","title":"Maiores nulla quis qui aut id iusto voluptatibus.","deleted_at":null,"category":"World News","image_url":"storage\/images\/MTm0TdKKdV.jpg","author_id":"9cb402fb-4168-4929-b35e-76274548250d"}],"meta":{"has_next":false,"total":4,"next_page":null,"prev_page":null}}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '39' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/squeeze + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/cookies/preferences + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + user_id: + name: user_id + description: 'Must be a valid UUID.' + required: true + example: bc77e811-b4ae-398f-9a17-56f183295eb8 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + preferences: + name: preferences + description: '' + required: true + example: [] + type: object + enumValues: [] + exampleWasSpecified: false + custom: [] + preferences.analytics_cookies: + name: preferences.analytics_cookies + description: '' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + preferences.marketing_cookies: + name: preferences.marketing_cookies + description: '' + required: false + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + preferences.functional_cookies: + name: preferences.functional_cookies + description: '' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + user_id: bc77e811-b4ae-398f-9a17-56f183295eb8 + preferences: + analytics_cookies: true + marketing_cookies: false + functional_cookies: true + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/cookies/preferences + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + user_id: + name: user_id + description: 'Must be a valid UUID.' + required: true + example: 02b991df-70d5-3526-8993-ed447143e8ae + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + user_id: 02b991df-70d5-3526-8993-ed447143e8ae + fileParameters: [] + responses: + - + status: 400 + content: '{"status_code":400,"success":false,"message":"Invalid user ID.","errors":{"user_id":["The selected user id is invalid."]}}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '38' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/help-center/topics + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + user_id: + name: user_id + description: 'Must be a valid UUID.' + required: true + example: f292a1a0-b13c-3acd-833b-919ca253633a + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + title: + name: title + description: 'Must not be greater than 255 characters.' + required: true + example: xayutfbnlgazrdlnjnic + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + content: + name: content + description: '' + required: true + example: dolore + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + user_id: f292a1a0-b13c-3acd-833b-919ca253633a + title: xayutfbnlgazrdlnjnic + content: dolore + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/help-center/topics/{articleId}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + articleId: + name: articleId + description: '' + required: true + example: qui + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + articleId: qui + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must not be greater than 255 characters.' + required: false + example: rncvoschgdujobtvzclefjkg + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + content: + name: content + description: '' + required: false + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: rncvoschgdujobtvzclefjkg + content: ut + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/help-center/topics/{articleId}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + articleId: + name: articleId + description: '' + required: true + example: voluptatem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + articleId: voluptatem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/help-center/topics + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: + page: + name: page + description: 'Must be at least 1.' + required: false + example: 67 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + size: + name: size + description: 'Must be at least 1. Must not be greater than 100.' + required: false + example: 17 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + category: + name: category + description: '' + required: false + example: 11 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + search: + name: search + description: 'Must be at least 3 characters.' + required: false + example: wvahczchgfcoxknkfnlfywpkxpumbrnayvyivqyfaooztjcpdreaiqtrsnxdzafiblyvn + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanQueryParameters: + page: 67 + size: 17 + category: 11 + search: wvahczchgfcoxknkfnlfywpkxpumbrnayvyivqyfaooztjcpdreaiqtrsnxdzafiblyvn + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 500 + content: '{"status_code":500,"success":false,"message":"Failed to retrieve help articles. Please try again later.","error":"SQLSTATE[42703]: Undefined column: 7 ERROR: column \"category\" does not exist\nLINE 1: ...le\"::text like $1 or \"content\"::text like $2) and \"category\"...\n ^ (Connection: pgsql, SQL: select count(*) as aggregate from \"articles\" where (\"title\"::text like %wvahczchgfcoxknkfnlfywpkxpumbrnayvyivqyfaooztjcpdreaiqtrsnxdzafiblyvn% or \"content\"::text like %wvahczchgfcoxknkfnlfywpkxpumbrnayvyivqyfaooztjcpdreaiqtrsnxdzafiblyvn%) and \"category\" = 11)"}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '37' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/email-templates + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a paginated list of email templates.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: + page: + name: page + description: 'Must be at least 1.' + required: false + example: 25 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + limit: + name: limit + description: 'Must be at least 1. Must not be greater than 100.' + required: false + example: 3 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanQueryParameters: + page: 25 + limit: 3 + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/email-templates + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must not be greater than 255 characters.' + required: true + example: rokyiiozy + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + template: + name: template + description: '' + required: true + example: commodi + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + status: + name: status + description: '' + required: true + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: rokyiiozy + template: commodi + status: false + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/email-templates/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the email template.' + required: true + example: eum + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: eum + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must not be greater than 255 characters.' + required: false + example: rvmkiteyrksfyrwtpkompiwjc + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + template: + name: template + description: '' + required: false + example: labore + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + status: + name: status + description: '' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: rvmkiteyrksfyrwtpkompiwjc + template: labore + status: true + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/email-templates/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the email template.' + required: true + example: suscipit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: suscipit + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/invitations/generate + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Generate and store an invitation with email validation.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + org_id: + name: org_id + description: '' + required: true + example: dolorem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: 'Must be a valid email address.' + required: true + example: zieme.travis@example.org + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + org_id: dolorem + email: zieme.travis@example.org + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/invite/accept + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Handle GET request to accept an invitation.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 400 + content: '{"message":"Invalid or expired invitation link","errors":["Invalid invitation link format","Expired invitation link","Organization not found"],"status_code":400}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '36' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/invite + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Handle POST request to accept an invitation.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + invitation_link: + name: invitation_link + description: '' + required: true + example: cumque + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + invitation_link: cumque + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/features + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/features + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + feature: + name: feature + description: '' + required: true + example: sit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: 'Must not be greater than 255 characters.' + required: false + example: 'Omnis aut vitae voluptas itaque ipsa ut illo.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + feature: sit + description: 'Omnis aut vitae voluptas itaque ipsa ut illo.' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/features/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the feature.' + required: true + example: omnis + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: omnis + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/features/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the feature.' + required: true + example: voluptas + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: voluptas + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/features/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the feature.' + required: true + example: aut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: aut + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/plans + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/plans + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + duration: + name: duration + description: '' + required: true + example: yearly + type: string + enumValues: + - monthly + - yearly + exampleWasSpecified: false + custom: [] + price: + name: price + description: '' + required: true + example: 7 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: true + example: 'Ut est quasi ratione repudiandae excepturi neque eum.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + features: + name: features + description: '' + required: true + example: + - [] + type: 'object[]' + enumValues: [] + exampleWasSpecified: false + custom: [] + 'features[].id': + name: 'features[].id' + description: 'Must be a valid UUID.' + required: true + example: 3c5c02de-0921-3381-ae6f-7cae78f38e45 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + 'features[].status': + name: 'features[].status' + description: '' + required: true + example: '1' + type: integer + enumValues: + - '0' + - '1' + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: ut + duration: yearly + price: 7 + description: 'Ut est quasi ratione repudiandae excepturi neque eum.' + features: + - + id: 3c5c02de-0921-3381-ae6f-7cae78f38e45 + status: '1' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/plans/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the plan.' + required: true + example: assumenda + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: assumenda + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/plans/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the plan.' + required: true + example: est + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: est + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/plans/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the plan.' + required: true + example: et + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: et + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/payments/paystack + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + plan_id: + name: plan_id + description: "'organisation_id' => 'required',." + required: true + example: non + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + billing_option: + name: billing_option + description: '' + required: true + example: yearly + type: string + enumValues: + - monthly + - yearly + exampleWasSpecified: false + custom: [] + full_name: + name: full_name + description: '' + required: true + example: et + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + redirect_url: + name: redirect_url + description: 'Must be a valid URL.' + required: true + example: 'https://schroeder.com/magni-at-sint-delectus-error-quas-eveniet.html' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + plan_id: non + billing_option: yearly + full_name: et + redirect_url: 'https://schroeder.com/magni-at-sint-delectus-error-quas-eveniet.html' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/payments/paystack/verify/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the verify.' + required: true + example: expedita + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: expedita + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/payments/flutterwave + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + plan_id: + name: plan_id + description: "'organisation_id' => 'required',." + required: true + example: hic + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + billing_option: + name: billing_option + description: '' + required: true + example: monthly + type: string + enumValues: + - monthly + - yearly + exampleWasSpecified: false + custom: [] + full_name: + name: full_name + description: '' + required: true + example: corrupti + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + redirect_url: + name: redirect_url + description: 'Must be a valid URL.' + required: true + example: 'http://www.kemmer.com/animi-aut-reiciendis-officia-animi' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + plan_id: hic + billing_option: monthly + full_name: corrupti + redirect_url: 'http://www.kemmer.com/animi-aut-reiciendis-officia-animi' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/payments/flutterwave/verify/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the verify.' + required: true + example: voluptates + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: voluptates + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/payments/cancel + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/users/plans/{user_subscription}/cancel' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'cancel user subscription' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + user_subscription: + name: user_subscription + description: '' + required: true + example: cupiditate + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + user_subscription: cupiditate + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/organizations + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: ex + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: true + example: 'Et iure fugit quos adipisci expedita recusandae corporis.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: 'Must be a valid email address. Must not be greater than 255 characters.' + required: true + example: goyette.shyanne@example.net + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + industry: + name: industry + description: '' + required: true + example: eius + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + type: + name: type + description: '' + required: true + example: debitis + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + country: + name: country + description: '' + required: true + example: et + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + address: + name: address + description: '' + required: true + example: velit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + state: + name: state + description: '' + required: true + example: nam + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: ex + description: 'Et iure fugit quos adipisci expedita recusandae corporis.' + email: goyette.shyanne@example.net + industry: eius + type: debitis + country: et + address: velit + state: nam + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/organizations + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/organizations/{org_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: ex + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: ex + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: et + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: true + example: 'In voluptatem reiciendis sint et.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: '' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + industry: + name: industry + description: '' + required: true + example: magnam + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + type: + name: type + description: '' + required: true + example: aspernatur + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + country: + name: country + description: '' + required: true + example: cupiditate + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + address: + name: address + description: '' + required: true + example: unde + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + state: + name: state + description: '' + required: true + example: pariatur + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: et + description: 'In voluptatem reiciendis sint et.' + industry: magnam + type: aspernatur + country: cupiditate + address: unde + state: pariatur + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/organizations/{org_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: tenetur + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: tenetur + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/organizations/{org_id}/users/{user_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: provident + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + user_id: + name: user_id + description: 'The ID of the user.' + required: true + example: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: provident + user_id: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/organizations/{organisation}/users' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + organisation: + name: organisation + description: '' + required: true + example: rerum + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + organisation: rerum + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/members/{org_id}/search' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: voluptatem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: voluptatem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + org_id: + name: org_id + description: 'Must be a valid UUID.' + required: true + example: edac571b-969a-36d2-8ddf-df8baa2f2f84 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + org_id: edac571b-969a-36d2-8ddf-df8baa2f2f84 + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/members/{org_id}/export' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: fugit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: fugit + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/testimonials + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + content: + name: content + description: '' + required: true + example: commodi + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + content: commodi + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/testimonials/{testimonial_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + testimonial_id: + name: testimonial_id + description: 'The ID of the testimonial.' + required: true + example: neque + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + testimonial_id: neque + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/testimonials/{testimonial}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + testimonial: + name: testimonial + description: 'The testimonial.' + required: true + example: distinctio + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + testimonial: distinctio + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/jobs + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: '' + required: true + example: eum + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: true + example: 'Ut in fuga autem optio perferendis nihil nulla.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + location: + name: location + description: '' + required: true + example: illum + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + deadline: + name: deadline + description: 'Must be a valid date.' + required: true + example: '2024-08-07T03:57:11' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + salary_range: + name: salary_range + description: '' + required: true + example: eius + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + job_type: + name: job_type + description: '' + required: true + example: cupiditate + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + job_mode: + name: job_mode + description: '' + required: true + example: fugit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + experience_level: + name: experience_level + description: '' + required: false + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + company_name: + name: company_name + description: '' + required: false + example: tempore + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + key_responsibilities: + name: key_responsibilities + description: '' + required: false + example: sed + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + qualifications: + name: qualifications + description: '' + required: false + example: quod + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: eum + description: 'Ut in fuga autem optio perferendis nihil nulla.' + location: illum + deadline: '2024-08-07T03:57:11' + salary_range: eius + job_type: cupiditate + job_mode: fugit + experience_level: ut + company_name: tempore + key_responsibilities: sed + qualifications: quod + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/jobs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the job.' + required: true + example: 9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: 9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: '' + required: true + example: quisquam + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: true + example: 'Recusandae quis et voluptas enim cumque in.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + location: + name: location + description: '' + required: true + example: a + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + deadline: + name: deadline + description: 'Must be a valid date.' + required: true + example: '2024-08-07T03:57:11' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + salary_range: + name: salary_range + description: '' + required: true + example: nobis + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + job_type: + name: job_type + description: '' + required: true + example: velit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + job_mode: + name: job_mode + description: '' + required: true + example: cumque + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + experience_level: + name: experience_level + description: '' + required: false + example: quibusdam + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + benefits: + name: benefits + description: '' + required: false + example: qui + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + key_responsibilities: + name: key_responsibilities + description: '' + required: false + example: doloremque + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + qualifications: + name: qualifications + description: '' + required: false + example: quidem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: quisquam + description: 'Recusandae quis et voluptas enim cumque in.' + location: a + deadline: '2024-08-07T03:57:11' + salary_range: nobis + job_type: velit + job_mode: cumque + experience_level: quibusdam + benefits: qui + key_responsibilities: doloremque + qualifications: quidem + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/jobs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the job.' + required: true + example: 9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: 9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/user/export/{format}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + format: + name: format + description: '' + required: true + example: omnis + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + format: omnis + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: api/v1/accounts/deactivate + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + confirmation: + name: confirmation + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + reason: + name: reason + description: '' + required: false + example: facilis + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + confirmation: true + reason: facilis + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/organisations/{org_id}/roles/{role_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + role_id: + name: role_id + description: 'The ID of the role.' + required: true + example: nihil + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + role_id: nihil + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: 'Must not be greater than 255 characters.' + required: true + example: jsni + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: false + example: 'Omnis dolore eaque dolorem voluptatum et maxime explicabo quia.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: jsni + description: 'Omnis dolore eaque dolorem voluptatum et maxime explicabo quia.' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/organisations/{org_id}/roles/{role_id}/disable' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + role_id: + name: role_id + description: 'The ID of the role.' + required: true + example: rem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + role_id: rem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + role_name: + name: role_name + description: 'Must not be greater than 255 characters.' + required: true + example: gravcsacqmjxsd + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + organisation_id: + name: organisation_id + description: 'Must not be greater than 255 characters.' + required: true + example: rptabzwnlyqjoubaojn + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + permissions_id: + name: permissions_id + description: '' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + role_name: gravcsacqmjxsd + organisation_id: rptabzwnlyqjoubaojn + permissions_id: ut + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/organisations/{org_id}/users/{user_id}/roles' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + user_id: + name: user_id + description: 'The ID of the user.' + required: true + example: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + user_id: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + role: + name: role + description: '' + required: true + example: sint + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + role: sint + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/organisations/{org_id}/{role_id}/permissions' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + role_id: + name: role_id + description: 'The ID of the role.' + required: true + example: amet + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + role_id: amet + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + permission_list: + name: permission_list + description: '' + required: true + example: [] + type: object + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + permission_list: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/password-update + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: updatePassword + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + old_password: + name: old_password + description: '' + required: true + example: aperiam + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + new_password: + name: new_password + description: 'Must match the regex /[A-Z]/. Must match the regex /[0-9]/. Must be at least 8 characters.' + required: true + example: pghnqugrihgfovgkanemrvjgilfjpxtunggicjzyfwiucwyjndxafqzi + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + old_password: aperiam + new_password: pghnqugrihgfovgkanemrvjgilfjpxtunggicjzyfwiucwyjndxafqzi + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: api/v1/profile + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + first_name: + name: first_name + description: 'Must not be greater than 255 characters.' + required: false + example: ysjmxhyztohbqetoeg + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + last_name: + name: last_name + description: 'Must not be greater than 255 characters.' + required: false + example: sofwjginlumdkzki + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + job_title: + name: job_title + description: 'Must not be greater than 255 characters.' + required: false + example: hblwmmejxcfb + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + pronoun: + name: pronoun + description: 'Must not be greater than 255 characters.' + required: false + example: qtpzfrbqxviyyeyyfb + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + bio: + name: bio + description: 'Must not be greater than 500 characters.' + required: false + example: nrzklbecstmy + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: 'Must be a valid email address. Must not be greater than 255 characters.' + required: false + example: easton26@example.net + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + avatar_url: + name: avatar_url + description: '' + required: false + example: 'http://www.satterfield.com/ea-iste-in-qui' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + display_image: + name: display_image + description: '' + required: false + example: dolor + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + first_name: ysjmxhyztohbqetoeg + last_name: sofwjginlumdkzki + job_title: hblwmmejxcfb + pronoun: qtpzfrbqxviyyeyyfb + bio: nrzklbecstmy + email: easton26@example.net + avatar_url: 'http://www.satterfield.com/ea-iste-in-qui' + display_image: dolor + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/profile/upload-image + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: multipart/form-data + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + file: + name: file + description: 'Must be an image.' + required: true + example: null + type: file + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: [] + fileParameters: + file: null + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/notification-settings + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 500 + content: |- + { + "message": "Server Error" + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '35' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: api/v1/notification-settings + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + mobile_push_notifications: + name: mobile_push_notifications + description: '' + required: true + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + email_notification_activity_in_workspace: + name: email_notification_activity_in_workspace + description: '' + required: true + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + email_notification_always_send_email_notifications: + name: email_notification_always_send_email_notifications + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + email_notification_email_digest: + name: email_notification_email_digest + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + email_notification_announcement_and_update_emails: + name: email_notification_announcement_and_update_emails + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + slack_notifications_activity_on_your_workspace: + name: slack_notifications_activity_on_your_workspace + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + slack_notifications_always_send_email_notifications: + name: slack_notifications_always_send_email_notifications + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + slack_notifications_announcement_and_update_emails: + name: slack_notifications_announcement_and_update_emails + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + mobile_push_notifications: false + email_notification_activity_in_workspace: false + email_notification_always_send_email_notifications: true + email_notification_email_digest: true + email_notification_announcement_and_update_emails: true + slack_notifications_activity_on_your_workspace: true + slack_notifications_always_send_email_notifications: true + slack_notifications_announcement_and_update_emails: true + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/customers + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + limit: + name: limit + description: 'Must be at least 1.' + required: true + example: 67 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + page: + name: page + description: 'Must be at least 1.' + required: true + example: 30 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + limit: 67 + page: 30 + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/blogs + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must not be greater than 255 characters.' + required: true + example: zqsjxmev + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + content: + name: content + description: '' + required: true + example: natus + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + image_url: + name: image_url + description: '' + required: true + example: quos + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + category: + name: category + description: 'Must not be greater than 255 characters.' + required: true + example: xdwzqghtxhcasmxiukiqohiu + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: zqsjxmev + content: natus + image_url: quos + category: xdwzqghtxhcasmxiukiqohiu + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/blogs/edit/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the edit.' + required: true + example: natus + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: natus + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/blogs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the blog.' + required: true + example: fad7d874-61f9-40f0-ad3e-8bafdc6daf7b + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: fad7d874-61f9-40f0-ad3e-8bafdc6daf7b + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/waitlists + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"status":"Unauthorized","message":"User not authenticated","status_code":401}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '34' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/waitlists + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: 'Must not be greater than 255 characters.' + required: true + example: uolgyfljuqbpf + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: 'Must be a valid email address.' + required: true + example: kacey.cremin@example.org + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: uolgyfljuqbpf + email: kacey.cremin@example.org + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/faqs + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"status_code":200,"message":"Faq returned successfully","data":[{"id":"9cb402fc-99ed-49ea-b689-406c182835f1","question":"What is the return policy?","answer":"Our return policy allows you to return products within 30 days of purchase. The items must be in their original condition with all packaging and tags intact. For more details, visit our return policy page.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-9eb2-45f4-a594-ce4a0c0c5213","question":"How do I track my order?","answer":"Once your order has been shipped, you will receive an email with a tracking number. You can use this number on our website to track the status of your delivery.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-a0a2-4b03-8122-075ec2e9e899","question":"What payment methods are accepted?","answer":"We accept various payment methods including credit\/debit cards, PayPal, and bank transfers. For a full list of accepted payment methods, please visit our payment information page.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-a270-4999-8304-9d9fab8974d4","question":"How do I contact customer support?","answer":"You can contact our customer support team via email, phone, or live chat. Visit our contact us page for more information on how to reach us.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-a469-4f39-83c2-a195f39be260","question":"Are there any discounts for bulk purchases?","answer":"Yes, we offer discounts for bulk purchases. Please contact our sales team with your requirements, and we will provide you with a custom quote.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-a653-4ceb-9e0b-73ba302c438a","question":"How do I create an account?","answer":"Creating an account is easy. Click on the \"Sign Up\" button at the top of our website, and fill in your details. Once registered, you can enjoy a faster checkout process and keep track of your orders.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-a835-48d6-8454-baa5755e46d7","question":"What do I do if I receive a defective product?","answer":"If you receive a defective product, please contact our customer support team immediately. We will arrange for a replacement or a refund as per our return policy.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-a9fd-4b5f-ad1a-7ef9e3a49dc6","question":"Do you ship internationally?","answer":"Yes, we ship to many countries around the world. International shipping costs and delivery times vary based on your location. For more details, please visit our shipping information page.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-abc6-4e6c-aea2-a97dd5a23d7a","question":"How can I apply a discount code?","answer":"You can apply a discount code at checkout. Enter the code in the designated field and click \"Apply\" to see the discount reflected in your order total.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"}]}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '33' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/faqs + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + question: + name: question + description: 'Must not be greater than 255 characters.' + required: true + example: mfyybkfdangsrh + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + answer: + name: answer + description: 'Must not be greater than 500 characters.' + required: true + example: qxnuetdrzosbln + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + question: mfyybkfdangsrh + answer: qxnuetdrzosbln + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/faqs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the faq.' + required: true + example: 9cb402fc-99ed-49ea-b689-406c182835f1 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: 9cb402fc-99ed-49ea-b689-406c182835f1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"status_code":200,"message":"Faq returned successfully","data":{"id":"9cb402fc-99ed-49ea-b689-406c182835f1","question":"What is the return policy?","answer":"Our return policy allows you to return products within 30 days of purchase. The items must be in their original condition with all packaging and tags intact. For more details, visit our return policy page.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"}}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '32' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/faqs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the faq.' + required: true + example: 9cb402fc-99ed-49ea-b689-406c182835f1 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: 9cb402fc-99ed-49ea-b689-406c182835f1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + question: + name: question + description: 'Must not be greater than 255 characters.' + required: false + example: hxszodqapscivhfxiqrnb + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + answer: + name: answer + description: 'Must not be greater than 500 characters.' + required: false + example: twqoaxiztjxinigzcpvi + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + question: hxszodqapscivhfxiqrnb + answer: twqoaxiztjxinigzcpvi + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/faqs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the faq.' + required: true + example: 9cb402fc-99ed-49ea-b689-406c182835f1 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: 9cb402fc-99ed-49ea-b689-406c182835f1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/blogs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the blog.' + required: true + example: fad7d874-61f9-40f0-ad3e-8bafdc6daf7b + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: fad7d874-61f9-40f0-ad3e-8bafdc6daf7b + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"data":{"title":"Ut odio ipsam illo vel fuga.","category":"Business","content":"Et quidem culpa culpa vel quam velit. Velit numquam aspernatur vero quis iure expedita. Dicta quia facere consectetur.\n\nVoluptatem eos dolorem aut reprehenderit numquam. Quis ut doloribus quo quasi voluptatem vero officiis sunt. Voluptate a eum ut. Tempore facere ducimus corporis accusamus aspernatur et.\n\nRerum quis modi quia. Sit voluptate et similique ea quia. Et non magni atque quia molestiae. Ratione velit perferendis quos vitae.","image_url":"storage\/images\/QZsSJjeCnS.jpg","created_at":"2024-08-06T18:39:32.000000Z"},"message":"Blog post fetched sucessfully.","status_code":200}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '31' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/blogs + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"data":[{"id":"71eb8a33-c1ef-4526-9c13-0e57e84e3454","title":"Maiores nulla quis qui aut id iusto voluptatibus.","content":"Unde nihil vel perspiciatis tempore beatae. Iusto velit amet ipsa dolores. Ab eos quis rerum ipsa dolorum. Cumque eos velit est voluptatem.\n\nQui qui magni iure delectus expedita quibusdam. Consectetur sit sit accusantium enim dolore ut. Aspernatur omnis ipsum voluptatibus amet tempore fugiat.\n\nId nihil autem iusto maxime sed ipsa repudiandae. Iusto eligendi ipsam dolor minus corporis. Expedita maxime suscipit soluta excepturi eum facere.","author":"Dorian Powlowski","created_at":"2024-08-06T18:39:40.000000Z","category":"World News","image_url":"storage\/images\/MTm0TdKKdV.jpg"},{"id":"4beb4480-9a7e-4d40-9913-2222c0d4000a","title":"Et dolores qui et quod qui a.","content":"Deserunt voluptatem pariatur aut explicabo voluptas sapiente alias similique. Quos necessitatibus est facere et voluptatibus mollitia sint est. Accusantium dicta adipisci est eum enim ut ratione. Nostrum mollitia tempora repellendus voluptatibus.\n\nVoluptas nulla ut voluptatem et quo. Deserunt cumque odio ipsam sapiente velit inventore. Porro consectetur qui et est occaecati.\n\nDeserunt est voluptate et aut neque quis praesentium. Maiores ut ex eaque et illum. Rerum aperiam illum sit. Architecto dolorem provident accusamus illum perspiciatis non.","author":"Ilene Klein","created_at":"2024-08-06T18:39:38.000000Z","category":"Lifestyle","image_url":"storage\/images\/BzVOnNLQ89.jpg"},{"id":"bf6252d8-1ae7-4fac-bbe1-533a4d5d49ba","title":"Culpa quis repellat consequuntur explicabo autem aspernatur debitis.","content":"Asperiores officia fuga et quas. Et adipisci exercitationem et aut a quasi. Vel voluptas ad consectetur hic accusantium ut voluptatem.\n\nReprehenderit sed nostrum facilis sit quia. Et voluptates voluptatum consectetur est unde. Vitae necessitatibus optio voluptatem cum.\n\nQuo eligendi nihil laborum atque doloremque sunt. Ea voluptates eius dolores quis quisquam dolorem fuga. Modi sapiente expedita dignissimos et.","author":"Mina Schimmel","created_at":"2024-08-06T18:39:35.000000Z","category":"Food","image_url":"storage\/images\/BCYawtsLx6.jpg"},{"id":"fad7d874-61f9-40f0-ad3e-8bafdc6daf7b","title":"Ut odio ipsam illo vel fuga.","content":"Et quidem culpa culpa vel quam velit. Velit numquam aspernatur vero quis iure expedita. Dicta quia facere consectetur.\n\nVoluptatem eos dolorem aut reprehenderit numquam. Quis ut doloribus quo quasi voluptatem vero officiis sunt. Voluptate a eum ut. Tempore facere ducimus corporis accusamus aspernatur et.\n\nRerum quis modi quia. Sit voluptate et similique ea quia. Et non magni atque quia molestiae. Ratione velit perferendis quos vitae.","author":"Rafael Schowalter","created_at":"2024-08-06T18:39:32.000000Z","category":"Business","image_url":"storage\/images\/QZsSJjeCnS.jpg"}],"message":"All blog posts retrieved successfully","status_code":200}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '30' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/user/preferences + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: officiis + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + value: + name: value + description: '' + required: true + example: ipsum + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: officiis + value: ipsum + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/user/preferences/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the preference.' + required: true + example: repellat + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: repellat + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: id + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + value: + name: value + description: '' + required: true + example: odit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: id + value: odit + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/user/preferences + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/user/preferences/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the preference.' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: ut + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/notification-settings/{user_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + user_id: + name: user_id + description: 'The ID of the user.' + required: true + example: necessitatibus + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + user_id: necessitatibus + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + email_notifications: + name: email_notifications + description: '' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + push_notifications: + name: push_notifications + description: '' + required: false + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + sms_notifications: + name: sms_notifications + description: '' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + email_notifications: true + push_notifications: false + sms_notifications: true + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/email-templates/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' description: '' authenticated: false custom: [] @@ -1494,17 +6588,17 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - testimonial_id: - name: testimonial_id - description: 'The ID of the testimonial.' + id: + name: id + description: 'The ID of the email template.' required: true - example: accusantium + example: harum type: string enumValues: [] exampleWasSpecified: false custom: [] cleanUrlParameters: - testimonial_id: accusantium + id: harum queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -1526,16 +6620,247 @@ endpoints: method: null route: null custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/email-templates/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the email template.' + required: true + example: placeat + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: placeat + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must not be greater than 255 characters.' + required: false + example: yaok + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + template: + name: template + description: '' + required: false + example: ea + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + status: + name: status + description: '' + required: false + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: yaok + template: ea + status: false + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/email-templates/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the email template.' + required: true + example: pariatur + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: pariatur + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/notifications/{notification}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + notification: + name: notification + description: 'The notification.' + required: true + example: officia + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + notification: officia + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + is_read: + name: is_read + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + is_read: true + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: api/v1/notifications + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/notifications + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Show the form for creating a new resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + message: + name: message + description: 'Must not be greater than 500 characters.' + required: true + example: 'n' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + message: 'n' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] - httpMethods: - GET - uri: api/v1/jobs + uri: api/v1/notifications metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display a listing of the resource.' + title: '' description: '' authenticated: false custom: [] @@ -1552,10 +6877,12 @@ endpoints: responses: - status: 401 - content: '{"message":"Unauthenticated."}' + content: '{"status":"Unauthorized","message":"User not authenticated","status_code":401}' headers: cache-control: 'no-cache, private' content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '29' access-control-allow-origin: '*' description: null custom: [] diff --git a/.scribe/endpoints/00.yaml b/.scribe/endpoints/00.yaml index dd851fe7..84400a90 100755 --- a/.scribe/endpoints/00.yaml +++ b/.scribe/endpoints/00.yaml @@ -25,8 +25,26 @@ endpoints: name: name: name description: 'Must not be greater than 255 characters.' + required: false + example: vzjhkcivnbfkxoukeydez + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + first_name: + name: first_name + description: 'Must not be greater than 255 characters.' + required: true + example: cy + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + last_name: + name: last_name + description: 'Must not be greater than 255 characters.' required: true - example: kyqjicowiqcvbipmclenjzwa + example: ytrj type: string enumValues: [] exampleWasSpecified: false @@ -35,7 +53,7 @@ endpoints: name: email description: 'Must be a valid email address. Must not be greater than 255 characters.' required: true - example: mante.carmel@example.net + example: roxane.koelpin@example.net type: string enumValues: [] exampleWasSpecified: false @@ -44,15 +62,17 @@ endpoints: name: password description: '' required: true - example: quos + example: 'riPguZ''*;47V8]`:5"' type: string enumValues: [] exampleWasSpecified: false custom: [] cleanBodyParameters: - name: kyqjicowiqcvbipmclenjzwa - email: mante.carmel@example.net - password: quos + name: vzjhkcivnbfkxoukeydez + first_name: cy + last_name: ytrj + email: roxane.koelpin@example.net + password: 'riPguZ''*;47V8]`:5"' fileParameters: [] responses: [] responseFields: [] @@ -86,7 +106,7 @@ endpoints: name: email description: 'Must be a valid email address. Must not be greater than 255 characters.' required: true - example: anderson.alex@example.net + example: karlie.welch@example.net type: string enumValues: [] exampleWasSpecified: false @@ -95,14 +115,14 @@ endpoints: name: password description: 'Must be at least 8 characters.' required: true - example: hTGB64 + example: "j%('l+FPa@WYmF82oYP" type: string enumValues: [] exampleWasSpecified: false custom: [] cleanBodyParameters: - email: anderson.alex@example.net - password: hTGB64 + email: karlie.welch@example.net + password: "j%('l+FPa@WYmF82oYP" fileParameters: [] responses: [] responseFields: [] @@ -114,13 +134,43 @@ endpoints: - httpMethods: - POST - uri: api/v1/roles + uri: api/v1/auth/logout metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Store a newly created resource in storage.' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/auth/password-reset-email + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Handle the incoming request.' description: '' authenticated: false custom: [] @@ -132,37 +182,77 @@ endpoints: queryParameters: [] cleanQueryParameters: [] bodyParameters: - role_name: - name: role_name - description: 'Must not be greater than 255 characters.' + email: + name: email + description: 'Must be a valid email address.' required: true - example: kmub + example: eileen79@example.net type: string enumValues: [] exampleWasSpecified: false custom: [] - organisation_id: - name: organisation_id - description: 'Must not be greater than 255 characters.' + cleanBodyParameters: + email: eileen79@example.net + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/auth/request-password-request/{token}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Handle the incoming request.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + token: + name: token + description: '' required: true - example: v + example: aut type: string enumValues: [] exampleWasSpecified: false custom: [] - permissions_id: - name: permissions_id + cleanUrlParameters: + token: aut + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + email: + name: email + description: 'Must be a valid email address.' + required: true + example: danika74@example.net + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + password: + name: password description: '' required: true - example: tenetur + example: '3Nq(,V$L$h8PFD4?Y!' type: string enumValues: [] exampleWasSpecified: false custom: [] cleanBodyParameters: - role_name: kmub - organisation_id: v - permissions_id: tenetur + email: danika74@example.net + password: '3Nq(,V$L$h8PFD4?Y!' fileParameters: [] responses: [] responseFields: [] @@ -174,13 +264,13 @@ endpoints: - httpMethods: - GET - uri: api/v1/users + uri: api/v1/auth/google metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display a listing of the resource.' + title: '' description: '' authenticated: false custom: [] @@ -196,11 +286,24 @@ endpoints: fileParameters: [] responses: - - status: 200 - content: '{"current_page":1,"data":[],"first_page_url":"http:\/\/localhost\/api\/v1\/users?page=1","from":null,"last_page":1,"last_page_url":"http:\/\/localhost\/api\/v1\/users?page=1","links":[{"url":null,"label":"« Previous","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"next_page_url":null,"path":"http:\/\/localhost\/api\/v1\/users","per_page":15,"prev_page_url":null,"to":null,"total":0}' + status: 302 + content: |- + + + + + + + Redirecting to https://accounts.google.com/o/oauth2/auth?scope=openid+profile+email&response_type=code + + + Redirecting to https://accounts.google.com/o/oauth2/auth?scope=openid+profile+email&response_type=code. + + headers: cache-control: 'no-cache, private' - content-type: application/json + location: 'https://accounts.google.com/o/oauth2/auth?scope=openid+profile+email&response_type=code' + content-type: 'text/html; charset=utf-8' x-ratelimit-limit: '60' x-ratelimit-remaining: '59' access-control-allow-origin: '*' @@ -214,14 +317,14 @@ endpoints: custom: [] - httpMethods: - - POST - uri: api/v1/users + - GET + uri: api/v1/auth/login-google metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Store a newly created resource in storage.' + title: '' description: '' authenticated: false custom: [] @@ -235,7 +338,31 @@ endpoints: bodyParameters: [] cleanBodyParameters: [] fileParameters: [] - responses: [] + responses: + - + status: 302 + content: |- + + + + + + + Redirecting to https://accounts.google.com/o/oauth2/auth?scope=openid+profile+email&response_type=code + + + Redirecting to https://accounts.google.com/o/oauth2/auth?scope=openid+profile+email&response_type=code. + + + headers: + cache-control: 'no-cache, private' + location: 'https://accounts.google.com/o/oauth2/auth?scope=openid+profile+email&response_type=code' + content-type: 'text/html; charset=utf-8' + x-ratelimit-limit: '60' + x-ratelimit-remaining: '58' + access-control-allow-origin: '*' + description: null + custom: [] responseFields: [] auth: [] controller: null @@ -245,31 +372,21 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/users/{id}' + uri: api/v1/auth/google/callback metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display the specified resource.' + title: '' description: '' authenticated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the user.' - required: true - example: consequuntur - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - cleanUrlParameters: - id: consequuntur + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -277,16 +394,16 @@ endpoints: fileParameters: [] responses: - - status: 404 + status: 500 content: |- { - "message": "No query results for model [App\\Models\\User] consequuntur" + "message": "Server Error" } headers: cache-control: 'no-cache, private' content-type: application/json x-ratelimit-limit: '60' - x-ratelimit-remaining: '58' + x-ratelimit-remaining: '57' access-control-allow-origin: '*' description: null custom: [] @@ -298,33 +415,22 @@ endpoints: custom: [] - httpMethods: - - PUT - - PATCH - uri: 'api/v1/users/{id}' + - POST + uri: api/v1/auth/google/callback metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update the specified resource in storage.' + title: '' description: '' authenticated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the user.' - required: true - example: sed - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - cleanUrlParameters: - id: sed + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -339,36 +445,36 @@ endpoints: custom: [] - httpMethods: - - DELETE - uri: 'api/v1/users/{id}' + - POST + uri: api/v1/auth/forgot-password metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Remove the specified resource from storage.' + title: 'Handle the incoming request.' description: '' authenticated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the user.' + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + email: + name: email + description: 'Must be a valid email address.' required: true - example: non + example: ghuel@example.com type: string enumValues: [] exampleWasSpecified: false custom: [] - cleanUrlParameters: - id: non - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] + cleanBodyParameters: + email: ghuel@example.com fileParameters: [] responses: [] responseFields: [] @@ -379,14 +485,14 @@ endpoints: custom: [] - httpMethods: - - GET - uri: api/v1/products/categories + - POST + uri: api/v1/auth/reset-forgot-password metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: '' + title: 'Handle the incoming request.' description: '' authenticated: false custom: [] @@ -397,21 +503,30 @@ endpoints: cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 200 - content: '{"status_code":200,"categories":[]}' - headers: - cache-control: 'no-cache, private' - content-type: application/json - x-ratelimit-limit: '60' - x-ratelimit-remaining: '57' - access-control-allow-origin: '*' - description: null + bodyParameters: + email: + name: email + description: 'Must be a valid email address.' + required: true + example: brody42@example.net + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + password: + name: password + description: '' + required: true + example: "d-'uAz" + type: string + enumValues: [] + exampleWasSpecified: false custom: [] + cleanBodyParameters: + email: brody42@example.net + password: "d-'uAz" + fileParameters: [] + responses: [] responseFields: [] auth: [] controller: null @@ -420,14 +535,14 @@ endpoints: custom: [] - httpMethods: - - GET - uri: api/v1/topics/search + - POST + uri: api/v1/auth/verify-otp metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: '' + title: 'Handle the incoming request.' description: '' authenticated: false custom: [] @@ -438,21 +553,30 @@ endpoints: cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 400 - content: '{"success":false,"message":"Title query parameter is required","status_code":400}' - headers: - cache-control: 'no-cache, private' - content-type: application/json - x-ratelimit-limit: '10' - x-ratelimit-remaining: '9' - access-control-allow-origin: '*' - description: null + bodyParameters: + email: + name: email + description: 'Must be a valid email address.' + required: true + example: qyundt@example.com + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + token: + name: token + description: 'Must be 6 digits.' + required: true + example: 4 + type: integer + enumValues: [] + exampleWasSpecified: false custom: [] + cleanBodyParameters: + email: qyundt@example.com + token: 4 + fileParameters: [] + responses: [] responseFields: [] auth: [] controller: null @@ -462,7 +586,7 @@ endpoints: - httpMethods: - POST - uri: api/v1/products + uri: api/v1/roles metadata: groupName: Endpoints groupDescription: '' @@ -480,27 +604,37 @@ endpoints: queryParameters: [] cleanQueryParameters: [] bodyParameters: - name: - name: name + role_name: + name: role_name description: 'Must not be greater than 255 characters.' required: true - example: tvzfqfvqihaycqsdmrt + example: mttdibbvatesznjhbp type: string enumValues: [] exampleWasSpecified: false custom: [] - description: - name: description - description: '' + organisation_id: + name: organisation_id + description: 'Must not be greater than 255 characters.' + required: true + example: fibies + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + permissions_id: + name: permissions_id + description: '' required: true - example: 'Praesentium laborum error impedit autem.' + example: perspiciatis type: string enumValues: [] exampleWasSpecified: false custom: [] cleanBodyParameters: - name: tvzfqfvqihaycqsdmrt - description: 'Praesentium laborum error impedit autem.' + role_name: mttdibbvatesznjhbp + organisation_id: fibies + permissions_id: perspiciatis fileParameters: [] responses: [] responseFields: [] @@ -512,7 +646,7 @@ endpoints: - httpMethods: - GET - uri: api/v1/help-center/topics/search + uri: api/v1/auth/login-facebook metadata: groupName: Endpoints groupDescription: '' @@ -534,13 +668,26 @@ endpoints: fileParameters: [] responses: - - status: 400 - content: '{"success":false,"message":"Title query parameter is required","status_code":400}' + status: 302 + content: |- + + + + + + + Redirecting to https://www.facebook.com/v3.3/dialog/oauth?scope=email&response_type=code + + + Redirecting to https://www.facebook.com/v3.3/dialog/oauth?scope=email&response_type=code. + + headers: cache-control: 'no-cache, private' - content-type: application/json - x-ratelimit-limit: '10' - x-ratelimit-remaining: '8' + location: 'https://www.facebook.com/v3.3/dialog/oauth?scope=email&response_type=code' + content-type: 'text/html; charset=utf-8' + x-ratelimit-limit: '60' + x-ratelimit-remaining: '56' access-control-allow-origin: '*' description: null custom: [] @@ -550,70 +697,10 @@ endpoints: method: null route: null custom: [] - - - httpMethods: - - POST - uri: api/v1/contact - metadata: - groupName: Endpoints - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: '' - description: '' - authenticated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - name: - name: name - description: '' - required: true - example: odit - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - email: - name: email - description: 'Must be a valid email address.' - required: true - example: boehm.vidal@example.net - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - message: - name: message - description: '' - required: true - example: accusamus - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - cleanBodyParameters: - name: odit - email: boehm.vidal@example.net - message: accusamus - fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - httpMethods: - GET - uri: api/v1/blogs/latest + uri: api/v1/auth/facebook/callback metadata: groupName: Endpoints groupDescription: '' @@ -635,13 +722,16 @@ endpoints: fileParameters: [] responses: - - status: 200 - content: '{"count":0,"next":null,"previous":null,"results":[]}' + status: 500 + content: |- + { + "message": "Server Error" + } headers: cache-control: 'no-cache, private' content-type: application/json x-ratelimit-limit: '60' - x-ratelimit-remaining: '54' + x-ratelimit-remaining: '55' access-control-allow-origin: '*' description: null custom: [] @@ -654,7 +744,7 @@ endpoints: - httpMethods: - POST - uri: api/v1/squeeze + uri: api/v1/auth/facebook/callback metadata: groupName: Endpoints groupDescription: '' @@ -684,7 +774,7 @@ endpoints: - httpMethods: - GET - uri: api/v1/features + uri: api/v1/users metadata: groupName: Endpoints groupDescription: '' @@ -706,11 +796,13 @@ endpoints: fileParameters: [] responses: - - status: 401 - content: '{"message":"Unauthenticated."}' + status: 200 + content: '{"status_code":200,"message":"Users returned successfully","total_users":149,"total_deleted_users":0,"total_active_users":149,"total_inActive_users":0,"data":{"current_page":1,"data":[{"id":"9cb402fc-cba8-46cd-acf6-7a6ed3826eaa","name":"Christine Lemke","email":"sdach@example.net","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:41.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z","deleted_at":null},{"id":"9cb402fc-b94f-4615-a96a-f37ed6f38690","name":"Zoey Nienow","email":"earlene.becker@example.org","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:41.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z","deleted_at":null},{"id":"9cb402fc-c2f6-4236-91ab-beb4254b5ac3","name":"Sunny Harvey","email":"armstrong.stephania@example.net","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:41.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z","deleted_at":null},{"id":"9cb402fc-dfc1-4a33-a216-ecb45fe4b645","name":"Deshawn Cartwright","email":"blanda.oswaldo@example.net","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:41.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z","deleted_at":null},{"id":"9cb402fc-c717-4407-967a-dcd4f16ac3e4","name":"Jessika Hand","email":"casey.lakin@example.com","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:41.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z","deleted_at":null},{"id":"9cb402fc-bef0-4858-b959-530c092f8db3","name":"Okey Heaney","email":"koelpin.deontae@example.org","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:41.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z","deleted_at":null},{"id":"9cb402fb-9fec-4610-a8b2-910cc4de4ee6","name":"Nikita Ullrich","email":"brice57@example.org","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-97e2-4743-aa0b-e0c96e4ff0d0","name":"Alexandre Parisian","email":"axel95@example.org","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-a35e-4011-8896-c770e79de91f","name":"Vicky Kirlin","email":"ruthe04@example.org","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-6d3b-4199-b887-2555f423ae27","name":"Gregory Collins","email":"rodriguez.julius@example.net","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-91f0-4b53-8286-2892f78ad855","name":"Amos Crist","email":"imorissette@example.net","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-9474-4d44-b32a-9f43225912ad","name":"Orville Koch","email":"nhackett@example.com","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-9a52-420e-b3bc-af43d457be6f","name":"Dustin Wisoky","email":"janick79@example.com","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-9d92-43b1-b5c4-53ad3754a9ad","name":"Francisca Hyatt","email":"ljenkins@example.com","phone":null,"role":"user","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null},{"id":"9cb402fb-4168-4929-b35e-76274548250d","name":"Dorian Powlowski","email":"mwilkinson@example.net","phone":null,"role":"admin","email_verified_at":"2024-08-06T18:39:40.000000Z","is_active":true,"is_verified":false,"signup_type":"user","social_id":null,"created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","deleted_at":null}],"first_page_url":"http:\/\/localhost\/api\/v1\/users?page=1","from":1,"last_page":10,"last_page_url":"http:\/\/localhost\/api\/v1\/users?page=10","links":[{"url":null,"label":"« Previous","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=1","label":"1","active":true},{"url":"http:\/\/localhost\/api\/v1\/users?page=2","label":"2","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=3","label":"3","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=4","label":"4","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=5","label":"5","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=6","label":"6","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=7","label":"7","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=8","label":"8","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=9","label":"9","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=10","label":"10","active":false},{"url":"http:\/\/localhost\/api\/v1\/users?page=2","label":"Next »","active":false}],"next_page_url":"http:\/\/localhost\/api\/v1\/users?page=2","path":"http:\/\/localhost\/api\/v1\/users","per_page":15,"prev_page_url":null,"to":15,"total":149}}' headers: cache-control: 'no-cache, private' content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '54' access-control-allow-origin: '*' description: null custom: [] @@ -723,7 +815,7 @@ endpoints: - httpMethods: - POST - uri: api/v1/features + uri: api/v1/users metadata: groupName: Endpoints groupDescription: '' @@ -740,28 +832,8 @@ endpoints: cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] - bodyParameters: - feature: - name: feature - description: '' - required: true - example: modi - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - description: - name: description - description: 'Must not be greater than 255 characters.' - required: false - example: 'Modi voluptatibus hic enim.' - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - cleanBodyParameters: - feature: modi - description: 'Modi voluptatibus hic enim.' + bodyParameters: [] + cleanBodyParameters: [] fileParameters: [] responses: [] responseFields: [] @@ -773,7 +845,7 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/features/{id}' + uri: 'api/v1/users/{id}' metadata: groupName: Endpoints groupDescription: '' @@ -789,15 +861,15 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the feature.' + description: 'The ID of the user.' required: true - example: itaque + example: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 type: string enumValues: [] exampleWasSpecified: false custom: [] cleanUrlParameters: - id: itaque + id: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -805,11 +877,13 @@ endpoints: fileParameters: [] responses: - - status: 401 - content: '{"message":"Unauthenticated."}' + status: 200 + content: '{"id":"9cb402e5-e983-4696-9bc4-74d7bfc255a1","name":"Super Admin","email":"bulldozeradmin@hng.com","phone":null,"role":"admin","email_verified_at":null,"is_active":true,"is_verified":true,"signup_type":"Token","social_id":null,"created_at":"2024-08-06T18:39:26.000000Z","updated_at":"2024-08-06T18:39:26.000000Z","deleted_at":null,"profile":{"profile_id":"9cb402e5-f584-4727-af8d-d3e561978279","user_id":"9cb402e5-e983-4696-9bc4-74d7bfc255a1","first_name":"Super","last_name":"Admin","job_title":"Super Admin","pronoun":null,"bio":"Super Admin bio","avatar_url":null,"display_image":null,"created_at":"2024-08-06T18:39:26.000000Z","updated_at":"2024-08-06T18:39:26.000000Z"},"products":[],"organisations":[]}' headers: cache-control: 'no-cache, private' content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '53' access-control-allow-origin: '*' description: null custom: [] @@ -823,7 +897,7 @@ endpoints: httpMethods: - PUT - PATCH - uri: 'api/v1/features/{id}' + uri: 'api/v1/users/{id}' metadata: groupName: Endpoints groupDescription: '' @@ -839,19 +913,68 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the feature.' + description: 'The ID of the user.' required: true - example: qui + example: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 type: string enumValues: [] exampleWasSpecified: false custom: [] cleanUrlParameters: - id: qui + id: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 queryParameters: [] cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] + bodyParameters: + name: + name: name + description: '' + required: false + example: deserunt + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + first_name: + name: first_name + description: 'Must not be greater than 255 characters.' + required: false + example: e + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + last_name: + name: last_name + description: 'Must not be greater than 255 characters.' + required: false + example: raduppterqexmk + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: '' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + phone: + name: phone + description: '' + required: false + example: quod + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: deserunt + first_name: e + last_name: raduppterqexmk + phone: quod fileParameters: [] responses: [] responseFields: [] @@ -863,7 +986,7 @@ endpoints: - httpMethods: - DELETE - uri: 'api/v1/features/{id}' + uri: 'api/v1/users/{id}' metadata: groupName: Endpoints groupDescription: '' @@ -879,15 +1002,15 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the feature.' + description: 'The ID of the user.' required: true - example: quia + example: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 type: string enumValues: [] exampleWasSpecified: false custom: [] cleanUrlParameters: - id: quia + id: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -903,13 +1026,13 @@ endpoints: - httpMethods: - GET - uri: api/v1/plans + uri: api/v1/jobs metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display a listing of the resource.' + title: '' description: '' authenticated: false custom: [] @@ -920,16 +1043,38 @@ endpoints: cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] + bodyParameters: + page: + name: page + description: 'Must be at least 1.' + required: false + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + size: + name: size + description: 'Must be at least 1.' + required: false + example: 86 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + page: 2 + size: 86 fileParameters: [] responses: - - status: 401 - content: '{"message":"Unauthenticated."}' + status: 200 + content: '{"message":"Job listings retrieved successfully.","data":[],"pagination":{"current_page":2,"total_pages":1,"page_size":86,"total_items":52}}' headers: cache-control: 'no-cache, private' content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '52' access-control-allow-origin: '*' description: null custom: [] @@ -941,14 +1086,14 @@ endpoints: custom: [] - httpMethods: - - POST - uri: api/v1/plans + - GET + uri: api/v1/jobs/search metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Store a newly created resource in storage.' + title: '' description: '' authenticated: false custom: [] @@ -960,85 +1105,50 @@ endpoints: queryParameters: [] cleanQueryParameters: [] bodyParameters: - name: - name: name - description: '' + query: + name: query + description: 'Must be at least 3 characters.' required: true - example: tenetur + example: sutvlocbquteeithkxitmyhnuvbrvwckogpwmnjfnukxtvqnsdmhbnxpwaisaiftwyn type: string enumValues: [] exampleWasSpecified: false custom: [] - duration: - name: duration - description: '' - required: true - example: yearly - type: string - enumValues: - - monthly - - yearly - exampleWasSpecified: false - custom: [] - price: - name: price - description: '' - required: true - example: 15 + page: + name: page + description: 'Must be at least 1.' + required: false + example: 82 type: integer enumValues: [] exampleWasSpecified: false custom: [] - description: - name: description - description: '' - required: true - example: 'Veniam accusamus sequi quam est modi soluta quia.' - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - features: - name: features - description: '' - required: true - example: - - [] - type: 'object[]' - enumValues: [] - exampleWasSpecified: false - custom: [] - 'features[].id': - name: 'features[].id' - description: 'Must be a valid UUID.' - required: true - example: 2f725c0c-e035-359c-98f9-aebee287982e - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - 'features[].status': - name: 'features[].status' - description: '' - required: true - example: '1' + size: + name: size + description: 'Must be at least 1.' + required: false + example: 64 type: integer - enumValues: - - '0' - - '1' + enumValues: [] exampleWasSpecified: false custom: [] cleanBodyParameters: - name: tenetur - duration: yearly - price: 15 - description: 'Veniam accusamus sequi quam est modi soluta quia.' - features: - - - id: 2f725c0c-e035-359c-98f9-aebee287982e - status: '1' + query: sutvlocbquteeithkxitmyhnuvbrvwckogpwmnjfnukxtvqnsdmhbnxpwaisaiftwyn + page: 82 + size: 64 fileParameters: [] - responses: [] + responses: + - + status: 200 + content: '{"message":"Job search results retrieved successfully.","data":[],"pagination":{"current_page":82,"total_pages":1,"page_size":64,"total_items":0}}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '51' + access-control-allow-origin: '*' + description: null + custom: [] responseFields: [] auth: [] controller: null @@ -1048,13 +1158,13 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/plans/{id}' + uri: 'api/v1/jobs/{id}' metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display the specified resource.' + title: '' description: '' authenticated: false custom: [] @@ -1064,15 +1174,15 @@ endpoints: urlParameters: id: name: id - description: 'The ID of the plan.' + description: 'The ID of the job.' required: true - example: nihil + example: 9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e type: string enumValues: [] exampleWasSpecified: false custom: [] cleanUrlParameters: - id: nihil + id: 9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -1080,11 +1190,13 @@ endpoints: fileParameters: [] responses: - - status: 401 - content: '{"message":"Unauthenticated."}' + status: 200 + content: '{"id":"9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e","created_at":"2024-08-06T18:39:27.000000Z","updated_at":"2024-08-06T18:39:27.000000Z","title":"Food Service Manager","description":"Repellat dolor quia cumque voluptatem vel. Non consequatur reprehenderit commodi impedit ut. Voluptate id debitis similique nam.","location":"Hammesfurt","deadline":null,"salary_range":"128744 per year","job_type":"Contract","job_mode":null,"company_name":null,"is_deleted":false}' headers: cache-control: 'no-cache, private' content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '50' access-control-allow-origin: '*' description: null custom: [] @@ -1096,79 +1208,39 @@ endpoints: custom: [] - httpMethods: - - PUT - - PATCH - uri: 'api/v1/plans/{id}' + - GET + uri: api/v1/products/categories metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Update the specified resource in storage.' + title: '' description: '' authenticated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the plan.' - required: true - example: ea - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - cleanUrlParameters: - id: ea + urlParameters: [] + cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] bodyParameters: [] cleanBodyParameters: [] fileParameters: [] - responses: [] - responseFields: [] - auth: [] - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/v1/plans/{id}' - metadata: - groupName: Endpoints - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: 'Remove the specified resource from storage.' - description: '' - authenticated: false - custom: [] - headers: - Content-Type: application/json - Accept: application/json - urlParameters: - id: - name: id - description: 'The ID of the plan.' - required: true - example: minima - type: string - enumValues: [] - exampleWasSpecified: false + responses: + - + status: 500 + content: '{"status_code":500,"error":{"code":"INTERNAL_SERVER_ERROR","message":"An unexpected error occurred while processing your request.","details":{"support_email":"support@example.com"}}}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '49' + access-control-allow-origin: '*' + description: null custom: [] - cleanUrlParameters: - id: minima - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: [] responseFields: [] auth: [] controller: null @@ -1177,14 +1249,14 @@ endpoints: custom: [] - httpMethods: - - POST - uri: api/v1/organisations + - GET + uri: api/v1/products/search metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Store a newly created resource in storage.' + title: '' description: '' authenticated: false custom: [] @@ -1198,87 +1270,91 @@ endpoints: bodyParameters: name: name: name - description: '' - required: true - example: praesentium - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - description: - name: description - description: '' + description: 'Must not be greater than 255 characters.' required: true - example: 'Asperiores eligendi sint et libero repellat perspiciatis suscipit harum.' + example: llcydxrrnsvk type: string enumValues: [] exampleWasSpecified: false custom: [] - email: - name: email - description: 'Must be a valid email address. Must not be greater than 255 characters.' - required: true - example: krystel05@example.com + category: + name: category + description: 'Must not be greater than 255 characters.' + required: false + example: rytxwnvfof type: string enumValues: [] exampleWasSpecified: false custom: [] - industry: - name: industry - description: '' - required: true - example: nihil - type: string + minPrice: + name: minPrice + description: 'Must be at least 0.' + required: false + example: 62 + type: number enumValues: [] exampleWasSpecified: false custom: [] - type: - name: type - description: '' - required: true - example: sed - type: string + maxPrice: + name: maxPrice + description: 'Must be at least 0.' + required: false + example: 45 + type: number enumValues: [] exampleWasSpecified: false custom: [] - country: - name: country + status: + name: status description: '' - required: true - example: aut + required: false + example: low_on_stock type: string - enumValues: [] + enumValues: + - in_stock + - out_of_stock + - low_on_stock exampleWasSpecified: false custom: [] - address: - name: address - description: '' - required: true - example: repellendus - type: string + page: + name: page + description: 'Must be at least 1.' + required: false + example: 60 + type: integer enumValues: [] exampleWasSpecified: false custom: [] - state: - name: state - description: '' - required: true - example: iusto - type: string + limit: + name: limit + description: 'Must be at least 1. Must not be greater than 100.' + required: false + example: 20 + type: integer enumValues: [] exampleWasSpecified: false custom: [] cleanBodyParameters: - name: praesentium - description: 'Asperiores eligendi sint et libero repellat perspiciatis suscipit harum.' - email: krystel05@example.com - industry: nihil - type: sed - country: aut - address: repellendus - state: iusto + name: llcydxrrnsvk + category: rytxwnvfof + minPrice: 62 + maxPrice: 45 + status: low_on_stock + page: 60 + limit: 20 fileParameters: [] - responses: [] + responses: + - + status: 200 + content: '{"success":true,"products":[],"pagination":{"totalItems":0,"totalPages":1,"currentPage":60,"perPage":20},"status_code":200}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '48' + access-control-allow-origin: '*' + description: null + custom: [] responseFields: [] auth: [] controller: null @@ -1288,7 +1364,7 @@ endpoints: - httpMethods: - GET - uri: api/v1/organisations + uri: api/v1/products metadata: groupName: Endpoints groupDescription: '' @@ -1310,13 +1386,13 @@ endpoints: fileParameters: [] responses: - - status: 401 - content: '{"status":"Unauthorized","message":"User not authenticated","status_code":401}' + status: 200 + content: '{"success":true,"message":"Products retrieved successfully","products":[{"name":"ad''s product","price":"738.30","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/002222?text=laborum","description":"Consequatur consequatur soluta ut sunt a ut aspernatur. Consectetur deleniti iusto ut eum at aut. Aliquam recusandae iure quia similique vitae aut.","product_id":"9cb402e7-36c2-4a1d-9d19-b04efe6ae83d","quantity":"78","category":[],"stock":48,"status":"low_on_stock","date_added":"2024-08-06T18:39:27.000000Z"},{"name":"sit''s product","price":"706.17","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/003333?text=aut","description":"Illum voluptas minus cumque pariatur ea. Laudantium rerum et quo beatae suscipit debitis ut. Nihil eligendi non eligendi autem dolorum. Dolorem rerum hic et iste voluptas voluptatem.","product_id":"9cb402e7-39b4-46f4-b1f3-4ac102280b61","quantity":"59","category":[],"stock":33,"status":"low_on_stock","date_added":"2024-08-06T18:39:27.000000Z"},{"name":"qui''s product","price":"352.28","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/008822?text=dolor","description":"Numquam fuga qui non omnis dolor aperiam accusantium tempore. Adipisci consectetur omnis est expedita nam pariatur. Necessitatibus et enim facilis earum consequatur.","product_id":"9cb402e7-508d-4a1d-984f-853dd1fd1633","quantity":"44","category":[],"stock":1,"status":"out_of_stock","date_added":"2024-08-06T18:39:27.000000Z"},{"name":"earum''s product","price":"44.92","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/001166?text=illo","description":"Sunt eaque accusamus voluptate aut. Perspiciatis exercitationem reprehenderit voluptatibus laboriosam maxime dolore recusandae iste. Et sed et perspiciatis soluta.","product_id":"9cb402e7-522e-49b8-8fba-a95935c16aa3","quantity":"32","category":[],"stock":83,"status":"out_of_stock","date_added":"2024-08-06T18:39:27.000000Z"},{"name":"soluta''s product","price":"498.42","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/005500?text=blanditiis","description":"Molestias a voluptatem consequatur enim et. Consectetur sapiente consequatur voluptas beatae asperiores dicta autem.","product_id":"9cb402fb-a8f1-4761-a035-2ba9042ec2ba","quantity":"23","category":[],"stock":41,"status":"in_stock","date_added":"2024-08-06T18:39:40.000000Z"},{"name":"aperiam''s product","price":"362.32","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/00ee22?text=architecto","description":"Perspiciatis quia ut eos ratione. Culpa amet voluptas aliquid suscipit debitis rerum error. Nulla harum cum dolores sint est omnis asperiores. Nam et eum est alias reiciendis corrupti non.","product_id":"9cb402fb-aa66-4413-bbee-81530272f256","quantity":"62","category":[],"stock":24,"status":"low_on_stock","date_added":"2024-08-06T18:39:40.000000Z"},{"name":"illum''s product","price":"586.54","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/005555?text=rem","description":"Voluptatibus et maxime pariatur reiciendis. Voluptates labore aperiam voluptatum quis earum odit. Recusandae impedit id error rem voluptatem ad vitae.","product_id":"9cb402fb-abcc-467b-bc18-f464ca010d45","quantity":"18","category":[],"stock":75,"status":"in_stock","date_added":"2024-08-06T18:39:40.000000Z"},{"name":"dolore''s product","price":"631.88","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/00bb88?text=facere","description":"Architecto consequuntur quo commodi aperiam ea rem aperiam sapiente. Vel sapiente non et voluptatem rerum. Optio accusantium quidem id iusto sunt.","product_id":"9cb402fb-ad2b-404d-8220-72c0eacf8b5d","quantity":"68","category":[],"stock":21,"status":"in_stock","date_added":"2024-08-06T18:39:40.000000Z"},{"name":"ut''s product","price":"315.79","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/00cc44?text=et","description":"Ducimus ipsum facere et cum sed eum. Non minima eaque maiores nemo ut. Ut enim quia dolor expedita. Consectetur molestiae quia eaque. Blanditiis qui ut amet.","product_id":"9cb402fb-ae80-4466-8a43-a8e977a8a597","quantity":"44","category":[],"stock":24,"status":"low_on_stock","date_added":"2024-08-06T18:39:40.000000Z"}],"pagination":{"totalItems":9,"totalPages":1,"currentPage":1},"status_code":200}' headers: cache-control: 'no-cache, private' content-type: application/json x-ratelimit-limit: '60' - x-ratelimit-remaining: '53' + x-ratelimit-remaining: '47' access-control-allow-origin: '*' description: null custom: [] @@ -1328,14 +1404,14 @@ endpoints: custom: [] - httpMethods: - - DELETE - uri: 'api/v1/organisations/{org_id}/users/{user_id}' + - GET + uri: 'api/v1/products/{product_id}' metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: '' + title: 'Display the specified resource.' description: '' authenticated: false custom: [] @@ -1343,33 +1419,34 @@ endpoints: Content-Type: application/json Accept: application/json urlParameters: - org_id: - name: org_id - description: 'The ID of the org.' - required: true - example: qui - type: string - enumValues: [] - exampleWasSpecified: false - custom: [] - user_id: - name: user_id - description: 'The ID of the user.' + product_id: + name: product_id + description: 'The ID of the product.' required: true - example: et + example: 9cb402e7-36c2-4a1d-9d19-b04efe6ae83d type: string enumValues: [] exampleWasSpecified: false custom: [] cleanUrlParameters: - org_id: qui - user_id: et + product_id: 9cb402e7-36c2-4a1d-9d19-b04efe6ae83d queryParameters: [] cleanQueryParameters: [] bodyParameters: [] cleanBodyParameters: [] fileParameters: [] - responses: [] + responses: + - + status: 200 + content: '{"status":"success","message":"Product retrieve ","status_code":200,"data":{"product_id":"9cb402e7-36c2-4a1d-9d19-b04efe6ae83d","name":"ad''s product","description":"Consequatur consequatur soluta ut sunt a ut aspernatur. Consectetur deleniti iusto ut eum at aut. Aliquam recusandae iure quia similique vitae aut.","price":"738.30","imageUrl":"https:\/\/via.placeholder.com\/640x480.png\/002222?text=laborum","sock":"78","date_added":"2024-08-06T18:39:27.000000Z","category":[]}}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '46' + access-control-allow-origin: '*' + description: null + custom: [] responseFields: [] auth: [] controller: null @@ -1379,7 +1456,7 @@ endpoints: - httpMethods: - GET - uri: api/v1/customers + uri: api/v1/billing-plans metadata: groupName: Endpoints groupDescription: '' @@ -1396,36 +1473,18 @@ endpoints: cleanUrlParameters: [] queryParameters: [] cleanQueryParameters: [] - bodyParameters: - limit: - name: limit - description: 'Must be at least 1.' - required: true - example: 63 - type: integer - enumValues: [] - exampleWasSpecified: false - custom: [] - page: - name: page - description: 'Must be at least 1.' - required: true - example: 34 - type: integer - enumValues: [] - exampleWasSpecified: false - custom: [] - cleanBodyParameters: - limit: 63 - page: 34 + bodyParameters: [] + cleanBodyParameters: [] fileParameters: [] responses: - - status: 401 - content: '{"message":"Unauthenticated."}' + status: 200 + content: '{"status":200,"message":"Billing plans retrieved successfully","data":[{"id":"9cb402fb-6a92-4de4-a230-de1dfd5dcbfb","name":"premium","price":1524,"created_at":"2024-08-06T18:39:40.000000Z"},{"id":"256d949b-1ec0-4b46-9045-664acf39f5ab","name":"Free","price":0,"created_at":"2024-08-06T18:39:40.000000Z"},{"id":"49ff2db3-5ba8-4280-84c9-05037fb63ac6","name":"Basic","price":20,"created_at":"2024-08-06T18:39:40.000000Z"},{"id":"889817cd-4f22-4671-a494-4eb29bdfa6cc","name":"Advanced","price":50,"created_at":"2024-08-06T18:39:40.000000Z"},{"id":"bfba079f-bed7-4e63-ab3c-686dd9d3f6a5","name":"Premium","price":100,"created_at":"2024-08-06T18:39:40.000000Z"}]}' headers: cache-control: 'no-cache, private' content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '45' access-control-allow-origin: '*' description: null custom: [] @@ -1437,38 +1496,49 @@ endpoints: custom: [] - httpMethods: - - POST - uri: api/v1/testimonials + - GET + uri: 'api/v1/billing-plans/{id}' metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Store a newly created resource in storage.' + title: 'Display the specified resource.' description: '' authenticated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: [] - cleanUrlParameters: [] - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - content: - name: content - description: '' + urlParameters: + id: + name: id + description: 'The ID of the billing plan.' required: true - example: sit + example: enim type: string enumValues: [] exampleWasSpecified: false custom: [] - cleanBodyParameters: - content: sit + cleanUrlParameters: + id: enim + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] fileParameters: [] - responses: [] + responses: + - + status: 500 + content: '{"status":500,"message":"Internal server error"}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '44' + access-control-allow-origin: '*' + description: null + custom: [] responseFields: [] auth: [] controller: null @@ -1478,31 +1548,5055 @@ endpoints: - httpMethods: - GET - uri: 'api/v1/testimonials/{testimonial_id}' + uri: api/v1/topics/search metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display the specified resource.' + title: '' description: '' authenticated: false custom: [] headers: Content-Type: application/json Accept: application/json - urlParameters: + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 400 + content: '{"success":false,"message":"Title query parameter is required","status_code":400}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '10' + x-ratelimit-remaining: '9' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/organizations/{org_id}/products' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: multipart/form-data + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: voluptatem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: voluptatem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must not be greater than 255 characters.' + required: true + example: jqwhnsjufxbbndcjgwgqirh + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: true + example: 'Eos veniam et exercitationem beatae similique.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + category: + name: category + description: 'Must be a valid UUID.' + required: true + example: 8cd85132-ed44-3864-84e3-1cc9403bf864 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + price: + name: price + description: '' + required: true + example: 5475336.7 + type: number + enumValues: [] + exampleWasSpecified: false + custom: [] + stock: + name: stock + description: '' + required: true + example: 2 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + image: + name: image + description: 'Must be an image. Must not be greater than 1024 kilobytes.' + required: true + example: null + type: file + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: jqwhnsjufxbbndcjgwgqirh + description: 'Eos veniam et exercitationem beatae similique.' + category: 8cd85132-ed44-3864-84e3-1cc9403bf864 + price: 5475336.7 + stock: 2 + fileParameters: + image: null + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/organizations/{org_id}/products/{product_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: quas + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + product_id: + name: product_id + description: 'The ID of the product.' + required: true + example: 9cb402e7-36c2-4a1d-9d19-b04efe6ae83d + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: quas + product_id: 9cb402e7-36c2-4a1d-9d19-b04efe6ae83d + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: 'Must not be greater than 255 characters.' + required: false + example: akyedjhcihdogqejv + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: false + example: 'Quasi nemo enim provident maxime omnis aliquid et porro.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + price: + name: price + description: 'Must be at least 0.' + required: false + example: 10 + type: number + enumValues: [] + exampleWasSpecified: false + custom: [] + stock: + name: stock + description: 'Must be at least 0.' + required: false + example: 53 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + image: + name: image + description: 'Must be a valid URL.' + required: false + example: 'http://www.sauer.com/aut-omnis-nulla-dicta-id-incidunt-sit.html' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + is_archived: + name: is_archived + description: '' + required: false + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + productsVariant: + name: productsVariant + description: '' + required: true + example: + - [] + type: 'object[]' + enumValues: [] + exampleWasSpecified: false + custom: [] + 'productsVariant[].size_id': + name: 'productsVariant[].size_id' + description: 'Must be a valid UUID.' + required: true + example: debe7c41-53c9-304a-a612-8a61baa948cc + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + 'productsVariant[].stock': + name: 'productsVariant[].stock' + description: 'Must be at least 0.' + required: true + example: 84 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + 'productsVariant[].price': + name: 'productsVariant[].price' + description: 'Must be at least 0.' + required: true + example: 40 + type: number + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: akyedjhcihdogqejv + description: 'Quasi nemo enim provident maxime omnis aliquid et porro.' + price: 10 + stock: 53 + image: 'http://www.sauer.com/aut-omnis-nulla-dicta-id-incidunt-sit.html' + is_archived: false + productsVariant: + - + size_id: debe7c41-53c9-304a-a612-8a61baa948cc + stock: 84 + price: 40 + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/products/{productId}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + productId: + name: productId + description: '' + required: true + example: 9cb402e7-36c2-4a1d-9d19-b04efe6ae83d + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + productId: 9cb402e7-36c2-4a1d-9d19-b04efe6ae83d + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/blogs/{blogId}/comments' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + blogId: + name: blogId + description: '' + required: true + example: sed + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + blogId: sed + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/comments/{commentId}/reply' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + commentId: + name: commentId + description: '' + required: true + example: quidem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + commentId: quidem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/comments/{commentId}/like' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + commentId: + name: commentId + description: '' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + commentId: ut + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/comments/{commentId}/dislike' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + commentId: + name: commentId + description: '' + required: true + example: consequatur + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + commentId: consequatur + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/comments/edit/{commentId}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + commentId: + name: commentId + description: '' + required: true + example: sunt + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + commentId: sunt + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/comments/{commentId}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + commentId: + name: commentId + description: '' + required: true + example: minus + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + commentId: minus + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/blogs/{blogId}/comments' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + blogId: + name: blogId + description: '' + required: true + example: in + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + blogId: in + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/help-center/topics/search + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must be at least 3 characters.' + required: true + example: iowyfnqddhjanetnxx + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: iowyfnqddhjanetnxx + fileParameters: [] + responses: + - + status: 200 + content: '{"success":true,"message":"Articles retrieved successfully.","status_code":200,"topics":[{"article_id":"b368979f-e7ed-46eb-b5c4-44a06dbe0e76","title":"How to reset your password","content":"To reset your password, follow these steps...","user_id":"9cb402e7-4131-4e7d-a381-5bc2d5db4ce3","author":" "},{"article_id":"703c6521-7d6c-48e8-93e2-01d5378a064d","title":"How to update your profile","content":"To update your profile, go to the settings page...","user_id":"9cb402e7-32e0-421d-b0f1-afd95021228b","author":" "},{"article_id":"93f1edb5-154f-4c4f-9ff1-a83b6bc6f638","title":"How to delete your account","content":"To delete your account, please contact support...","user_id":"9cb402e7-8006-4a16-a911-40fb1787ec6b","author":" "}]}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '42' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/inquiries + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: sunt + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: 'Must be a valid email address.' + required: true + example: mlindgren@example.com + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + message: + name: message + description: '' + required: true + example: sint + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: sunt + email: mlindgren@example.com + message: sint + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/inquiries + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"status_code":200,"message":"Inquiries returned successfully","data":[]}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '41' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/blogs/latest + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"count":4,"next":null,"previous":null,"results":[{"id":"71eb8a33-c1ef-4526-9c13-0e57e84e3454","title":"Maiores nulla quis qui aut id iusto voluptatibus.","content":"Unde nihil vel perspiciatis tempore beatae. Iusto velit amet ipsa dolores. Ab eos quis rerum ipsa dolorum. Cumque eos velit est voluptatem.\n\nQui qui magni iure delectus expedita quibusdam. Consectetur sit sit accusantium enim dolore ut. Aspernatur omnis ipsum voluptatibus amet tempore fugiat.\n\nId nihil autem iusto maxime sed ipsa repudiandae. Iusto eligendi ipsam dolor minus corporis. Expedita maxime suscipit soluta excepturi eum facere.","author":"Dorian Powlowski","created_at":"2024-08-06T18:39:40.000000Z","category":"World News","image_url":"storage\/images\/MTm0TdKKdV.jpg"},{"id":"4beb4480-9a7e-4d40-9913-2222c0d4000a","title":"Et dolores qui et quod qui a.","content":"Deserunt voluptatem pariatur aut explicabo voluptas sapiente alias similique. Quos necessitatibus est facere et voluptatibus mollitia sint est. Accusantium dicta adipisci est eum enim ut ratione. Nostrum mollitia tempora repellendus voluptatibus.\n\nVoluptas nulla ut voluptatem et quo. Deserunt cumque odio ipsam sapiente velit inventore. Porro consectetur qui et est occaecati.\n\nDeserunt est voluptate et aut neque quis praesentium. Maiores ut ex eaque et illum. Rerum aperiam illum sit. Architecto dolorem provident accusamus illum perspiciatis non.","author":"Ilene Klein","created_at":"2024-08-06T18:39:38.000000Z","category":"Lifestyle","image_url":"storage\/images\/BzVOnNLQ89.jpg"},{"id":"bf6252d8-1ae7-4fac-bbe1-533a4d5d49ba","title":"Culpa quis repellat consequuntur explicabo autem aspernatur debitis.","content":"Asperiores officia fuga et quas. Et adipisci exercitationem et aut a quasi. Vel voluptas ad consectetur hic accusantium ut voluptatem.\n\nReprehenderit sed nostrum facilis sit quia. Et voluptates voluptatum consectetur est unde. Vitae necessitatibus optio voluptatem cum.\n\nQuo eligendi nihil laborum atque doloremque sunt. Ea voluptates eius dolores quis quisquam dolorem fuga. Modi sapiente expedita dignissimos et.","author":"Mina Schimmel","created_at":"2024-08-06T18:39:35.000000Z","category":"Food","image_url":"storage\/images\/BCYawtsLx6.jpg"},{"id":"fad7d874-61f9-40f0-ad3e-8bafdc6daf7b","title":"Ut odio ipsam illo vel fuga.","content":"Et quidem culpa culpa vel quam velit. Velit numquam aspernatur vero quis iure expedita. Dicta quia facere consectetur.\n\nVoluptatem eos dolorem aut reprehenderit numquam. Quis ut doloribus quo quasi voluptatem vero officiis sunt. Voluptate a eum ut. Tempore facere ducimus corporis accusamus aspernatur et.\n\nRerum quis modi quia. Sit voluptate et similique ea quia. Et non magni atque quia molestiae. Ratione velit perferendis quos vitae.","author":"Rafael Schowalter","created_at":"2024-08-06T18:39:32.000000Z","category":"Business","image_url":"storage\/images\/QZsSJjeCnS.jpg"}],"status_code":200}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '40' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/blogs/search + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"current_page":1,"total_pages":1,"total_results":4,"blogs":[{"id":"fad7d874-61f9-40f0-ad3e-8bafdc6daf7b","content":"Et quidem culpa culpa vel quam velit. Velit numquam aspernatur vero quis iure expedita. Dicta quia facere consectetur.\n\nVoluptatem eos dolorem aut reprehenderit numquam. Quis ut doloribus quo quasi voluptatem vero officiis sunt. Voluptate a eum ut. Tempore facere ducimus corporis accusamus aspernatur et.\n\nRerum quis modi quia. Sit voluptate et similique ea quia. Et non magni atque quia molestiae. Ratione velit perferendis quos vitae.","author":"Rafael Schowalter","created_at":"2024-08-06T18:39:32.000000Z","updated_at":"2024-08-06T18:39:32.000000Z","title":"Ut odio ipsam illo vel fuga.","deleted_at":null,"category":"Business","image_url":"storage\/images\/QZsSJjeCnS.jpg","author_id":"9cb402ef-36e7-459b-9f23-ef9c9f105ca9"},{"id":"bf6252d8-1ae7-4fac-bbe1-533a4d5d49ba","content":"Asperiores officia fuga et quas. Et adipisci exercitationem et aut a quasi. Vel voluptas ad consectetur hic accusantium ut voluptatem.\n\nReprehenderit sed nostrum facilis sit quia. Et voluptates voluptatum consectetur est unde. Vitae necessitatibus optio voluptatem cum.\n\nQuo eligendi nihil laborum atque doloremque sunt. Ea voluptates eius dolores quis quisquam dolorem fuga. Modi sapiente expedita dignissimos et.","author":"Mina Schimmel","created_at":"2024-08-06T18:39:35.000000Z","updated_at":"2024-08-06T18:39:35.000000Z","title":"Culpa quis repellat consequuntur explicabo autem aspernatur debitis.","deleted_at":null,"category":"Food","image_url":"storage\/images\/BCYawtsLx6.jpg","author_id":"9cb402f4-1294-408f-ba03-f763631af8fb"},{"id":"4beb4480-9a7e-4d40-9913-2222c0d4000a","content":"Deserunt voluptatem pariatur aut explicabo voluptas sapiente alias similique. Quos necessitatibus est facere et voluptatibus mollitia sint est. Accusantium dicta adipisci est eum enim ut ratione. Nostrum mollitia tempora repellendus voluptatibus.\n\nVoluptas nulla ut voluptatem et quo. Deserunt cumque odio ipsam sapiente velit inventore. Porro consectetur qui et est occaecati.\n\nDeserunt est voluptate et aut neque quis praesentium. Maiores ut ex eaque et illum. Rerum aperiam illum sit. Architecto dolorem provident accusamus illum perspiciatis non.","author":"Ilene Klein","created_at":"2024-08-06T18:39:38.000000Z","updated_at":"2024-08-06T18:39:38.000000Z","title":"Et dolores qui et quod qui a.","deleted_at":null,"category":"Lifestyle","image_url":"storage\/images\/BzVOnNLQ89.jpg","author_id":"9cb402f7-f864-4d13-bd34-f90e3d1d02eb"},{"id":"71eb8a33-c1ef-4526-9c13-0e57e84e3454","content":"Unde nihil vel perspiciatis tempore beatae. Iusto velit amet ipsa dolores. Ab eos quis rerum ipsa dolorum. Cumque eos velit est voluptatem.\n\nQui qui magni iure delectus expedita quibusdam. Consectetur sit sit accusantium enim dolore ut. Aspernatur omnis ipsum voluptatibus amet tempore fugiat.\n\nId nihil autem iusto maxime sed ipsa repudiandae. Iusto eligendi ipsam dolor minus corporis. Expedita maxime suscipit soluta excepturi eum facere.","author":"Dorian Powlowski","created_at":"2024-08-06T18:39:40.000000Z","updated_at":"2024-08-06T18:39:40.000000Z","title":"Maiores nulla quis qui aut id iusto voluptatibus.","deleted_at":null,"category":"World News","image_url":"storage\/images\/MTm0TdKKdV.jpg","author_id":"9cb402fb-4168-4929-b35e-76274548250d"}],"meta":{"has_next":false,"total":4,"next_page":null,"prev_page":null}}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '39' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/squeeze + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/cookies/preferences + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + user_id: + name: user_id + description: 'Must be a valid UUID.' + required: true + example: bc77e811-b4ae-398f-9a17-56f183295eb8 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + preferences: + name: preferences + description: '' + required: true + example: [] + type: object + enumValues: [] + exampleWasSpecified: false + custom: [] + preferences.analytics_cookies: + name: preferences.analytics_cookies + description: '' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + preferences.marketing_cookies: + name: preferences.marketing_cookies + description: '' + required: false + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + preferences.functional_cookies: + name: preferences.functional_cookies + description: '' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + user_id: bc77e811-b4ae-398f-9a17-56f183295eb8 + preferences: + analytics_cookies: true + marketing_cookies: false + functional_cookies: true + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/cookies/preferences + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + user_id: + name: user_id + description: 'Must be a valid UUID.' + required: true + example: 02b991df-70d5-3526-8993-ed447143e8ae + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + user_id: 02b991df-70d5-3526-8993-ed447143e8ae + fileParameters: [] + responses: + - + status: 400 + content: '{"status_code":400,"success":false,"message":"Invalid user ID.","errors":{"user_id":["The selected user id is invalid."]}}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '38' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/help-center/topics + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + user_id: + name: user_id + description: 'Must be a valid UUID.' + required: true + example: f292a1a0-b13c-3acd-833b-919ca253633a + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + title: + name: title + description: 'Must not be greater than 255 characters.' + required: true + example: xayutfbnlgazrdlnjnic + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + content: + name: content + description: '' + required: true + example: dolore + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + user_id: f292a1a0-b13c-3acd-833b-919ca253633a + title: xayutfbnlgazrdlnjnic + content: dolore + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/help-center/topics/{articleId}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + articleId: + name: articleId + description: '' + required: true + example: qui + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + articleId: qui + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must not be greater than 255 characters.' + required: false + example: rncvoschgdujobtvzclefjkg + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + content: + name: content + description: '' + required: false + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: rncvoschgdujobtvzclefjkg + content: ut + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/help-center/topics/{articleId}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + articleId: + name: articleId + description: '' + required: true + example: voluptatem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + articleId: voluptatem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/help-center/topics + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: + page: + name: page + description: 'Must be at least 1.' + required: false + example: 67 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + size: + name: size + description: 'Must be at least 1. Must not be greater than 100.' + required: false + example: 17 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + category: + name: category + description: '' + required: false + example: 11 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + search: + name: search + description: 'Must be at least 3 characters.' + required: false + example: wvahczchgfcoxknkfnlfywpkxpumbrnayvyivqyfaooztjcpdreaiqtrsnxdzafiblyvn + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanQueryParameters: + page: 67 + size: 17 + category: 11 + search: wvahczchgfcoxknkfnlfywpkxpumbrnayvyivqyfaooztjcpdreaiqtrsnxdzafiblyvn + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 500 + content: '{"status_code":500,"success":false,"message":"Failed to retrieve help articles. Please try again later.","error":"SQLSTATE[42703]: Undefined column: 7 ERROR: column \"category\" does not exist\nLINE 1: ...le\"::text like $1 or \"content\"::text like $2) and \"category\"...\n ^ (Connection: pgsql, SQL: select count(*) as aggregate from \"articles\" where (\"title\"::text like %wvahczchgfcoxknkfnlfywpkxpumbrnayvyivqyfaooztjcpdreaiqtrsnxdzafiblyvn% or \"content\"::text like %wvahczchgfcoxknkfnlfywpkxpumbrnayvyivqyfaooztjcpdreaiqtrsnxdzafiblyvn%) and \"category\" = 11)"}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '37' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/email-templates + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a paginated list of email templates.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: + page: + name: page + description: 'Must be at least 1.' + required: false + example: 25 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + limit: + name: limit + description: 'Must be at least 1. Must not be greater than 100.' + required: false + example: 3 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanQueryParameters: + page: 25 + limit: 3 + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/email-templates + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must not be greater than 255 characters.' + required: true + example: rokyiiozy + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + template: + name: template + description: '' + required: true + example: commodi + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + status: + name: status + description: '' + required: true + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: rokyiiozy + template: commodi + status: false + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/email-templates/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the email template.' + required: true + example: eum + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: eum + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must not be greater than 255 characters.' + required: false + example: rvmkiteyrksfyrwtpkompiwjc + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + template: + name: template + description: '' + required: false + example: labore + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + status: + name: status + description: '' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: rvmkiteyrksfyrwtpkompiwjc + template: labore + status: true + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/email-templates/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the email template.' + required: true + example: suscipit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: suscipit + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/invitations/generate + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Generate and store an invitation with email validation.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + org_id: + name: org_id + description: '' + required: true + example: dolorem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: 'Must be a valid email address.' + required: true + example: zieme.travis@example.org + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + org_id: dolorem + email: zieme.travis@example.org + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/invite/accept + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Handle GET request to accept an invitation.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 400 + content: '{"message":"Invalid or expired invitation link","errors":["Invalid invitation link format","Expired invitation link","Organization not found"],"status_code":400}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '36' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/invite + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Handle POST request to accept an invitation.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + invitation_link: + name: invitation_link + description: '' + required: true + example: cumque + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + invitation_link: cumque + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/features + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/features + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + feature: + name: feature + description: '' + required: true + example: sit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: 'Must not be greater than 255 characters.' + required: false + example: 'Omnis aut vitae voluptas itaque ipsa ut illo.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + feature: sit + description: 'Omnis aut vitae voluptas itaque ipsa ut illo.' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/features/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the feature.' + required: true + example: omnis + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: omnis + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/features/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the feature.' + required: true + example: voluptas + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: voluptas + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/features/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the feature.' + required: true + example: aut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: aut + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/plans + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/plans + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + duration: + name: duration + description: '' + required: true + example: yearly + type: string + enumValues: + - monthly + - yearly + exampleWasSpecified: false + custom: [] + price: + name: price + description: '' + required: true + example: 7 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: true + example: 'Ut est quasi ratione repudiandae excepturi neque eum.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + features: + name: features + description: '' + required: true + example: + - [] + type: 'object[]' + enumValues: [] + exampleWasSpecified: false + custom: [] + 'features[].id': + name: 'features[].id' + description: 'Must be a valid UUID.' + required: true + example: 3c5c02de-0921-3381-ae6f-7cae78f38e45 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + 'features[].status': + name: 'features[].status' + description: '' + required: true + example: '1' + type: integer + enumValues: + - '0' + - '1' + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: ut + duration: yearly + price: 7 + description: 'Ut est quasi ratione repudiandae excepturi neque eum.' + features: + - + id: 3c5c02de-0921-3381-ae6f-7cae78f38e45 + status: '1' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/plans/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the plan.' + required: true + example: assumenda + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: assumenda + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/plans/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the plan.' + required: true + example: est + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: est + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/plans/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the plan.' + required: true + example: et + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: et + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/payments/paystack + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + plan_id: + name: plan_id + description: "'organisation_id' => 'required',." + required: true + example: non + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + billing_option: + name: billing_option + description: '' + required: true + example: yearly + type: string + enumValues: + - monthly + - yearly + exampleWasSpecified: false + custom: [] + full_name: + name: full_name + description: '' + required: true + example: et + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + redirect_url: + name: redirect_url + description: 'Must be a valid URL.' + required: true + example: 'https://schroeder.com/magni-at-sint-delectus-error-quas-eveniet.html' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + plan_id: non + billing_option: yearly + full_name: et + redirect_url: 'https://schroeder.com/magni-at-sint-delectus-error-quas-eveniet.html' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/payments/paystack/verify/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the verify.' + required: true + example: expedita + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: expedita + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/payments/flutterwave + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + plan_id: + name: plan_id + description: "'organisation_id' => 'required',." + required: true + example: hic + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + billing_option: + name: billing_option + description: '' + required: true + example: monthly + type: string + enumValues: + - monthly + - yearly + exampleWasSpecified: false + custom: [] + full_name: + name: full_name + description: '' + required: true + example: corrupti + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + redirect_url: + name: redirect_url + description: 'Must be a valid URL.' + required: true + example: 'http://www.kemmer.com/animi-aut-reiciendis-officia-animi' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + plan_id: hic + billing_option: monthly + full_name: corrupti + redirect_url: 'http://www.kemmer.com/animi-aut-reiciendis-officia-animi' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/payments/flutterwave/verify/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the verify.' + required: true + example: voluptates + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: voluptates + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/payments/cancel + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/v1/users/plans/{user_subscription}/cancel' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'cancel user subscription' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + user_subscription: + name: user_subscription + description: '' + required: true + example: cupiditate + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + user_subscription: cupiditate + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/organizations + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: ex + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: true + example: 'Et iure fugit quos adipisci expedita recusandae corporis.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: 'Must be a valid email address. Must not be greater than 255 characters.' + required: true + example: goyette.shyanne@example.net + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + industry: + name: industry + description: '' + required: true + example: eius + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + type: + name: type + description: '' + required: true + example: debitis + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + country: + name: country + description: '' + required: true + example: et + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + address: + name: address + description: '' + required: true + example: velit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + state: + name: state + description: '' + required: true + example: nam + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: ex + description: 'Et iure fugit quos adipisci expedita recusandae corporis.' + email: goyette.shyanne@example.net + industry: eius + type: debitis + country: et + address: velit + state: nam + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/organizations + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/organizations/{org_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: ex + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: ex + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: et + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: true + example: 'In voluptatem reiciendis sint et.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: '' + required: false + example: null + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + industry: + name: industry + description: '' + required: true + example: magnam + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + type: + name: type + description: '' + required: true + example: aspernatur + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + country: + name: country + description: '' + required: true + example: cupiditate + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + address: + name: address + description: '' + required: true + example: unde + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + state: + name: state + description: '' + required: true + example: pariatur + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: et + description: 'In voluptatem reiciendis sint et.' + industry: magnam + type: aspernatur + country: cupiditate + address: unde + state: pariatur + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/organizations/{org_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: tenetur + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: tenetur + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/organizations/{org_id}/users/{user_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: provident + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + user_id: + name: user_id + description: 'The ID of the user.' + required: true + example: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: provident + user_id: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/organizations/{organisation}/users' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + organisation: + name: organisation + description: '' + required: true + example: rerum + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + organisation: rerum + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/members/{org_id}/search' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: voluptatem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: voluptatem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + org_id: + name: org_id + description: 'Must be a valid UUID.' + required: true + example: edac571b-969a-36d2-8ddf-df8baa2f2f84 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + org_id: edac571b-969a-36d2-8ddf-df8baa2f2f84 + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/members/{org_id}/export' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: fugit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: fugit + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/testimonials + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + content: + name: content + description: '' + required: true + example: commodi + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + content: commodi + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/testimonials/{testimonial_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: testimonial_id: name: testimonial_id description: 'The ID of the testimonial.' required: true - example: accusantium + example: neque + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + testimonial_id: neque + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/testimonials/{testimonial}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + testimonial: + name: testimonial + description: 'The testimonial.' + required: true + example: distinctio + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + testimonial: distinctio + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/jobs + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: '' + required: true + example: eum + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: true + example: 'Ut in fuga autem optio perferendis nihil nulla.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + location: + name: location + description: '' + required: true + example: illum + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + deadline: + name: deadline + description: 'Must be a valid date.' + required: true + example: '2024-08-07T03:57:11' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + salary_range: + name: salary_range + description: '' + required: true + example: eius + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + job_type: + name: job_type + description: '' + required: true + example: cupiditate + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + job_mode: + name: job_mode + description: '' + required: true + example: fugit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + experience_level: + name: experience_level + description: '' + required: false + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + company_name: + name: company_name + description: '' + required: false + example: tempore + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + key_responsibilities: + name: key_responsibilities + description: '' + required: false + example: sed + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + qualifications: + name: qualifications + description: '' + required: false + example: quod + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: eum + description: 'Ut in fuga autem optio perferendis nihil nulla.' + location: illum + deadline: '2024-08-07T03:57:11' + salary_range: eius + job_type: cupiditate + job_mode: fugit + experience_level: ut + company_name: tempore + key_responsibilities: sed + qualifications: quod + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/jobs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the job.' + required: true + example: 9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: 9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: '' + required: true + example: quisquam + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: true + example: 'Recusandae quis et voluptas enim cumque in.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + location: + name: location + description: '' + required: true + example: a + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + deadline: + name: deadline + description: 'Must be a valid date.' + required: true + example: '2024-08-07T03:57:11' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + salary_range: + name: salary_range + description: '' + required: true + example: nobis + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + job_type: + name: job_type + description: '' + required: true + example: velit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + job_mode: + name: job_mode + description: '' + required: true + example: cumque + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + experience_level: + name: experience_level + description: '' + required: false + example: quibusdam + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + benefits: + name: benefits + description: '' + required: false + example: qui + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + key_responsibilities: + name: key_responsibilities + description: '' + required: false + example: doloremque + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + qualifications: + name: qualifications + description: '' + required: false + example: quidem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: quisquam + description: 'Recusandae quis et voluptas enim cumque in.' + location: a + deadline: '2024-08-07T03:57:11' + salary_range: nobis + job_type: velit + job_mode: cumque + experience_level: quibusdam + benefits: qui + key_responsibilities: doloremque + qualifications: quidem + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/jobs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the job.' + required: true + example: 9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: 9cb402e7-79e4-46d5-9dbd-02b95ffa8d4e + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/user/export/{format}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + format: + name: format + description: '' + required: true + example: omnis + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + format: omnis + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: api/v1/accounts/deactivate + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + confirmation: + name: confirmation + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + reason: + name: reason + description: '' + required: false + example: facilis + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + confirmation: true + reason: facilis + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/organisations/{org_id}/roles/{role_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + role_id: + name: role_id + description: 'The ID of the role.' + required: true + example: nihil + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + role_id: nihil + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: 'Must not be greater than 255 characters.' + required: true + example: jsni + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + description: + name: description + description: '' + required: false + example: 'Omnis dolore eaque dolorem voluptatum et maxime explicabo quia.' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: jsni + description: 'Omnis dolore eaque dolorem voluptatum et maxime explicabo quia.' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/organisations/{org_id}/roles/{role_id}/disable' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + role_id: + name: role_id + description: 'The ID of the role.' + required: true + example: rem + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + role_id: rem + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + role_name: + name: role_name + description: 'Must not be greater than 255 characters.' + required: true + example: gravcsacqmjxsd + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + organisation_id: + name: organisation_id + description: 'Must not be greater than 255 characters.' + required: true + example: rptabzwnlyqjoubaojn + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + permissions_id: + name: permissions_id + description: '' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + role_name: gravcsacqmjxsd + organisation_id: rptabzwnlyqjoubaojn + permissions_id: ut + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/organisations/{org_id}/users/{user_id}/roles' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + user_id: + name: user_id + description: 'The ID of the user.' + required: true + example: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + user_id: 9cb402e5-e983-4696-9bc4-74d7bfc255a1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + role: + name: role + description: '' + required: true + example: sint + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + role: sint + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/organisations/{org_id}/{role_id}/permissions' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + org_id: + name: org_id + description: 'The ID of the org.' + required: true + example: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + role_id: + name: role_id + description: 'The ID of the role.' + required: true + example: amet + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + org_id: 1f1935bd-d9fb-3f47-929c-f9d453233ec4 + role_id: amet + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + permission_list: + name: permission_list + description: '' + required: true + example: [] + type: object + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + permission_list: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/password-update + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: updatePassword + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + old_password: + name: old_password + description: '' + required: true + example: aperiam + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + new_password: + name: new_password + description: 'Must match the regex /[A-Z]/. Must match the regex /[0-9]/. Must be at least 8 characters.' + required: true + example: pghnqugrihgfovgkanemrvjgilfjpxtunggicjzyfwiucwyjndxafqzi + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + old_password: aperiam + new_password: pghnqugrihgfovgkanemrvjgilfjpxtunggicjzyfwiucwyjndxafqzi + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: api/v1/profile + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + first_name: + name: first_name + description: 'Must not be greater than 255 characters.' + required: false + example: ysjmxhyztohbqetoeg + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + last_name: + name: last_name + description: 'Must not be greater than 255 characters.' + required: false + example: sofwjginlumdkzki + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + job_title: + name: job_title + description: 'Must not be greater than 255 characters.' + required: false + example: hblwmmejxcfb + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + pronoun: + name: pronoun + description: 'Must not be greater than 255 characters.' + required: false + example: qtpzfrbqxviyyeyyfb + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + bio: + name: bio + description: 'Must not be greater than 500 characters.' + required: false + example: nrzklbecstmy + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: 'Must be a valid email address. Must not be greater than 255 characters.' + required: false + example: easton26@example.net + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + avatar_url: + name: avatar_url + description: '' + required: false + example: 'http://www.satterfield.com/ea-iste-in-qui' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + display_image: + name: display_image + description: '' + required: false + example: dolor + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + first_name: ysjmxhyztohbqetoeg + last_name: sofwjginlumdkzki + job_title: hblwmmejxcfb + pronoun: qtpzfrbqxviyyeyyfb + bio: nrzklbecstmy + email: easton26@example.net + avatar_url: 'http://www.satterfield.com/ea-iste-in-qui' + display_image: dolor + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/profile/upload-image + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: multipart/form-data + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + file: + name: file + description: 'Must be an image.' + required: true + example: null + type: file + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: [] + fileParameters: + file: null + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/notification-settings + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 500 + content: |- + { + "message": "Server Error" + } + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '35' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: api/v1/notification-settings + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + mobile_push_notifications: + name: mobile_push_notifications + description: '' + required: true + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + email_notification_activity_in_workspace: + name: email_notification_activity_in_workspace + description: '' + required: true + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + email_notification_always_send_email_notifications: + name: email_notification_always_send_email_notifications + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + email_notification_email_digest: + name: email_notification_email_digest + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + email_notification_announcement_and_update_emails: + name: email_notification_announcement_and_update_emails + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + slack_notifications_activity_on_your_workspace: + name: slack_notifications_activity_on_your_workspace + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + slack_notifications_always_send_email_notifications: + name: slack_notifications_always_send_email_notifications + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + slack_notifications_announcement_and_update_emails: + name: slack_notifications_announcement_and_update_emails + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + mobile_push_notifications: false + email_notification_activity_in_workspace: false + email_notification_always_send_email_notifications: true + email_notification_email_digest: true + email_notification_announcement_and_update_emails: true + slack_notifications_activity_on_your_workspace: true + slack_notifications_always_send_email_notifications: true + slack_notifications_announcement_and_update_emails: true + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/customers + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + limit: + name: limit + description: 'Must be at least 1.' + required: true + example: 67 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + page: + name: page + description: 'Must be at least 1.' + required: true + example: 30 + type: integer + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + limit: 67 + page: 30 + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/blogs + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must not be greater than 255 characters.' + required: true + example: zqsjxmev + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + content: + name: content + description: '' + required: true + example: natus + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + image_url: + name: image_url + description: '' + required: true + example: quos + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + category: + name: category + description: 'Must not be greater than 255 characters.' + required: true + example: xdwzqghtxhcasmxiukiqohiu + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: zqsjxmev + content: natus + image_url: quos + category: xdwzqghtxhcasmxiukiqohiu + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/blogs/edit/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the edit.' + required: true + example: natus + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: natus + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/blogs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the blog.' + required: true + example: fad7d874-61f9-40f0-ad3e-8bafdc6daf7b + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: fad7d874-61f9-40f0-ad3e-8bafdc6daf7b + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/waitlists + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"status":"Unauthorized","message":"User not authenticated","status_code":401}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '34' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/waitlists + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: 'Must not be greater than 255 characters.' + required: true + example: uolgyfljuqbpf + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + email: + name: email + description: 'Must be a valid email address.' + required: true + example: kacey.cremin@example.org + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: uolgyfljuqbpf + email: kacey.cremin@example.org + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/faqs + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"status_code":200,"message":"Faq returned successfully","data":[{"id":"9cb402fc-99ed-49ea-b689-406c182835f1","question":"What is the return policy?","answer":"Our return policy allows you to return products within 30 days of purchase. The items must be in their original condition with all packaging and tags intact. For more details, visit our return policy page.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-9eb2-45f4-a594-ce4a0c0c5213","question":"How do I track my order?","answer":"Once your order has been shipped, you will receive an email with a tracking number. You can use this number on our website to track the status of your delivery.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-a0a2-4b03-8122-075ec2e9e899","question":"What payment methods are accepted?","answer":"We accept various payment methods including credit\/debit cards, PayPal, and bank transfers. For a full list of accepted payment methods, please visit our payment information page.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-a270-4999-8304-9d9fab8974d4","question":"How do I contact customer support?","answer":"You can contact our customer support team via email, phone, or live chat. Visit our contact us page for more information on how to reach us.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-a469-4f39-83c2-a195f39be260","question":"Are there any discounts for bulk purchases?","answer":"Yes, we offer discounts for bulk purchases. Please contact our sales team with your requirements, and we will provide you with a custom quote.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-a653-4ceb-9e0b-73ba302c438a","question":"How do I create an account?","answer":"Creating an account is easy. Click on the \"Sign Up\" button at the top of our website, and fill in your details. Once registered, you can enjoy a faster checkout process and keep track of your orders.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-a835-48d6-8454-baa5755e46d7","question":"What do I do if I receive a defective product?","answer":"If you receive a defective product, please contact our customer support team immediately. We will arrange for a replacement or a refund as per our return policy.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-a9fd-4b5f-ad1a-7ef9e3a49dc6","question":"Do you ship internationally?","answer":"Yes, we ship to many countries around the world. International shipping costs and delivery times vary based on your location. For more details, please visit our shipping information page.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"},{"id":"9cb402fc-abc6-4e6c-aea2-a97dd5a23d7a","question":"How can I apply a discount code?","answer":"You can apply a discount code at checkout. Enter the code in the designated field and click \"Apply\" to see the discount reflected in your order total.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"}]}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '33' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/faqs + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Store a newly created resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + question: + name: question + description: 'Must not be greater than 255 characters.' + required: true + example: mfyybkfdangsrh + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + answer: + name: answer + description: 'Must not be greater than 500 characters.' + required: true + example: qxnuetdrzosbln + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + question: mfyybkfdangsrh + answer: qxnuetdrzosbln + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/faqs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the faq.' + required: true + example: 9cb402fc-99ed-49ea-b689-406c182835f1 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: 9cb402fc-99ed-49ea-b689-406c182835f1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"status_code":200,"message":"Faq returned successfully","data":{"id":"9cb402fc-99ed-49ea-b689-406c182835f1","question":"What is the return policy?","answer":"Our return policy allows you to return products within 30 days of purchase. The items must be in their original condition with all packaging and tags intact. For more details, visit our return policy page.","status":true,"created_at":"2024-08-06T18:39:41.000000Z","updated_at":"2024-08-06T18:39:41.000000Z"}}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '32' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/faqs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the faq.' + required: true + example: 9cb402fc-99ed-49ea-b689-406c182835f1 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: 9cb402fc-99ed-49ea-b689-406c182835f1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + question: + name: question + description: 'Must not be greater than 255 characters.' + required: false + example: hxszodqapscivhfxiqrnb + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + answer: + name: answer + description: 'Must not be greater than 500 characters.' + required: false + example: twqoaxiztjxinigzcpvi + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + question: hxszodqapscivhfxiqrnb + answer: twqoaxiztjxinigzcpvi + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/faqs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the faq.' + required: true + example: 9cb402fc-99ed-49ea-b689-406c182835f1 + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: 9cb402fc-99ed-49ea-b689-406c182835f1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/blogs/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the blog.' + required: true + example: fad7d874-61f9-40f0-ad3e-8bafdc6daf7b + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: fad7d874-61f9-40f0-ad3e-8bafdc6daf7b + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"data":{"title":"Ut odio ipsam illo vel fuga.","category":"Business","content":"Et quidem culpa culpa vel quam velit. Velit numquam aspernatur vero quis iure expedita. Dicta quia facere consectetur.\n\nVoluptatem eos dolorem aut reprehenderit numquam. Quis ut doloribus quo quasi voluptatem vero officiis sunt. Voluptate a eum ut. Tempore facere ducimus corporis accusamus aspernatur et.\n\nRerum quis modi quia. Sit voluptate et similique ea quia. Et non magni atque quia molestiae. Ratione velit perferendis quos vitae.","image_url":"storage\/images\/QZsSJjeCnS.jpg","created_at":"2024-08-06T18:39:32.000000Z"},"message":"Blog post fetched sucessfully.","status_code":200}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '31' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/blogs + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display a listing of the resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"data":[{"id":"71eb8a33-c1ef-4526-9c13-0e57e84e3454","title":"Maiores nulla quis qui aut id iusto voluptatibus.","content":"Unde nihil vel perspiciatis tempore beatae. Iusto velit amet ipsa dolores. Ab eos quis rerum ipsa dolorum. Cumque eos velit est voluptatem.\n\nQui qui magni iure delectus expedita quibusdam. Consectetur sit sit accusantium enim dolore ut. Aspernatur omnis ipsum voluptatibus amet tempore fugiat.\n\nId nihil autem iusto maxime sed ipsa repudiandae. Iusto eligendi ipsam dolor minus corporis. Expedita maxime suscipit soluta excepturi eum facere.","author":"Dorian Powlowski","created_at":"2024-08-06T18:39:40.000000Z","category":"World News","image_url":"storage\/images\/MTm0TdKKdV.jpg"},{"id":"4beb4480-9a7e-4d40-9913-2222c0d4000a","title":"Et dolores qui et quod qui a.","content":"Deserunt voluptatem pariatur aut explicabo voluptas sapiente alias similique. Quos necessitatibus est facere et voluptatibus mollitia sint est. Accusantium dicta adipisci est eum enim ut ratione. Nostrum mollitia tempora repellendus voluptatibus.\n\nVoluptas nulla ut voluptatem et quo. Deserunt cumque odio ipsam sapiente velit inventore. Porro consectetur qui et est occaecati.\n\nDeserunt est voluptate et aut neque quis praesentium. Maiores ut ex eaque et illum. Rerum aperiam illum sit. Architecto dolorem provident accusamus illum perspiciatis non.","author":"Ilene Klein","created_at":"2024-08-06T18:39:38.000000Z","category":"Lifestyle","image_url":"storage\/images\/BzVOnNLQ89.jpg"},{"id":"bf6252d8-1ae7-4fac-bbe1-533a4d5d49ba","title":"Culpa quis repellat consequuntur explicabo autem aspernatur debitis.","content":"Asperiores officia fuga et quas. Et adipisci exercitationem et aut a quasi. Vel voluptas ad consectetur hic accusantium ut voluptatem.\n\nReprehenderit sed nostrum facilis sit quia. Et voluptates voluptatum consectetur est unde. Vitae necessitatibus optio voluptatem cum.\n\nQuo eligendi nihil laborum atque doloremque sunt. Ea voluptates eius dolores quis quisquam dolorem fuga. Modi sapiente expedita dignissimos et.","author":"Mina Schimmel","created_at":"2024-08-06T18:39:35.000000Z","category":"Food","image_url":"storage\/images\/BCYawtsLx6.jpg"},{"id":"fad7d874-61f9-40f0-ad3e-8bafdc6daf7b","title":"Ut odio ipsam illo vel fuga.","content":"Et quidem culpa culpa vel quam velit. Velit numquam aspernatur vero quis iure expedita. Dicta quia facere consectetur.\n\nVoluptatem eos dolorem aut reprehenderit numquam. Quis ut doloribus quo quasi voluptatem vero officiis sunt. Voluptate a eum ut. Tempore facere ducimus corporis accusamus aspernatur et.\n\nRerum quis modi quia. Sit voluptate et similique ea quia. Et non magni atque quia molestiae. Ratione velit perferendis quos vitae.","author":"Rafael Schowalter","created_at":"2024-08-06T18:39:32.000000Z","category":"Business","image_url":"storage\/images\/QZsSJjeCnS.jpg"}],"message":"All blog posts retrieved successfully","status_code":200}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '30' + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/user/preferences + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: officiis + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + value: + name: value + description: '' + required: true + example: ipsum + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: officiis + value: ipsum + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/v1/user/preferences/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the preference.' + required: true + example: repellat + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: repellat + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: '' + required: true + example: id + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + value: + name: value + description: '' + required: true + example: odit + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + name: id + value: odit + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: api/v1/user/preferences + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 401 + content: '{"message":"Unauthenticated."}' + headers: + cache-control: 'no-cache, private' + content-type: application/json + access-control-allow-origin: '*' + description: null + custom: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/user/preferences/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the preference.' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: ut + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/notification-settings/{user_id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + user_id: + name: user_id + description: 'The ID of the user.' + required: true + example: necessitatibus + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + user_id: necessitatibus + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + email_notifications: + name: email_notifications + description: '' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + push_notifications: + name: push_notifications + description: '' + required: false + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + sms_notifications: + name: sms_notifications + description: '' + required: false + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + email_notifications: true + push_notifications: false + sms_notifications: true + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/v1/email-templates/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Display the specified resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the email template.' + required: true + example: harum type: string enumValues: [] exampleWasSpecified: false custom: [] cleanUrlParameters: - testimonial_id: accusantium + id: harum queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -1524,16 +6618,247 @@ endpoints: method: null route: null custom: [] + - + httpMethods: + - PUT + - PATCH + uri: 'api/v1/email-templates/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the email template.' + required: true + example: placeat + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: placeat + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + title: + name: title + description: 'Must not be greater than 255 characters.' + required: false + example: yaok + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + template: + name: template + description: '' + required: false + example: ea + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + status: + name: status + description: '' + required: false + example: false + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + title: yaok + template: ea + status: false + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/v1/email-templates/{id}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: '' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + id: + name: id + description: 'The ID of the email template.' + required: true + example: pariatur + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + id: pariatur + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PATCH + uri: 'api/v1/notifications/{notification}' + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Update the specified resource in storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: + notification: + name: notification + description: 'The notification.' + required: true + example: officia + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanUrlParameters: + notification: officia + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + is_read: + name: is_read + description: '' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + is_read: true + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: api/v1/notifications + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Remove the specified resource from storage.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: api/v1/notifications + metadata: + groupName: Endpoints + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: 'Show the form for creating a new resource.' + description: '' + authenticated: false + custom: [] + headers: + Content-Type: application/json + Accept: application/json + urlParameters: [] + cleanUrlParameters: [] + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + message: + name: message + description: 'Must not be greater than 500 characters.' + required: true + example: 'n' + type: string + enumValues: [] + exampleWasSpecified: false + custom: [] + cleanBodyParameters: + message: 'n' + fileParameters: [] + responses: [] + responseFields: [] + auth: [] + controller: null + method: null + route: null + custom: [] - httpMethods: - GET - uri: api/v1/jobs + uri: api/v1/notifications metadata: groupName: Endpoints groupDescription: '' subgroup: '' subgroupDescription: '' - title: 'Display a listing of the resource.' + title: '' description: '' authenticated: false custom: [] @@ -1550,10 +6875,12 @@ endpoints: responses: - status: 401 - content: '{"message":"Unauthenticated."}' + content: '{"status":"Unauthorized","message":"User not authenticated","status_code":401}' headers: cache-control: 'no-cache, private' content-type: application/json + x-ratelimit-limit: '60' + x-ratelimit-remaining: '29' access-control-allow-origin: '*' description: null custom: [] diff --git a/resources/docs/backup-copydocumentation.json b/public/vendor/scribe/backup-copydocumentation.json old mode 100755 new mode 100644 similarity index 100% rename from resources/docs/backup-copydocumentation.json rename to public/vendor/scribe/backup-copydocumentation.json diff --git a/resources/docs/doc.yaml b/public/vendor/scribe/doc.yaml similarity index 100% rename from resources/docs/doc.yaml rename to public/vendor/scribe/doc.yaml diff --git a/resources/docs/documentation copy.json b/public/vendor/scribe/documentation copy.json similarity index 100% rename from resources/docs/documentation copy.json rename to public/vendor/scribe/documentation copy.json diff --git a/resources/docs/documentation.json b/public/vendor/scribe/documentation.json old mode 100755 new mode 100644 similarity index 100% rename from resources/docs/documentation.json rename to public/vendor/scribe/documentation.json diff --git a/resources/views/scribe/index.blade.php b/resources/views/scribe/index.blade.php index 81604d12..b42fcbae 100755 --- a/resources/views/scribe/index.blade.php +++ b/resources/views/scribe/index.blade.php @@ -76,9 +76,48 @@
  • POST api/v1/auth/login +
  • +
  • + POST api/v1/auth/logout +
  • +
  • + Handle the incoming request. +
  • +
  • + Handle the incoming request. +
  • +
  • + GET api/v1/auth/google +
  • +
  • + GET api/v1/auth/login-google +
  • +
  • + GET api/v1/auth/google/callback +
  • +
  • + POST api/v1/auth/google/callback +
  • +
  • + Handle the incoming request. +
  • +
  • + Handle the incoming request. +
  • +
  • + Handle the incoming request.
  • Store a newly created resource in storage. +
  • +
  • + GET api/v1/auth/login-facebook +
  • +
  • + GET api/v1/auth/facebook/callback +
  • +
  • + POST api/v1/auth/facebook/callback
  • Display a listing of the resource. @@ -94,27 +133,123 @@
  • Remove the specified resource from storage. +
  • +
  • + GET api/v1/jobs +
  • +
  • + GET api/v1/jobs/search +
  • +
  • + GET api/v1/jobs/{id}
  • GET api/v1/products/categories +
  • +
  • + GET api/v1/products/search +
  • +
  • + Display a listing of the resource. +
  • +
  • + Display the specified resource. +
  • +
  • + Display a listing of the resource. +
  • +
  • + Display the specified resource.
  • GET api/v1/topics/search
  • -
  • - Store a newly created resource in storage. +
  • + Store a newly created resource in storage. +
  • +
  • + Update the specified resource in storage. +
  • +
  • + Remove the specified resource from storage. +
  • +
  • + POST api/v1/blogs/{blogId}/comments +
  • +
  • + POST api/v1/comments/{commentId}/reply +
  • +
  • + POST api/v1/comments/{commentId}/like +
  • +
  • + POST api/v1/comments/{commentId}/dislike +
  • +
  • + PATCH api/v1/comments/edit/{commentId} +
  • +
  • + DELETE api/v1/comments/{commentId} +
  • +
  • + GET api/v1/blogs/{blogId}/comments
  • GET api/v1/help-center/topics/search
  • -
  • - POST api/v1/contact +
  • + POST api/v1/inquiries +
  • +
  • + GET api/v1/inquiries
  • GET api/v1/blogs/latest +
  • +
  • + GET api/v1/blogs/search
  • POST api/v1/squeeze +
  • +
  • + POST api/v1/cookies/preferences +
  • +
  • + GET api/v1/cookies/preferences +
  • +
  • + POST api/v1/help-center/topics +
  • +
  • + PATCH api/v1/help-center/topics/{articleId} +
  • +
  • + DELETE api/v1/help-center/topics/{articleId} +
  • +
  • + GET api/v1/help-center/topics +
  • +
  • + Display a paginated list of email templates. +
  • +
  • + POST api/v1/email-templates +
  • +
  • + PATCH api/v1/email-templates/{id} +
  • +
  • + DELETE api/v1/email-templates/{id} +
  • +
  • + Generate and store an invitation with email validation. +
  • +
  • + Handle GET request to accept an invitation. +
  • +
  • + Handle POST request to accept an invitation.
  • Display a listing of the resource. @@ -146,17 +281,47 @@
  • Remove the specified resource from storage.
  • -
  • - Store a newly created resource in storage. +
  • + POST api/v1/payments/paystack
  • -
  • - Display a listing of the resource. +
  • + GET api/v1/payments/paystack/verify/{id}
  • -
  • - DELETE api/v1/organisations/{org_id}/users/{user_id} +
  • + POST api/v1/payments/flutterwave
  • -
  • - Display a listing of the resource. +
  • + GET api/v1/payments/flutterwave/verify/{id} +
  • +
  • + GET api/v1/payments/cancel +
  • +
  • + cancel user subscription +
  • +
  • + Store a newly created resource in storage. +
  • +
  • + Display a listing of the resource. +
  • +
  • + Update the specified resource in storage. +
  • +
  • + Remove the specified resource from storage. +
  • +
  • + DELETE api/v1/organizations/{org_id}/users/{user_id} +
  • +
  • + GET api/v1/organizations/{organisation}/users +
  • +
  • + GET api/v1/members/{org_id}/search +
  • +
  • + GET api/v1/members/{org_id}/export
  • Store a newly created resource in storage. @@ -164,8 +329,125 @@
  • Display the specified resource.
  • -
  • - Display a listing of the resource. +
  • + Remove the specified resource from storage. +
  • +
  • + POST api/v1/jobs +
  • +
  • + PUT api/v1/jobs/{id} +
  • +
  • + DELETE api/v1/jobs/{id} +
  • +
  • + GET api/v1/user/export/{format} +
  • +
  • + PATCH api/v1/accounts/deactivate +
  • +
  • + PUT api/v1/organisations/{org_id}/roles/{role_id} +
  • +
  • + PUT api/v1/organisations/{org_id}/roles/{role_id}/disable +
  • +
  • + PUT api/v1/organisations/{org_id}/users/{user_id}/roles +
  • +
  • + PUT api/v1/organisations/{org_id}/{role_id}/permissions +
  • +
  • + updatePassword +
  • +
  • + Update the specified resource in storage. +
  • +
  • + POST api/v1/profile/upload-image +
  • +
  • + Display the specified resource. +
  • +
  • + Update the specified resource in storage. +
  • +
  • + Display a listing of the resource. +
  • +
  • + Store a newly created resource in storage. +
  • +
  • + Update the specified resource in storage. +
  • +
  • + Remove the specified resource from storage. +
  • +
  • + GET api/v1/waitlists +
  • +
  • + POST api/v1/waitlists +
  • +
  • + Display a listing of the resource. +
  • +
  • + Store a newly created resource in storage. +
  • +
  • + Display the specified resource. +
  • +
  • + Update the specified resource in storage. +
  • +
  • + Remove the specified resource from storage. +
  • +
  • + Display the specified resource. +
  • +
  • + Display a listing of the resource. +
  • +
  • + POST api/v1/user/preferences +
  • +
  • + PUT api/v1/user/preferences/{id} +
  • +
  • + GET api/v1/user/preferences +
  • +
  • + DELETE api/v1/user/preferences/{id} +
  • +
  • + PATCH api/v1/notification-settings/{user_id} +
  • +
  • + Display the specified resource. +
  • +
  • + PUT api/v1/email-templates/{id} +
  • +
  • + DELETE api/v1/email-templates/{id} +
  • +
  • + Update the specified resource in storage. +
  • +
  • + Remove the specified resource from storage. +
  • +
  • + Show the form for creating a new resource. +
  • +
  • + GET api/v1/notifications
  • @@ -178,7 +460,7 @@ @@ -217,9 +499,11 @@ --header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"name\": \"kyqjicowiqcvbipmclenjzwa\", - \"email\": \"mante.carmel@example.net\", - \"password\": \"quos\" + \"name\": \"vzjhkcivnbfkxoukeydez\", + \"first_name\": \"cy\", + \"last_name\": \"ytrj\", + \"email\": \"roxane.koelpin@example.net\", + \"password\": \"riPguZ\'*;47V8]`:5\\\"\" }" @@ -235,9 +519,11 @@ }; let body = { - "name": "kyqjicowiqcvbipmclenjzwa", - "email": "mante.carmel@example.net", - "password": "quos" + "name": "vzjhkcivnbfkxoukeydez", + "first_name": "cy", + "last_name": "ytrj", + "email": "roxane.koelpin@example.net", + "password": "riPguZ'*;47V8]`:5\"" }; fetch(url, { @@ -323,13 +609,35 @@
    name   string  -   +optional   +
    +

    Must not be greater than 255 characters. Example: vzjhkcivnbfkxoukeydez

    +
    +
    + first_name   +string  +   + +
    +

    Must not be greater than 255 characters. Example: cy

    +
    +
    + last_name   +string  +   +
    -

    Must not be greater than 255 characters. Example: kyqjicowiqcvbipmclenjzwa

    +

    Must not be greater than 255 characters. Example: ytrj

    email   @@ -337,10 +645,10 @@  
    -

    Must be a valid email address. Must not be greater than 255 characters. Example: mante.carmel@example.net

    +

    Must be a valid email address. Must not be greater than 255 characters. Example: roxane.koelpin@example.net

    password   @@ -348,10 +656,10 @@  
    -

    Example: quos

    +

    Example: riPguZ'*;47V8]:5"`

    @@ -372,8 +680,8 @@ --header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"email\": \"anderson.alex@example.net\", - \"password\": \"hTGB64\" + \"email\": \"karlie.welch@example.net\", + \"password\": \"j%(\'l+FPa@WYmF82oYP\" }" @@ -389,8 +697,8 @@ }; let body = { - "email": "anderson.alex@example.net", - "password": "hTGB64" + "email": "karlie.welch@example.net", + "password": "j%('l+FPa@WYmF82oYP" }; fetch(url, { @@ -479,10 +787,10 @@  
    -

    Must be a valid email address. Must not be greater than 255 characters. Example: anderson.alex@example.net

    +

    Must be a valid email address. Must not be greater than 255 characters. Example: karlie.welch@example.net

    password   @@ -490,40 +798,34 @@  
    -

    Must be at least 8 characters. Example: hTGB64

    +

    Must be at least 8 characters. Example: j%('l+FPa@WYmF82oYP

    -

    Store a newly created resource in storage.

    +

    POST api/v1/auth/logout

    - +
    Example request:
    curl --request POST \
    -    "http://localhost/api/v1/roles" \
    +    "http://localhost/api/v1/auth/logout" \
         --header "Content-Type: application/json" \
    -    --header "Accept: application/json" \
    -    --data "{
    -    \"role_name\": \"kmub\",
    -    \"organisation_id\": \"v\",
    -    \"permissions_id\": \"tenetur\"
    -}"
    -
    + --header "Accept: application/json"
    const url = new URL(
    -    "http://localhost/api/v1/roles"
    +    "http://localhost/api/v1/auth/logout"
     );
     
     const headers = {
    @@ -531,59 +833,52 @@
         "Accept": "application/json",
     };
     
    -let body = {
    -    "role_name": "kmub",
    -    "organisation_id": "v",
    -    "permissions_id": "tenetur"
    -};
    -
     fetch(url, {
         method: "POST",
         headers,
    -    body: JSON.stringify(body),
     }).then(response => response.json());
    - + -