Compare commits
3 Commits
master
...
add-openap
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f028f54d9e | ||
|
|
9dad6908a9 | ||
|
|
a386dfc1ca |
4
.scribe/.filehashes
Normal file
4
.scribe/.filehashes
Normal file
@@ -0,0 +1,4 @@
|
||||
# GENERATED. YOU SHOULDN'T MODIFY OR DELETE THIS FILE.
|
||||
# Scribe uses this file to know when you change something manually in your docs.
|
||||
.scribe/intro.md=f325b28dd095cc9f79495c3014b20f70
|
||||
.scribe/auth.md=a1780016c25c90a3c1e981b22cfb10e6
|
||||
7
.scribe/auth.md
Normal file
7
.scribe/auth.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Authenticating requests
|
||||
|
||||
To authenticate requests, include an **`Authorization`** header with the value **`"Bearer your-token"`**.
|
||||
|
||||
All authenticated endpoints are marked with a `requires authentication` badge in the documentation below.
|
||||
|
||||
If your account has API access enabled, you can generate a token by clicking in the top right account menu and clicking <b>API tokens</b>.
|
||||
329
.scribe/endpoints/00.yaml
Normal file
329
.scribe/endpoints/00.yaml
Normal file
@@ -0,0 +1,329 @@
|
||||
name: Account
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/account/requests
|
||||
metadata:
|
||||
groupName: Account
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Display Requested Assets'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=qIWm6chVMaJXUcKG9E8EHhnb7F9wQT14AjEraiFE; expires=Sat, 18 Oct 2025 20:42:51 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/account/eulas
|
||||
metadata:
|
||||
groupName: Account
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Display Accepted EULAs'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=nhItaWioeRLO0dKBgjno1X73ttHn50uXRQ7L7BAc; expires=Sat, 18 Oct 2025 20:42:51 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/account/request/{asset_id}'
|
||||
metadata:
|
||||
groupName: Account
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Store Asset Request'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
asset_id:
|
||||
name: asset_id
|
||||
description: 'The ID of the asset.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
asset_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/account/request/{asset_id}/cancel'
|
||||
metadata:
|
||||
groupName: Account
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Cancel Asset Request'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
asset_id:
|
||||
name: asset_id
|
||||
description: 'The ID of the asset.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
asset_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/account/personal-access-tokens
|
||||
metadata:
|
||||
groupName: Account
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create API token'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/account/personal-access-tokens
|
||||
metadata:
|
||||
groupName: Account
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show API tokens'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=yUjH3zpUXM18qZVCvvVEp1y5zfNNok8NctCrwGof; expires=Sat, 18 Oct 2025 20:42:51 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/account/personal-access-tokens/{tokenId}'
|
||||
metadata:
|
||||
groupName: Account
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete API token'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
tokenId:
|
||||
name: tokenId
|
||||
description: ''
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
tokenId: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
2180
.scribe/endpoints/01.yaml
Normal file
2180
.scribe/endpoints/01.yaml
Normal file
File diff suppressed because it is too large
Load Diff
636
.scribe/endpoints/02.yaml
Normal file
636
.scribe/endpoints/02.yaml
Normal file
@@ -0,0 +1,636 @@
|
||||
name: Accessories
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/accessories/{accessory}/checkedout'
|
||||
metadata:
|
||||
groupName: Accessories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Accessory Checkouts'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
accessory:
|
||||
name: accessory
|
||||
description: 'The accessory.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
accessory: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=QwqPH3txF8T3F17zuocUxlzlAourAOPvfWbLeuj9; expires=Sat, 18 Oct 2025 20:42:51 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/accessories/{accessory_id}/checkout'
|
||||
metadata:
|
||||
groupName: Accessories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Checkout Accessory'
|
||||
description: |-
|
||||
If Slack is enabled and/or asset acceptance is enabled, it will also
|
||||
trigger a Slack message and send an email.
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
accessory_id:
|
||||
name: accessory_id
|
||||
description: 'The ID of the accessory.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
accessory_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/accessories/{accessory}/checkin'
|
||||
metadata:
|
||||
groupName: Accessories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Checkin Accessory'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
accessory:
|
||||
name: accessory
|
||||
description: 'The accessory.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
accessory: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/accessories/selectlist
|
||||
metadata:
|
||||
groupName: Accessories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: Selectlist
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters:
|
||||
search:
|
||||
name: search
|
||||
description: 'A search term to filter results by name.'
|
||||
required: false
|
||||
example: null
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=kCGqdKxExAZopEwv7oy5l7SRnyqXXXDCU5Jyu7jU; expires=Sat, 18 Oct 2025 20:42:51 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/accessories
|
||||
metadata:
|
||||
groupName: Accessories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List accessories'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters:
|
||||
search:
|
||||
name: search
|
||||
description: 'A search term to filter results by.'
|
||||
required: false
|
||||
example: keyboard
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
'filter[<fieldname>]':
|
||||
name: 'filter[<fieldname>]'
|
||||
description: 'A field to filter by. Example'
|
||||
required: false
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
company_id:
|
||||
name: company_id
|
||||
description: 'Filter by company ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
category_id:
|
||||
name: category_id
|
||||
description: 'Filter by category ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
manufacturer_id:
|
||||
name: manufacturer_id
|
||||
description: 'Filter by manufacturer ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
supplier_id:
|
||||
name: supplier_id
|
||||
description: 'Filter by supplier ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
location_id:
|
||||
name: location_id
|
||||
description: 'Filter by location ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
notes:
|
||||
name: notes
|
||||
description: 'Filter by notes.'
|
||||
required: false
|
||||
example: 'For office use only'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
offset:
|
||||
name: offset
|
||||
description: 'The number of items to skip before starting to collect the result set.'
|
||||
required: false
|
||||
example: 0
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
limit:
|
||||
name: limit
|
||||
description: 'The number of items to return.'
|
||||
required: false
|
||||
example: 50
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
sort:
|
||||
name: sort
|
||||
description: 'The field to sort by.'
|
||||
required: false
|
||||
example: created_at
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
order:
|
||||
name: order
|
||||
description: 'The order to sort by.'
|
||||
required: false
|
||||
example: desc
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanQueryParameters:
|
||||
search: keyboard
|
||||
'filter[<fieldname>]': architecto
|
||||
company_id: 1
|
||||
category_id: 1
|
||||
manufacturer_id: 1
|
||||
supplier_id: 1
|
||||
location_id: 1
|
||||
notes: 'For office use only'
|
||||
offset: 0
|
||||
limit: 50
|
||||
sort: created_at
|
||||
order: desc
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=2HABGaRbPqMGeiNPKWTPnN0AwM4t7W2yN4TFOJqm; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/accessories
|
||||
metadata:
|
||||
groupName: Accessories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Accessory'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters:
|
||||
name:
|
||||
name: name
|
||||
description: 'The name of the accessory.'
|
||||
required: true
|
||||
example: 'Apple Bluetooth Keyboard'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
qty:
|
||||
name: qty
|
||||
description: 'The number of accessories to create.'
|
||||
required: true
|
||||
example: 10
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
category_id:
|
||||
name: category_id
|
||||
description: 'The ID of the category to assign this accessory to.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
image:
|
||||
name: image
|
||||
description: ''
|
||||
required: false
|
||||
example: null
|
||||
type: file
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanBodyParameters:
|
||||
name: 'Apple Bluetooth Keyboard'
|
||||
qty: 10
|
||||
category_id: 1
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/accessories/{id}'
|
||||
metadata:
|
||||
groupName: Accessories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Accessory'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the accessory.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=1Tv5gekmNofKNDwolDkOEcEH9JUfM9rX0PaTFfWI; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/accessories/{id}'
|
||||
metadata:
|
||||
groupName: Accessories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update accessory.'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the accessory.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/accessories/{id}'
|
||||
metadata:
|
||||
groupName: Accessories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Accessory'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the accessory.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
306
.scribe/endpoints/03.yaml
Normal file
306
.scribe/endpoints/03.yaml
Normal file
@@ -0,0 +1,306 @@
|
||||
name: Categories
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/categories/{item_type}/selectlist'
|
||||
metadata:
|
||||
groupName: Categories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: Selectlist
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
item_type:
|
||||
name: item_type
|
||||
description: ''
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
item_type: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=Wy5FSLyBn1xpLQy08hVrBlmoANJohF4ZIzpEcIZy; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/categories
|
||||
metadata:
|
||||
groupName: Categories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Categories'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=ErvltKvHZdVobMWCabFa83cWRCOTTtIgAPf7kLWS; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/categories
|
||||
metadata:
|
||||
groupName: Categories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Category'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/categories/{id}'
|
||||
metadata:
|
||||
groupName: Categories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Category'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the category.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=V2YFWiG0waCLFesMFr3kkLb0Io41yz4MPzVEfytq; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/categories/{id}'
|
||||
metadata:
|
||||
groupName: Categories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Category'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the category.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/categories/{id}'
|
||||
metadata:
|
||||
groupName: Categories
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Category'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the category.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
295
.scribe/endpoints/04.yaml
Normal file
295
.scribe/endpoints/04.yaml
Normal file
@@ -0,0 +1,295 @@
|
||||
name: Companies
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/companies/selectlist
|
||||
metadata:
|
||||
groupName: Companies
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: Selectlist
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=IqjgsK1DVTQS5qlZI7l96rTJH0m95aILfWx6eAS2; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/companies
|
||||
metadata:
|
||||
groupName: Companies
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Companies'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=cEVlfAwtjQtu004rU9aEgFwcozHbApb3l0gEpL3C; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/companies
|
||||
metadata:
|
||||
groupName: Companies
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Company'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/companies/{id}'
|
||||
metadata:
|
||||
groupName: Companies
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Company'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the company.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=YqczMPKZfCp7CKkULGsRoDqufIWQ9yGkni3Cto4R; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/companies/{id}'
|
||||
metadata:
|
||||
groupName: Companies
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Company'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the company.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/companies/{id}'
|
||||
metadata:
|
||||
groupName: Companies
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Company'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the company.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
394
.scribe/endpoints/05.yaml
Normal file
394
.scribe/endpoints/05.yaml
Normal file
@@ -0,0 +1,394 @@
|
||||
name: Departments
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/departments/selectlist
|
||||
metadata:
|
||||
groupName: Departments
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: Selectlist
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=0Ld2mnJEdBRIaREXQ37xGTuIS9SWJ4pT3WC79wc3; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/departments
|
||||
metadata:
|
||||
groupName: Departments
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Departments'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters:
|
||||
search:
|
||||
name: search
|
||||
description: 'Search term to filter results.'
|
||||
required: false
|
||||
example: IT
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
name:
|
||||
name: name
|
||||
description: 'Filter by exact department name.'
|
||||
required: false
|
||||
example: IT
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
company_id:
|
||||
name: company_id
|
||||
description: 'Filter by exact company ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
manager_id:
|
||||
name: manager_id
|
||||
description: 'Filter by exact manager (user) ID. Example:'
|
||||
required: false
|
||||
example: 16
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
location_id:
|
||||
name: location_id
|
||||
description: 'Filter by exact location ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
sort:
|
||||
name: sort
|
||||
description: 'Column to sort results by. Allowed values: id, name, image, users_count, notes, created_at, updated_at, location, manager, company. Default: created_at.'
|
||||
required: false
|
||||
example: name
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
order:
|
||||
name: order
|
||||
description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.'
|
||||
required: false
|
||||
example: asc
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
offset:
|
||||
name: offset
|
||||
description: 'Offset/starting position of the results. Default: 0.'
|
||||
required: false
|
||||
example: 0
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
limit:
|
||||
name: limit
|
||||
description: 'Limit the number of results returned. Default: 25. Maximum: 100.'
|
||||
required: false
|
||||
example: 50
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanQueryParameters:
|
||||
search: IT
|
||||
name: IT
|
||||
company_id: 1
|
||||
manager_id: 16
|
||||
location_id: 1
|
||||
sort: name
|
||||
order: asc
|
||||
offset: 0
|
||||
limit: 50
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=A3I9GYZHlismQEeDjfx7XM9EFccWImskxth6x9OH; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/departments
|
||||
metadata:
|
||||
groupName: Departments
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Department'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/departments/{id}'
|
||||
metadata:
|
||||
groupName: Departments
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Department'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the department.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=f5nA1I31NqT4m4T3BeSDmKt2LuBQs7KtcZZNRDKq; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/departments/{id}'
|
||||
metadata:
|
||||
groupName: Departments
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Department'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the department.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/departments/{id}'
|
||||
metadata:
|
||||
groupName: Departments
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Department'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the department.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
419
.scribe/endpoints/06.yaml
Normal file
419
.scribe/endpoints/06.yaml
Normal file
@@ -0,0 +1,419 @@
|
||||
name: Components
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/components/{component}/assets'
|
||||
metadata:
|
||||
groupName: Components
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Component Assets'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
component:
|
||||
name: component
|
||||
description: 'The component.'
|
||||
required: true
|
||||
example: 3
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
component: 3
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=wiPOiV7Xae1fyzS2Jv3w9d060WDRgnET70IrBjTj; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/components/{id}/checkin'
|
||||
metadata:
|
||||
groupName: Components
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Checkin Component'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the component.'
|
||||
required: true
|
||||
example: 3
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 3
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/components/{id}/checkout'
|
||||
metadata:
|
||||
groupName: Components
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Checkout Component'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the component.'
|
||||
required: true
|
||||
example: 3
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 3
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters:
|
||||
assigned_to:
|
||||
name: assigned_to
|
||||
description: 'The <code>id</code> of an existing record in the assets table.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
assigned_qty:
|
||||
name: assigned_qty
|
||||
description: ''
|
||||
required: false
|
||||
example: null
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanBodyParameters:
|
||||
assigned_to: architecto
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/components
|
||||
metadata:
|
||||
groupName: Components
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Categories'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=vXpBDH4e4puagaeAOAWHnpHEOQ7rCwXKeEDeGn5W; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/components
|
||||
metadata:
|
||||
groupName: Components
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Component'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/components/{id}'
|
||||
metadata:
|
||||
groupName: Components
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Component'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the component.'
|
||||
required: true
|
||||
example: 3
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 3
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=mIFtURJNZowrCIpSMAMYNVYW5XvKIReOCIJ57XgL; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/components/{id}'
|
||||
metadata:
|
||||
groupName: Components
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Component'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the component.'
|
||||
required: true
|
||||
example: 3
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 3
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/components/{id}'
|
||||
metadata:
|
||||
groupName: Components
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Component'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the component.'
|
||||
required: true
|
||||
example: 3
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 3
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
535
.scribe/endpoints/07.yaml
Normal file
535
.scribe/endpoints/07.yaml
Normal file
@@ -0,0 +1,535 @@
|
||||
name: Consumables
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/consumables/selectlist
|
||||
metadata:
|
||||
groupName: Consumables
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: Selectlist
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=9SzZeaG6J8yoJtsrcqY5kJPcLvX7ObZeYK0JivkB; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/consumables/{id}/users'
|
||||
metadata:
|
||||
groupName: Consumables
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'User Assignments'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the consumable.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=eO7NKRGNCHJ34NL6woGI5Ux80o2tg9rIBW0LuGGd; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/consumables/{consumable}/checkout'
|
||||
metadata:
|
||||
groupName: Consumables
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Checkout Consumable'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
consumable:
|
||||
name: consumable
|
||||
description: 'The consumable.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
consumable: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/consumables
|
||||
metadata:
|
||||
groupName: Consumables
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Consumables'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters:
|
||||
filter:
|
||||
name: filter
|
||||
description: 'A JSON encoded array of key/value pairs to filter results by.'
|
||||
required: false
|
||||
example: '{"company":"1","location":"2"}'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
search:
|
||||
name: search
|
||||
description: 'A search term to filter results by.'
|
||||
required: false
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
name:
|
||||
name: name
|
||||
description: 'Filter by exact name.'
|
||||
required: false
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
company_id:
|
||||
name: company_id
|
||||
description: 'Filter by exact company ID.'
|
||||
required: false
|
||||
example: 16
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
category_id:
|
||||
name: category_id
|
||||
description: 'Filter by exact category ID.'
|
||||
required: false
|
||||
example: 16
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
model_number:
|
||||
name: model_number
|
||||
description: 'Filter by exact model number.'
|
||||
required: false
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
manufacturer_id:
|
||||
name: manufacturer_id
|
||||
description: 'Filter by exact manufacturer ID.'
|
||||
required: false
|
||||
example: 16
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
supplier_id:
|
||||
name: supplier_id
|
||||
description: 'Filter by exact supplier ID.'
|
||||
required: false
|
||||
example: 16
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
location_id:
|
||||
name: location_id
|
||||
description: 'Filter by exact location ID.'
|
||||
required: false
|
||||
example: 16
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
notes:
|
||||
name: notes
|
||||
description: 'Filter by exact notes.'
|
||||
required: false
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
sort:
|
||||
name: sort
|
||||
description: 'The column to sort results by. Must be one of the following: id, name, order_number, min_amt, purchase_date, purchase_cost, company, category, model_number, item_no, manufacturer, location, qty, image, company, location, category, supplier, manufacturer. Default is created_at.'
|
||||
required: false
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
order:
|
||||
name: order
|
||||
description: 'The order to sort results by. Must be one of the following: asc, desc. Default is desc.'
|
||||
required: false
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanQueryParameters:
|
||||
filter: '{"company":"1","location":"2"}'
|
||||
search: architecto
|
||||
name: architecto
|
||||
company_id: 16
|
||||
category_id: 16
|
||||
model_number: architecto
|
||||
manufacturer_id: 16
|
||||
supplier_id: 16
|
||||
location_id: 16
|
||||
notes: architecto
|
||||
sort: architecto
|
||||
order: architecto
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=WMv6quPUXaLnZTkEXk5aBwdTDMuUgt7fQTd6uLZf; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/consumables
|
||||
metadata:
|
||||
groupName: Consumables
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Store a newly created resource in storage.'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/consumables/{id}'
|
||||
metadata:
|
||||
groupName: Consumables
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Consumable'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the consumable.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=oTfWSAjrq9p5g7qEYt7eFY4Dl7io060HverF1daF; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/consumables/{id}'
|
||||
metadata:
|
||||
groupName: Consumables
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Consumable'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the consumable.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/consumables/{id}'
|
||||
metadata:
|
||||
groupName: Consumables
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Consumable'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the consumable.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
244
.scribe/endpoints/08.yaml
Normal file
244
.scribe/endpoints/08.yaml
Normal file
@@ -0,0 +1,244 @@
|
||||
name: Depreciations
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/depreciations
|
||||
metadata:
|
||||
groupName: Depreciations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Depreciations'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=TaZAI56rS9h74YByHlSA9ZrXGsTjQD4onwKaqiFF; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/depreciations
|
||||
metadata:
|
||||
groupName: Depreciations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Depreciation'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/depreciations/{depreciation_id}'
|
||||
metadata:
|
||||
groupName: Depreciations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Depreciation'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
depreciation_id:
|
||||
name: depreciation_id
|
||||
description: 'The ID of the depreciation.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
depreciation_id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=qFky4u180BfuHQB1d4a5A7K5Q4MOHcVdqELFA4ow; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/depreciations/{depreciation_id}'
|
||||
metadata:
|
||||
groupName: Depreciations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Depreciation'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
depreciation_id:
|
||||
name: depreciation_id
|
||||
description: 'The ID of the depreciation.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
depreciation_id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/depreciations/{depreciation_id}'
|
||||
metadata:
|
||||
groupName: Depreciations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Depreciation'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
depreciation_id:
|
||||
name: depreciation_id
|
||||
description: 'The ID of the depreciation.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
depreciation_id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
726
.scribe/endpoints/09.yaml
Normal file
726
.scribe/endpoints/09.yaml
Normal file
@@ -0,0 +1,726 @@
|
||||
name: 'Custom Fields'
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/fields/fieldsets/{id}/order'
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Reorder Fields'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the fieldset.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/fields/{field}/associate'
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Add Field to Fieldset'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
field:
|
||||
name: field
|
||||
description: 'The field.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
field: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/fields/{field}/disassociate'
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Remove Field from Fieldset'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
field:
|
||||
name: field
|
||||
description: 'The field.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
field: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/fields
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Custom Fields'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=MTrOxDhLsWMBw1aLYKK9q1GA3VjT43PhCRp7KBa9; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/fields
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Field'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/fields/{field}'
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Field'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
field:
|
||||
name: field
|
||||
description: 'The field.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
field: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=jdlBn85i46xp3MdUb7Dbb1igonFqeCNdzQwTOmnl; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/fields/{field}'
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Field'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
field:
|
||||
name: field
|
||||
description: 'The field.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
field: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/fields/{field}'
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Field'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
field:
|
||||
name: field
|
||||
description: 'The field.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
field: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/fieldsets/{fieldset}/fields'
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: 'Custom Fieldsets'
|
||||
subgroupDescription: ''
|
||||
title: 'Show Fields in Fieldset'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
fieldset:
|
||||
name: fieldset
|
||||
description: 'The fieldset.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
fieldset: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/fieldsets/{fieldset}/fields/{model}'
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: 'Custom Fieldsets'
|
||||
subgroupDescription: ''
|
||||
title: 'Fields in Fieldset with Default Values for Model'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
fieldset:
|
||||
name: fieldset
|
||||
description: 'The fieldset.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
model:
|
||||
name: model
|
||||
description: ''
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
fieldset: architecto
|
||||
model: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/fieldsets
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: 'Custom Fieldsets'
|
||||
subgroupDescription: ''
|
||||
title: 'List Fieldsets'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=DtH1Q5VV2HTu9NhlX5CxdYBImN4ZqxolMxRmhDyk; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/fieldsets
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: 'Custom Fieldsets'
|
||||
subgroupDescription: ''
|
||||
title: 'Create Fieldset'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/fieldsets/{id}'
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: 'Custom Fieldsets'
|
||||
subgroupDescription: ''
|
||||
title: 'Show Fieldset and Fields'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the fieldset.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=haApTgbAdDCFdvIN3hU8DshPXbfKMRdlXqBMBKdM; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/fieldsets/{id}'
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: 'Custom Fieldsets'
|
||||
subgroupDescription: ''
|
||||
title: 'Update Fieldset'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the fieldset.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/fieldsets/{id}'
|
||||
metadata:
|
||||
groupName: 'Custom Fields'
|
||||
groupDescription: ''
|
||||
subgroup: 'Custom Fieldsets'
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Fieldset'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the fieldset.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
244
.scribe/endpoints/10.yaml
Normal file
244
.scribe/endpoints/10.yaml
Normal file
@@ -0,0 +1,244 @@
|
||||
name: 'User Groups'
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/groups
|
||||
metadata:
|
||||
groupName: 'User Groups'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Display a listing of the resource.'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=evRZVbrjaLPlDGuAmSjuQxAfBkaXVVI3h6YJ8xCC; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/groups
|
||||
metadata:
|
||||
groupName: 'User Groups'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Group'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/groups/{id}'
|
||||
metadata:
|
||||
groupName: 'User Groups'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Group'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the group.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=lUFcyrjpTiMJiziJCYaZzhxr9o4YDOHuJhtyxe9O; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/groups/{id}'
|
||||
metadata:
|
||||
groupName: 'User Groups'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Group'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the group.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/groups/{id}'
|
||||
metadata:
|
||||
groupName: 'User Groups'
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Remove the specified resource from storage.'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the group.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
354
.scribe/endpoints/11.yaml
Normal file
354
.scribe/endpoints/11.yaml
Normal file
@@ -0,0 +1,354 @@
|
||||
name: Maintenances
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/maintenances
|
||||
metadata:
|
||||
groupName: Maintenances
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Maintenances'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters:
|
||||
search:
|
||||
name: search
|
||||
description: 'Search term to filter results.'
|
||||
required: false
|
||||
example: repair
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
asset_id:
|
||||
name: asset_id
|
||||
description: 'Filter by exact asset ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
supplier_id:
|
||||
name: supplier_id
|
||||
description: 'Filter by exact supplier ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
created_by:
|
||||
name: created_by
|
||||
description: 'Filter by exact user ID who created the maintenance. Example'
|
||||
required: false
|
||||
example: 16
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
url:
|
||||
name: url
|
||||
description: 'Filter by exact URL.'
|
||||
required: false
|
||||
example: 'http://example.com'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
asset_maintenance_type:
|
||||
name: asset_maintenance_type
|
||||
description: 'Filter by exact maintenance type.'
|
||||
required: false
|
||||
example: repair
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
sort:
|
||||
name: sort
|
||||
description: 'Column to sort results by. Allowed values: id, name, asset_maintenance_time, asset_maintenance_type, cost, start_date, completion_date, notes, asset_tag, asset_name, serial, created_by, supplier, location, is_warranty, status_label. Default: created_at.'
|
||||
required: false
|
||||
example: name
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
order:
|
||||
name: order
|
||||
description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.'
|
||||
required: false
|
||||
example: asc
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
offset:
|
||||
name: offset
|
||||
description: 'Offset/starting position of the results. Default: 0.'
|
||||
required: false
|
||||
example: 0
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
limit:
|
||||
name: limit
|
||||
description: 'Limit the number of results returned. Default: 25. Maximum: 100.'
|
||||
required: false
|
||||
example: 50
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanQueryParameters:
|
||||
search: repair
|
||||
asset_id: 1
|
||||
supplier_id: 1
|
||||
created_by: 16
|
||||
url: 'http://example.com'
|
||||
asset_maintenance_type: repair
|
||||
sort: name
|
||||
order: asc
|
||||
offset: 0
|
||||
limit: 50
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=HIPWn994ZVwWTllISCuyT1n0vLjhvE6GtJdyvVt5; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/maintenances
|
||||
metadata:
|
||||
groupName: Maintenances
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Maintenance'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/maintenances/{id}'
|
||||
metadata:
|
||||
groupName: Maintenances
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'View Maintenance'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the maintenance.'
|
||||
required: true
|
||||
example: 2
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 2
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=SMRgTfJyiKW4MwqoQkxPhRwZ7s0NG6iXfqrgvOF3; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/maintenances/{id}'
|
||||
metadata:
|
||||
groupName: Maintenances
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Maintenance'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the maintenance.'
|
||||
required: true
|
||||
example: 2
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 2
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/maintenances/{id}'
|
||||
metadata:
|
||||
groupName: Maintenances
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Maintenance'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the maintenance.'
|
||||
required: true
|
||||
example: 2
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 2
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
181
.scribe/endpoints/12.yaml
Normal file
181
.scribe/endpoints/12.yaml
Normal file
@@ -0,0 +1,181 @@
|
||||
name: Imports
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/imports/process/{import}'
|
||||
metadata:
|
||||
groupName: Imports
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Process Import'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
import:
|
||||
name: import
|
||||
description: ''
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
import: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/imports
|
||||
metadata:
|
||||
groupName: Imports
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Import Files'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=lj8o7doJNMvuEIVNyZKehmNRHGnHDPN2afmwMD6i; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/imports
|
||||
metadata:
|
||||
groupName: Imports
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Save Import File'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/imports/{id}'
|
||||
metadata:
|
||||
groupName: Imports
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Import File'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the import.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
116
.scribe/endpoints/13.yaml
Normal file
116
.scribe/endpoints/13.yaml
Normal file
@@ -0,0 +1,116 @@
|
||||
name: Labels
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/labels/{name}'
|
||||
metadata:
|
||||
groupName: Labels
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Label'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
name:
|
||||
name: name
|
||||
description: ''
|
||||
required: true
|
||||
example: '|{+-0p'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
name: '|{+-0p'
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=rEUcrmsA92vKXWOMa9gjkZircoRHtwh2NGzh46Ym; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/labels
|
||||
metadata:
|
||||
groupName: Labels
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Labels'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=uOfOzJMa5lIhRnkxrSV7W6Lh6At2caeav8pgRq3i; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
576
.scribe/endpoints/14.yaml
Normal file
576
.scribe/endpoints/14.yaml
Normal file
@@ -0,0 +1,576 @@
|
||||
name: Licenses
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/licenses/selectlist
|
||||
metadata:
|
||||
groupName: Licenses
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: Selectlist
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=WCUA668q64Tb6nEAAMH6QDj0KxiWwfnKfCVC1WL5; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/licenses
|
||||
metadata:
|
||||
groupName: Licenses
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Licenses'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters:
|
||||
status:
|
||||
name: status
|
||||
description: 'Filter by license status. Options: active, inactive, expiring'
|
||||
required: false
|
||||
example: '?status=active'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
company_id:
|
||||
name: company_id
|
||||
description: 'Filter by exact company ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
name:
|
||||
name: name
|
||||
description: 'Filter by exact license name.'
|
||||
required: false
|
||||
example: 'Microsoft 365'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
product_key:
|
||||
name: product_key
|
||||
description: 'Filter by exact product key.'
|
||||
required: false
|
||||
example: W269N
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
order_number:
|
||||
name: order_number
|
||||
description: 'Filter by exact order number.'
|
||||
required: false
|
||||
example: '12345'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
purchase_order:
|
||||
name: purchase_order
|
||||
description: 'Filter by exact purchase order.'
|
||||
required: false
|
||||
example: PO12345
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
license_name:
|
||||
name: license_name
|
||||
description: 'Filter by exact licensee name.'
|
||||
required: false
|
||||
example: 'John Doe'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
license_email:
|
||||
name: license_email
|
||||
description: 'Filter by exact licensee email.'
|
||||
required: false
|
||||
example: john.d
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanQueryParameters:
|
||||
status: '?status=active'
|
||||
company_id: 1
|
||||
name: 'Microsoft 365'
|
||||
product_key: W269N
|
||||
order_number: '12345'
|
||||
purchase_order: PO12345
|
||||
license_name: 'John Doe'
|
||||
license_email: john.d
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=FsSfFEzLbFI2oqcTFwXV523YHYRteVgVbhwU1KjU; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/licenses
|
||||
metadata:
|
||||
groupName: Licenses
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create License'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/licenses/{license_id}'
|
||||
metadata:
|
||||
groupName: Licenses
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show License'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
license_id:
|
||||
name: license_id
|
||||
description: 'The ID of the license.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
license_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=fr7kJMaaASq4b53DwioCqOIG1A7k7COxiBsYFjXL; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/licenses/{license_id}'
|
||||
metadata:
|
||||
groupName: Licenses
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update License'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
license_id:
|
||||
name: license_id
|
||||
description: 'The ID of the license.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
license_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/licenses/{license_id}'
|
||||
metadata:
|
||||
groupName: Licenses
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete License'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
license_id:
|
||||
name: license_id
|
||||
description: 'The ID of the license.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
license_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/licenses/{license_id}/seats'
|
||||
metadata:
|
||||
groupName: Licenses
|
||||
groupDescription: ''
|
||||
subgroup: 'License Seats'
|
||||
subgroupDescription: ''
|
||||
title: 'List License Seats'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
license_id:
|
||||
name: license_id
|
||||
description: 'The ID of the license.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
license_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=StfngPkbKXNpOhusZSc3gJVfFrY1dHeurAa4otwt; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/licenses/{license_id}/seats/{id}'
|
||||
metadata:
|
||||
groupName: Licenses
|
||||
groupDescription: ''
|
||||
subgroup: 'License Seats'
|
||||
subgroupDescription: ''
|
||||
title: 'Show License Seat'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
license_id:
|
||||
name: license_id
|
||||
description: 'The ID of the license.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the seat.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
license_id: 1
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=4NcQjrTDkyy5Ps1lwLlvwwkW8zLNdvkt4jLniAbj; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/licenses/{license_id}/seats/{id}'
|
||||
metadata:
|
||||
groupName: Licenses
|
||||
groupDescription: ''
|
||||
subgroup: 'License Seats'
|
||||
subgroupDescription: ''
|
||||
title: 'Update License Seat'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
license_id:
|
||||
name: license_id
|
||||
description: 'The ID of the license.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the seat.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
license_id: 1
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
644
.scribe/endpoints/15.yaml
Normal file
644
.scribe/endpoints/15.yaml
Normal file
@@ -0,0 +1,644 @@
|
||||
name: Locations
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/locations/selectlist
|
||||
metadata:
|
||||
groupName: Locations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Gets a paginated collection for the select2 menus'
|
||||
description: |-
|
||||
This is handled slightly differently as of ~4.7.8-pre, as
|
||||
we have to do some recursive magic to get the hierarchy to display
|
||||
properly when looking at the parent/child relationship in the
|
||||
rich menus.
|
||||
|
||||
This means we can't use the normal pagination that we use elsewhere
|
||||
in our selectlists, since we have to get the full set before we can
|
||||
determine which location is parent/child/grandchild, etc.
|
||||
|
||||
This also means that hierarchy display gets a little funky when people
|
||||
use the Select2 search functionality, but there's not much we can do about
|
||||
that right now.
|
||||
|
||||
As a result, instead of paginating as part of the query, we have to grab
|
||||
the entire data set, and then invoke a paginator manually and pass that
|
||||
through to the SelectListTransformer.
|
||||
|
||||
Many thanks to @uberbrady for the help getting this working better.
|
||||
Recursion still sucks, but I guess he doesn't have to get in the
|
||||
sea... this time.
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=UpVwalXoUKqNpdc1JZOoxLIbtfuGTDjmXv2FL0U4; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/locations/{location_id}/assets'
|
||||
metadata:
|
||||
groupName: Locations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Assets with Default Location'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
location_id:
|
||||
name: location_id
|
||||
description: 'The ID of the location.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
location_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=s6eLrXoHfx9aHRHsGokhuXGIfcWMyMK6s8Y7CuQb; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/locations/{location_id}/assigned/assets'
|
||||
metadata:
|
||||
groupName: Locations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Assets Assigned to Location'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
location_id:
|
||||
name: location_id
|
||||
description: 'The ID of the location.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
location_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=6IjNjFVBRoxfcpk3lgt97JCcwcwkJ18MblUUArEa; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/locations/{location_id}/assigned/accessories'
|
||||
metadata:
|
||||
groupName: Locations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Accessories Assigned to Location'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
location_id:
|
||||
name: location_id
|
||||
description: 'The ID of the location.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
location_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=8QVLWPz9VFdTVM9oelFsOvXEnefwKOeIuos7D23G; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/locations
|
||||
metadata:
|
||||
groupName: Locations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Locations'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters:
|
||||
search:
|
||||
name: search
|
||||
description: 'Search term to filter results.'
|
||||
required: false
|
||||
example: Headquarters
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
name:
|
||||
name: name
|
||||
description: 'Filter by exact location name.'
|
||||
required: false
|
||||
example: Headquarters
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
address:
|
||||
name: address
|
||||
description: 'Filter by exact address.'
|
||||
required: false
|
||||
example: '123 Main St'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
address2:
|
||||
name: address2
|
||||
description: 'Filter by exact address2.'
|
||||
required: false
|
||||
example: 'Suite 100'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
city:
|
||||
name: city
|
||||
description: 'Filter by exact city.'
|
||||
required: false
|
||||
example: Springfield
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
zip:
|
||||
name: zip
|
||||
description: 'Filter by exact zip code.'
|
||||
required: false
|
||||
example: '12345'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
country:
|
||||
name: country
|
||||
description: 'Filter by exact country.'
|
||||
required: false
|
||||
example: USA
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
manager_id:
|
||||
name: manager_id
|
||||
description: 'Filter by exact manager (user) ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
company_id:
|
||||
name: company_id
|
||||
description: 'Filter by exact company ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
parent_id:
|
||||
name: parent_id
|
||||
description: 'Filter by exact parent location ID.'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
status:
|
||||
name: status
|
||||
description: 'Filter by location status. Allowed values: active, deleted.'
|
||||
required: false
|
||||
example: active
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
sort:
|
||||
name: sort
|
||||
description: 'Column to sort results by. Allowed values: accessorries_count, address, address2, assets_count, assigned_assets_count, rtd_assets_count, accessories_count, assigned_accessories_count, components_count, consumables_count, users_count, children_count, city, country, created_at, currency, id, image, ldap_ou, company_id, manager_id, name, rtd_assets_count, state, updated_at, zip. Default: created_at.'
|
||||
required: false
|
||||
example: name
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
order:
|
||||
name: order
|
||||
description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.'
|
||||
required: false
|
||||
example: asc
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanQueryParameters:
|
||||
search: Headquarters
|
||||
name: Headquarters
|
||||
address: '123 Main St'
|
||||
address2: 'Suite 100'
|
||||
city: Springfield
|
||||
zip: '12345'
|
||||
country: USA
|
||||
manager_id: 1
|
||||
company_id: 1
|
||||
parent_id: 1
|
||||
status: active
|
||||
sort: name
|
||||
order: asc
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=OrGO92pRr2bN1MO0HEk74EaOyIBpyNWW8nBBM9w1; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/locations
|
||||
metadata:
|
||||
groupName: Locations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Location'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/locations/{id}'
|
||||
metadata:
|
||||
groupName: Locations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Location'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the location.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=r40jhYlCjVborgeetW7XFFJzC3FPckbK3wiqaq9b; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/locations/{id}'
|
||||
metadata:
|
||||
groupName: Locations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Location'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the location.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/locations/{id}'
|
||||
metadata:
|
||||
groupName: Locations
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Location'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the location.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
462
.scribe/endpoints/16.yaml
Normal file
462
.scribe/endpoints/16.yaml
Normal file
@@ -0,0 +1,462 @@
|
||||
name: Manufacturers
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/manufacturers/selectlist
|
||||
metadata:
|
||||
groupName: Manufacturers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: Selectlist
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=wsdZCoP7veaDGNxSgmEVyiIXMCynDJaplPtmclKS; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/manufacturers/{id}/restore'
|
||||
metadata:
|
||||
groupName: Manufacturers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Restore Deleted Manufacturer'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the manufacturer.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/manufacturers
|
||||
metadata:
|
||||
groupName: Manufacturers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Manufacturers'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters:
|
||||
search:
|
||||
name: search
|
||||
description: 'Search term to filter results.'
|
||||
required: false
|
||||
example: Dell
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
name:
|
||||
name: name
|
||||
description: 'Filter by exact manufacturer name.'
|
||||
required: false
|
||||
example: Dell
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
url:
|
||||
name: url
|
||||
description: 'Filter by exact URL.'
|
||||
required: false
|
||||
example: 'http://example.com'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
support_url:
|
||||
name: support_url
|
||||
description: 'Filter by exact support URL.'
|
||||
required: false
|
||||
example: 'http://support.example.com'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
warranty_lookup_url:
|
||||
name: warranty_lookup_url
|
||||
description: 'Filter by exact warranty lookup URL.'
|
||||
required: false
|
||||
example: 'http://warranty.example.com'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
support_phone:
|
||||
name: support_phone
|
||||
description: 'Filter by exact support phone number.'
|
||||
required: false
|
||||
example: 1-800-555-5555
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
support_email:
|
||||
name: support_email
|
||||
description: 'Filter by exact support email address.'
|
||||
required: false
|
||||
example: support@example.org
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
sort:
|
||||
name: sort
|
||||
description: 'Column to sort results by. Allowed values: id, name, url, support_url, support_email, warranty_lookup_url, support_phone, created_at, updated_at, assets_count, consumables_count, components_count, licenses_count. Default: created_at.'
|
||||
required: false
|
||||
example: name
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
order:
|
||||
name: order
|
||||
description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.'
|
||||
required: false
|
||||
example: asc
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
offset:
|
||||
name: offset
|
||||
description: 'Offset/starting position of the results. Default: 0.'
|
||||
required: false
|
||||
example: 0
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
limit:
|
||||
name: limit
|
||||
description: 'Limit the number of results returned. Default: 25. Maximum: 100.'
|
||||
required: false
|
||||
example: 50
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanQueryParameters:
|
||||
search: Dell
|
||||
name: Dell
|
||||
url: 'http://example.com'
|
||||
support_url: 'http://support.example.com'
|
||||
warranty_lookup_url: 'http://warranty.example.com'
|
||||
support_phone: 1-800-555-5555
|
||||
support_email: support@example.org
|
||||
sort: name
|
||||
order: asc
|
||||
offset: 0
|
||||
limit: 50
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=hLpuGgLKlkZ3lxAdCVVQh6AknrP7V8ucHP12iJyL; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/manufacturers
|
||||
metadata:
|
||||
groupName: Manufacturers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Maintenance'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/manufacturers/{id}'
|
||||
metadata:
|
||||
groupName: Manufacturers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Manufacturer'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the manufacturer.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=AihyA0pGOpolpeaHgVkhwxZ48ZIGlH5C4cWn2ky1; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/manufacturers/{id}'
|
||||
metadata:
|
||||
groupName: Manufacturers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Manufacturer'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the manufacturer.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/manufacturers/{id}'
|
||||
metadata:
|
||||
groupName: Manufacturers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Manufacturer'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the manufacturer.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
357
.scribe/endpoints/17.yaml
Normal file
357
.scribe/endpoints/17.yaml
Normal file
@@ -0,0 +1,357 @@
|
||||
name: Models
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/models/selectlist
|
||||
metadata:
|
||||
groupName: Models
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Selectlist of Models'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=jwtFIyYGPRatDfntlAj40jo0O4Sj0FCnKi976PR2; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/models/assets
|
||||
metadata:
|
||||
groupName: Models
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Assets in Model'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the model.'
|
||||
required: true
|
||||
example: 16
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 16
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=nvMGTR69fETV88dw8dfKSbREZAJ66IYQUUNSpf7Y; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/models
|
||||
metadata:
|
||||
groupName: Models
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Models'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=QArLWCify7SZSmEfdwLa8MuiE73ySbcjczNWAP5t; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/models
|
||||
metadata:
|
||||
groupName: Models
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Model'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/models/{id}'
|
||||
metadata:
|
||||
groupName: Models
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Model'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the model.'
|
||||
required: true
|
||||
example: 16
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 16
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=Fi7bcrWvfZzmZFbGKAT0DPwaht8G2vkcbjoJPdZ1; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/models/{id}'
|
||||
metadata:
|
||||
groupName: Models
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Model'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the model.'
|
||||
required: true
|
||||
example: 16
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 16
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/models/{id}'
|
||||
metadata:
|
||||
groupName: Models
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Model'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the model.'
|
||||
required: true
|
||||
example: 16
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: 16
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
117
.scribe/endpoints/18.yaml
Normal file
117
.scribe/endpoints/18.yaml
Normal file
@@ -0,0 +1,117 @@
|
||||
name: Notes
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/notes/{asset_id}/store'
|
||||
metadata:
|
||||
groupName: Notes
|
||||
groupDescription: ''
|
||||
subgroup: Assets
|
||||
subgroupDescription: ''
|
||||
title: 'Store Note'
|
||||
description: |-
|
||||
Checks authorization for updating assets, validates the presence of the 'note',
|
||||
attempts to find the asset by ID, and creates a new ActionLog entry if successful.
|
||||
Returns JSON responses indicating success or failure with appropriate HTTP status codes.
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
asset_id:
|
||||
name: asset_id
|
||||
description: 'The ID of the asset.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
asset_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/notes/{asset_id}/index'
|
||||
metadata:
|
||||
groupName: Notes
|
||||
groupDescription: ''
|
||||
subgroup: Assets
|
||||
subgroupDescription: ''
|
||||
title: 'List Notes'
|
||||
description: |-
|
||||
Checks authorization to view assets, attempts to find the asset by ID,
|
||||
and fetches related action log entries of type 'note added', including
|
||||
user information for each note. Returns a JSON response with the notes or errors.
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
asset_id:
|
||||
name: asset_id
|
||||
description: 'The ID of the asset.'
|
||||
required: true
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
asset_id: 1
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=0996I9pgG6hTiplyAUfm6hARQqlLp2KcZRKbrsM4; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
398
.scribe/endpoints/19.yaml
Normal file
398
.scribe/endpoints/19.yaml
Normal file
@@ -0,0 +1,398 @@
|
||||
name: Settings
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/settings/ldaptest
|
||||
metadata:
|
||||
groupName: Settings
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Test LDAP Connection'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=sXQmK1seBet712r1kd4fxKvJ8eS1G5JIQGi7Jk76; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/settings/purge_barcodes
|
||||
metadata:
|
||||
groupName: Settings
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Barcode Cache'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/settings/login-attempts
|
||||
metadata:
|
||||
groupName: Settings
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Get a list of login attempts'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=3WvRIFmkRUjvmDyyocP7gGkeVA8nsKCstMlpD2ll; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/settings/ldaptestlogin
|
||||
metadata:
|
||||
groupName: Settings
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Test LDAP Login'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters:
|
||||
ldaptest_user:
|
||||
name: ldaptest_user
|
||||
description: ''
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
ldaptest_password:
|
||||
name: ldaptest_password
|
||||
description: ''
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanBodyParameters:
|
||||
ldaptest_user: architecto
|
||||
ldaptest_password: architecto
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/settings/mailtest
|
||||
metadata:
|
||||
groupName: Settings
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Test Email Configuration'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/settings/backups
|
||||
metadata:
|
||||
groupName: Settings
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Lists backup files'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=c1LnO2y90g9cXIQdH1B3ALRTwBznlJR0MPn7UYwI; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/settings/backups/download/latest
|
||||
metadata:
|
||||
groupName: Settings
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Determines and downloads the latest backup'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=h8vmsBd9n2ThBnox919dPAo17WMNdGSmFDgmUWbJ; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/settings/backups/download/{file}'
|
||||
metadata:
|
||||
groupName: Settings
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Downloads a backup file.'
|
||||
description: |-
|
||||
We use response()->download() here instead of Storage::download() because Storage::download()
|
||||
exhausts memory on larger files.
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
file:
|
||||
name: file
|
||||
description: ''
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
file: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=dEPJObU3yZeyRQ0ZNZQmLDg70DDH6mt8OLUoXk7b; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
539
.scribe/endpoints/20.yaml
Normal file
539
.scribe/endpoints/20.yaml
Normal file
@@ -0,0 +1,539 @@
|
||||
name: 'Status Labels'
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/statuslabels/selectlist
|
||||
metadata:
|
||||
groupName: 'Status Labels'
|
||||
groupDescription: ''
|
||||
subgroup: Assets
|
||||
subgroupDescription: ''
|
||||
title: Selectlist
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=wkMPeN6kxHTgcy7pBWCmBb2skYp7Ozxo03ll2QRI; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/statuslabels/assets/name
|
||||
metadata:
|
||||
groupName: 'Status Labels'
|
||||
groupDescription: ''
|
||||
subgroup: Assets
|
||||
subgroupDescription: ''
|
||||
title: 'Show Count for Pie Chart'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=BwSbIkmBBnKEl1eHDB5irvFrSmdOermismgPqdVt; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/statuslabels/assets/type
|
||||
metadata:
|
||||
groupName: 'Status Labels'
|
||||
groupDescription: ''
|
||||
subgroup: Assets
|
||||
subgroupDescription: ''
|
||||
title: 'Show Count for Pie Chart by Meta Status'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=qgDpluENzw06DYesVDJ62VPNypFZR7TMXA5YuERD; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/statuslabels/{id}/assetlist'
|
||||
metadata:
|
||||
groupName: 'Status Labels'
|
||||
groupDescription: ''
|
||||
subgroup: Assets
|
||||
subgroupDescription: ''
|
||||
title: 'Show Assets with Status Label'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the statuslabel.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=prHwFCnHCRfbaQBGGsb9zl9HAqpNQVahgTzOn5TU; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/statuslabels/{statuslabel}/deployable'
|
||||
metadata:
|
||||
groupName: 'Status Labels'
|
||||
groupDescription: ''
|
||||
subgroup: Assets
|
||||
subgroupDescription: ''
|
||||
title: 'Check for Deployable Status'
|
||||
description: |-
|
||||
Returns a boolean response based on whether the status label
|
||||
is one that is deployable or pending.
|
||||
|
||||
This is used by the hardware create/edit view to determine whether
|
||||
we should provide a dropdown of users for them to check the asset out to,
|
||||
and whether we show a warning that the asset will be checked in if it's already
|
||||
assigned but the status is changed to one that isn't pending or deployable
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
statuslabel:
|
||||
name: statuslabel
|
||||
description: 'The statuslabel.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
statuslabel: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=gGlaRILsVZF4fEWWem29LTEhtwQLJo5jRgFzetFi; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/statuslabels
|
||||
metadata:
|
||||
groupName: 'Status Labels'
|
||||
groupDescription: ''
|
||||
subgroup: Assets
|
||||
subgroupDescription: ''
|
||||
title: 'Show Status Labels'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters:
|
||||
search:
|
||||
name: search
|
||||
description: 'Search term to filter results.'
|
||||
required: false
|
||||
example: Inventory
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanQueryParameters:
|
||||
search: Inventory
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=wZlTwk63tGu1kRBFJuzb8R1UY1k0ZU2YI5NAAZt8; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/statuslabels
|
||||
metadata:
|
||||
groupName: 'Status Labels'
|
||||
groupDescription: ''
|
||||
subgroup: Assets
|
||||
subgroupDescription: ''
|
||||
title: 'Store a newly created resource in storage.'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/statuslabels/{id}'
|
||||
metadata:
|
||||
groupName: 'Status Labels'
|
||||
groupDescription: ''
|
||||
subgroup: Assets
|
||||
subgroupDescription: ''
|
||||
title: 'Show Status Labels'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the statuslabel.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=BoPls7yDoCtaubgDPfK5nEabHin9oYkJpg9vZT3b; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/statuslabels/{id}'
|
||||
metadata:
|
||||
groupName: 'Status Labels'
|
||||
groupDescription: ''
|
||||
subgroup: Assets
|
||||
subgroupDescription: ''
|
||||
title: 'Update Status Label'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the statuslabel.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/statuslabels/{id}'
|
||||
metadata:
|
||||
groupName: 'Status Labels'
|
||||
groupDescription: ''
|
||||
subgroup: Assets
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Status Label'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the statuslabel.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
482
.scribe/endpoints/21.yaml
Normal file
482
.scribe/endpoints/21.yaml
Normal file
@@ -0,0 +1,482 @@
|
||||
name: Suppliers
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/suppliers/selectlist
|
||||
metadata:
|
||||
groupName: Suppliers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: Selectlist
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=XCddlMqcqKqWUTBwJenBf996h9VUAuQn9onGzMNw; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/suppliers
|
||||
metadata:
|
||||
groupName: Suppliers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Suppliers'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters:
|
||||
search:
|
||||
name: search
|
||||
description: 'Search term to filter results.'
|
||||
required: false
|
||||
example: Acme
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
name:
|
||||
name: name
|
||||
description: 'Filter by exact supplier name.'
|
||||
required: false
|
||||
example: 'Acme Corp'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
address:
|
||||
name: address
|
||||
description: 'Filter by exact address.'
|
||||
required: false
|
||||
example: '123 Main St'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
address2:
|
||||
name: address2
|
||||
description: 'Filter by exact address2.'
|
||||
required: false
|
||||
example: 'Suite 100'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
city:
|
||||
name: city
|
||||
description: 'Filter by exact city.'
|
||||
required: false
|
||||
example: Springfield
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
state:
|
||||
name: state
|
||||
description: 'Filter by exact state.'
|
||||
required: false
|
||||
example: IL
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
zip:
|
||||
name: zip
|
||||
description: 'Filter by exact zip code.'
|
||||
required: false
|
||||
example: '62701'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
country:
|
||||
name: country
|
||||
description: 'Filter by exact country.'
|
||||
required: false
|
||||
example: USA
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
phone:
|
||||
name: phone
|
||||
description: 'Filter by exact phone number.'
|
||||
required: false
|
||||
example: 555-1234
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
fax:
|
||||
name: fax
|
||||
description: 'Filter by exact fax number.'
|
||||
required: false
|
||||
example: 555-5678
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
email:
|
||||
name: email
|
||||
description: 'Filter by exact email address.'
|
||||
required: false
|
||||
example: info@example.org
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
url:
|
||||
name: url
|
||||
description: 'Filter by exact URL.'
|
||||
required: false
|
||||
example: 'http://example.com'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
notes:
|
||||
name: notes
|
||||
description: 'Filter by exact notes.'
|
||||
required: false
|
||||
example: 'This is a note.'
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
sort:
|
||||
name: sort
|
||||
description: 'Column to sort results by. Allowed values: id, name, address, address2, city, state, country, zip, phone, contact, fax, email, image, assets_count, licenses_count, accessories_count, components_count, consumables_count, url, notes. Default: created_at.'
|
||||
required: false
|
||||
example: name
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
order:
|
||||
name: order
|
||||
description: 'Order of sorted results. Allowed values: asc, desc. Default: desc.'
|
||||
required: false
|
||||
example: asc
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
offset:
|
||||
name: offset
|
||||
description: 'Offset/starting position of the results. Default: 0.'
|
||||
required: false
|
||||
example: 0
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
limit:
|
||||
name: limit
|
||||
description: 'Limit the number of results returned. Default: 25. Maximum: 100.'
|
||||
required: false
|
||||
example: 50
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanQueryParameters:
|
||||
search: Acme
|
||||
name: 'Acme Corp'
|
||||
address: '123 Main St'
|
||||
address2: 'Suite 100'
|
||||
city: Springfield
|
||||
state: IL
|
||||
zip: '62701'
|
||||
country: USA
|
||||
phone: 555-1234
|
||||
fax: 555-5678
|
||||
email: info@example.org
|
||||
url: 'http://example.com'
|
||||
notes: 'This is a note.'
|
||||
sort: name
|
||||
order: asc
|
||||
offset: 0
|
||||
limit: 50
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=R5PUii8mbVR2t8EyWTQHM80dstDyhZxcQR15nKb7; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: api/v1/suppliers
|
||||
metadata:
|
||||
groupName: Suppliers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Create Supplier'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/suppliers/{id}'
|
||||
metadata:
|
||||
groupName: Suppliers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Show Supplier'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the supplier.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=aqFNCFcjAl7hMG1Q0RCnYmK7HTNWcq0kYhd1R9NN; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- PUT
|
||||
- PATCH
|
||||
uri: 'api/v1/suppliers/{id}'
|
||||
metadata:
|
||||
groupName: Suppliers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Update Supplier'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the supplier.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/suppliers/{id}'
|
||||
metadata:
|
||||
groupName: Suppliers
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete Supplier'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the supplier.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
1053
.scribe/endpoints/22.yaml
Normal file
1053
.scribe/endpoints/22.yaml
Normal file
File diff suppressed because it is too large
Load Diff
1117
.scribe/endpoints/23.yaml
Normal file
1117
.scribe/endpoints/23.yaml
Normal file
File diff suppressed because it is too large
Load Diff
207
.scribe/endpoints/24.yaml
Normal file
207
.scribe/endpoints/24.yaml
Normal file
@@ -0,0 +1,207 @@
|
||||
name: Reports
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/reports/activity
|
||||
metadata:
|
||||
groupName: Reports
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Activity Report'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters:
|
||||
search:
|
||||
name: search
|
||||
description: 'Search term to filter results'
|
||||
required: false
|
||||
example: updated
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
target_type:
|
||||
name: target_type
|
||||
description: 'Filter by target type'
|
||||
required: false
|
||||
example: user
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
target_id:
|
||||
name: target_id
|
||||
description: 'Filter by target ID'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
item_type:
|
||||
name: item_type
|
||||
description: 'Filter by item type'
|
||||
required: false
|
||||
example: asset
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
item_id:
|
||||
name: item_id
|
||||
description: 'Filter by item ID'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
action_type:
|
||||
name: action_type
|
||||
description: 'Filter by action type'
|
||||
required: false
|
||||
example: create
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
created_by:
|
||||
name: created_by
|
||||
description: 'Filter by user ID who created the log'
|
||||
required: false
|
||||
example: 1
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
action_source:
|
||||
name: action_source
|
||||
description: 'Filter by action source'
|
||||
required: false
|
||||
example: web
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
remote_ip:
|
||||
name: remote_ip
|
||||
description: 'Filter by remote IP address Example:'
|
||||
required: false
|
||||
example: null
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
uploads:
|
||||
name: uploads
|
||||
description: 'Filter to only show logs with file uploads'
|
||||
required: false
|
||||
example: true
|
||||
type: boolean
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
sort:
|
||||
name: sort
|
||||
description: 'Column to sort by. Allowed values: id, created_at, target_id, created_by, accept_signature, action_type, note, remote_ip, user_agent, target_type, item_type, action_source, action_date. Default is created_at.'
|
||||
required: false
|
||||
example: created_at
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
order:
|
||||
name: order
|
||||
description: 'Order of sorting. Allowed values: asc, desc. Default is desc.'
|
||||
required: false
|
||||
example: desc
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
offset:
|
||||
name: offset
|
||||
description: 'Number of records to skip for pagination. Default is 0.'
|
||||
required: false
|
||||
example: 0
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
limit:
|
||||
name: limit
|
||||
description: 'Maximum number of records to return. Default is 25.'
|
||||
required: false
|
||||
example: 25
|
||||
type: integer
|
||||
enumValues: []
|
||||
exampleWasSpecified: true
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanQueryParameters:
|
||||
search: updated
|
||||
target_type: user
|
||||
target_id: 1
|
||||
item_type: asset
|
||||
item_id: 1
|
||||
action_type: create
|
||||
created_by: 1
|
||||
action_source: web
|
||||
uploads: true
|
||||
sort: created_at
|
||||
order: desc
|
||||
offset: 0
|
||||
limit: 25
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=Q7c7iu2qi9Mil7UrdGdQhd5UHhMHwIs9J7wKxvhY; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
54
.scribe/endpoints/25.yaml
Normal file
54
.scribe/endpoints/25.yaml
Normal file
@@ -0,0 +1,54 @@
|
||||
name: Misc
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: api/v1/version
|
||||
metadata:
|
||||
groupName: Misc
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Version API routes'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters: []
|
||||
cleanUrlParameters: []
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=4opUPyEuZlodDlaWWG7JNFN7lCuHNMim1KxZHPur; expires=Sat, 18 Oct 2025 20:42:52 GMT; Max-Age=719999; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
285
.scribe/endpoints/26.yaml
Normal file
285
.scribe/endpoints/26.yaml
Normal file
@@ -0,0 +1,285 @@
|
||||
name: Files
|
||||
description: ''
|
||||
endpoints:
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/{object_type}/{id}/files'
|
||||
metadata:
|
||||
groupName: Files
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'List Files for an Object'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
object_type:
|
||||
name: object_type
|
||||
description: ''
|
||||
required: true
|
||||
example: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the {object type}.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
object_type: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=HfR9HTwK8SuIGE2OuiaImTbUpBhp1HtUBHMeilHy; expires=Sat, 18 Oct 2025 20:42:53 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- GET
|
||||
uri: 'api/v1/{object_type}/{id}/files/{file_id}'
|
||||
metadata:
|
||||
groupName: Files
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Display File'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
object_type:
|
||||
name: object_type
|
||||
description: ''
|
||||
required: true
|
||||
example: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the {object type}.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
file_id:
|
||||
name: file_id
|
||||
description: 'The ID of the file.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
object_type: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users
|
||||
id: architecto
|
||||
file_id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses:
|
||||
-
|
||||
status: 401
|
||||
content: '{"error":"Unauthorized or unauthenticated."}'
|
||||
headers:
|
||||
cache-control: 'max-age=0, must-revalidate, no-cache, no-store, private'
|
||||
content-type: application/json
|
||||
vary: Origin
|
||||
pragma: no-cache
|
||||
expires: 'Sun, 02 Jan 1990 00:00:00 GMT'
|
||||
x-content-type-options: nosniff
|
||||
feature-policy: "accelerometer 'none';autoplay 'none';camera 'none';display-capture 'none';document-domain 'none';encrypted-media 'none';fullscreen 'none';geolocation 'none';sync-xhr 'none';usb 'none';xr-spatial-tracking 'none'"
|
||||
referrer-policy: same-origin
|
||||
content-security-policy: "default-src 'self';style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';connect-src 'self';object-src 'none';font-src 'self' data:;img-src 'self' data: https://snipe-it.test https://avatars.githubusercontent.com/u/ https://www.google.com/images/branding/googlelogo/2x/ https://snipe-flysystem-public-test.s3-us-west-2.amazonaws.com https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com"
|
||||
set-cookie: 'snipe-dev_local=N688uqN5BWG2WKvT3v6TxAJAl1Il05lzaTycQ40x; expires=Sat, 18 Oct 2025 20:42:53 GMT; Max-Age=720000; path=/; secure; httponly; samesite=lax'
|
||||
description: null
|
||||
custom: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- POST
|
||||
uri: 'api/v1/{object_type}/{id}/files'
|
||||
metadata:
|
||||
groupName: Files
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Upload File to an Object'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
object_type:
|
||||
name: object_type
|
||||
description: ''
|
||||
required: true
|
||||
example: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the {object type}.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
object_type: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users
|
||||
id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
-
|
||||
httpMethods:
|
||||
- DELETE
|
||||
uri: 'api/v1/{object_type}/{id}/files/{file_id}/delete'
|
||||
metadata:
|
||||
groupName: Files
|
||||
groupDescription: ''
|
||||
subgroup: ''
|
||||
subgroupDescription: ''
|
||||
title: 'Delete File'
|
||||
description: ''
|
||||
authenticated: true
|
||||
deprecated: false
|
||||
custom: []
|
||||
headers:
|
||||
Authorization: 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
urlParameters:
|
||||
object_type:
|
||||
name: object_type
|
||||
description: ''
|
||||
required: true
|
||||
example: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
id:
|
||||
name: id
|
||||
description: 'The ID of the {object type}.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
file_id:
|
||||
name: file_id
|
||||
description: 'The ID of the file.'
|
||||
required: true
|
||||
example: architecto
|
||||
type: string
|
||||
enumValues: []
|
||||
exampleWasSpecified: false
|
||||
nullable: false
|
||||
custom: []
|
||||
cleanUrlParameters:
|
||||
object_type: accessories|assets|components|consumables|hardware|licenses|locations|maintenances|models|users
|
||||
id: architecto
|
||||
file_id: architecto
|
||||
queryParameters: []
|
||||
cleanQueryParameters: []
|
||||
bodyParameters: []
|
||||
cleanBodyParameters: []
|
||||
fileParameters: []
|
||||
responses: []
|
||||
responseFields: []
|
||||
auth:
|
||||
- headers
|
||||
- Authorization
|
||||
- 'Bearer 6g43cv8PD1aE5beadkZfhV6'
|
||||
controller: null
|
||||
method: null
|
||||
route: null
|
||||
custom: []
|
||||
53
.scribe/endpoints/custom.0.yaml
Normal file
53
.scribe/endpoints/custom.0.yaml
Normal file
@@ -0,0 +1,53 @@
|
||||
# To include an endpoint that isn't a part of your Laravel app (or belongs to a vendor package),
|
||||
# you can define it in a custom.*.yaml file, like this one.
|
||||
# Each custom file should contain an array of endpoints. Here's an example:
|
||||
# See https://scribe.knuckles.wtf/laravel/documenting/custom-endpoints#extra-sorting-groups-in-custom-endpoint-files for more options
|
||||
|
||||
#- httpMethods:
|
||||
# - POST
|
||||
# uri: api/doSomething/{param}
|
||||
# metadata:
|
||||
# groupName: The group the endpoint belongs to. Can be a new group or an existing group.
|
||||
# groupDescription: A description for the group. You don't need to set this for every endpoint; once is enough.
|
||||
# subgroup: You can add a subgroup, too.
|
||||
# title: Do something
|
||||
# description: 'This endpoint allows you to do something.'
|
||||
# authenticated: false
|
||||
# headers:
|
||||
# Content-Type: application/json
|
||||
# Accept: application/json
|
||||
# urlParameters:
|
||||
# param:
|
||||
# name: param
|
||||
# description: A URL param for no reason.
|
||||
# required: true
|
||||
# example: 2
|
||||
# type: integer
|
||||
# queryParameters:
|
||||
# speed:
|
||||
# name: speed
|
||||
# description: How fast the thing should be done. Can be `slow` or `fast`.
|
||||
# required: false
|
||||
# example: fast
|
||||
# type: string
|
||||
# bodyParameters:
|
||||
# something:
|
||||
# name: something
|
||||
# description: The things we should do.
|
||||
# required: true
|
||||
# example:
|
||||
# - string 1
|
||||
# - string 2
|
||||
# type: 'string[]'
|
||||
# responses:
|
||||
# - status: 200
|
||||
# description: 'When the thing was done smoothly.'
|
||||
# content: # Your response content can be an object, an array, a string or empty.
|
||||
# {
|
||||
# "hey": "ho ho ho"
|
||||
# }
|
||||
# responseFields:
|
||||
# hey:
|
||||
# name: hey
|
||||
# description: Who knows?
|
||||
# type: string # This is optional
|
||||
11
.scribe/intro.md
Normal file
11
.scribe/intro.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Introduction
|
||||
|
||||
This documentation aims to provide the information you need to work with the Snipe-IT JSON REST API.
|
||||
|
||||
<aside>
|
||||
<strong>Base URL</strong>: <code>https://snipe-it.test/api/v1</code>
|
||||
</aside>
|
||||
|
||||
<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
|
||||
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>
|
||||
|
||||
@@ -94,7 +94,7 @@ class Handler extends ExceptionHandler
|
||||
|
||||
// Handle API requests that fail because Carbon cannot parse the date on validation (when a submitted date value is definitely not a date)
|
||||
if ($e instanceof InvalidFormatException) {
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, trans('validation.date', ['attribute' => 'date'])), 200);
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, trans('validation.date', ['attribute' => 'date'])), config('app.validation_status_code'));
|
||||
}
|
||||
|
||||
// Handle API requests that fail because the model doesn't exist
|
||||
@@ -124,7 +124,7 @@ class Handler extends ExceptionHandler
|
||||
// never even get to the controller where we normally nicely format JSON responses
|
||||
if ($e instanceof ValidationException) {
|
||||
$response = $this->invalidJson($request, $e);
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, $e->errors()), 200);
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, $e->errors()), config('app.validation_status_code'));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -198,7 +198,7 @@ class Handler extends ExceptionHandler
|
||||
|
||||
protected function invalidJson($request, ValidationException $exception)
|
||||
{
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, $exception->errors()), 200);
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, $exception->errors()), config('app.validation_status_code'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -11,12 +11,9 @@ use App\Http\Requests\StoreAccessoryRequest;
|
||||
use App\Http\Transformers\AccessoriesTransformer;
|
||||
use App\Http\Transformers\SelectlistTransformer;
|
||||
use App\Models\Accessory;
|
||||
use App\Models\Company;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Requests\ImageUploadRequest;
|
||||
use App\Models\AccessoryCheckout;
|
||||
@@ -26,11 +23,25 @@ class AccessoriesController extends Controller
|
||||
use CheckInOutRequest;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List accessories
|
||||
*
|
||||
* @group Accessories
|
||||
* @queryParam search string A search term to filter results by. Example: keyboard
|
||||
* @queryParam filter[<fieldname>] string A field to filter by. Example
|
||||
* @queryParam company_id int Filter by company ID. Example: 1
|
||||
* @queryParam category_id int Filter by category ID. Example: 1
|
||||
* @queryParam manufacturer_id int Filter by manufacturer ID. Example: 1
|
||||
* @queryParam supplier_id int Filter by supplier ID. Example: 1
|
||||
* @queryParam location_id int Filter by location ID. Example: 1
|
||||
* @queryParam notes string Filter by notes. Example: For office use only
|
||||
* @queryParam offset int The number of items to skip before starting to collect the result set. Example: 0
|
||||
* @queryParam limit int The number of items to return. Example: 50
|
||||
* @queryParam sort string The field to sort by. Example: created_at
|
||||
* @queryParam order string The order to sort by. Example: desc
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @return \Illuminate\Http\Response
|
||||
*@since [v4.0]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
@@ -151,9 +162,13 @@ class AccessoriesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Accessory
|
||||
*
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
* @group Accessories
|
||||
* @bodyParam name string required The name of the accessory. Example: Apple Bluetooth Keyboard
|
||||
* @bodyParam qty int required The number of accessories to create. Example: 10
|
||||
* @bodyParam category_id int required The ID of the category to assign this accessory to. Example: 1
|
||||
* @bodyParam image file No-example
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
@@ -173,8 +188,9 @@ class AccessoriesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Accessory
|
||||
*
|
||||
* @group Accessories
|
||||
* @param int $id
|
||||
* @return array
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
@@ -189,26 +205,11 @@ class AccessoriesController extends Controller
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return array
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
public function accessory_detail($id)
|
||||
{
|
||||
$this->authorize('view', Accessory::class);
|
||||
$accessory = Accessory::findOrFail($id);
|
||||
|
||||
return (new AccessoriesTransformer)->transformAccessory($accessory);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the list of checkouts for a specific accessory
|
||||
* Show Accessory Checkouts
|
||||
*
|
||||
* @group Accessories
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -238,8 +239,9 @@ class AccessoriesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update accessory.
|
||||
*
|
||||
* @group Accessories
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -261,8 +263,9 @@ class AccessoriesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Accessory
|
||||
*
|
||||
* @group Accessories
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -285,11 +288,12 @@ class AccessoriesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Save the Accessory checkout information.
|
||||
* Checkout Accessory
|
||||
*
|
||||
* If Slack is enabled and/or asset acceptance is enabled, it will also
|
||||
* trigger a Slack message and send an email.
|
||||
*
|
||||
* @group Accessories
|
||||
* @param int $accessoryId
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
@@ -332,8 +336,9 @@ class AccessoriesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Check in the item so that it can be checked out again to someone else
|
||||
* Checkin Accessory
|
||||
*
|
||||
* @group Accessories
|
||||
* @param Request $request
|
||||
* @param int $accessoryUserId
|
||||
* @param string $backto
|
||||
@@ -375,8 +380,10 @@ class AccessoriesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist
|
||||
*
|
||||
* @group Accessories
|
||||
* @queryParam search string A search term to filter results by name. No-example
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -25,8 +25,9 @@ use Illuminate\Http\JsonResponse;
|
||||
class AssetModelsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Models
|
||||
*
|
||||
* @group Models
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
@@ -172,8 +173,9 @@ class AssetModelsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Model
|
||||
*
|
||||
* @group Models
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\StoreAssetModelRequest $request
|
||||
@@ -194,11 +196,12 @@ class AssetModelsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Model
|
||||
*
|
||||
* @group Models
|
||||
* @urlParam id int required The ID of the model.
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
*/
|
||||
public function show($id) : array
|
||||
{
|
||||
@@ -209,11 +212,13 @@ class AssetModelsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource's assets
|
||||
* List Assets in Model
|
||||
*
|
||||
* @group Models
|
||||
* @urlParam id int required The ID of the model.
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
*
|
||||
*/
|
||||
public function assets($id) : array
|
||||
{
|
||||
@@ -225,12 +230,12 @@ class AssetModelsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Model
|
||||
*
|
||||
* @group Models
|
||||
* @urlParam id int required The ID of the model.
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(StoreAssetModelRequest $request, $id) : JsonResponse
|
||||
@@ -261,11 +266,12 @@ class AssetModelsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Model
|
||||
*
|
||||
* @group Models
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
* @urlParam id int required The ID of the model.
|
||||
*/
|
||||
public function destroy($id) : JsonResponse
|
||||
{
|
||||
@@ -291,8 +297,9 @@ class AssetModelsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist of Models
|
||||
*
|
||||
* @group Models
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0.16]
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
|
||||
@@ -50,10 +50,32 @@ class AssetsController extends Controller
|
||||
use MigratesLegacyAssetLocations;
|
||||
|
||||
/**
|
||||
* Returns JSON listing of all assets
|
||||
* List Assets
|
||||
*
|
||||
* @group Assets
|
||||
* @queryParam action string The action to filter by: audits, checkins. No-example
|
||||
* @queryParam upcoming_status string The status to filter by: `due`, `overdue`, `due-or-overdue`. No-example
|
||||
* @queryParam status string The asset status to filter by: `RTD`, `Deployed`, `Pending`, `Undeployable`, `Archived`, `Requestable`. No-example
|
||||
* @queryParam status_id int The asset status ID to filter by. No-example
|
||||
* @queryParam asset_tag string The asset tag to filter by. No-example
|
||||
* @queryParam serial string The serial number to filter by. No-example
|
||||
* @queryParam requestable boolean Filter by requestable assets. No-example
|
||||
* @queryParam model_id int The model ID or IDs to filter by. No-example
|
||||
* @queryParam category_id int The category ID to filter by. No-example
|
||||
* @queryParam location_id int The location ID to filter by. No-example
|
||||
* @queryParam rtd_location_id int The RTD location ID to filter by. No-example
|
||||
* @queryParam supplier_id int The supplier ID to filter by. No-example
|
||||
* @queryParam asset_eol_date date The asset end-of-life date to filter by. No-example
|
||||
* @queryParam assigned_to int The user ID or department ID the asset is assigned to. No-example
|
||||
* @queryParam assigned_type string The type of assignment, either 'user' or 'asset' or 'location'. Example: user
|
||||
* @queryParam company_id int The company ID to filter by. No-example
|
||||
* @queryParam manufacturer_id int The manufacturer ID to filter by. No-example
|
||||
* @queryParam depreciation_id int The depreciation ID to filter by. No-example
|
||||
* @queryParam byod boolean Filter by BYOD assets. Example: true
|
||||
* @queryParam order_number string The order number to filter by. Example: No-example
|
||||
* @queryParam search string A text string to search for. Example: No-example
|
||||
* @queryParam filter string A JSON object of key/value pairs to filter by. No-example
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $assetId
|
||||
* @since [v4.0]
|
||||
*/
|
||||
public function index(Request $request, $action = null, $upcoming_status = null) : JsonResponse | array
|
||||
@@ -475,9 +497,10 @@ class AssetsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Returns JSON with information about an asset (by tag) for detail view.
|
||||
* Lookup by Tag
|
||||
*
|
||||
* @param string $tag
|
||||
* @group Assets
|
||||
* @urlParam $tag string required The asset tag. Example: 1
|
||||
* @since [v4.2.1]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
*/
|
||||
@@ -510,10 +533,11 @@ class AssetsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns JSON with information about an asset (by serial) for detail view.
|
||||
* Lookup by Serial
|
||||
*
|
||||
* @group Assets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param string $serial
|
||||
* @urlParam $serial string
|
||||
* @since [v4.2.1]
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
@@ -553,10 +577,11 @@ class AssetsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns JSON with information about an asset for detail view.
|
||||
* Show Asset
|
||||
*
|
||||
* @group Assets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $assetId
|
||||
* @queryParam $assetId int required The asset ID. Example: 1
|
||||
* @since [v4.0]
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
@@ -573,6 +598,13 @@ class AssetsController extends Controller
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/hardware/message.does_not_exist')), 200);
|
||||
}
|
||||
|
||||
/**
|
||||
* Licenses Assigned to Asset
|
||||
*
|
||||
* @group Assets
|
||||
* @queryParam $assetId int required The asset ID. Example: 1
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function licenses(Request $request, $id): array
|
||||
{
|
||||
$this->authorize('view', Asset::class);
|
||||
@@ -585,8 +617,12 @@ class AssetsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist
|
||||
*
|
||||
* @group Assets
|
||||
* @queryParam $search string String to search on. No-example
|
||||
* @queryParam $companyId int Company ID to filter by. No-example
|
||||
* @queryParam $assetStatusType string The asset status type to filter by: `RTD`. No-example
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0.16]
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
@@ -644,8 +680,9 @@ class AssetsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Accepts a POST request to create a new asset
|
||||
* Create Asset
|
||||
*
|
||||
* @group Assets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
* @since [v4.0]
|
||||
@@ -739,8 +776,15 @@ class AssetsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Accepts a POST request to update an asset
|
||||
* Update Asset
|
||||
*
|
||||
* @group Assets
|
||||
* @queryParam model_id int The model ID to associate the asset with. Example: 1
|
||||
* @queryParam company_id int The company ID to associate the asset with. Example: 1
|
||||
* @queryParam rtd_location_id int The RTD location ID to associate the asset with. Example: 1
|
||||
* @queryParam last_audit_date date The last audit date for the asset. Example: 2023-12-31
|
||||
* @queryParam image file The image file to upload for the asset. Example: (binary)
|
||||
* @param \App\Http\Requests\UpdateAssetRequest $request
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
@@ -831,8 +875,10 @@ class AssetsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Delete a given asset (mark as deleted).
|
||||
* Delete Asset
|
||||
*
|
||||
* @group Assets
|
||||
* @param int $id
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $assetId
|
||||
* @since [v4.0]
|
||||
@@ -866,8 +912,9 @@ class AssetsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Restore a soft-deleted asset.
|
||||
* Restore Asset
|
||||
*
|
||||
* @group Assets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $assetId
|
||||
* @since [v5.1.18]
|
||||
@@ -894,8 +941,9 @@ class AssetsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Checkout an asset by its tag.
|
||||
* Checkout by Asset Tag
|
||||
*
|
||||
* @group Assets
|
||||
* @author [N. Butler]
|
||||
* @param string $tag
|
||||
* @since [v6.0.5]
|
||||
@@ -909,8 +957,9 @@ class AssetsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Checkout an asset
|
||||
* Checkout Asset
|
||||
*
|
||||
* @group Assets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $assetId
|
||||
* @since [v4.0]
|
||||
@@ -984,8 +1033,9 @@ class AssetsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Checkin an asset
|
||||
* Checkin Asset
|
||||
*
|
||||
* @group Assets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $assetId
|
||||
* @since [v4.0]
|
||||
@@ -1069,8 +1119,9 @@ class AssetsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Checkin an asset by asset tag
|
||||
* Checkin by Asset Tag
|
||||
*
|
||||
* @group Assets
|
||||
* @author [A. Janes] [<ajanes@adagiohealth.org>]
|
||||
* @since [v6.0]
|
||||
*/
|
||||
@@ -1093,8 +1144,9 @@ class AssetsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Mark an asset as audited
|
||||
* Audit Asset
|
||||
*
|
||||
* @group Assets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $id
|
||||
* @since [v4.0]
|
||||
@@ -1218,8 +1270,9 @@ class AssetsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Returns JSON listing of all requestable assets
|
||||
* Show Requestable Assets
|
||||
*
|
||||
* @group Assets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
@@ -1306,6 +1359,11 @@ class AssetsController extends Controller
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* List Assets Assigned to Asset
|
||||
*
|
||||
* @group Assets
|
||||
*/
|
||||
public function assignedAssets(Request $request, Asset $asset) : JsonResponse | array
|
||||
{
|
||||
$this->authorize('view', Asset::class);
|
||||
@@ -1323,6 +1381,11 @@ class AssetsController extends Controller
|
||||
return (new AssetsTransformer)->transformAssets($assets, $total);
|
||||
}
|
||||
|
||||
/**
|
||||
* List Accessories Assigned to Asset
|
||||
*
|
||||
* @group Assets
|
||||
*/
|
||||
public function assignedAccessories(Request $request, Asset $asset) : JsonResponse | array
|
||||
{
|
||||
$this->authorize('view', Asset::class);
|
||||
@@ -1340,6 +1403,11 @@ class AssetsController extends Controller
|
||||
return (new AssetsTransformer)->transformCheckedoutAccessories($accessory_checkouts, $total);
|
||||
}
|
||||
|
||||
/**
|
||||
* List Components Assigned to Asset
|
||||
*
|
||||
* @group Assets
|
||||
*/
|
||||
public function assignedComponents(Request $request, Asset $asset): JsonResponse|array
|
||||
{
|
||||
$this->authorize('view', Asset::class);
|
||||
@@ -1354,10 +1422,10 @@ class AssetsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate asset labels by tag
|
||||
*
|
||||
* Generate Label by Asset Tag
|
||||
*
|
||||
* @group Assets
|
||||
* @author [Nebelkreis] [https://github.com/NebelKreis]
|
||||
*
|
||||
* @param Request $request Contains asset_tags array of asset tags to generate labels for
|
||||
* @return JsonResponse Returns base64 encoded PDF on success, error message on failure
|
||||
*/
|
||||
|
||||
@@ -15,8 +15,9 @@ use Illuminate\Support\Facades\Storage;
|
||||
class CategoriesController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Categories
|
||||
*
|
||||
* @group Categories
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @return \Illuminate\Http\Response
|
||||
@@ -148,8 +149,9 @@ class CategoriesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Category
|
||||
*
|
||||
* @group Categories
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -171,8 +173,9 @@ class CategoriesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Category
|
||||
*
|
||||
* @group Categories
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -187,8 +190,9 @@ class CategoriesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Category
|
||||
*
|
||||
* @group Categories
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -217,8 +221,9 @@ class CategoriesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Category
|
||||
*
|
||||
* @group Categories
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -241,8 +246,9 @@ class CategoriesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist
|
||||
*
|
||||
* @group Categories
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0.16]
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
|
||||
@@ -14,6 +14,11 @@ use Exception;
|
||||
|
||||
class CheckoutRequest extends Controller
|
||||
{
|
||||
/**
|
||||
* Store Asset Request
|
||||
*
|
||||
* @group Account
|
||||
*/
|
||||
public function store(Asset $asset): JsonResponse
|
||||
{
|
||||
try {
|
||||
@@ -29,6 +34,11 @@ class CheckoutRequest extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Cancel Asset Request
|
||||
*
|
||||
* @group Account
|
||||
*/
|
||||
public function destroy(Asset $asset): JsonResponse
|
||||
{
|
||||
try {
|
||||
|
||||
@@ -15,8 +15,9 @@ use Illuminate\Http\JsonResponse;
|
||||
class CompaniesController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Companies
|
||||
*
|
||||
* @group Companies
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
@@ -90,11 +91,12 @@ class CompaniesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Company
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @group Companies
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
*@since [v4.0]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
*/
|
||||
public function store(ImageUploadRequest $request) : JsonResponse
|
||||
{
|
||||
@@ -112,11 +114,12 @@ class CompaniesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Company
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @group Companies
|
||||
* @param int $id
|
||||
* @since [v4.0]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
*/
|
||||
public function show($id) : array
|
||||
{
|
||||
@@ -129,12 +132,13 @@ class CompaniesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Company
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @group Companies
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
* @param int $id
|
||||
*@author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
public function update(ImageUploadRequest $request, $id) : JsonResponse
|
||||
{
|
||||
@@ -154,11 +158,12 @@ class CompaniesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Company
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @group Companies
|
||||
* @param int $id
|
||||
* @since [v4.0]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
*/
|
||||
public function destroy($id) : JsonResponse
|
||||
{
|
||||
@@ -177,8 +182,9 @@ class CompaniesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist
|
||||
*
|
||||
* @group Companies
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0.16]
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
|
||||
@@ -20,8 +20,9 @@ use Carbon\Carbon;
|
||||
class ComponentsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Categories
|
||||
*
|
||||
* @group Components
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*
|
||||
@@ -151,8 +152,9 @@ class ComponentsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Component
|
||||
*
|
||||
* @group Components
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -172,8 +174,9 @@ class ComponentsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Component
|
||||
*
|
||||
* @group Components
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $id
|
||||
*/
|
||||
@@ -188,8 +191,9 @@ class ComponentsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Component
|
||||
*
|
||||
* @group Components
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -211,8 +215,9 @@ class ComponentsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Component
|
||||
*
|
||||
* @group Components
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -233,8 +238,9 @@ class ComponentsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display all assets attached to a component
|
||||
* Component Assets
|
||||
*
|
||||
* @group Components
|
||||
* @author [A. Bergamasco] [@vjandrea]
|
||||
* @since [v4.0]
|
||||
* @param Request $request
|
||||
@@ -274,10 +280,10 @@ class ComponentsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Validate and checkout the component.
|
||||
* Checkout Component
|
||||
*
|
||||
* @group Components
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* t
|
||||
* @since [v5.1.8]
|
||||
* @param Request $request
|
||||
* @param int $componentId
|
||||
@@ -329,8 +335,9 @@ class ComponentsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate and store checkin data.
|
||||
* Checkin Component
|
||||
*
|
||||
* @group Components
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v5.1.8]
|
||||
* @param Request $request
|
||||
|
||||
@@ -19,8 +19,21 @@ use Illuminate\Http\JsonResponse;
|
||||
class ConsumablesController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Consumables
|
||||
*
|
||||
* @group Consumables
|
||||
* @queryParam filter string A JSON encoded array of key/value pairs to filter results by. Example: {"company":"1","location":"2"}
|
||||
* @queryParam search string A search term to filter results by.
|
||||
* @queryParam name string Filter by exact name.
|
||||
* @queryParam company_id integer Filter by exact company ID.
|
||||
* @queryParam category_id integer Filter by exact category ID.
|
||||
* @queryParam model_number string Filter by exact model number.
|
||||
* @queryParam manufacturer_id integer Filter by exact manufacturer ID.
|
||||
* @queryParam supplier_id integer Filter by exact supplier ID.
|
||||
* @queryParam location_id integer Filter by exact location ID.
|
||||
* @queryParam notes string Filter by exact notes.
|
||||
* @queryParam sort string The column to sort results by. Must be one of the following: id, name, order_number, min_amt, purchase_date, purchase_cost, company, category, model_number, item_no, manufacturer, location, qty, image, company, location, category, supplier, manufacturer. Default is created_at.
|
||||
* @queryParam order string The order to sort results by. Must be one of the following: asc, desc. Default is desc.
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
@@ -153,6 +166,7 @@ class ConsumablesController extends Controller
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @group Consumables
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -172,8 +186,9 @@ class ConsumablesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Consumable
|
||||
*
|
||||
* @group Consumables
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $id
|
||||
*/
|
||||
@@ -186,8 +201,9 @@ class ConsumablesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Consumable
|
||||
*
|
||||
* @group Consumables
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -208,8 +224,9 @@ class ConsumablesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Consumable
|
||||
*
|
||||
* @group Consumables
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -225,8 +242,9 @@ class ConsumablesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a JSON response containing details on the users associated with this consumable.
|
||||
* User Assignments
|
||||
*
|
||||
* @group Consumables
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @see \App\Http\Controllers\Consumables\ConsumablesController::getView() method that returns the form.
|
||||
* @since [v1.0]
|
||||
@@ -272,8 +290,9 @@ class ConsumablesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Checkout a consumable
|
||||
* Checkout Consumable
|
||||
*
|
||||
* @group Consumables
|
||||
* @author [A. Gutierrez] [<andres@baller.tv>]
|
||||
* @param int $id
|
||||
* @since [v4.9.5]
|
||||
@@ -334,8 +353,9 @@ class ConsumablesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist
|
||||
*
|
||||
* @group Consumables
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
*/
|
||||
public function selectlist(Request $request) : array
|
||||
|
||||
@@ -14,8 +14,9 @@ use Illuminate\Http\JsonResponse;
|
||||
class CustomFieldsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Reorder the custom fields within a fieldset
|
||||
* List Custom Fields
|
||||
*
|
||||
* @group Custom Fields
|
||||
* @author [Brady Wetherington] [<uberbrady@gmail.com>]
|
||||
* @param int $id
|
||||
* @since [v3.0]
|
||||
@@ -30,7 +31,9 @@ class CustomFieldsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows the given field
|
||||
* Show Field
|
||||
*
|
||||
* @group Custom Fields
|
||||
* @author [V. Cordes] [<volker@fdatek.de>]
|
||||
* @param int $id
|
||||
* @since [v4.1.10]
|
||||
@@ -46,8 +49,9 @@ class CustomFieldsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified field
|
||||
* Update Field
|
||||
*
|
||||
* @group Custom Fields
|
||||
* @author [V. Cordes] [<volker@fdatek.de>]
|
||||
* @since [v4.1.10]
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@@ -80,8 +84,9 @@ class CustomFieldsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created field.
|
||||
* Create Field
|
||||
*
|
||||
* @group Custom Fields
|
||||
* @author [V. Cordes] [<volker@fdatek.de>]
|
||||
* @since [v4.1.10]
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@@ -112,6 +117,12 @@ class CustomFieldsController extends Controller
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, $field->getErrors()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Reorder Fields
|
||||
*
|
||||
* @group Custom Fields
|
||||
* @param \Illuminate\Http\Request $request
|
||||
*/
|
||||
public function postReorder(Request $request, $id)
|
||||
{
|
||||
$fieldset = CustomFieldset::find($id);
|
||||
@@ -134,6 +145,12 @@ class CustomFieldsController extends Controller
|
||||
return $fieldset->fields()->sync($fields);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add Field to Fieldset
|
||||
*
|
||||
* @group Custom Fields
|
||||
* @param \Illuminate\Http\Request $request
|
||||
*/
|
||||
public function associate(Request $request, $field_id) : JsonResponse
|
||||
{
|
||||
$this->authorize('update', CustomFieldset::class);
|
||||
@@ -153,6 +170,12 @@ class CustomFieldsController extends Controller
|
||||
return response()->json(Helper::formatStandardApiResponse('success', $fieldset, trans('admin/custom_fields/message.fieldset.update.success')));
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove Field from Fieldset
|
||||
*
|
||||
* @group Custom Fields
|
||||
* @param \Illuminate\Http\Request $request
|
||||
*/
|
||||
public function disassociate(Request $request, $field_id) : JsonResponse
|
||||
{
|
||||
$this->authorize('update', CustomFieldset::class);
|
||||
@@ -172,8 +195,9 @@ class CustomFieldsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a custom field.
|
||||
* Delete Field
|
||||
*
|
||||
* @group Custom Fields
|
||||
* @author [Brady Wetherington] [<uberbrady@gmail.com>]
|
||||
* @since [v1.8]
|
||||
*/
|
||||
|
||||
@@ -24,7 +24,10 @@ use Illuminate\Http\JsonResponse;
|
||||
class CustomFieldsetsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Shows the given fieldset and its fields
|
||||
* List Fieldsets
|
||||
*
|
||||
* @group Custom Fields
|
||||
* @subgroup Custom Fieldsets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @author [Josh Gibson]
|
||||
* @param int $id
|
||||
@@ -39,10 +42,13 @@ class CustomFieldsetsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows the given fieldset and its fields
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @author [Josh Gibson]
|
||||
* Show Fieldset and Fields
|
||||
*
|
||||
* @group Custom Fields
|
||||
* @subgroup Custom Fieldsets
|
||||
* @param int $id
|
||||
* @author [Josh Gibson]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v1.8]
|
||||
*/
|
||||
public function show($id) : JsonResponse | array
|
||||
@@ -56,12 +62,14 @@ class CustomFieldsetsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Fieldset
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @group Custom Fields
|
||||
* @subgroup Custom Fieldsets
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
*@author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
public function update(Request $request, $id) : JsonResponse
|
||||
{
|
||||
@@ -77,11 +85,13 @@ class CustomFieldsetsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Fieldset
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @group Custom Fields
|
||||
* @subgroup Custom Fieldsets
|
||||
* @param \Illuminate\Http\Request $request
|
||||
*@since [v4.0]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
*/
|
||||
public function store(Request $request) : JsonResponse
|
||||
{
|
||||
@@ -109,8 +119,10 @@ class CustomFieldsetsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a custom fieldset.
|
||||
* Delete Fieldset
|
||||
*
|
||||
* @group Custom Fields
|
||||
* @subgroup Custom Fieldsets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
@@ -134,12 +146,14 @@ class CustomFieldsetsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Return JSON containing a list of fields belonging to a fieldset.
|
||||
* Show Fields in Fieldset
|
||||
*
|
||||
* @author [V. Cordes] [<volker@fdatek.de>]
|
||||
* @since [v4.1.10]
|
||||
* @group Custom Fields
|
||||
* @subgroup Custom Fieldsets
|
||||
* @param $fieldsetId
|
||||
* @return string JSON
|
||||
* @author [V. Cordes] [<volker@fdatek.de>]
|
||||
* @since [v4.1.10]
|
||||
*/
|
||||
public function fields($id) : array
|
||||
{
|
||||
@@ -151,9 +165,10 @@ class CustomFieldsetsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Return JSON containing a list of fields belonging to a fieldset with the
|
||||
* default values for a given model
|
||||
* Fields in Fieldset with Default Values for Model
|
||||
*
|
||||
* @group Custom Fields
|
||||
* @subgroup Custom Fieldsets
|
||||
* @param $modelId
|
||||
* @param $fieldsetId
|
||||
* @return string JSON
|
||||
|
||||
@@ -15,8 +15,18 @@ use Illuminate\Http\JsonResponse;
|
||||
class DepartmentsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Departments
|
||||
*
|
||||
* @group Departments
|
||||
* @queryParam search string Search term to filter results. Example: IT
|
||||
* @queryParam name string Filter by exact department name. Example: IT
|
||||
* @queryParam company_id integer Filter by exact company ID. Example: 1
|
||||
* @queryParam manager_id integer Filter by exact manager (user) ID. Example:
|
||||
* @queryParam location_id integer Filter by exact location ID. Example: 1
|
||||
* @queryParam sort string Column to sort results by. Allowed values: id, name, image, users_count, notes, created_at, updated_at, location, manager, company. Default: created_at. Example: name
|
||||
* @queryParam order string Order of sorted results. Allowed values: asc, desc. Default: desc. Example: asc
|
||||
* @queryParam offset integer Offset/starting position of the results. Default: 0. Example: 0
|
||||
* @queryParam limit integer Limit the number of results returned. Default: 25. Maximum: 100. Example: 50
|
||||
* @author [Godfrey Martinez] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
@@ -88,8 +98,9 @@ class DepartmentsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Department
|
||||
*
|
||||
* @group Departments
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -112,8 +123,9 @@ class DepartmentsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Department
|
||||
*
|
||||
* @group Departments
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -126,8 +138,9 @@ class DepartmentsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Department
|
||||
*
|
||||
* @group Departments
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v5.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -149,8 +162,9 @@ class DepartmentsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Validates and deletes selected department.
|
||||
* Delete Department
|
||||
*
|
||||
* @group Departments
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $locationId
|
||||
* @since [v4.0]
|
||||
@@ -171,8 +185,9 @@ class DepartmentsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist
|
||||
*
|
||||
* @group Departments
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0.16]
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
|
||||
@@ -12,8 +12,9 @@ use Illuminate\Http\JsonResponse;
|
||||
class DepreciationsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Depreciations
|
||||
*
|
||||
* @group Depreciations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
@@ -65,8 +66,9 @@ class DepreciationsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Depreciation
|
||||
*
|
||||
* @group Depreciations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@@ -85,8 +87,9 @@ class DepreciationsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Depreciation
|
||||
*
|
||||
* @group Depreciations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -100,8 +103,9 @@ class DepreciationsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Depreciation
|
||||
*
|
||||
* @group Depreciations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@@ -121,8 +125,9 @@ class DepreciationsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Depreciation
|
||||
*
|
||||
* @group Depreciations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
|
||||
@@ -15,6 +15,7 @@ class GroupsController extends Controller
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @group User Groups
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
@@ -65,8 +66,9 @@ class GroupsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Group
|
||||
*
|
||||
* @group User Groups
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@@ -92,8 +94,9 @@ class GroupsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Group
|
||||
*
|
||||
* @group User Groups
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -106,8 +109,9 @@ class GroupsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Group
|
||||
*
|
||||
* @group User Groups
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@@ -132,6 +136,7 @@ class GroupsController extends Controller
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @group User Groups
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
|
||||
@@ -24,8 +24,9 @@ use Illuminate\Http\JsonResponse;
|
||||
class ImportController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Import Files
|
||||
*
|
||||
* @group Imports
|
||||
*/
|
||||
public function index() : JsonResponse | array
|
||||
{
|
||||
@@ -35,8 +36,9 @@ class ImportController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Process and store a CSV upload file.
|
||||
* Save Import File
|
||||
*
|
||||
* @group Imports
|
||||
* @param \Illuminate\Http\Request $request
|
||||
*/
|
||||
public function store() : JsonResponse
|
||||
@@ -184,8 +186,9 @@ class ImportController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes the specified Import.
|
||||
* Process Import
|
||||
*
|
||||
* @group Imports
|
||||
* @param int $import_id
|
||||
*/
|
||||
public function process(ItemImportRequest $request, $import_id) : JsonResponse
|
||||
@@ -255,8 +258,9 @@ class ImportController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Import File
|
||||
*
|
||||
* @group Imports
|
||||
* @param int $import_id
|
||||
*/
|
||||
public function destroy($import_id) : JsonResponse
|
||||
|
||||
@@ -13,8 +13,9 @@ use Illuminate\Http\JsonResponse;
|
||||
class LabelsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Returns JSON listing of all labels.
|
||||
* List Labels
|
||||
*
|
||||
* @group Labels
|
||||
* @author Grant Le Roux <grant.leroux+snipe-it@gmail.com>
|
||||
*/
|
||||
public function index(Request $request) : JsonResponse | array
|
||||
@@ -45,8 +46,9 @@ class LabelsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns JSON with information about a label for detail view.
|
||||
* Show Label
|
||||
*
|
||||
* @group Labels
|
||||
* @author Grant Le Roux <grant.leroux+snipe-it@gmail.com>
|
||||
* @param string $labelName
|
||||
*/
|
||||
|
||||
@@ -15,8 +15,10 @@ use Illuminate\Http\Request;
|
||||
class LicenseSeatsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List License Seats
|
||||
*
|
||||
* @group Licenses
|
||||
* @subgroup License Seats
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $licenseId
|
||||
*/
|
||||
@@ -68,8 +70,10 @@ class LicenseSeatsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show License Seat
|
||||
*
|
||||
* @group Licenses
|
||||
* @subgroup License Seats
|
||||
* @param int $licenseId
|
||||
* @param int $seatId
|
||||
*/
|
||||
@@ -91,8 +95,10 @@ class LicenseSeatsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update License Seat
|
||||
*
|
||||
* @group Licenses
|
||||
* @subgroup License Seats
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $licenseId
|
||||
* @param int $seatId
|
||||
|
||||
@@ -15,8 +15,17 @@ use Illuminate\Http\JsonResponse;
|
||||
class LicensesController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Licenses
|
||||
*
|
||||
* @group Licenses
|
||||
* @queryParam status string Filter by license status. Options: active, inactive, expiring Example: ?status=active
|
||||
* @queryParam company_id integer Filter by exact company ID. Example: 1
|
||||
* @queryParam name string Filter by exact license name. Example: Microsoft 365
|
||||
* @queryParam product_key string Filter by exact product key. Example: W269N
|
||||
* @queryParam order_number string Filter by exact order number. Example: 12345
|
||||
* @queryParam purchase_order string Filter by exact purchase order. Example: PO12345
|
||||
* @queryParam license_name string Filter by exact licensee name. Example: John Doe
|
||||
* @queryParam license_email string Filter by exact licensee email. Example: john.d
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*
|
||||
@@ -166,8 +175,9 @@ class LicensesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create License
|
||||
*
|
||||
* @group Licenses
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@@ -186,8 +196,9 @@ class LicensesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show License
|
||||
*
|
||||
* @group Licenses
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $id
|
||||
*/
|
||||
@@ -201,8 +212,9 @@ class LicensesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update License
|
||||
*
|
||||
* @group Licenses
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@@ -224,8 +236,9 @@ class LicensesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete License
|
||||
*
|
||||
* @group Licenses
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -253,8 +266,9 @@ class LicensesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist
|
||||
*
|
||||
* @group Licenses
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
*/
|
||||
public function selectlist(Request $request) : array
|
||||
|
||||
@@ -23,11 +23,26 @@ use Illuminate\Support\Collection;
|
||||
class LocationsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Locations
|
||||
*
|
||||
* @group Locations
|
||||
* @queryParam search string Search term to filter results. Example: Headquarters
|
||||
* @queryParam name string Filter by exact location name. Example: Headquarters
|
||||
* @queryParam address string Filter by exact address. Example: 123 Main St
|
||||
* @queryParam address2 string Filter by exact address2. Example: Suite 100
|
||||
* @queryParam city string Filter by exact city. Example: Springfield
|
||||
* @queryParam zip string Filter by exact zip code. Example: 12345
|
||||
* @queryParam country string Filter by exact country. Example: USA
|
||||
* @queryParam manager_id integer Filter by exact manager (user) ID. Example: 1
|
||||
* @queryParam company_id integer Filter by exact company ID. Example: 1
|
||||
* @queryParam parent_id integer Filter by exact parent location ID. Example: 1
|
||||
* @queryParam status string Filter by location status. Allowed values: active, deleted. Example: active
|
||||
* @queryParam sort string Column to sort results by. Allowed values: accessorries_count, address, address2, assets_count, assigned_assets_count, rtd_assets_count, accessories_count, assigned_accessories_count, components_count, consumables_count, users_count, children_count, city, country, created_at, currency, id, image, ldap_ou, company_id, manager_id, name, rtd_assets_count, state, updated_at, zip. Default: created_at. Example: name
|
||||
* @queryParam order string Order of sorted results. Allowed values: asc, desc. Default: desc. Example: asc
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @return \Illuminate\Http\Response
|
||||
* @since [v4.0]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
*/
|
||||
public function index(Request $request) : JsonResponse | array
|
||||
{
|
||||
@@ -152,8 +167,6 @@ class LocationsController extends Controller
|
||||
$order = $request->input('order') === 'asc' ? 'asc' : 'desc';
|
||||
$sort = in_array($request->input('sort'), $allowed_columns) ? $request->input('sort') : 'created_at';
|
||||
|
||||
|
||||
|
||||
switch ($request->input('sort')) {
|
||||
case 'parent':
|
||||
$locations->OrderParent($order);
|
||||
@@ -178,8 +191,9 @@ class LocationsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Location
|
||||
*
|
||||
* @group Locations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -208,8 +222,9 @@ class LocationsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Location
|
||||
*
|
||||
* @group Locations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -252,8 +267,9 @@ class LocationsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Location
|
||||
*
|
||||
* @group Locations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -295,7 +311,13 @@ class LocationsController extends Controller
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, $location->getErrors()));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Show Assets with Default Location
|
||||
*
|
||||
* @group Locations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $id
|
||||
*/
|
||||
public function assets(Request $request, Location $location) : JsonResponse | array
|
||||
{
|
||||
$this->authorize('view', Asset::class);
|
||||
@@ -305,6 +327,13 @@ class LocationsController extends Controller
|
||||
return (new AssetsTransformer)->transformAssets($assets, $assets->count(), $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show Assets Assigned to Location
|
||||
*
|
||||
* @group Locations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $id
|
||||
*/
|
||||
public function assignedAssets(Request $request, Location $location) : JsonResponse | array
|
||||
{
|
||||
$this->authorize('view', Asset::class);
|
||||
@@ -314,6 +343,13 @@ class LocationsController extends Controller
|
||||
return (new AssetsTransformer)->transformAssets($assets, $assets->count(), $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show Accessories Assigned to Location
|
||||
*
|
||||
* @group Locations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $id
|
||||
*/
|
||||
public function assignedAccessories(Request $request, Location $location) : JsonResponse | array
|
||||
{
|
||||
$this->authorize('view', Accessory::class);
|
||||
@@ -329,8 +365,9 @@ class LocationsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Location
|
||||
*
|
||||
* @group Locations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -384,6 +421,7 @@ class LocationsController extends Controller
|
||||
* Recursion still sucks, but I guess he doesn't have to get in the
|
||||
* sea... this time.
|
||||
*
|
||||
* @group Locations
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0.16]
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
|
||||
@@ -22,8 +22,19 @@ class MaintenancesController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* Generates the JSON response for asset maintenances listing view.
|
||||
* List Maintenances
|
||||
*
|
||||
* @group Maintenances
|
||||
* @queryParam search string Search term to filter results. Example: repair
|
||||
* @queryParam asset_id integer Filter by exact asset ID. Example: 1
|
||||
* @queryParam supplier_id integer Filter by exact supplier ID. Example: 1
|
||||
* @queryParam created_by integer Filter by exact user ID who created the maintenance. Example
|
||||
* @queryParam url string Filter by exact URL. Example: http://example.com
|
||||
* @queryParam asset_maintenance_type string Filter by exact maintenance type. Example: repair
|
||||
* @queryParam sort string Column to sort results by. Allowed values: id, name, asset_maintenance_time, asset_maintenance_type, cost, start_date, completion_date, notes, asset_tag, asset_name, serial, created_by, supplier, location, is_warranty, status_label. Default: created_at. Example: name
|
||||
* @queryParam order string Order of sorted results. Allowed values: asc, desc. Default: desc. Example: asc
|
||||
* @queryParam offset integer Offset/starting position of the results. Default: 0. Example: 0
|
||||
* @queryParam limit integer Limit the number of results returned. Default: 25. Maximum: 100. Example: 50
|
||||
* @see MaintenancesController::getIndex() method that generates view
|
||||
* @author Vincent Sposato <vincent.sposato@gmail.com>
|
||||
* @version v1.0
|
||||
@@ -123,8 +134,9 @@ class MaintenancesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Validates and stores the new asset maintenance
|
||||
* Create Maintenance
|
||||
*
|
||||
* @group Maintenances
|
||||
* @see MaintenancesController::getCreate() method for the form
|
||||
* @author Vincent Sposato <vincent.sposato@gmail.com>
|
||||
* @version v1.0
|
||||
@@ -150,8 +162,9 @@ class MaintenancesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates and stores an update to an asset maintenance
|
||||
* Update Maintenance
|
||||
*
|
||||
* @group Maintenances
|
||||
* @author A. Gianotto <snipe@snipe.net>
|
||||
* @param int $id
|
||||
* @param int $request
|
||||
@@ -188,8 +201,9 @@ class MaintenancesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete an asset maintenance
|
||||
* Delete Maintenance
|
||||
*
|
||||
* @group Maintenances
|
||||
* @author A. Gianotto <snipe@snipe.net>
|
||||
* @param int $maintenanceId
|
||||
* @version v1.0
|
||||
@@ -210,8 +224,9 @@ class MaintenancesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* View an asset maintenance
|
||||
* View Maintenance
|
||||
*
|
||||
* @group Maintenances
|
||||
* @author A. Gianotto <snipe@snipe.net>
|
||||
* @param int $maintenanceId
|
||||
* @version v1.0
|
||||
|
||||
@@ -16,8 +16,20 @@ use Illuminate\Http\JsonResponse;
|
||||
class ManufacturersController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Manufacturers
|
||||
*
|
||||
* @group Manufacturers
|
||||
* @queryParam search string Search term to filter results. Example: Dell
|
||||
* @queryParam name string Filter by exact manufacturer name. Example: Dell
|
||||
* @queryParam url string Filter by exact URL. Example: http://example.com
|
||||
* @queryParam support_url string Filter by exact support URL. Example: http://support.example.com
|
||||
* @queryParam warranty_lookup_url string Filter by exact warranty lookup URL. Example: http://warranty.example.com
|
||||
* @queryParam support_phone string Filter by exact support phone number. Example: 1-800-555-5555
|
||||
* @queryParam support_email string Filter by exact support email address. Example: support@example.org
|
||||
* @queryParam sort string Column to sort results by. Allowed values: id, name, url, support_url, support_email, warranty_lookup_url, support_phone, created_at, updated_at, assets_count, consumables_count, components_count, licenses_count. Default: created_at. Example: name
|
||||
* @queryParam order string Order of sorted results. Allowed values: asc, desc. Default: desc. Example: asc
|
||||
* @queryParam offset integer Offset/starting position of the results. Default: 0. Example: 0
|
||||
* @queryParam limit integer Limit the number of results returned. Default: 25. Maximum: 100. Example: 50
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @return \Illuminate\Http\Response
|
||||
@@ -120,8 +132,9 @@ class ManufacturersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Maintenance
|
||||
*
|
||||
* @group Manufacturers
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -141,8 +154,9 @@ class ManufacturersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Manufacturer
|
||||
*
|
||||
* @group Manufacturers
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -156,8 +170,9 @@ class ManufacturersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Manufacturer
|
||||
*
|
||||
* @group Manufacturers
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -178,8 +193,9 @@ class ManufacturersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Manufacturer
|
||||
*
|
||||
* @group Manufacturers
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -200,8 +216,9 @@ class ManufacturersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore a given Manufacturer (mark as un-deleted)
|
||||
* Restore Deleted Manufacturer
|
||||
*
|
||||
* @group Manufacturers
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v6.3.4]
|
||||
* @param int $id
|
||||
@@ -237,8 +254,9 @@ class ManufacturersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist
|
||||
*
|
||||
* @group Manufacturers
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0.16]
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
|
||||
@@ -19,12 +19,14 @@ use Illuminate\Support\Facades\Log;
|
||||
class NotesController extends Controller
|
||||
{
|
||||
/**
|
||||
* Retrieve a list of manual notes (action logs) for a given asset.
|
||||
* List Notes
|
||||
*
|
||||
* Checks authorization to view assets, attempts to find the asset by ID,
|
||||
* and fetches related action log entries of type 'note added', including
|
||||
* user information for each note. Returns a JSON response with the notes or errors.
|
||||
*
|
||||
* @group Notes
|
||||
* @subgroup Assets
|
||||
* @param \Illuminate\Http\Request $request The incoming HTTP request.
|
||||
* @param Asset $asset The ID of the asset whose notes to retrieve.
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
@@ -59,12 +61,14 @@ class NotesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a manual note on a specified asset and log the action.
|
||||
* Store Note
|
||||
*
|
||||
* Checks authorization for updating assets, validates the presence of the 'note',
|
||||
* attempts to find the asset by ID, and creates a new ActionLog entry if successful.
|
||||
* Returns JSON responses indicating success or failure with appropriate HTTP status codes.
|
||||
*
|
||||
* @group Notes
|
||||
* @subgroup Assets
|
||||
* @param \Illuminate\Http\Request $request The incoming HTTP request containing the 'note'.
|
||||
* @param Asset $asset The ID of the asset to attach the note to.
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
|
||||
@@ -16,8 +16,9 @@ use App\Http\Transformers\SelectlistTransformer;
|
||||
class PredefinedKitsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Kits
|
||||
*
|
||||
* @group Predefined Kits
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request) : JsonResponse | array
|
||||
@@ -62,8 +63,9 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Kit
|
||||
*
|
||||
* @group Predefined Kits
|
||||
* @param \Illuminate\Http\Request $request
|
||||
*/
|
||||
public function store(Request $request) : JsonResponse
|
||||
@@ -80,9 +82,10 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Kit
|
||||
*
|
||||
* @param int $id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $id int required The ID of the kit. Example: 1
|
||||
*/
|
||||
public function show($id) : array
|
||||
{
|
||||
@@ -93,10 +96,10 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Kit
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id kit id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $id int required The ID of the kit. Example: 1
|
||||
*/
|
||||
public function update(Request $request, $id) : JsonResponse
|
||||
{
|
||||
@@ -112,9 +115,10 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Kit
|
||||
*
|
||||
* @param int $id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $id int required The ID of the kit. Example: 1
|
||||
*/
|
||||
public function destroy($id) : JsonResponse
|
||||
{
|
||||
@@ -133,8 +137,9 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist
|
||||
*
|
||||
* @group Predefined Kits
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
*/
|
||||
public function selectlist(Request $request) : array
|
||||
@@ -154,9 +159,10 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* List Licenses in Kit
|
||||
*
|
||||
* @param int $id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function indexLicenses($kit_id) : array
|
||||
@@ -169,9 +175,12 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store the specified resource.
|
||||
* Add License to Kit
|
||||
*
|
||||
* @param int $id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @bodyParam license int required The ID of the license. Example: 1
|
||||
* @bodyParam quantity int The quantity of the license. Example: 1
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function storeLicense(Request $request, $kit_id) : JsonResponse
|
||||
@@ -196,10 +205,11 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update License in Kit
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $kit_id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @urlParam $license_id int required The ID of the license. Example: 1
|
||||
*/
|
||||
public function updateLicense(Request $request, $kit_id, $license_id) : JsonResponse
|
||||
{
|
||||
@@ -215,9 +225,11 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Remove License from Kit
|
||||
*
|
||||
* @param int $kit_id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @urlParam $license_id int required The ID of the license. Example: 1
|
||||
*/
|
||||
public function detachLicense($kit_id, $license_id) : JsonResponse
|
||||
{
|
||||
@@ -230,9 +242,10 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* List Models in Kit
|
||||
*
|
||||
* @param int $kit_id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
*/
|
||||
public function indexModels($kit_id) : array
|
||||
{
|
||||
@@ -244,9 +257,11 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store the specified resource.
|
||||
* Add Model to Kit
|
||||
*
|
||||
* @param int $id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @bodyParam model int required The ID of the model. Example: 1
|
||||
*/
|
||||
public function storeModel(Request $request, $kit_id) : JsonResponse
|
||||
{
|
||||
@@ -270,10 +285,11 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Model in Kit
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $kit_id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @bodyParam quantity int required The quantity of the model. Example: 1
|
||||
*/
|
||||
public function updateModel(Request $request, $kit_id, $model_id) : JsonResponse
|
||||
{
|
||||
@@ -289,9 +305,11 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Model from Kit
|
||||
*
|
||||
* @param int $kit_id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @urlParam $model_id int required The ID of the model. Example: 1
|
||||
*/
|
||||
public function detachModel($kit_id, $model_id) : JsonResponse
|
||||
{
|
||||
@@ -304,9 +322,10 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* List Consumables in Kit
|
||||
*
|
||||
* @param int $kit_id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
*/
|
||||
public function indexConsumables($kit_id) : array
|
||||
{
|
||||
@@ -318,9 +337,12 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store the specified resource.
|
||||
* Add Consumable to Kit
|
||||
*
|
||||
* @param int $id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @bodyParam consumable int required The ID of the consumable. Example: 1
|
||||
* @bodyParam quantity int The quantity of the consumable. Example: 1
|
||||
*/
|
||||
public function storeConsumable(Request $request, $kit_id) : JsonResponse
|
||||
{
|
||||
@@ -344,10 +366,12 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Consumable in Kit
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $kit_id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @urlParam $consumable_id int required The ID of the consumable. Example: 1
|
||||
* @bodyParam quantity int The quantity of the consumable. Example: 1
|
||||
*/
|
||||
public function updateConsumable(Request $request, $kit_id, $consumable_id) : JsonResponse
|
||||
{
|
||||
@@ -363,9 +387,11 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Remove Consumable from Kit
|
||||
*
|
||||
* @param int $kit_id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @urlParam $consumable_id int required The ID of the consumable. Example: 1
|
||||
*/
|
||||
public function detachConsumable($kit_id, $consumable_id) : JsonResponse
|
||||
{
|
||||
@@ -378,9 +404,10 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* List Accessories in Kit
|
||||
*
|
||||
* @param int $kit_id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
*/
|
||||
public function indexAccessories($kit_id) : array
|
||||
{
|
||||
@@ -392,9 +419,12 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Store the specified resource.
|
||||
* Add Accessory to Kit
|
||||
*
|
||||
* @param int $kit_id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @bodyParam accessory int required The ID of the accessory. Example: 1
|
||||
* @bodyParam quantity int The quantity of the accessory. Example: 1
|
||||
*/
|
||||
public function storeAccessory(Request $request, $kit_id) : JsonResponse
|
||||
{
|
||||
@@ -418,10 +448,12 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Accessory in Kit
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $kit_id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @urlParam $accessory_id int required The ID of the accessory. Example: 1
|
||||
* @bodyParam quantity int The quantity of the accessory. Example: 1
|
||||
*/
|
||||
public function updateAccessory(Request $request, $kit_id, $accessory_id) : JsonResponse
|
||||
{
|
||||
@@ -437,9 +469,11 @@ class PredefinedKitsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Remove Accessory from Kit
|
||||
*
|
||||
* @param int $kit_id
|
||||
* @group Predefined Kits
|
||||
* @urlParam $kit_id int required The ID of the kit. Example: 1
|
||||
* @urlParam $accessory_id int required The ID of the accessory. Example: 1
|
||||
*/
|
||||
public function detachAccessory($kit_id, $accessory_id) : JsonResponse
|
||||
{
|
||||
|
||||
@@ -42,8 +42,9 @@ class ProfileController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of requested assets.
|
||||
* Display Requested Assets
|
||||
*
|
||||
* @group Account
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.3.0]
|
||||
*/
|
||||
@@ -93,8 +94,8 @@ class ProfileController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Delete an API token
|
||||
*
|
||||
* Create API token
|
||||
* @group Account
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v6.0.5]
|
||||
*/
|
||||
@@ -122,8 +123,9 @@ class ProfileController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Delete an API token
|
||||
* Delete API token
|
||||
*
|
||||
* @group Account
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v6.0.5]
|
||||
*/
|
||||
@@ -150,8 +152,9 @@ class ProfileController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Show user's API tokens
|
||||
* Show API tokens
|
||||
*
|
||||
* @group Account
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v6.0.5]
|
||||
*/
|
||||
@@ -172,11 +175,12 @@ class ProfileController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the EULAs accepted by the user.
|
||||
* Display Accepted EULAs
|
||||
*
|
||||
* @param \App\Http\Transformers\ActionlogsTransformer $transformer
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*@since [v8.1.16]
|
||||
* @group Account
|
||||
* @param \App\Http\Transformers\ActionlogsTransformer $transformer
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
* @since [v8.1.16]
|
||||
* @author [Godfrey Martinez] [<gmartinez@grokability.com>]
|
||||
*/
|
||||
public function eulas(ProfileTransformer $transformer)
|
||||
|
||||
@@ -13,8 +13,23 @@ use Illuminate\Http\JsonResponse;
|
||||
class ReportsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Returns Activity Report JSON.
|
||||
* Activity Report
|
||||
*
|
||||
* @group Reports
|
||||
* @queryParam search string Search term to filter results Example: updated
|
||||
* @queryParam target_type string Filter by target type Example: user
|
||||
* @queryParam target_id integer Filter by target ID Example: 1
|
||||
* @queryParam item_type string Filter by item type Example: asset
|
||||
* @queryParam item_id integer Filter by item ID Example: 1
|
||||
* @queryParam action_type string Filter by action type Example: create
|
||||
* @queryParam created_by integer Filter by user ID who created the log Example: 1
|
||||
* @queryParam action_source string Filter by action source Example: web
|
||||
* @queryParam remote_ip string Filter by remote IP address Example: No-example
|
||||
* @queryParam uploads boolean Filter to only show logs with file uploads Example: true
|
||||
* @queryParam sort string Column to sort by. Allowed values: id, created_at, target_id, created_by, accept_signature, action_type, note, remote_ip, user_agent, target_type, item_type, action_source, action_date. Default is created_at. Example: created_at
|
||||
* @queryParam order string Order of sorting. Allowed values: asc, desc. Default is desc. Example: desc
|
||||
* @queryParam offset integer Number of records to skip for pagination. Default is 0. Example: 0
|
||||
* @queryParam limit integer Maximum number of records to return. Default is 25. Example: 25
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
|
||||
@@ -23,6 +23,12 @@ class SettingsController extends Controller
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* Test LDAP Connection
|
||||
*
|
||||
* @group Settings
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function ldaptest() : JsonResponse
|
||||
{
|
||||
$settings = Setting::getSettings();
|
||||
@@ -95,6 +101,13 @@ class SettingsController extends Controller
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Test LDAP Login
|
||||
*
|
||||
* @group Settings
|
||||
* @param Request $request
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function ldaptestlogin(Request $request) : JsonResponse
|
||||
{
|
||||
|
||||
@@ -151,8 +164,9 @@ class SettingsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the email configuration
|
||||
* Test Email Configuration
|
||||
*
|
||||
* @group Settings
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v3.0]
|
||||
*/
|
||||
@@ -175,8 +189,9 @@ class SettingsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Delete server-cached barcodes
|
||||
* Delete Barcode Cache
|
||||
*
|
||||
* @group Settings
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v5.0.0]
|
||||
*/
|
||||
@@ -216,6 +231,7 @@ class SettingsController extends Controller
|
||||
/**
|
||||
* Get a list of login attempts
|
||||
*
|
||||
* @group Settings
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v5.0.0]
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@@ -239,6 +255,7 @@ class SettingsController extends Controller
|
||||
/**
|
||||
* Lists backup files
|
||||
*
|
||||
* @group Settings
|
||||
* @author [A. Gianotto]
|
||||
*/
|
||||
public function listBackups() : array
|
||||
@@ -279,9 +296,11 @@ class SettingsController extends Controller
|
||||
|
||||
/**
|
||||
* Downloads a backup file.
|
||||
*
|
||||
* We use response()->download() here instead of Storage::download() because Storage::download()
|
||||
* exhausts memory on larger files.
|
||||
*
|
||||
* @group Settings
|
||||
* @author [A. Gianotto]
|
||||
*/
|
||||
public function downloadBackup($file) : JsonResponse | BinaryFileResponse
|
||||
@@ -301,6 +320,7 @@ class SettingsController extends Controller
|
||||
/**
|
||||
* Determines and downloads the latest backup
|
||||
*
|
||||
* @group Settings
|
||||
* @author [A. Gianotto]
|
||||
* @since [v6.3.1]
|
||||
*/
|
||||
|
||||
@@ -17,7 +17,11 @@ use Illuminate\Http\JsonResponse;
|
||||
class StatuslabelsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* Show Status Labels
|
||||
*
|
||||
* @group Status Labels
|
||||
* @subgroup Assets
|
||||
* @queryParam search string Search term to filter results. Example: Inventory
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
@@ -85,9 +89,11 @@ class StatuslabelsController extends Controller
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @group Status Labels
|
||||
* @subgroup Assets
|
||||
* @param \Illuminate\Http\Request $request
|
||||
*@since [v4.0]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
*/
|
||||
public function store(Request $request) : JsonResponse
|
||||
{
|
||||
@@ -119,11 +125,13 @@ class StatuslabelsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Status Labels
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @group Status Labels
|
||||
* @subgroup Assets
|
||||
* @param int $id
|
||||
*@since [v4.0]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
*/
|
||||
public function show($id) : array
|
||||
{
|
||||
@@ -135,12 +143,14 @@ class StatuslabelsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Status Label
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @group Status Labels
|
||||
* @subgroup Assets
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
*@author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
public function update(Request $request, $id) : JsonResponse
|
||||
{
|
||||
@@ -172,11 +182,13 @@ class StatuslabelsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Status Label
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @group Status Labels
|
||||
* @subgroup Assets
|
||||
* @param int $id
|
||||
*@since [v4.0]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
*/
|
||||
public function destroy($id) : JsonResponse
|
||||
{
|
||||
@@ -197,8 +209,10 @@ class StatuslabelsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Show a count of assets by status label for pie chart
|
||||
* Show Count for Pie Chart
|
||||
*
|
||||
* @group Status Labels
|
||||
* @subgroup Assets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v3.0]
|
||||
*/
|
||||
@@ -229,8 +243,10 @@ class StatuslabelsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Show a count of assets by meta status type for pie chart
|
||||
* Show Count for Pie Chart by Meta Status
|
||||
*
|
||||
* @group Status Labels
|
||||
* @subgroup Assets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v6.0.11]
|
||||
*/
|
||||
@@ -257,11 +273,13 @@ class StatuslabelsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Assets with Status Label
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @group Status Labels
|
||||
* @subgroup Assets
|
||||
* @param int $id
|
||||
*@since [v4.0]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
*/
|
||||
public function assets(Request $request, $id) : array
|
||||
{
|
||||
@@ -289,6 +307,8 @@ class StatuslabelsController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Check for Deployable Status
|
||||
*
|
||||
* Returns a boolean response based on whether the status label
|
||||
* is one that is deployable or pending.
|
||||
*
|
||||
@@ -296,7 +316,8 @@ class StatuslabelsController extends Controller
|
||||
* we should provide a dropdown of users for them to check the asset out to,
|
||||
* and whether we show a warning that the asset will be checked in if it's already
|
||||
* assigned but the status is changed to one that isn't pending or deployable
|
||||
*
|
||||
* @group Status Labels
|
||||
* @subgroup Assets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*/
|
||||
@@ -311,8 +332,10 @@ class StatuslabelsController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist
|
||||
*
|
||||
* @group Status Labels
|
||||
* @subgroup Assets
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v6.1.1]
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
|
||||
@@ -15,11 +15,30 @@ use Illuminate\Http\JsonResponse;
|
||||
class SuppliersController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Suppliers
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @group Suppliers
|
||||
* @queryParam search string Search term to filter results. Example: Acme
|
||||
* @queryParam name string Filter by exact supplier name. Example: Acme Corp
|
||||
* @queryParam address string Filter by exact address. Example: 123 Main St
|
||||
* @queryParam address2 string Filter by exact address2. Example: Suite 100
|
||||
* @queryParam city string Filter by exact city. Example: Springfield
|
||||
* @queryParam state string Filter by exact state. Example: IL
|
||||
* @queryParam zip string Filter by exact zip code. Example: 62701
|
||||
* @queryParam country string Filter by exact country. Example: USA
|
||||
* @queryParam phone string Filter by exact phone number. Example: 555-1234
|
||||
* @queryParam fax string Filter by exact fax number. Example: 555-5678
|
||||
* @queryParam email string Filter by exact email address. Example: info@example.org
|
||||
* @queryParam url string Filter by exact URL. Example: http://example.com
|
||||
* @queryParam notes string Filter by exact notes. Example: This is a note.
|
||||
* @queryParam sort string Column to sort results by. Allowed values: id, name, address, address2, city, state, country, zip, phone, contact, fax, email, image, assets_count, licenses_count, accessories_count, components_count, consumables_count, url, notes. Default: created_at. Example: name
|
||||
* @queryParam order string Order of sorted results. Allowed values: asc, desc. Default: desc. Example: asc
|
||||
* @queryParam offset integer Offset/starting position of the results. Default: 0. Example: 0
|
||||
* @queryParam limit integer Limit the number of results returned. Default: 25. Maximum: 100. Example: 50
|
||||
* @see SuppliersController::getIndex()
|
||||
* @return \Illuminate\Http\Response
|
||||
* @since [v4.0]
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
*/
|
||||
public function index(Request $request): array
|
||||
{
|
||||
@@ -126,8 +145,9 @@ class SuppliersController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create Supplier
|
||||
*
|
||||
* @group Suppliers
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -147,8 +167,9 @@ class SuppliersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show Supplier
|
||||
*
|
||||
* @group Suppliers
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -163,8 +184,9 @@ class SuppliersController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update Supplier
|
||||
*
|
||||
* @group Suppliers
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \App\Http\Requests\ImageUploadRequest $request
|
||||
@@ -185,8 +207,9 @@ class SuppliersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete Supplier
|
||||
*
|
||||
* @group Suppliers
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -216,8 +239,9 @@ class SuppliersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist
|
||||
*
|
||||
* @group Suppliers
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0.16]
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
|
||||
@@ -20,8 +20,9 @@ class UploadedFilesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* List files for an object
|
||||
* List Files for an Object
|
||||
*
|
||||
* @group Files
|
||||
* @param \App\Http\Requests\UploadFileRequest $request
|
||||
* @param string $object_type the type of object to upload the file to
|
||||
* @param int $id the ID of the object to list files for
|
||||
@@ -80,8 +81,9 @@ class UploadedFilesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Accepts a POST to upload a file to the server.
|
||||
* Upload File to an Object
|
||||
*
|
||||
* @group Files
|
||||
* @param \App\Http\Requests\UploadFileRequest $request
|
||||
* @param string $object_type the type of object to upload the file to
|
||||
* @param int $id the ID of the object to store so we can check permisisons
|
||||
@@ -128,8 +130,9 @@ class UploadedFilesController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Check for permissions and display the file.
|
||||
* Display File
|
||||
*
|
||||
* @group Files
|
||||
* @param \App\Http\Requests\UploadFileRequest $request
|
||||
* @param string $object_type the type of object to upload the file to
|
||||
* @param int $id the ID of the object to delete from so we can check permisisons
|
||||
@@ -171,8 +174,9 @@ class UploadedFilesController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete the associated file
|
||||
* Delete File
|
||||
*
|
||||
* @group Files
|
||||
* @param \App\Http\Requests\UploadFileRequest $request
|
||||
* @param string $object_type the type of object to upload the file to
|
||||
* @param int $id the ID of the object to delete from so we can check permisisons
|
||||
|
||||
@@ -35,8 +35,36 @@ use Illuminate\Http\JsonResponse;
|
||||
class UsersController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* List Users
|
||||
*
|
||||
* @group Users
|
||||
* @queryParam search string Search term to filter results. Example: John
|
||||
* @queryParam filter string JSON object of key/value pairs to filter results. Allowed keys: last_name, first_name, display_name, email, jobtitle, username, employee_num, groups, activated, created_at, updated_at, two_factor_enrolled, two_factor_optin, last_login, assets_count, licenses_count, consumables_count, accessories_count, manages_users_count, manages_locations_count, phone, mobile, address, city, state, country, zip, id, ldap_import, remote, vip, start_date, end_date, autoassign_licenses, website, locale, notes. Example: {"last_name":"Doe","first_name":"John"}
|
||||
* @queryParam activated integer Filter by exact activation status. Allowed values: 0, 1. Example: 1
|
||||
* @queryParam admins boolean Filter to only admin and superadmin users. Allowed values: true, false. Example: true
|
||||
* @queryParam superadmins boolean Filter to only superadmin users. Allowed values: true, false. Example: true
|
||||
* @queryParam company_id integer Filter by exact company ID. Example: 1
|
||||
* @queryParam phone string Filter by exact phone number. Example: 555-1234
|
||||
* @queryParam mobile string Filter by exact mobile number. Example: 555-5678
|
||||
* @queryParam location_id integer Filter by exact location ID. Example: 1
|
||||
* @queryParam created_by integer Filter by exact user ID who created the user. Example: 1
|
||||
* @queryParam email string Filter by exact email address. Example: jdoe@example.com
|
||||
* @queryParam username string Filter by exact username. Example: jdoe
|
||||
* @queryParam first_name string Filter by exact first name. Example: John
|
||||
* @queryParam last_name string Filter by exact last name. Example: Doe
|
||||
* @queryParam display_name string Filter by exact display name. Example: John Doe
|
||||
* @queryParam employee_num string Filter by exact employee number. Example: 12345
|
||||
* @queryParam state string Filter by exact state. Example: CA
|
||||
* @queryParam country string Filter by exact country. Example: USA
|
||||
* @queryParam website string Filter by exact website URL. Example: https://example.com
|
||||
* @queryParam zip string Filter by exact ZIP code. Example: 90210
|
||||
* @queryParam group_id integer Filter by exact group ID. Example: 1
|
||||
* @queryParam department_id integer Filter by exact department ID. Example: 1
|
||||
* @queryParam manager_id integer Filter by exact manager (user) ID. Example: 1
|
||||
* @queryParam ldap_import integer Filter by exact LDAP import status. Allowed values: 0, 1. Example: 1
|
||||
* @queryParam remote integer Filter by exact remote status. Allowed values: 0, 1. Example: 1
|
||||
* @queryParam vip integer Filter by exact VIP status. Allowed values: 0, 1. Example: 1
|
||||
* @queryParam two_factor_enrolled integer Filter by exact two-factor authentication enrollment status. Allowed values: 0, 1. Example: 1
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
*
|
||||
@@ -370,8 +398,9 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a paginated collection for the select2 menus
|
||||
* Selectlist
|
||||
*
|
||||
* @group Users
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0.16]
|
||||
* @see \App\Http\Transformers\SelectlistTransformer
|
||||
@@ -426,8 +455,9 @@ class UsersController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* Create User
|
||||
*
|
||||
* @group Users
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@@ -485,8 +515,9 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
* Show User
|
||||
*
|
||||
* @group Users
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @param int $id
|
||||
*/
|
||||
@@ -505,8 +536,9 @@ class UsersController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* Update User
|
||||
*
|
||||
* @group Users
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@@ -606,8 +638,9 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* Delete User
|
||||
*
|
||||
* @group Users
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.0]
|
||||
* @param int $id
|
||||
@@ -643,8 +676,9 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Return JSON containing a list of assets assigned to a user.
|
||||
* List Assets Assigned to User
|
||||
*
|
||||
* @group Users
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v3.0]
|
||||
* @param $userId
|
||||
@@ -686,8 +720,9 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Notify a specific user via email with all of their assigned assets.
|
||||
* Email Asset List to User
|
||||
*
|
||||
* @group Users
|
||||
* @author [Lukas Fehling] [<lukas.fehling@adabay.rocks>]
|
||||
* @since [v6.0.13]
|
||||
* @param Request $request
|
||||
@@ -715,8 +750,9 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Return JSON containing a list of consumables assigned to a user.
|
||||
* List Consumables Assigned to User
|
||||
*
|
||||
* @group Users
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v3.0]
|
||||
* @param $userId
|
||||
@@ -732,8 +768,9 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Return JSON containing a list of accessories assigned to a user.
|
||||
* List Accessories Assigned to User
|
||||
*
|
||||
* @group Users
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v4.6.14]
|
||||
* @param $userId
|
||||
@@ -750,8 +787,9 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Return JSON containing a list of licenses assigned to a user.
|
||||
* List Licenses Assigned to User
|
||||
*
|
||||
* @group Users
|
||||
* @author [N. Mathar] [<snipe@snipe.net>]
|
||||
* @since [v5.0]
|
||||
* @param $userId
|
||||
@@ -771,8 +809,9 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset the user's two-factor status
|
||||
* Reset Two-factor
|
||||
*
|
||||
* @group Users
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v3.0]
|
||||
* @param $userId
|
||||
@@ -810,8 +849,9 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Get info on the current user.
|
||||
* Get Current User Info
|
||||
*
|
||||
* @group Users
|
||||
* @author [Juan Font] [<juanfontalonso@gmail.com>]
|
||||
* @since [v4.4.2]
|
||||
* @param \Illuminate\Http\Request $request
|
||||
@@ -822,11 +862,14 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the EULAs accepted by the user.
|
||||
* User EULAs
|
||||
*
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Http\Transformers\ActionlogsTransformer $transformer
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
* Gets the lst of accepted EULAs for a user,
|
||||
*
|
||||
* @group Users
|
||||
* @param \App\Models\User $user
|
||||
* @param \App\Http\Transformers\ActionlogsTransformer $transformer
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*@since [v8.1.16]
|
||||
* @author [Godfrey Martinez] [<gmartinez@grokability.com>]
|
||||
*/
|
||||
@@ -841,8 +884,9 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore a soft-deleted user.
|
||||
* Restore User
|
||||
*
|
||||
* @group Users
|
||||
* @author [E. Taylor] [<dev@evantaylor.name>]
|
||||
* @param int $userId
|
||||
* @since [v6.0.0]
|
||||
@@ -879,8 +923,9 @@ class UsersController extends Controller
|
||||
|
||||
|
||||
/**
|
||||
* Run the LDAP sync command to import users from LDAP via API.
|
||||
* LDAP Sync Users
|
||||
*
|
||||
* @group Users
|
||||
* @author A. Gianotto <snipe@snipe.net>
|
||||
* @since 8.2.2
|
||||
*
|
||||
|
||||
@@ -38,7 +38,7 @@ class StoreAccessoryRequest extends ImageUploadRequest
|
||||
public function rules(): array
|
||||
{
|
||||
return array_merge(
|
||||
['category_type' => 'in:accessory'],
|
||||
['category_type' => 'required|in:accessory'],
|
||||
parent::rules(),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -24,6 +24,9 @@ use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\URL;
|
||||
use Knuckles\Camel\Extraction\ExtractedEndpointData;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Knuckles\Scribe\Scribe;
|
||||
|
||||
/**
|
||||
* This service provider handles setting the observers on models
|
||||
@@ -65,6 +68,16 @@ class AppServiceProvider extends ServiceProvider
|
||||
}
|
||||
}
|
||||
|
||||
// Be sure to wrap in a `class_exists()`,
|
||||
// so production doesn't break if you installed Scribe as dev-only
|
||||
if (class_exists(\Knuckles\Scribe\Scribe::class)) {
|
||||
Scribe::beforeResponseCall(function (Request $request, ExtractedEndpointData $endpointData) {
|
||||
$token = User::first()->api_token;
|
||||
$request->headers->add(["Authorization" => "Bearer $token"]);
|
||||
});
|
||||
}
|
||||
// ...
|
||||
|
||||
\Illuminate\Pagination\Paginator::useBootstrap();
|
||||
|
||||
Schema::defaultStringLength(191);
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
"guzzlehttp/guzzle": "^7.0.1",
|
||||
"intervention/image": "^2.5",
|
||||
"javiereguiluz/easyslugger": "^1.0",
|
||||
"knuckleswtf/scribe": "^5.3",
|
||||
"laravel-notification-channels/google-chat": "^3.0",
|
||||
"laravel-notification-channels/microsoft-teams": "^1.2",
|
||||
"laravel/framework": "^11.0",
|
||||
|
||||
556
composer.lock
generated
556
composer.lock
generated
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "553ce69c21704905c568769de08fffe4",
|
||||
"content-hash": "30dac1d2bdee2d522ef4bf00fb8b57c1",
|
||||
"packages": [
|
||||
{
|
||||
"name": "alek13/slack",
|
||||
@@ -2546,6 +2546,100 @@
|
||||
},
|
||||
"time": "2015-04-12T19:57:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "knuckleswtf/scribe",
|
||||
"version": "5.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/knuckleswtf/scribe.git",
|
||||
"reference": "380f9cd6de6d65d2e92930a8613d8a682e83e8c7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/knuckleswtf/scribe/zipball/380f9cd6de6d65d2e92930a8613d8a682e83e8c7",
|
||||
"reference": "380f9cd6de6d65d2e92930a8613d8a682e83e8c7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"erusev/parsedown": "1.7.4",
|
||||
"ext-fileinfo": "*",
|
||||
"ext-json": "*",
|
||||
"ext-pdo": "*",
|
||||
"fakerphp/faker": "^1.23.1",
|
||||
"laravel/framework": "^9.0|^10.0|^11.0|^12.0",
|
||||
"league/flysystem": "^3.0",
|
||||
"mpociot/reflection-docblock": "^1.0.1",
|
||||
"nikic/php-parser": "^5.0",
|
||||
"nunomaduro/collision": "^6.0|^7.0|^8.0",
|
||||
"php": ">=8.1",
|
||||
"ramsey/uuid": "^4.2.2",
|
||||
"shalvah/clara": "^3.1.0",
|
||||
"shalvah/upgrader": ">=0.6.0",
|
||||
"spatie/data-transfer-object": "^2.6|^3.0",
|
||||
"symfony/var-exporter": "^6.0|^7.0",
|
||||
"symfony/yaml": "^6.0|^7.0"
|
||||
},
|
||||
"replace": {
|
||||
"mpociot/laravel-apidoc-generator": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"dms/phpunit-arraysubset-asserts": "^v0.5.0",
|
||||
"laravel/legacy-factories": "^1.3.0",
|
||||
"league/fractal": "^0.20",
|
||||
"nikic/fast-route": "^1.3",
|
||||
"orchestra/testbench": "^7.0|^8.0|^v9.10.0|^10.0",
|
||||
"pestphp/pest": "^1.21|^2.0|^3.0",
|
||||
"phpstan/phpstan": "^2.1.5",
|
||||
"phpunit/phpunit": "^9.0|^10.0|^11.0",
|
||||
"spatie/ray": "^1.41",
|
||||
"symfony/css-selector": "^6.0|^7.0",
|
||||
"symfony/dom-crawler": "^6.0|^7.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Knuckles\\Scribe\\ScribeServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/Config/helpers.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Knuckles\\Camel\\": "camel/",
|
||||
"Knuckles\\Scribe\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Shalvah"
|
||||
}
|
||||
],
|
||||
"description": "Generate API documentation for humans from your Laravel codebase.✍",
|
||||
"homepage": "http://github.com/knuckleswtf/scribe",
|
||||
"keywords": [
|
||||
"api",
|
||||
"documentation",
|
||||
"laravel"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/knuckleswtf/scribe/issues",
|
||||
"source": "https://github.com/knuckleswtf/scribe/tree/5.3.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://patreon.com/shalvah",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2025-07-28T22:27:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel-notification-channels/google-chat",
|
||||
"version": "3.3.0",
|
||||
@@ -4701,6 +4795,59 @@
|
||||
],
|
||||
"time": "2025-03-24T10:02:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "mpociot/reflection-docblock",
|
||||
"version": "1.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mpociot/reflection-docblock.git",
|
||||
"reference": "c8b2e2b1f5cebbb06e2b5ccbf2958f2198867587"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/mpociot/reflection-docblock/zipball/c8b2e2b1f5cebbb06e2b5ccbf2958f2198867587",
|
||||
"reference": "c8b2e2b1f5cebbb06e2b5ccbf2958f2198867587",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.0"
|
||||
},
|
||||
"suggest": {
|
||||
"dflydev/markdown": "~1.0",
|
||||
"erusev/parsedown": "~1.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Mpociot": [
|
||||
"src/"
|
||||
]
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Mike van Riel",
|
||||
"email": "mike.vanriel@naenius.com"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/mpociot/reflection-docblock/issues",
|
||||
"source": "https://github.com/mpociot/reflection-docblock/tree/master"
|
||||
},
|
||||
"time": "2016-06-20T20:53:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "mtdowling/jmespath.php",
|
||||
"version": "2.8.0",
|
||||
@@ -7802,6 +7949,111 @@
|
||||
],
|
||||
"time": "2025-08-10T07:50:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "shalvah/clara",
|
||||
"version": "3.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/shalvah/clara.git",
|
||||
"reference": "cdbb5737cbdd101756d97dd2279a979a1af7710b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/shalvah/clara/zipball/cdbb5737cbdd101756d97dd2279a979a1af7710b",
|
||||
"reference": "cdbb5737cbdd101756d97dd2279a979a1af7710b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.4",
|
||||
"symfony/console": "^4.0|^5.0|^6.0|^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"eloquent/phony-phpunit": "^7.0",
|
||||
"phpunit/phpunit": "^9.1"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"helpers.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Shalvah\\Clara\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "🔊 Simple, pretty, testable console output for CLI apps.",
|
||||
"keywords": [
|
||||
"cli",
|
||||
"log",
|
||||
"logging"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/shalvah/clara/issues",
|
||||
"source": "https://github.com/shalvah/clara/tree/3.2.0"
|
||||
},
|
||||
"time": "2024-02-27T20:30:59+00:00"
|
||||
},
|
||||
{
|
||||
"name": "shalvah/upgrader",
|
||||
"version": "0.6.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/shalvah/upgrader.git",
|
||||
"reference": "d95ed17fe9f5e1ee7d47ad835595f1af080a867f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/shalvah/upgrader/zipball/d95ed17fe9f5e1ee7d47ad835595f1af080a867f",
|
||||
"reference": "d95ed17fe9f5e1ee7d47ad835595f1af080a867f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/support": ">=8.0",
|
||||
"nikic/php-parser": "^5.0",
|
||||
"php": ">=8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"dms/phpunit-arraysubset-asserts": "^0.2.0",
|
||||
"pestphp/pest": "^1.21",
|
||||
"phpstan/phpstan": "^1.0",
|
||||
"spatie/ray": "^1.33"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Shalvah\\Upgrader\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Shalvah",
|
||||
"email": "hello@shalvah.me"
|
||||
}
|
||||
],
|
||||
"description": "Create automatic upgrades for your package.",
|
||||
"homepage": "http://github.com/shalvah/upgrader",
|
||||
"keywords": [
|
||||
"upgrade"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/shalvah/upgrader/issues",
|
||||
"source": "https://github.com/shalvah/upgrader/tree/0.6.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://patreon.com/shalvah",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2024-02-20T11:51:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/backtrace",
|
||||
"version": "1.8.1",
|
||||
@@ -7866,6 +8118,70 @@
|
||||
],
|
||||
"time": "2025-08-26T08:22:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/data-transfer-object",
|
||||
"version": "3.9.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/data-transfer-object.git",
|
||||
"reference": "1df0906c4e9e3aebd6c0506fd82c8b7d5548c1c8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/data-transfer-object/zipball/1df0906c4e9e3aebd6c0506fd82c8b7d5548c1c8",
|
||||
"reference": "1df0906c4e9e3aebd6c0506fd82c8b7d5548c1c8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"illuminate/collections": "^8.36",
|
||||
"jetbrains/phpstorm-attributes": "^1.0",
|
||||
"larapack/dd": "^1.1",
|
||||
"phpunit/phpunit": "^9.5.5"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Spatie\\DataTransferObject\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Brent Roose",
|
||||
"email": "brent@spatie.be",
|
||||
"homepage": "https://spatie.be",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Data transfer objects with batteries included",
|
||||
"homepage": "https://github.com/spatie/data-transfer-object",
|
||||
"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"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://spatie.be/open-source/support-us",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/spatie",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"abandoned": "spatie/laravel-data",
|
||||
"time": "2022-09-16T13:34:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/db-dumper",
|
||||
"version": "3.8.0",
|
||||
@@ -10944,6 +11260,163 @@
|
||||
],
|
||||
"time": "2025-08-13T11:49:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-exporter",
|
||||
"version": "v7.3.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-exporter.git",
|
||||
"reference": "d4dfcd2a822cbedd7612eb6fbd260e46f87b7137"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/d4dfcd2a822cbedd7612eb6fbd260e46f87b7137",
|
||||
"reference": "d4dfcd2a822cbedd7612eb6fbd260e46f87b7137",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"symfony/deprecation-contracts": "^2.5|^3"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/property-access": "^6.4|^7.0",
|
||||
"symfony/serializer": "^6.4|^7.0",
|
||||
"symfony/var-dumper": "^6.4|^7.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\VarExporter\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nicolas Grekas",
|
||||
"email": "p@tchwork.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Allows exporting any serializable PHP data structure to plain PHP code",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"clone",
|
||||
"construct",
|
||||
"export",
|
||||
"hydrate",
|
||||
"instantiate",
|
||||
"lazy-loading",
|
||||
"proxy",
|
||||
"serialize"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/var-exporter/tree/v7.3.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/nicolas-grekas",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-08-18T13:10:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v7.3.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "d4f4a66866fe2451f61296924767280ab5732d9d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/d4f4a66866fe2451f61296924767280ab5732d9d",
|
||||
"reference": "d4f4a66866fe2451f61296924767280ab5732d9d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"symfony/deprecation-contracts": "^2.5|^3.0",
|
||||
"symfony/polyfill-ctype": "^1.8"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/console": "<6.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/console": "^6.4|^7.0"
|
||||
},
|
||||
"bin": [
|
||||
"Resources/bin/yaml-lint"
|
||||
],
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\Yaml\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Loads and dumps YAML files",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/yaml/tree/v7.3.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/nicolas-grekas",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-08-27T11:34:33+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tabuna/breadcrumbs",
|
||||
"version": "4.3.0",
|
||||
@@ -16370,87 +16843,6 @@
|
||||
],
|
||||
"time": "2025-02-24T10:49:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-exporter",
|
||||
"version": "v7.3.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-exporter.git",
|
||||
"reference": "d4dfcd2a822cbedd7612eb6fbd260e46f87b7137"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/d4dfcd2a822cbedd7612eb6fbd260e46f87b7137",
|
||||
"reference": "d4dfcd2a822cbedd7612eb6fbd260e46f87b7137",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"symfony/deprecation-contracts": "^2.5|^3"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/property-access": "^6.4|^7.0",
|
||||
"symfony/serializer": "^6.4|^7.0",
|
||||
"symfony/var-dumper": "^6.4|^7.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\VarExporter\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nicolas Grekas",
|
||||
"email": "p@tchwork.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Allows exporting any serializable PHP data structure to plain PHP code",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"clone",
|
||||
"construct",
|
||||
"export",
|
||||
"hydrate",
|
||||
"instantiate",
|
||||
"lazy-loading",
|
||||
"proxy",
|
||||
"serialize"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/var-exporter/tree/v7.3.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/nicolas-grekas",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-08-18T13:10:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "theseer/tokenizer",
|
||||
"version": "1.2.3",
|
||||
|
||||
@@ -448,5 +448,7 @@ return [
|
||||
*/
|
||||
|
||||
'escape_formulas' => env('CSV_ESCAPE_FORMULAS', true),
|
||||
|
||||
|
||||
|
||||
'validation_status_code' => env('API_VALIDATION_HTTP_CODE', 200),
|
||||
];
|
||||
|
||||
260
config/scribe.php
Normal file
260
config/scribe.php
Normal file
@@ -0,0 +1,260 @@
|
||||
<?php
|
||||
|
||||
use Knuckles\Scribe\Extracting\Strategies;
|
||||
use Knuckles\Scribe\Config\Defaults;
|
||||
use Knuckles\Scribe\Config\AuthIn;
|
||||
use function Knuckles\Scribe\Config\{removeStrategies, configureStrategy};
|
||||
|
||||
// Only the most common configs are shown. See the https://scribe.knuckles.wtf/laravel/reference/config for all.
|
||||
|
||||
return [
|
||||
// The HTML <title> for the generated documentation.
|
||||
'title' => config('app.name') . ' API Documentation',
|
||||
|
||||
// A short description of your API. Will be included in the docs webpage, Postman collection and OpenAPI spec.
|
||||
'description' => 'This documentation aims to provide the information you need to work with the Snipe-IT JSON REST API.',
|
||||
|
||||
// Text to place in the "Introduction" section, right after the `description`. Markdown and HTML are supported.
|
||||
'intro_text' => <<<INTRO
|
||||
<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
|
||||
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>
|
||||
INTRO,
|
||||
|
||||
// The base URL displayed in the docs.
|
||||
// If you're using `laravel` type, you can set this to a dynamic string, like '{{ config("app.tenant_url") }}' to get a dynamic base URL.
|
||||
'base_url' => config("app.url") . '/api/v1',
|
||||
|
||||
// Routes to include in the docs
|
||||
'routes' => [
|
||||
[
|
||||
'match' => [
|
||||
// Match only routes whose paths match this pattern (use * as a wildcard to match any characters). Example: 'users/*'.
|
||||
'prefixes' => ['api/*'],
|
||||
|
||||
// Match only routes whose domains match this pattern (use * as a wildcard to match any characters). Example: 'api.*'.
|
||||
'domains' => ['*'],
|
||||
],
|
||||
|
||||
// Include these routes even if they did not match the rules above.
|
||||
'include' => [
|
||||
// 'users.index', 'POST /new', '/auth/*'
|
||||
],
|
||||
|
||||
// Exclude these routes even if they matched the rules above.
|
||||
'exclude' => [
|
||||
'api/v1',
|
||||
'api/v1/{fallbackPlaceholder}'
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
// The type of documentation output to generate.
|
||||
// - "static" will generate a static HTMl page in the /public/docs folder,
|
||||
// - "laravel" will generate the documentation as a Blade view, so you can add routing and authentication.
|
||||
// - "external_static" and "external_laravel" do the same as above, but pass the OpenAPI spec as a URL to an external UI template
|
||||
'type' => 'laravel',
|
||||
|
||||
// See https://scribe.knuckles.wtf/laravel/reference/config#theme for supported options
|
||||
'theme' => 'default',
|
||||
|
||||
'static' => [
|
||||
// HTML documentation, assets and Postman collection will be generated to this folder.
|
||||
// Source Markdown will still be in resources/docs.
|
||||
'output_path' => 'public/docs',
|
||||
],
|
||||
|
||||
'laravel' => [
|
||||
// Whether to automatically create a docs route for you to view your generated docs. You can still set up routing manually.
|
||||
'add_routes' => true,
|
||||
|
||||
// URL path to use for the docs endpoint (if `add_routes` is true).
|
||||
// By default, `/docs` opens the HTML page, `/docs.postman` opens the Postman collection, and `/docs.openapi` the OpenAPI spec.
|
||||
'docs_url' => '/docs',
|
||||
|
||||
// Directory within `public` in which to store CSS and JS assets.
|
||||
// By default, assets are stored in `public/vendor/scribe`.
|
||||
// If set, assets will be stored in `public/{{assets_directory}}`
|
||||
'assets_directory' => null,
|
||||
|
||||
// Middleware to attach to the docs endpoint (if `add_routes` is true).
|
||||
'middleware' => ['auth'],
|
||||
],
|
||||
|
||||
'external' => [
|
||||
'html_attributes' => []
|
||||
],
|
||||
|
||||
'try_it_out' => [
|
||||
// Add a Try It Out button to your endpoints so consumers can test endpoints right from their browser.
|
||||
// Don't forget to enable CORS headers for your endpoints.
|
||||
'enabled' => true,
|
||||
|
||||
// The base URL to use in the API tester. Leave as null to be the same as the displayed URL (`scribe.base_url`).
|
||||
'base_url' => config("app.url"),
|
||||
|
||||
// [Laravel Sanctum] Fetch a CSRF token before each request, and add it as an X-XSRF-TOKEN header.
|
||||
'use_csrf' => true,
|
||||
|
||||
// The URL to fetch the CSRF token from (if `use_csrf` is true).
|
||||
'csrf_url' => '/sanctum/csrf-cookie',
|
||||
],
|
||||
|
||||
// How is your API authenticated? This information will be used in the displayed docs, generated examples and response calls.
|
||||
'auth' => [
|
||||
// Set this to true if ANY endpoints in your API use authentication.
|
||||
'enabled' => true,
|
||||
|
||||
// Set this to true if your API should be authenticated by default. If so, you must also set `enabled` (above) to true.
|
||||
// You can then use @unauthenticated or @authenticated on individual endpoints to change their status from the default.
|
||||
'default' => true,
|
||||
|
||||
// Where is the auth value meant to be sent in a request?
|
||||
'in' => 'bearer',
|
||||
|
||||
// The name of the auth parameter (e.g. token, key, apiKey) or header (e.g. Authorization, Api-Key).
|
||||
'name' => 'Authorization',
|
||||
|
||||
// The value of the parameter to be used by Scribe to authenticate response calls.
|
||||
// This will NOT be included in the generated documentation. If empty, Scribe will use a random value.
|
||||
'use_value' => env('SCRIBE_AUTH_KEY'),
|
||||
|
||||
// Placeholder your users will see for the auth parameter in the example requests.
|
||||
// Set this to null if you want Scribe to use a random value as placeholder instead.
|
||||
'placeholder' => '{YOUR_BEARER_TOKEN}',
|
||||
|
||||
// Any extra authentication-related info for your users. Markdown and HTML are supported.
|
||||
'extra_info' => 'If your account has API access enabled, you can generate a token by clicking in the top right account menu and clicking <b>API tokens</b>.',
|
||||
],
|
||||
|
||||
// Example requests for each endpoint will be shown in each of these languages.
|
||||
// Supported options are: bash, javascript, php, python
|
||||
// To add a language of your own, see https://scribe.knuckles.wtf/laravel/advanced/example-requests
|
||||
// Note: does not work for `external` docs types
|
||||
'example_languages' => [
|
||||
'bash',
|
||||
'javascript',
|
||||
'php',
|
||||
'python',
|
||||
],
|
||||
|
||||
// Generate a Postman collection (v2.1.0) in addition to HTML docs.
|
||||
// For 'static' docs, the collection will be generated to public/docs/collection.json.
|
||||
// For 'laravel' docs, it will be generated to storage/app/scribe/collection.json.
|
||||
// Setting `laravel.add_routes` to true (above) will also add a route for the collection.
|
||||
'postman' => [
|
||||
'enabled' => true,
|
||||
|
||||
'overrides' => [
|
||||
// 'info.version' => '2.0.0',
|
||||
],
|
||||
],
|
||||
|
||||
// Generate an OpenAPI spec (v3.0.1) in addition to docs webpage.
|
||||
// For 'static' docs, the collection will be generated to public/docs/openapi.yaml.
|
||||
// For 'laravel' docs, it will be generated to storage/app/scribe/openapi.yaml.
|
||||
// Setting `laravel.add_routes` to true (above) will also add a route for the spec.
|
||||
'openapi' => [
|
||||
'enabled' => true,
|
||||
|
||||
'overrides' => [
|
||||
// 'info.version' => '2.0.0',
|
||||
],
|
||||
|
||||
// Additional generators to use when generating the OpenAPI spec.
|
||||
// Should extend `Knuckles\Scribe\Writing\OpenApiSpecGenerators\OpenApiGenerator`.
|
||||
'generators' => [],
|
||||
],
|
||||
|
||||
'groups' => [
|
||||
// Endpoints which don't have a @group will be placed in this default group.
|
||||
'default' => 'Misc',
|
||||
|
||||
// By default, Scribe will sort groups alphabetically, and endpoints in the order their routes are defined.
|
||||
// You can override this by listing the groups, subgroups and endpoints here in the order you want them.
|
||||
// See https://scribe.knuckles.wtf/blog/laravel-v4#easier-sorting and https://scribe.knuckles.wtf/laravel/reference/config#order for details
|
||||
// Note: does not work for `external` docs types
|
||||
'order' => [
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
// Custom logo path. This will be used as the value of the src attribute for the <img> tag,
|
||||
// so make sure it points to an accessible URL or path. Set to false to not use a logo.
|
||||
// For example, if your logo is in public/img:
|
||||
// - 'logo' => '../img/logo.png' // for `static` type (output folder is public/docs)
|
||||
// - 'logo' => 'img/logo.png' // for `laravel` type
|
||||
'logo' => 'img/logo.png',
|
||||
|
||||
// Customize the "Last updated" value displayed in the docs by specifying tokens and formats.
|
||||
// Examples:
|
||||
// - {date:F j Y} => March 28, 2022
|
||||
// - {git:short} => Short hash of the last Git commit
|
||||
// Available tokens are `{date:<format>}` and `{git:<format>}`.
|
||||
// The format you pass to `date` will be passed to PHP's `date()` function.
|
||||
// The format you pass to `git` can be either "short" or "long".
|
||||
// Note: does not work for `external` docs types
|
||||
'last_updated' => 'Last updated: {date:F j, Y} ({git:short})',
|
||||
|
||||
'examples' => [
|
||||
// Set this to any number to generate the same example values for parameters on each run,
|
||||
'faker_seed' => 1234,
|
||||
|
||||
// With API resources and transformers, Scribe tries to generate example models to use in your API responses.
|
||||
// By default, Scribe will try the model's factory, and if that fails, try fetching the first from the database.
|
||||
// You can reorder or remove strategies here.
|
||||
'models_source' => ['factoryCreate', 'factoryMake', 'databaseFirst'],
|
||||
],
|
||||
|
||||
// The strategies Scribe will use to extract information about your routes at each stage.
|
||||
// Use configureStrategy() to specify settings for a strategy in the list.
|
||||
// Use removeStrategies() to remove an included strategy.
|
||||
'strategies' => [
|
||||
'metadata' => [
|
||||
...Defaults::METADATA_STRATEGIES,
|
||||
],
|
||||
'headers' => [
|
||||
...Defaults::HEADERS_STRATEGIES,
|
||||
Strategies\StaticData::withSettings(data: [
|
||||
'Content-Type' => 'application/json',
|
||||
'Accept' => 'application/json',
|
||||
//'Authorization' => 'application/json',
|
||||
]),
|
||||
],
|
||||
'urlParameters' => [
|
||||
...Defaults::URL_PARAMETERS_STRATEGIES,
|
||||
],
|
||||
'queryParameters' => [
|
||||
...Defaults::QUERY_PARAMETERS_STRATEGIES,
|
||||
],
|
||||
'bodyParameters' => [
|
||||
// Strategies\BodyParameters\GetFromFormRequest::class,
|
||||
Strategies\BodyParameters\GetFromInlineValidator::class,
|
||||
Strategies\BodyParameters\GetFromBodyParamAttribute::class,
|
||||
Strategies\BodyParameters\GetFromBodyParamTag::class,
|
||||
Strategies\BodyParameters\GetFromBodyParamAttribute::class
|
||||
],
|
||||
'responses' => configureStrategy(
|
||||
Defaults::RESPONSES_STRATEGIES,
|
||||
Strategies\Responses\ResponseCalls::withSettings(
|
||||
only: ['GET *'],
|
||||
// Recommended: disable debug mode in response calls to avoid error stack traces in responses
|
||||
config: [
|
||||
'app.debug' => false,
|
||||
],
|
||||
)
|
||||
),
|
||||
'responseFields' => [
|
||||
...Defaults::RESPONSE_FIELDS_STRATEGIES,
|
||||
]
|
||||
],
|
||||
|
||||
// For response calls, API resource responses and transformer responses,
|
||||
// Scribe will try to start database transactions, so no changes are persisted to your database.
|
||||
// Tell Scribe which connections should be transacted here. If you only use one db connection, you can leave this as is.
|
||||
'database_connections_to_transact' => [config('database.default')],
|
||||
|
||||
'fractal' => [
|
||||
// If you are using a custom serializer with league/fractal, you can specify it here.
|
||||
'serializer' => null,
|
||||
],
|
||||
];
|
||||
85
package-lock.json
generated
85
package-lock.json
generated
@@ -26,6 +26,7 @@
|
||||
"jquery-ui": "^1.14.1",
|
||||
"jquery-validation": "^1.21.0",
|
||||
"jquery.iframe-transport": "^1.0.0",
|
||||
"jspdf": "^3.0.3",
|
||||
"jspdf-autotable": "^5.0.2",
|
||||
"less": "^4.2.2",
|
||||
"less-loader": "^6.0",
|
||||
@@ -2193,6 +2194,12 @@
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/pako": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz",
|
||||
"integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/parse-json": {
|
||||
"version": "4.0.2",
|
||||
"dev": true,
|
||||
@@ -2258,6 +2265,13 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/trusted-types": {
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
|
||||
"integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/@types/ws": {
|
||||
"version": "8.5.10",
|
||||
"dev": true,
|
||||
@@ -2742,16 +2756,6 @@
|
||||
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/atob": {
|
||||
"version": "2.1.2",
|
||||
"license": "(MIT OR Apache-2.0)",
|
||||
"bin": {
|
||||
"atob": "bin/atob.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 4.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/autoprefixer": {
|
||||
"version": "10.4.19",
|
||||
"dev": true,
|
||||
@@ -3343,16 +3347,6 @@
|
||||
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
|
||||
}
|
||||
},
|
||||
"node_modules/btoa": {
|
||||
"version": "1.2.1",
|
||||
"license": "(MIT OR Apache-2.0)",
|
||||
"bin": {
|
||||
"btoa": "bin/btoa.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer": {
|
||||
"version": "4.9.2",
|
||||
"dev": true,
|
||||
@@ -4617,10 +4611,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/dompurify": {
|
||||
"version": "2.5.8",
|
||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.5.8.tgz",
|
||||
"integrity": "sha512-o1vSNgrmYMQObbSSvF/1brBYEQPHhV1+gsmrusO7/GXtp1T9rCS8cXFqVxK/9crT1jA6Ccv+5MTSjBNqr7Sovw==",
|
||||
"optional": true
|
||||
"version": "3.2.7",
|
||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.7.tgz",
|
||||
"integrity": "sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==",
|
||||
"license": "(MPL-2.0 OR Apache-2.0)",
|
||||
"optional": true,
|
||||
"optionalDependencies": {
|
||||
"@types/trusted-types": "^2.0.7"
|
||||
}
|
||||
},
|
||||
"node_modules/domutils": {
|
||||
"version": "2.8.0",
|
||||
@@ -5106,6 +5104,23 @@
|
||||
"version": "2.1.0",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/fast-png": {
|
||||
"version": "6.4.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.4.0.tgz",
|
||||
"integrity": "sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/pako": "^2.0.3",
|
||||
"iobuffer": "^5.3.2",
|
||||
"pako": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/fast-png/node_modules/pako": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz",
|
||||
"integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==",
|
||||
"license": "(MIT AND Zlib)"
|
||||
},
|
||||
"node_modules/fast-safe-stringify": {
|
||||
"version": "2.1.1",
|
||||
"license": "MIT"
|
||||
@@ -6233,6 +6248,12 @@
|
||||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/iobuffer": {
|
||||
"version": "5.4.0",
|
||||
"resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.4.0.tgz",
|
||||
"integrity": "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/ion-rangeslider": {
|
||||
"version": "2.3.1",
|
||||
"license": "MIT",
|
||||
@@ -6769,19 +6790,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/jspdf": {
|
||||
"version": "2.5.2",
|
||||
"resolved": "https://registry.npmjs.org/jspdf/-/jspdf-2.5.2.tgz",
|
||||
"integrity": "sha512-myeX9c+p7znDWPk0eTrujCzNjT+CXdXyk7YmJq5nD5V7uLLKmSXnlQ/Jn/kuo3X09Op70Apm0rQSnFWyGK8uEQ==",
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/jspdf/-/jspdf-3.0.3.tgz",
|
||||
"integrity": "sha512-eURjAyz5iX1H8BOYAfzvdPfIKK53V7mCpBTe7Kb16PaM8JSXEcUQNBQaiWMI8wY5RvNOPj4GccMjTlfwRBd+oQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.23.2",
|
||||
"atob": "^2.1.2",
|
||||
"btoa": "^1.2.1",
|
||||
"@babel/runtime": "^7.26.9",
|
||||
"fast-png": "^6.2.0",
|
||||
"fflate": "^0.8.1"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"canvg": "^3.0.6",
|
||||
"canvg": "^3.0.11",
|
||||
"core-js": "^3.6.0",
|
||||
"dompurify": "^2.5.4",
|
||||
"dompurify": "^3.2.4",
|
||||
"html2canvas": "^1.0.0-rc.5"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
"jquery-ui": "^1.14.1",
|
||||
"jquery-validation": "^1.21.0",
|
||||
"jquery.iframe-transport": "^1.0.0",
|
||||
"jspdf": "^3.0.3",
|
||||
"jspdf-autotable": "^5.0.2",
|
||||
"less": "^4.2.2",
|
||||
"less-loader": "^6.0",
|
||||
|
||||
393
public/assets/scribe/css/theme-default.print.css
Normal file
393
public/assets/scribe/css/theme-default.print.css
Normal file
@@ -0,0 +1,393 @@
|
||||
/* Copied from https://github.com/slatedocs/slate/blob/c4b4c0b8f83e891ca9fab6bbe9a1a88d5fe41292/stylesheets/print.css and unminified */
|
||||
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
|
||||
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0
|
||||
}
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
main,
|
||||
menu,
|
||||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block
|
||||
}
|
||||
|
||||
audio,
|
||||
canvas,
|
||||
progress,
|
||||
video {
|
||||
display: inline-block;
|
||||
vertical-align: baseline
|
||||
}
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0
|
||||
}
|
||||
|
||||
[hidden],
|
||||
template {
|
||||
display: none
|
||||
}
|
||||
|
||||
a {
|
||||
background-color: transparent
|
||||
}
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline: 0
|
||||
}
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: 1px dotted
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
dfn {
|
||||
font-style: italic
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0
|
||||
}
|
||||
|
||||
mark {
|
||||
background: #ff0;
|
||||
color: #000
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 80%
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 1em 40px
|
||||
}
|
||||
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0
|
||||
}
|
||||
|
||||
pre {
|
||||
overflow: auto
|
||||
}
|
||||
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em
|
||||
}
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
color: inherit;
|
||||
font: inherit;
|
||||
margin: 0
|
||||
}
|
||||
|
||||
button {
|
||||
overflow: visible
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none
|
||||
}
|
||||
|
||||
button,
|
||||
html input[type="button"],
|
||||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
button[disabled],
|
||||
html input[disabled] {
|
||||
cursor: default
|
||||
}
|
||||
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
input {
|
||||
line-height: normal
|
||||
}
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
box-sizing: border-box;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
input[type="number"]::-webkit-inner-spin-button,
|
||||
input[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto
|
||||
}
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield;
|
||||
box-sizing: content-box
|
||||
}
|
||||
|
||||
input[type="search"]::-webkit-search-cancel-button,
|
||||
input[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none
|
||||
}
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em
|
||||
}
|
||||
|
||||
legend {
|
||||
border: 0;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto
|
||||
}
|
||||
|
||||
optgroup {
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
padding: 0
|
||||
}
|
||||
|
||||
.content h1,
|
||||
.content h2,
|
||||
.content h3,
|
||||
.content h4,
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
.content h1,
|
||||
.content h2,
|
||||
.content h3,
|
||||
.content h4 {
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.content pre,
|
||||
.content code {
|
||||
font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;
|
||||
font-size: 12px;
|
||||
line-height: 1.5
|
||||
}
|
||||
|
||||
.content pre,
|
||||
.content code {
|
||||
word-break: break-all;
|
||||
-webkit-hyphens: auto;
|
||||
-ms-hyphens: auto;
|
||||
hyphens: auto
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'slate';
|
||||
src: url(../fonts/slate.eot?-syv14m);
|
||||
src: url(../fonts/slate.eot?#iefix-syv14m) format("embedded-opentype"), url(../fonts/slate.woff2?-syv14m) format("woff2"), url(../fonts/slate.woff?-syv14m) format("woff"), url(../fonts/slate.ttf?-syv14m) format("truetype"), url(../fonts/slate.svg?-syv14m#slate) format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal
|
||||
}
|
||||
|
||||
.content aside.warning:before,
|
||||
.content aside.notice:before,
|
||||
.content aside.success:before {
|
||||
font-family: 'slate';
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1
|
||||
}
|
||||
|
||||
.content aside.warning:before {
|
||||
content: "\e600"
|
||||
}
|
||||
|
||||
.content aside.notice:before {
|
||||
content: "\e602"
|
||||
}
|
||||
|
||||
.content aside.success:before {
|
||||
content: "\e606"
|
||||
}
|
||||
|
||||
.tocify,
|
||||
.toc-footer,
|
||||
.lang-selector,
|
||||
.search,
|
||||
#nav-button {
|
||||
display: none
|
||||
}
|
||||
|
||||
.tocify-wrapper>img {
|
||||
margin: 0 auto;
|
||||
display: block
|
||||
}
|
||||
|
||||
.content {
|
||||
font-size: 12px
|
||||
}
|
||||
|
||||
.content pre,
|
||||
.content code {
|
||||
border: 1px solid #999;
|
||||
border-radius: 5px;
|
||||
font-size: 0.8em
|
||||
}
|
||||
|
||||
.content pre code {
|
||||
border: 0
|
||||
}
|
||||
|
||||
.content pre {
|
||||
padding: 1.3em
|
||||
}
|
||||
|
||||
.content code {
|
||||
padding: 0.2em
|
||||
}
|
||||
|
||||
.content table {
|
||||
border: 1px solid #999
|
||||
}
|
||||
|
||||
.content table tr {
|
||||
border-bottom: 1px solid #999
|
||||
}
|
||||
|
||||
.content table td,
|
||||
.content table th {
|
||||
padding: 0.7em
|
||||
}
|
||||
|
||||
.content p {
|
||||
line-height: 1.5
|
||||
}
|
||||
|
||||
.content a {
|
||||
text-decoration: none;
|
||||
color: #000
|
||||
}
|
||||
|
||||
.content h1 {
|
||||
font-size: 2.5em;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 21px;
|
||||
border: 2px solid #ccc;
|
||||
border-width: 2px 0;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.content h2 {
|
||||
font-size: 1.8em;
|
||||
margin-top: 2em;
|
||||
border-top: 2px solid #ccc;
|
||||
padding-top: 0.8em
|
||||
}
|
||||
|
||||
.content h1+h2,
|
||||
.content h1+div+h2 {
|
||||
border-top: none;
|
||||
padding-top: 0;
|
||||
margin-top: 0
|
||||
}
|
||||
|
||||
.content h3,
|
||||
.content h4 {
|
||||
font-size: 0.8em;
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 0.8em;
|
||||
text-transform: uppercase
|
||||
}
|
||||
|
||||
.content h5,
|
||||
.content h6 {
|
||||
text-transform: uppercase
|
||||
}
|
||||
|
||||
.content aside {
|
||||
padding: 1em;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
line-height: 1.6
|
||||
}
|
||||
|
||||
.content aside:before {
|
||||
vertical-align: middle;
|
||||
padding-right: 0.5em;
|
||||
font-size: 14px
|
||||
}
|
||||
1094
public/assets/scribe/css/theme-default.style.css
Normal file
1094
public/assets/scribe/css/theme-default.style.css
Normal file
File diff suppressed because it is too large
Load Diff
BIN
public/assets/scribe/images/navbar.png
Normal file
BIN
public/assets/scribe/images/navbar.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 96 B |
149
public/assets/scribe/js/theme-default-5.3.0.js
Normal file
149
public/assets/scribe/js/theme-default-5.3.0.js
Normal file
@@ -0,0 +1,149 @@
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const updateHash = function (id) {
|
||||
window.location.hash = `#${id}`;
|
||||
};
|
||||
|
||||
const navButton = document.getElementById('nav-button');
|
||||
const menuWrapper = document.querySelector('.tocify-wrapper');
|
||||
function toggleSidebar(event) {
|
||||
event.preventDefault();
|
||||
if (menuWrapper) {
|
||||
menuWrapper.classList.toggle('open');
|
||||
navButton.classList.toggle('open');
|
||||
}
|
||||
}
|
||||
function closeSidebar() {
|
||||
if (menuWrapper) {
|
||||
menuWrapper.classList.remove('open');
|
||||
navButton.classList.remove('open');
|
||||
}
|
||||
}
|
||||
navButton.addEventListener('click', toggleSidebar);
|
||||
|
||||
window.hljs.highlightAll();
|
||||
|
||||
const wrapper = document.getElementById('toc');
|
||||
// https://jets.js.org/
|
||||
window.jets = new window.Jets({
|
||||
// *OR - Selects elements whose values contains at least one part of search substring
|
||||
searchSelector: '*OR',
|
||||
searchTag: '#input-search',
|
||||
contentTag: '#toc li',
|
||||
didSearch: function(term) {
|
||||
wrapper.classList.toggle('jets-searching', String(term).length > 0)
|
||||
},
|
||||
// map these accent keys to plain values
|
||||
diacriticsMap: {
|
||||
a: 'ÀÁÂÃÄÅàáâãäåĀāąĄ',
|
||||
c: 'ÇçćĆčČ',
|
||||
d: 'đĐďĎ',
|
||||
e: 'ÈÉÊËèéêëěĚĒēęĘ',
|
||||
i: 'ÌÍÎÏìíîïĪī',
|
||||
l: 'łŁ',
|
||||
n: 'ÑñňŇńŃ',
|
||||
o: 'ÒÓÔÕÕÖØòóôõöøŌō',
|
||||
r: 'řŘ',
|
||||
s: 'ŠšśŚ',
|
||||
t: 'ťŤ',
|
||||
u: 'ÙÚÛÜùúûüůŮŪū',
|
||||
y: 'ŸÿýÝ',
|
||||
z: 'ŽžżŻźŹ'
|
||||
}
|
||||
});
|
||||
|
||||
function hashChange() {
|
||||
const currentItems = document.querySelectorAll('.tocify-subheader.visible, .tocify-item.tocify-focus');
|
||||
Array.from(currentItems).forEach((elem) => {
|
||||
elem.classList.remove('visible', 'tocify-focus');
|
||||
});
|
||||
|
||||
const currentTag = document.querySelector(`a[href="${window.location.hash}"]`);
|
||||
if (currentTag) {
|
||||
const parent = currentTag.closest('.tocify-subheader');
|
||||
if (parent) {
|
||||
parent.classList.add('visible');
|
||||
}
|
||||
|
||||
const siblings = currentTag.closest('.tocify-header');
|
||||
if (siblings) {
|
||||
Array.from(siblings.querySelectorAll('.tocify-subheader')).forEach((elem) => {
|
||||
elem.classList.add('visible');
|
||||
});
|
||||
}
|
||||
|
||||
currentTag.parentElement.classList.add('tocify-focus');
|
||||
|
||||
// wait for dom changes to be done
|
||||
setTimeout(() => {
|
||||
currentTag.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' });
|
||||
// only close the sidebar on level-2 events
|
||||
if (currentTag.parentElement.classList.contains('level-2')) {
|
||||
closeSidebar();
|
||||
}
|
||||
}, 1500);
|
||||
}
|
||||
}
|
||||
|
||||
let languages = JSON.parse(document.body.getAttribute('data-languages'));
|
||||
// Support a key => value object where the key is the name, or an array of strings where the value is the name
|
||||
if (!Array.isArray(languages)) {
|
||||
languages = Object.values(languages);
|
||||
}
|
||||
// if there is no language use the first one
|
||||
const currentLanguage = window.localStorage.getItem('language') || languages[0];
|
||||
const languageStyle = document.getElementById('language-style');
|
||||
const langSelector = document.querySelectorAll('.lang-selector button.lang-button');
|
||||
|
||||
function setActiveLanguage(newLanguage) {
|
||||
window.localStorage.setItem('language', newLanguage);
|
||||
if (!languageStyle) {
|
||||
return;
|
||||
}
|
||||
|
||||
const newStyle = languages.map((language) => {
|
||||
return language === newLanguage
|
||||
// the current one should be visible
|
||||
? `body .content .${language}-example pre { display: block; }`
|
||||
// the inactive one should be hidden
|
||||
: `body .content .${language}-example pre { display: none; }`;
|
||||
}).join(`\n`);
|
||||
|
||||
Array.from(langSelector).forEach((elem) => {
|
||||
elem.classList.toggle('active', elem.getAttribute('data-language-name') === newLanguage);
|
||||
});
|
||||
|
||||
const activeHash = window.location.hash.slice(1);
|
||||
|
||||
languageStyle.innerHTML = newStyle;
|
||||
|
||||
setTimeout(() => {
|
||||
updateHash(activeHash);
|
||||
}, 200);
|
||||
}
|
||||
|
||||
setActiveLanguage(currentLanguage);
|
||||
|
||||
Array.from(langSelector).forEach((elem) => {
|
||||
elem.addEventListener('click', () => {
|
||||
const newLanguage = elem.getAttribute('data-language-name');
|
||||
setActiveLanguage(newLanguage);
|
||||
});
|
||||
});
|
||||
|
||||
window.addEventListener('hashchange', hashChange, false);
|
||||
|
||||
const divs = document.querySelectorAll('.content h1[id], .content h2[id]');
|
||||
|
||||
document.addEventListener('scroll', () => {
|
||||
divs.forEach(item => {
|
||||
const rect = item.getBoundingClientRect();
|
||||
if (rect.top > 0 && rect.top < 150) {
|
||||
const location = window.location.toString().split('#')[0];
|
||||
history.replaceState(null, null, location + '#' + item.id);
|
||||
hashChange();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
hashChange();
|
||||
});
|
||||
289
public/assets/scribe/js/tryitout-5.3.0.js
Normal file
289
public/assets/scribe/js/tryitout-5.3.0.js
Normal file
@@ -0,0 +1,289 @@
|
||||
window.abortControllers = {};
|
||||
|
||||
function cacheAuthValue() {
|
||||
// Whenever the auth header is set for one endpoint, cache it for the others
|
||||
window.lastAuthValue = '';
|
||||
let authInputs = document.querySelectorAll(`.auth-value`)
|
||||
authInputs.forEach(el => {
|
||||
el.addEventListener('input', (event) => {
|
||||
window.lastAuthValue = event.target.value;
|
||||
authInputs.forEach(otherInput => {
|
||||
if (otherInput === el) return;
|
||||
// Don't block the main thread
|
||||
setTimeout(() => {
|
||||
otherInput.value = window.lastAuthValue;
|
||||
}, 0);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
window.addEventListener('DOMContentLoaded', cacheAuthValue);
|
||||
|
||||
function getCookie(name) {
|
||||
if (!document.cookie) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const cookies = document.cookie.split(';')
|
||||
.map(c => c.trim())
|
||||
.filter(c => c.startsWith(name + '='));
|
||||
|
||||
if (cookies.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return decodeURIComponent(cookies[0].split('=')[1]);
|
||||
}
|
||||
|
||||
function tryItOut(endpointId) {
|
||||
document.querySelector(`#btn-tryout-${endpointId}`).hidden = true;
|
||||
document.querySelector(`#btn-canceltryout-${endpointId}`).hidden = false;
|
||||
const executeBtn = document.querySelector(`#btn-executetryout-${endpointId}`).hidden = false;
|
||||
executeBtn.disabled = false;
|
||||
|
||||
// Show all input fields
|
||||
document.querySelectorAll(`input[data-endpoint=${endpointId}],label[data-endpoint=${endpointId}]`)
|
||||
.forEach(el => el.style.display = 'block');
|
||||
|
||||
if (document.querySelector(`#form-${endpointId}`).dataset.authed === "1") {
|
||||
const authElement = document.querySelector(`#auth-${endpointId}`);
|
||||
authElement && (authElement.hidden = false);
|
||||
}
|
||||
// Expand all nested fields
|
||||
document.querySelectorAll(`#form-${endpointId} details`)
|
||||
.forEach(el => el.open = true);
|
||||
}
|
||||
|
||||
function cancelTryOut(endpointId) {
|
||||
if (window.abortControllers[endpointId]) {
|
||||
window.abortControllers[endpointId].abort();
|
||||
delete window.abortControllers[endpointId];
|
||||
}
|
||||
|
||||
document.querySelector(`#btn-tryout-${endpointId}`).hidden = false;
|
||||
const executeBtn = document.querySelector(`#btn-executetryout-${endpointId}`);
|
||||
executeBtn.hidden = true;
|
||||
executeBtn.textContent = executeBtn.dataset.initialText;
|
||||
document.querySelector(`#btn-canceltryout-${endpointId}`).hidden = true;
|
||||
// Hide inputs
|
||||
document.querySelectorAll(`input[data-endpoint=${endpointId}],label[data-endpoint=${endpointId}]`)
|
||||
.forEach(el => el.style.display = 'none');
|
||||
document.querySelectorAll(`#form-${endpointId} details`)
|
||||
.forEach(el => el.open = false);
|
||||
const authElement = document.querySelector(`#auth-${endpointId}`);
|
||||
authElement && (authElement.hidden = true);
|
||||
|
||||
document.querySelector('#execution-results-' + endpointId).hidden = true;
|
||||
document.querySelector('#execution-error-' + endpointId).hidden = true;
|
||||
|
||||
// Revert to sample code blocks
|
||||
document.querySelector('#example-requests-' + endpointId).hidden = false;
|
||||
document.querySelector('#example-responses-' + endpointId).hidden = false;
|
||||
}
|
||||
|
||||
function makeAPICall(method, path, body = {}, query = {}, headers = {}, endpointId = null) {
|
||||
console.log({endpointId, path, body, query, headers});
|
||||
|
||||
if (!(body instanceof FormData) && typeof body !== "string") {
|
||||
body = JSON.stringify(body)
|
||||
}
|
||||
|
||||
const url = new URL(window.tryItOutBaseUrl + '/' + path.replace(/^\//, ''));
|
||||
|
||||
// We need this function because if you try to set an array or object directly to a URLSearchParams object,
|
||||
// you'll get [object Object] or the array.toString()
|
||||
function addItemToSearchParamsObject(key, value, searchParams) {
|
||||
if (Array.isArray(value)) {
|
||||
value.forEach((v, i) => {
|
||||
// Append {filters: [first, second]} as filters[0]=first&filters[1]second
|
||||
addItemToSearchParamsObject(key + '[' + i + ']', v, searchParams);
|
||||
})
|
||||
} else if (typeof value === 'object' && value !== null) {
|
||||
Object.keys(value).forEach((i) => {
|
||||
// Append {filters: {name: first}} as filters[name]=first
|
||||
addItemToSearchParamsObject(key + '[' + i + ']', value[i], searchParams);
|
||||
});
|
||||
} else {
|
||||
searchParams.append(key, value);
|
||||
}
|
||||
}
|
||||
|
||||
Object.keys(query)
|
||||
.forEach(key => addItemToSearchParamsObject(key, query[key], url.searchParams));
|
||||
|
||||
window.abortControllers[endpointId] = new AbortController();
|
||||
|
||||
return fetch(url, {
|
||||
method,
|
||||
headers,
|
||||
body: method === 'GET' ? undefined : body,
|
||||
signal: window.abortControllers[endpointId].signal,
|
||||
referrer: window.tryItOutBaseUrl,
|
||||
mode: 'cors',
|
||||
credentials: 'same-origin',
|
||||
})
|
||||
.then(response => Promise.all([response.status, response.statusText, response.text(), response.headers]));
|
||||
}
|
||||
|
||||
function hideCodeSamples(endpointId) {
|
||||
document.querySelector('#example-requests-' + endpointId).hidden = true;
|
||||
document.querySelector('#example-responses-' + endpointId).hidden = true;
|
||||
}
|
||||
|
||||
function handleResponse(endpointId, response, status, headers) {
|
||||
hideCodeSamples(endpointId);
|
||||
|
||||
// Hide error views
|
||||
document.querySelector('#execution-error-' + endpointId).hidden = true;
|
||||
|
||||
const responseContentEl = document.querySelector('#execution-response-content-' + endpointId);
|
||||
|
||||
// Check if the response contains Laravel's dd() default dump output
|
||||
const isLaravelDump = response.includes('Sfdump');
|
||||
|
||||
// If it's a Laravel dd() dump, use innerHTML to render it safely
|
||||
if (isLaravelDump) {
|
||||
responseContentEl.innerHTML = response === '' ? responseContentEl.dataset.emptyResponseText : response;
|
||||
} else {
|
||||
// Otherwise, stick to textContent for regular responses
|
||||
responseContentEl.textContent = response === '' ? responseContentEl.dataset.emptyResponseText : response;
|
||||
}
|
||||
|
||||
// Prettify it if it's JSON
|
||||
let isJson = false;
|
||||
try {
|
||||
const jsonParsed = JSON.parse(response);
|
||||
if (jsonParsed !== null) {
|
||||
isJson = true;
|
||||
response = JSON.stringify(jsonParsed, null, 4);
|
||||
responseContentEl.textContent = response;
|
||||
}
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
|
||||
isJson && window.hljs.highlightElement(responseContentEl);
|
||||
const statusEl = document.querySelector('#execution-response-status-' + endpointId);
|
||||
statusEl.textContent = ` (${status})`;
|
||||
document.querySelector('#execution-results-' + endpointId).hidden = false;
|
||||
statusEl.scrollIntoView({behavior: "smooth", block: "center"});
|
||||
}
|
||||
|
||||
function handleError(endpointId, err) {
|
||||
hideCodeSamples(endpointId);
|
||||
// Hide response views
|
||||
document.querySelector('#execution-results-' + endpointId).hidden = true;
|
||||
|
||||
// Show error views
|
||||
let errorMessage = err.message || err;
|
||||
const $errorMessageEl = document.querySelector('#execution-error-message-' + endpointId);
|
||||
$errorMessageEl.textContent = errorMessage + $errorMessageEl.textContent;
|
||||
const errorEl = document.querySelector('#execution-error-' + endpointId);
|
||||
errorEl.hidden = false;
|
||||
errorEl.scrollIntoView({behavior: "smooth", block: "center"});
|
||||
|
||||
}
|
||||
|
||||
async function executeTryOut(endpointId, form) {
|
||||
const executeBtn = document.querySelector(`#btn-executetryout-${endpointId}`);
|
||||
executeBtn.textContent = executeBtn.dataset.loadingText;
|
||||
executeBtn.disabled = true;
|
||||
executeBtn.scrollIntoView({behavior: "smooth", block: "center"});
|
||||
|
||||
let body;
|
||||
let setter;
|
||||
if (form.dataset.hasfiles === "1") {
|
||||
body = new FormData();
|
||||
setter = (name, value) => body.append(name, value);
|
||||
} else if (form.dataset.isarraybody === "1") {
|
||||
body = [];
|
||||
setter = (name, value) => _.set(body, name, value);
|
||||
} else {
|
||||
body = {};
|
||||
setter = (name, value) => _.set(body, name, value);
|
||||
}
|
||||
const bodyParameters = form.querySelectorAll('input[data-component=body]');
|
||||
bodyParameters.forEach(el => {
|
||||
let value = el.value;
|
||||
|
||||
if (el.type === 'number' && typeof value === 'string') {
|
||||
value = parseFloat(value);
|
||||
}
|
||||
|
||||
if (el.type === 'file' && el.files[0]) {
|
||||
setter(el.name, el.files[0]);
|
||||
return;
|
||||
}
|
||||
|
||||
if (el.type !== 'radio') {
|
||||
if (value === "" && el.required === false) {
|
||||
// Don't include empty optional values in the request
|
||||
return;
|
||||
}
|
||||
setter(el.name, value);
|
||||
return;
|
||||
}
|
||||
|
||||
if (el.checked) {
|
||||
value = (value === 'false') ? false : true;
|
||||
setter(el.name, value);
|
||||
}
|
||||
});
|
||||
|
||||
const query = {};
|
||||
const queryParameters = form.querySelectorAll('input[data-component=query]');
|
||||
queryParameters.forEach(el => {
|
||||
if (el.type !== 'radio' || (el.type === 'radio' && el.checked)) {
|
||||
if (el.value === '') {
|
||||
// Don't include empty values in the request
|
||||
return;
|
||||
}
|
||||
|
||||
_.set(query, el.name, el.value);
|
||||
}
|
||||
});
|
||||
|
||||
let path = form.dataset.path;
|
||||
const urlParameters = form.querySelectorAll('input[data-component=url]');
|
||||
urlParameters.forEach(el => (path = path.replace(new RegExp(`\\{${el.name}\\??}`), el.value)));
|
||||
|
||||
const headers = Object.fromEntries(Array.from(form.querySelectorAll('input[data-component=header]'))
|
||||
.map(el => [el.name, el.value]));
|
||||
|
||||
// When using FormData, the browser sets the correct content-type + boundary
|
||||
let method = form.dataset.method;
|
||||
if (body instanceof FormData) {
|
||||
delete headers['Content-Type'];
|
||||
|
||||
// When using FormData with PUT or PATCH, use method spoofing so PHP can access the post body
|
||||
if (['PUT', 'PATCH'].includes(form.dataset.method)) {
|
||||
method = 'POST';
|
||||
setter('_method', form.dataset.method);
|
||||
}
|
||||
}
|
||||
|
||||
let preflightPromise = Promise.resolve();
|
||||
if (window.useCsrf && window.csrfUrl) {
|
||||
preflightPromise = makeAPICall('GET', window.csrfUrl).then(() => {
|
||||
headers['X-XSRF-TOKEN'] = getCookie('XSRF-TOKEN');
|
||||
});
|
||||
}
|
||||
|
||||
return preflightPromise.then(() => makeAPICall(method, path, body, query, headers, endpointId))
|
||||
.then(([responseStatus, statusText, responseContent, responseHeaders]) => {
|
||||
handleResponse(endpointId, responseContent, responseStatus, responseHeaders)
|
||||
})
|
||||
.catch(err => {
|
||||
if (err.name === "AbortError") {
|
||||
console.log("Request cancelled");
|
||||
return;
|
||||
}
|
||||
console.log("Error while making request: ", err);
|
||||
handleError(endpointId, err);
|
||||
})
|
||||
.finally(() => {
|
||||
executeBtn.disabled = false;
|
||||
executeBtn.textContent = executeBtn.dataset.initialText;
|
||||
});
|
||||
}
|
||||
11
public/js/dist/bootstrap-table.js
vendored
11
public/js/dist/bootstrap-table.js
vendored
File diff suppressed because one or more lines are too long
@@ -110,5 +110,5 @@
|
||||
"/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=3979929a3423ff35b96b1fc84299fdf3",
|
||||
"/css/dist/skins/skin-yellow.min.css": "/css/dist/skins/skin-yellow.min.css?id=3d8a3d2035ea28aaad4a703c2646f515",
|
||||
"/css/dist/bootstrap-table.css": "/css/dist/bootstrap-table.css?id=9def0b5d3b891ac3669b3b7aa7e805ce",
|
||||
"/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=ed9dc2e13cf495675067c4c7091b325a"
|
||||
"/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=678d920d390b6f4308e710fbd53e44eb"
|
||||
}
|
||||
|
||||
393
public/vendor/scribe/css/theme-default.print.css
vendored
Normal file
393
public/vendor/scribe/css/theme-default.print.css
vendored
Normal file
@@ -0,0 +1,393 @@
|
||||
/* Copied from https://github.com/slatedocs/slate/blob/c4b4c0b8f83e891ca9fab6bbe9a1a88d5fe41292/stylesheets/print.css and unminified */
|
||||
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
|
||||
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0
|
||||
}
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
main,
|
||||
menu,
|
||||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block
|
||||
}
|
||||
|
||||
audio,
|
||||
canvas,
|
||||
progress,
|
||||
video {
|
||||
display: inline-block;
|
||||
vertical-align: baseline
|
||||
}
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0
|
||||
}
|
||||
|
||||
[hidden],
|
||||
template {
|
||||
display: none
|
||||
}
|
||||
|
||||
a {
|
||||
background-color: transparent
|
||||
}
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline: 0
|
||||
}
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: 1px dotted
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
dfn {
|
||||
font-style: italic
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0
|
||||
}
|
||||
|
||||
mark {
|
||||
background: #ff0;
|
||||
color: #000
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 80%
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 1em 40px
|
||||
}
|
||||
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0
|
||||
}
|
||||
|
||||
pre {
|
||||
overflow: auto
|
||||
}
|
||||
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em
|
||||
}
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
color: inherit;
|
||||
font: inherit;
|
||||
margin: 0
|
||||
}
|
||||
|
||||
button {
|
||||
overflow: visible
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none
|
||||
}
|
||||
|
||||
button,
|
||||
html input[type="button"],
|
||||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
button[disabled],
|
||||
html input[disabled] {
|
||||
cursor: default
|
||||
}
|
||||
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
input {
|
||||
line-height: normal
|
||||
}
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
box-sizing: border-box;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
input[type="number"]::-webkit-inner-spin-button,
|
||||
input[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto
|
||||
}
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield;
|
||||
box-sizing: content-box
|
||||
}
|
||||
|
||||
input[type="search"]::-webkit-search-cancel-button,
|
||||
input[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none
|
||||
}
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em
|
||||
}
|
||||
|
||||
legend {
|
||||
border: 0;
|
||||
padding: 0
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto
|
||||
}
|
||||
|
||||
optgroup {
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
padding: 0
|
||||
}
|
||||
|
||||
.content h1,
|
||||
.content h2,
|
||||
.content h3,
|
||||
.content h4,
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
.content h1,
|
||||
.content h2,
|
||||
.content h3,
|
||||
.content h4 {
|
||||
font-weight: bold
|
||||
}
|
||||
|
||||
.content pre,
|
||||
.content code {
|
||||
font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;
|
||||
font-size: 12px;
|
||||
line-height: 1.5
|
||||
}
|
||||
|
||||
.content pre,
|
||||
.content code {
|
||||
word-break: break-all;
|
||||
-webkit-hyphens: auto;
|
||||
-ms-hyphens: auto;
|
||||
hyphens: auto
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'slate';
|
||||
src: url(../fonts/slate.eot?-syv14m);
|
||||
src: url(../fonts/slate.eot?#iefix-syv14m) format("embedded-opentype"), url(../fonts/slate.woff2?-syv14m) format("woff2"), url(../fonts/slate.woff?-syv14m) format("woff"), url(../fonts/slate.ttf?-syv14m) format("truetype"), url(../fonts/slate.svg?-syv14m#slate) format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal
|
||||
}
|
||||
|
||||
.content aside.warning:before,
|
||||
.content aside.notice:before,
|
||||
.content aside.success:before {
|
||||
font-family: 'slate';
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1
|
||||
}
|
||||
|
||||
.content aside.warning:before {
|
||||
content: "\e600"
|
||||
}
|
||||
|
||||
.content aside.notice:before {
|
||||
content: "\e602"
|
||||
}
|
||||
|
||||
.content aside.success:before {
|
||||
content: "\e606"
|
||||
}
|
||||
|
||||
.tocify,
|
||||
.toc-footer,
|
||||
.lang-selector,
|
||||
.search,
|
||||
#nav-button {
|
||||
display: none
|
||||
}
|
||||
|
||||
.tocify-wrapper>img {
|
||||
margin: 0 auto;
|
||||
display: block
|
||||
}
|
||||
|
||||
.content {
|
||||
font-size: 12px
|
||||
}
|
||||
|
||||
.content pre,
|
||||
.content code {
|
||||
border: 1px solid #999;
|
||||
border-radius: 5px;
|
||||
font-size: 0.8em
|
||||
}
|
||||
|
||||
.content pre code {
|
||||
border: 0
|
||||
}
|
||||
|
||||
.content pre {
|
||||
padding: 1.3em
|
||||
}
|
||||
|
||||
.content code {
|
||||
padding: 0.2em
|
||||
}
|
||||
|
||||
.content table {
|
||||
border: 1px solid #999
|
||||
}
|
||||
|
||||
.content table tr {
|
||||
border-bottom: 1px solid #999
|
||||
}
|
||||
|
||||
.content table td,
|
||||
.content table th {
|
||||
padding: 0.7em
|
||||
}
|
||||
|
||||
.content p {
|
||||
line-height: 1.5
|
||||
}
|
||||
|
||||
.content a {
|
||||
text-decoration: none;
|
||||
color: #000
|
||||
}
|
||||
|
||||
.content h1 {
|
||||
font-size: 2.5em;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.5em;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 21px;
|
||||
border: 2px solid #ccc;
|
||||
border-width: 2px 0;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.content h2 {
|
||||
font-size: 1.8em;
|
||||
margin-top: 2em;
|
||||
border-top: 2px solid #ccc;
|
||||
padding-top: 0.8em
|
||||
}
|
||||
|
||||
.content h1+h2,
|
||||
.content h1+div+h2 {
|
||||
border-top: none;
|
||||
padding-top: 0;
|
||||
margin-top: 0
|
||||
}
|
||||
|
||||
.content h3,
|
||||
.content h4 {
|
||||
font-size: 0.8em;
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 0.8em;
|
||||
text-transform: uppercase
|
||||
}
|
||||
|
||||
.content h5,
|
||||
.content h6 {
|
||||
text-transform: uppercase
|
||||
}
|
||||
|
||||
.content aside {
|
||||
padding: 1em;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 5px;
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 1.5em;
|
||||
line-height: 1.6
|
||||
}
|
||||
|
||||
.content aside:before {
|
||||
vertical-align: middle;
|
||||
padding-right: 0.5em;
|
||||
font-size: 14px
|
||||
}
|
||||
1094
public/vendor/scribe/css/theme-default.style.css
vendored
Normal file
1094
public/vendor/scribe/css/theme-default.style.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
public/vendor/scribe/images/navbar.png
vendored
Normal file
BIN
public/vendor/scribe/images/navbar.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 96 B |
149
public/vendor/scribe/js/theme-default-5.3.0.js
vendored
Normal file
149
public/vendor/scribe/js/theme-default-5.3.0.js
vendored
Normal file
@@ -0,0 +1,149 @@
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const updateHash = function (id) {
|
||||
window.location.hash = `#${id}`;
|
||||
};
|
||||
|
||||
const navButton = document.getElementById('nav-button');
|
||||
const menuWrapper = document.querySelector('.tocify-wrapper');
|
||||
function toggleSidebar(event) {
|
||||
event.preventDefault();
|
||||
if (menuWrapper) {
|
||||
menuWrapper.classList.toggle('open');
|
||||
navButton.classList.toggle('open');
|
||||
}
|
||||
}
|
||||
function closeSidebar() {
|
||||
if (menuWrapper) {
|
||||
menuWrapper.classList.remove('open');
|
||||
navButton.classList.remove('open');
|
||||
}
|
||||
}
|
||||
navButton.addEventListener('click', toggleSidebar);
|
||||
|
||||
window.hljs.highlightAll();
|
||||
|
||||
const wrapper = document.getElementById('toc');
|
||||
// https://jets.js.org/
|
||||
window.jets = new window.Jets({
|
||||
// *OR - Selects elements whose values contains at least one part of search substring
|
||||
searchSelector: '*OR',
|
||||
searchTag: '#input-search',
|
||||
contentTag: '#toc li',
|
||||
didSearch: function(term) {
|
||||
wrapper.classList.toggle('jets-searching', String(term).length > 0)
|
||||
},
|
||||
// map these accent keys to plain values
|
||||
diacriticsMap: {
|
||||
a: 'ÀÁÂÃÄÅàáâãäåĀāąĄ',
|
||||
c: 'ÇçćĆčČ',
|
||||
d: 'đĐďĎ',
|
||||
e: 'ÈÉÊËèéêëěĚĒēęĘ',
|
||||
i: 'ÌÍÎÏìíîïĪī',
|
||||
l: 'łŁ',
|
||||
n: 'ÑñňŇńŃ',
|
||||
o: 'ÒÓÔÕÕÖØòóôõöøŌō',
|
||||
r: 'řŘ',
|
||||
s: 'ŠšśŚ',
|
||||
t: 'ťŤ',
|
||||
u: 'ÙÚÛÜùúûüůŮŪū',
|
||||
y: 'ŸÿýÝ',
|
||||
z: 'ŽžżŻźŹ'
|
||||
}
|
||||
});
|
||||
|
||||
function hashChange() {
|
||||
const currentItems = document.querySelectorAll('.tocify-subheader.visible, .tocify-item.tocify-focus');
|
||||
Array.from(currentItems).forEach((elem) => {
|
||||
elem.classList.remove('visible', 'tocify-focus');
|
||||
});
|
||||
|
||||
const currentTag = document.querySelector(`a[href="${window.location.hash}"]`);
|
||||
if (currentTag) {
|
||||
const parent = currentTag.closest('.tocify-subheader');
|
||||
if (parent) {
|
||||
parent.classList.add('visible');
|
||||
}
|
||||
|
||||
const siblings = currentTag.closest('.tocify-header');
|
||||
if (siblings) {
|
||||
Array.from(siblings.querySelectorAll('.tocify-subheader')).forEach((elem) => {
|
||||
elem.classList.add('visible');
|
||||
});
|
||||
}
|
||||
|
||||
currentTag.parentElement.classList.add('tocify-focus');
|
||||
|
||||
// wait for dom changes to be done
|
||||
setTimeout(() => {
|
||||
currentTag.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' });
|
||||
// only close the sidebar on level-2 events
|
||||
if (currentTag.parentElement.classList.contains('level-2')) {
|
||||
closeSidebar();
|
||||
}
|
||||
}, 1500);
|
||||
}
|
||||
}
|
||||
|
||||
let languages = JSON.parse(document.body.getAttribute('data-languages'));
|
||||
// Support a key => value object where the key is the name, or an array of strings where the value is the name
|
||||
if (!Array.isArray(languages)) {
|
||||
languages = Object.values(languages);
|
||||
}
|
||||
// if there is no language use the first one
|
||||
const currentLanguage = window.localStorage.getItem('language') || languages[0];
|
||||
const languageStyle = document.getElementById('language-style');
|
||||
const langSelector = document.querySelectorAll('.lang-selector button.lang-button');
|
||||
|
||||
function setActiveLanguage(newLanguage) {
|
||||
window.localStorage.setItem('language', newLanguage);
|
||||
if (!languageStyle) {
|
||||
return;
|
||||
}
|
||||
|
||||
const newStyle = languages.map((language) => {
|
||||
return language === newLanguage
|
||||
// the current one should be visible
|
||||
? `body .content .${language}-example pre { display: block; }`
|
||||
// the inactive one should be hidden
|
||||
: `body .content .${language}-example pre { display: none; }`;
|
||||
}).join(`\n`);
|
||||
|
||||
Array.from(langSelector).forEach((elem) => {
|
||||
elem.classList.toggle('active', elem.getAttribute('data-language-name') === newLanguage);
|
||||
});
|
||||
|
||||
const activeHash = window.location.hash.slice(1);
|
||||
|
||||
languageStyle.innerHTML = newStyle;
|
||||
|
||||
setTimeout(() => {
|
||||
updateHash(activeHash);
|
||||
}, 200);
|
||||
}
|
||||
|
||||
setActiveLanguage(currentLanguage);
|
||||
|
||||
Array.from(langSelector).forEach((elem) => {
|
||||
elem.addEventListener('click', () => {
|
||||
const newLanguage = elem.getAttribute('data-language-name');
|
||||
setActiveLanguage(newLanguage);
|
||||
});
|
||||
});
|
||||
|
||||
window.addEventListener('hashchange', hashChange, false);
|
||||
|
||||
const divs = document.querySelectorAll('.content h1[id], .content h2[id]');
|
||||
|
||||
document.addEventListener('scroll', () => {
|
||||
divs.forEach(item => {
|
||||
const rect = item.getBoundingClientRect();
|
||||
if (rect.top > 0 && rect.top < 150) {
|
||||
const location = window.location.toString().split('#')[0];
|
||||
history.replaceState(null, null, location + '#' + item.id);
|
||||
hashChange();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
hashChange();
|
||||
});
|
||||
289
public/vendor/scribe/js/tryitout-5.3.0.js
vendored
Normal file
289
public/vendor/scribe/js/tryitout-5.3.0.js
vendored
Normal file
@@ -0,0 +1,289 @@
|
||||
window.abortControllers = {};
|
||||
|
||||
function cacheAuthValue() {
|
||||
// Whenever the auth header is set for one endpoint, cache it for the others
|
||||
window.lastAuthValue = '';
|
||||
let authInputs = document.querySelectorAll(`.auth-value`)
|
||||
authInputs.forEach(el => {
|
||||
el.addEventListener('input', (event) => {
|
||||
window.lastAuthValue = event.target.value;
|
||||
authInputs.forEach(otherInput => {
|
||||
if (otherInput === el) return;
|
||||
// Don't block the main thread
|
||||
setTimeout(() => {
|
||||
otherInput.value = window.lastAuthValue;
|
||||
}, 0);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
window.addEventListener('DOMContentLoaded', cacheAuthValue);
|
||||
|
||||
function getCookie(name) {
|
||||
if (!document.cookie) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const cookies = document.cookie.split(';')
|
||||
.map(c => c.trim())
|
||||
.filter(c => c.startsWith(name + '='));
|
||||
|
||||
if (cookies.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return decodeURIComponent(cookies[0].split('=')[1]);
|
||||
}
|
||||
|
||||
function tryItOut(endpointId) {
|
||||
document.querySelector(`#btn-tryout-${endpointId}`).hidden = true;
|
||||
document.querySelector(`#btn-canceltryout-${endpointId}`).hidden = false;
|
||||
const executeBtn = document.querySelector(`#btn-executetryout-${endpointId}`).hidden = false;
|
||||
executeBtn.disabled = false;
|
||||
|
||||
// Show all input fields
|
||||
document.querySelectorAll(`input[data-endpoint=${endpointId}],label[data-endpoint=${endpointId}]`)
|
||||
.forEach(el => el.style.display = 'block');
|
||||
|
||||
if (document.querySelector(`#form-${endpointId}`).dataset.authed === "1") {
|
||||
const authElement = document.querySelector(`#auth-${endpointId}`);
|
||||
authElement && (authElement.hidden = false);
|
||||
}
|
||||
// Expand all nested fields
|
||||
document.querySelectorAll(`#form-${endpointId} details`)
|
||||
.forEach(el => el.open = true);
|
||||
}
|
||||
|
||||
function cancelTryOut(endpointId) {
|
||||
if (window.abortControllers[endpointId]) {
|
||||
window.abortControllers[endpointId].abort();
|
||||
delete window.abortControllers[endpointId];
|
||||
}
|
||||
|
||||
document.querySelector(`#btn-tryout-${endpointId}`).hidden = false;
|
||||
const executeBtn = document.querySelector(`#btn-executetryout-${endpointId}`);
|
||||
executeBtn.hidden = true;
|
||||
executeBtn.textContent = executeBtn.dataset.initialText;
|
||||
document.querySelector(`#btn-canceltryout-${endpointId}`).hidden = true;
|
||||
// Hide inputs
|
||||
document.querySelectorAll(`input[data-endpoint=${endpointId}],label[data-endpoint=${endpointId}]`)
|
||||
.forEach(el => el.style.display = 'none');
|
||||
document.querySelectorAll(`#form-${endpointId} details`)
|
||||
.forEach(el => el.open = false);
|
||||
const authElement = document.querySelector(`#auth-${endpointId}`);
|
||||
authElement && (authElement.hidden = true);
|
||||
|
||||
document.querySelector('#execution-results-' + endpointId).hidden = true;
|
||||
document.querySelector('#execution-error-' + endpointId).hidden = true;
|
||||
|
||||
// Revert to sample code blocks
|
||||
document.querySelector('#example-requests-' + endpointId).hidden = false;
|
||||
document.querySelector('#example-responses-' + endpointId).hidden = false;
|
||||
}
|
||||
|
||||
function makeAPICall(method, path, body = {}, query = {}, headers = {}, endpointId = null) {
|
||||
console.log({endpointId, path, body, query, headers});
|
||||
|
||||
if (!(body instanceof FormData) && typeof body !== "string") {
|
||||
body = JSON.stringify(body)
|
||||
}
|
||||
|
||||
const url = new URL(window.tryItOutBaseUrl + '/' + path.replace(/^\//, ''));
|
||||
|
||||
// We need this function because if you try to set an array or object directly to a URLSearchParams object,
|
||||
// you'll get [object Object] or the array.toString()
|
||||
function addItemToSearchParamsObject(key, value, searchParams) {
|
||||
if (Array.isArray(value)) {
|
||||
value.forEach((v, i) => {
|
||||
// Append {filters: [first, second]} as filters[0]=first&filters[1]second
|
||||
addItemToSearchParamsObject(key + '[' + i + ']', v, searchParams);
|
||||
})
|
||||
} else if (typeof value === 'object' && value !== null) {
|
||||
Object.keys(value).forEach((i) => {
|
||||
// Append {filters: {name: first}} as filters[name]=first
|
||||
addItemToSearchParamsObject(key + '[' + i + ']', value[i], searchParams);
|
||||
});
|
||||
} else {
|
||||
searchParams.append(key, value);
|
||||
}
|
||||
}
|
||||
|
||||
Object.keys(query)
|
||||
.forEach(key => addItemToSearchParamsObject(key, query[key], url.searchParams));
|
||||
|
||||
window.abortControllers[endpointId] = new AbortController();
|
||||
|
||||
return fetch(url, {
|
||||
method,
|
||||
headers,
|
||||
body: method === 'GET' ? undefined : body,
|
||||
signal: window.abortControllers[endpointId].signal,
|
||||
referrer: window.tryItOutBaseUrl,
|
||||
mode: 'cors',
|
||||
credentials: 'same-origin',
|
||||
})
|
||||
.then(response => Promise.all([response.status, response.statusText, response.text(), response.headers]));
|
||||
}
|
||||
|
||||
function hideCodeSamples(endpointId) {
|
||||
document.querySelector('#example-requests-' + endpointId).hidden = true;
|
||||
document.querySelector('#example-responses-' + endpointId).hidden = true;
|
||||
}
|
||||
|
||||
function handleResponse(endpointId, response, status, headers) {
|
||||
hideCodeSamples(endpointId);
|
||||
|
||||
// Hide error views
|
||||
document.querySelector('#execution-error-' + endpointId).hidden = true;
|
||||
|
||||
const responseContentEl = document.querySelector('#execution-response-content-' + endpointId);
|
||||
|
||||
// Check if the response contains Laravel's dd() default dump output
|
||||
const isLaravelDump = response.includes('Sfdump');
|
||||
|
||||
// If it's a Laravel dd() dump, use innerHTML to render it safely
|
||||
if (isLaravelDump) {
|
||||
responseContentEl.innerHTML = response === '' ? responseContentEl.dataset.emptyResponseText : response;
|
||||
} else {
|
||||
// Otherwise, stick to textContent for regular responses
|
||||
responseContentEl.textContent = response === '' ? responseContentEl.dataset.emptyResponseText : response;
|
||||
}
|
||||
|
||||
// Prettify it if it's JSON
|
||||
let isJson = false;
|
||||
try {
|
||||
const jsonParsed = JSON.parse(response);
|
||||
if (jsonParsed !== null) {
|
||||
isJson = true;
|
||||
response = JSON.stringify(jsonParsed, null, 4);
|
||||
responseContentEl.textContent = response;
|
||||
}
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
|
||||
isJson && window.hljs.highlightElement(responseContentEl);
|
||||
const statusEl = document.querySelector('#execution-response-status-' + endpointId);
|
||||
statusEl.textContent = ` (${status})`;
|
||||
document.querySelector('#execution-results-' + endpointId).hidden = false;
|
||||
statusEl.scrollIntoView({behavior: "smooth", block: "center"});
|
||||
}
|
||||
|
||||
function handleError(endpointId, err) {
|
||||
hideCodeSamples(endpointId);
|
||||
// Hide response views
|
||||
document.querySelector('#execution-results-' + endpointId).hidden = true;
|
||||
|
||||
// Show error views
|
||||
let errorMessage = err.message || err;
|
||||
const $errorMessageEl = document.querySelector('#execution-error-message-' + endpointId);
|
||||
$errorMessageEl.textContent = errorMessage + $errorMessageEl.textContent;
|
||||
const errorEl = document.querySelector('#execution-error-' + endpointId);
|
||||
errorEl.hidden = false;
|
||||
errorEl.scrollIntoView({behavior: "smooth", block: "center"});
|
||||
|
||||
}
|
||||
|
||||
async function executeTryOut(endpointId, form) {
|
||||
const executeBtn = document.querySelector(`#btn-executetryout-${endpointId}`);
|
||||
executeBtn.textContent = executeBtn.dataset.loadingText;
|
||||
executeBtn.disabled = true;
|
||||
executeBtn.scrollIntoView({behavior: "smooth", block: "center"});
|
||||
|
||||
let body;
|
||||
let setter;
|
||||
if (form.dataset.hasfiles === "1") {
|
||||
body = new FormData();
|
||||
setter = (name, value) => body.append(name, value);
|
||||
} else if (form.dataset.isarraybody === "1") {
|
||||
body = [];
|
||||
setter = (name, value) => _.set(body, name, value);
|
||||
} else {
|
||||
body = {};
|
||||
setter = (name, value) => _.set(body, name, value);
|
||||
}
|
||||
const bodyParameters = form.querySelectorAll('input[data-component=body]');
|
||||
bodyParameters.forEach(el => {
|
||||
let value = el.value;
|
||||
|
||||
if (el.type === 'number' && typeof value === 'string') {
|
||||
value = parseFloat(value);
|
||||
}
|
||||
|
||||
if (el.type === 'file' && el.files[0]) {
|
||||
setter(el.name, el.files[0]);
|
||||
return;
|
||||
}
|
||||
|
||||
if (el.type !== 'radio') {
|
||||
if (value === "" && el.required === false) {
|
||||
// Don't include empty optional values in the request
|
||||
return;
|
||||
}
|
||||
setter(el.name, value);
|
||||
return;
|
||||
}
|
||||
|
||||
if (el.checked) {
|
||||
value = (value === 'false') ? false : true;
|
||||
setter(el.name, value);
|
||||
}
|
||||
});
|
||||
|
||||
const query = {};
|
||||
const queryParameters = form.querySelectorAll('input[data-component=query]');
|
||||
queryParameters.forEach(el => {
|
||||
if (el.type !== 'radio' || (el.type === 'radio' && el.checked)) {
|
||||
if (el.value === '') {
|
||||
// Don't include empty values in the request
|
||||
return;
|
||||
}
|
||||
|
||||
_.set(query, el.name, el.value);
|
||||
}
|
||||
});
|
||||
|
||||
let path = form.dataset.path;
|
||||
const urlParameters = form.querySelectorAll('input[data-component=url]');
|
||||
urlParameters.forEach(el => (path = path.replace(new RegExp(`\\{${el.name}\\??}`), el.value)));
|
||||
|
||||
const headers = Object.fromEntries(Array.from(form.querySelectorAll('input[data-component=header]'))
|
||||
.map(el => [el.name, el.value]));
|
||||
|
||||
// When using FormData, the browser sets the correct content-type + boundary
|
||||
let method = form.dataset.method;
|
||||
if (body instanceof FormData) {
|
||||
delete headers['Content-Type'];
|
||||
|
||||
// When using FormData with PUT or PATCH, use method spoofing so PHP can access the post body
|
||||
if (['PUT', 'PATCH'].includes(form.dataset.method)) {
|
||||
method = 'POST';
|
||||
setter('_method', form.dataset.method);
|
||||
}
|
||||
}
|
||||
|
||||
let preflightPromise = Promise.resolve();
|
||||
if (window.useCsrf && window.csrfUrl) {
|
||||
preflightPromise = makeAPICall('GET', window.csrfUrl).then(() => {
|
||||
headers['X-XSRF-TOKEN'] = getCookie('XSRF-TOKEN');
|
||||
});
|
||||
}
|
||||
|
||||
return preflightPromise.then(() => makeAPICall(method, path, body, query, headers, endpointId))
|
||||
.then(([responseStatus, statusText, responseContent, responseHeaders]) => {
|
||||
handleResponse(endpointId, responseContent, responseStatus, responseHeaders)
|
||||
})
|
||||
.catch(err => {
|
||||
if (err.name === "AbortError") {
|
||||
console.log("Request cancelled");
|
||||
return;
|
||||
}
|
||||
console.log("Error while making request: ", err);
|
||||
handleError(endpointId, err);
|
||||
})
|
||||
.finally(() => {
|
||||
executeBtn.disabled = false;
|
||||
executeBtn.textContent = executeBtn.dataset.initialText;
|
||||
});
|
||||
}
|
||||
@@ -5,6 +5,7 @@ return array(
|
||||
'does_not_exist' => 'The accessory [:id] does not exist.',
|
||||
'not_found' => 'That accessory was not found.',
|
||||
'assoc_users' => 'This accessory currently has :count items checked out to users. Please check in the accessories and and try again. ',
|
||||
'invalid_category_type' => 'The category is not an accessory category.',
|
||||
|
||||
'create' => array(
|
||||
'error' => 'The accessory was not created, please try again.',
|
||||
|
||||
41075
resources/views/scribe/index.blade.php
Normal file
41075
resources/views/scribe/index.blade.php
Normal file
File diff suppressed because it is too large
Load Diff
12819
storage/scribe/collection.json
Normal file
12819
storage/scribe/collection.json
Normal file
File diff suppressed because it is too large
Load Diff
6529
storage/scribe/openapi.yaml
Normal file
6529
storage/scribe/openapi.yaml
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user