Skip to content

Commit 19904d0

Browse files
committed
chore: create new endpoint to fetch signature settings
Signed-off-by: Vitor Mattos <vitor@php.rio>
1 parent 8ba9a63 commit 19904d0

5 files changed

Lines changed: 304 additions & 0 deletions

File tree

lib/Controller/AdminController.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,22 @@ public function signatureTextGet(string $template = '', string $context = ''): D
462462
}
463463
}
464464

465+
/**
466+
* Get signature settings
467+
*
468+
* @return DataResponse<Http::STATUS_OK, array{default_signature_text_template: string, signature_available_variables: array<string, string>}, array{}>
469+
*
470+
* 200: OK
471+
*/
472+
#[ApiRoute(verb: 'GET', url: '/api/{apiVersion}/admin/signature-settings', requirements: ['apiVersion' => '(v1)'])]
473+
public function getSignatureSettings(): DataResponse {
474+
$response = [
475+
'signature_available_variables' => $this->signatureTextService->getAvailableVariables(),
476+
'default_signature_text_template' => $this->signatureTextService->getDefaultTemplate(),
477+
];
478+
return new DataResponse($response);
479+
}
480+
465481
/**
466482
* Convert signer name as image
467483
*

openapi-administration.json

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1484,6 +1484,95 @@
14841484
}
14851485
}
14861486
},
1487+
"/ocs/v2.php/apps/libresign/api/{apiVersion}/admin/signature-settings": {
1488+
"get": {
1489+
"operationId": "admin-get-signature-settings",
1490+
"summary": "Get signature settings",
1491+
"description": "This endpoint requires admin access",
1492+
"tags": [
1493+
"admin"
1494+
],
1495+
"security": [
1496+
{
1497+
"bearer_auth": []
1498+
},
1499+
{
1500+
"basic_auth": []
1501+
}
1502+
],
1503+
"parameters": [
1504+
{
1505+
"name": "apiVersion",
1506+
"in": "path",
1507+
"required": true,
1508+
"schema": {
1509+
"type": "string",
1510+
"enum": [
1511+
"v1"
1512+
],
1513+
"default": "v1"
1514+
}
1515+
},
1516+
{
1517+
"name": "OCS-APIRequest",
1518+
"in": "header",
1519+
"description": "Required to be true for the API request to pass",
1520+
"required": true,
1521+
"schema": {
1522+
"type": "boolean",
1523+
"default": true
1524+
}
1525+
}
1526+
],
1527+
"responses": {
1528+
"200": {
1529+
"description": "OK",
1530+
"content": {
1531+
"application/json": {
1532+
"schema": {
1533+
"type": "object",
1534+
"required": [
1535+
"ocs"
1536+
],
1537+
"properties": {
1538+
"ocs": {
1539+
"type": "object",
1540+
"required": [
1541+
"meta",
1542+
"data"
1543+
],
1544+
"properties": {
1545+
"meta": {
1546+
"$ref": "#/components/schemas/OCSMeta"
1547+
},
1548+
"data": {
1549+
"type": "object",
1550+
"required": [
1551+
"default_signature_text_template",
1552+
"signature_available_variables"
1553+
],
1554+
"properties": {
1555+
"default_signature_text_template": {
1556+
"type": "string"
1557+
},
1558+
"signature_available_variables": {
1559+
"type": "object",
1560+
"additionalProperties": {
1561+
"type": "string"
1562+
}
1563+
}
1564+
}
1565+
}
1566+
}
1567+
}
1568+
}
1569+
}
1570+
}
1571+
}
1572+
}
1573+
}
1574+
}
1575+
},
14871576
"/ocs/v2.php/apps/libresign/api/{apiVersion}/admin/signer-name": {
14881577
"get": {
14891578
"operationId": "admin-signer-name",

openapi-full.json

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9220,6 +9220,95 @@
92209220
}
92219221
}
92229222
},
9223+
"/ocs/v2.php/apps/libresign/api/{apiVersion}/admin/signature-settings": {
9224+
"get": {
9225+
"operationId": "admin-get-signature-settings",
9226+
"summary": "Get signature settings",
9227+
"description": "This endpoint requires admin access",
9228+
"tags": [
9229+
"admin"
9230+
],
9231+
"security": [
9232+
{
9233+
"bearer_auth": []
9234+
},
9235+
{
9236+
"basic_auth": []
9237+
}
9238+
],
9239+
"parameters": [
9240+
{
9241+
"name": "apiVersion",
9242+
"in": "path",
9243+
"required": true,
9244+
"schema": {
9245+
"type": "string",
9246+
"enum": [
9247+
"v1"
9248+
],
9249+
"default": "v1"
9250+
}
9251+
},
9252+
{
9253+
"name": "OCS-APIRequest",
9254+
"in": "header",
9255+
"description": "Required to be true for the API request to pass",
9256+
"required": true,
9257+
"schema": {
9258+
"type": "boolean",
9259+
"default": true
9260+
}
9261+
}
9262+
],
9263+
"responses": {
9264+
"200": {
9265+
"description": "OK",
9266+
"content": {
9267+
"application/json": {
9268+
"schema": {
9269+
"type": "object",
9270+
"required": [
9271+
"ocs"
9272+
],
9273+
"properties": {
9274+
"ocs": {
9275+
"type": "object",
9276+
"required": [
9277+
"meta",
9278+
"data"
9279+
],
9280+
"properties": {
9281+
"meta": {
9282+
"$ref": "#/components/schemas/OCSMeta"
9283+
},
9284+
"data": {
9285+
"type": "object",
9286+
"required": [
9287+
"default_signature_text_template",
9288+
"signature_available_variables"
9289+
],
9290+
"properties": {
9291+
"default_signature_text_template": {
9292+
"type": "string"
9293+
},
9294+
"signature_available_variables": {
9295+
"type": "object",
9296+
"additionalProperties": {
9297+
"type": "string"
9298+
}
9299+
}
9300+
}
9301+
}
9302+
}
9303+
}
9304+
}
9305+
}
9306+
}
9307+
}
9308+
}
9309+
}
9310+
}
9311+
},
92239312
"/ocs/v2.php/apps/libresign/api/{apiVersion}/admin/signer-name": {
92249313
"get": {
92259314
"operationId": "admin-signer-name",

src/types/openapi/openapi-administration.ts

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,26 @@ export type paths = {
163163
patch?: never;
164164
trace?: never;
165165
};
166+
"/ocs/v2.php/apps/libresign/api/{apiVersion}/admin/signature-settings": {
167+
parameters: {
168+
query?: never;
169+
header?: never;
170+
path?: never;
171+
cookie?: never;
172+
};
173+
/**
174+
* Get signature settings
175+
* @description This endpoint requires admin access
176+
*/
177+
get: operations["admin-get-signature-settings"];
178+
put?: never;
179+
post?: never;
180+
delete?: never;
181+
options?: never;
182+
head?: never;
183+
patch?: never;
184+
trace?: never;
185+
};
166186
"/ocs/v2.php/apps/libresign/api/{apiVersion}/admin/signer-name": {
167187
parameters: {
168188
query?: never;
@@ -795,6 +815,41 @@ export interface operations {
795815
};
796816
};
797817
};
818+
"admin-get-signature-settings": {
819+
parameters: {
820+
query?: never;
821+
header: {
822+
/** @description Required to be true for the API request to pass */
823+
"OCS-APIRequest": boolean;
824+
};
825+
path: {
826+
apiVersion: "v1";
827+
};
828+
cookie?: never;
829+
};
830+
requestBody?: never;
831+
responses: {
832+
/** @description OK */
833+
200: {
834+
headers: {
835+
[name: string]: unknown;
836+
};
837+
content: {
838+
"application/json": {
839+
ocs: {
840+
meta: components["schemas"]["OCSMeta"];
841+
data: {
842+
default_signature_text_template: string;
843+
signature_available_variables: {
844+
[key: string]: string;
845+
};
846+
};
847+
};
848+
};
849+
};
850+
};
851+
};
852+
};
798853
"admin-signer-name": {
799854
parameters: {
800855
query: {

src/types/openapi/openapi-full.ts

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1073,6 +1073,26 @@ export type paths = {
10731073
patch?: never;
10741074
trace?: never;
10751075
};
1076+
"/ocs/v2.php/apps/libresign/api/{apiVersion}/admin/signature-settings": {
1077+
parameters: {
1078+
query?: never;
1079+
header?: never;
1080+
path?: never;
1081+
cookie?: never;
1082+
};
1083+
/**
1084+
* Get signature settings
1085+
* @description This endpoint requires admin access
1086+
*/
1087+
get: operations["admin-get-signature-settings"];
1088+
put?: never;
1089+
post?: never;
1090+
delete?: never;
1091+
options?: never;
1092+
head?: never;
1093+
patch?: never;
1094+
trace?: never;
1095+
};
10761096
"/ocs/v2.php/apps/libresign/api/{apiVersion}/admin/signer-name": {
10771097
parameters: {
10781098
query?: never;
@@ -4793,6 +4813,41 @@ export interface operations {
47934813
};
47944814
};
47954815
};
4816+
"admin-get-signature-settings": {
4817+
parameters: {
4818+
query?: never;
4819+
header: {
4820+
/** @description Required to be true for the API request to pass */
4821+
"OCS-APIRequest": boolean;
4822+
};
4823+
path: {
4824+
apiVersion: "v1";
4825+
};
4826+
cookie?: never;
4827+
};
4828+
requestBody?: never;
4829+
responses: {
4830+
/** @description OK */
4831+
200: {
4832+
headers: {
4833+
[name: string]: unknown;
4834+
};
4835+
content: {
4836+
"application/json": {
4837+
ocs: {
4838+
meta: components["schemas"]["OCSMeta"];
4839+
data: {
4840+
default_signature_text_template: string;
4841+
signature_available_variables: {
4842+
[key: string]: string;
4843+
};
4844+
};
4845+
};
4846+
};
4847+
};
4848+
};
4849+
};
4850+
};
47964851
"admin-signer-name": {
47974852
parameters: {
47984853
query: {

0 commit comments

Comments
 (0)