Complete name-first 1C adapter saved-state support

This commit is contained in:
2026-07-26 16:39:53 +03:00
parent b8c62fa8fa
commit aed134d817
44 changed files with 15436 additions and 697 deletions
+266 -6
View File
@@ -16,6 +16,164 @@ paths:
responses:
"200":
description: Connector health.
/methods:
get:
operationId: listAdapterMethods
summary: Runtime adapter method registry
description: Returns every supported RPC method, transport, description, selector capabilities, and input schema known by the running adapter.
parameters:
- name: method
in: query
required: false
schema:
type: string
description: Optional exact method name.
responses:
"200":
description: Runtime registry generated from the adapter method definitions.
content:
application/json:
schema:
$ref: "#/components/schemas/AdapterMethodsResponse"
/rpc:
post:
operationId: callAdapterMethod
summary: Universal adapter RPC
description: Calls any method advertised by GET /methods. The selected method's input_schema from /methods defines payload.
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/AdapterRpcRequest"
responses:
"200":
description: Method-specific adapter response. Application errors are returned as structured JSON statuses.
content:
application/json:
schema:
type: object
additionalProperties: true
/extensions:
get:
operationId: listExtensions
parameters:
- $ref: "#/components/parameters/BaseId"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/metadata/object/templates:
post:
operationId: listObjectTemplates
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/metadata/object/template-details:
post:
operationId: getObjectTemplateDetails
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/metadata/object/form-details:
post:
operationId: getObjectFormDetails
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/metadata/object/commands:
post:
operationId: listObjectCommands
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/metadata/object/special-details:
post:
operationId: getObjectSpecialDetails
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/metadata/module-owner-cache/prune:
post:
operationId: pruneModuleOwnerCache
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/code/search:
post:
operationId: searchCode
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/code/read:
post:
operationId: readCode
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/templates/bindings:
post:
operationId: getTemplateBindings
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/diagnostics/call-chain:
post:
operationId: diagnoseCallChain
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/access/users/search:
post:
operationId: searchAccessUsers
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/access/object/roles:
post:
operationId: getAccessObjectRoles
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/access/object/subjects:
post:
operationId: getAccessObjectSubjects
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/access/rls/discover:
post:
operationId: discoverAccessRls
requestBody:
$ref: "#/components/requestBodies/AdapterMethodPayload"
responses:
"200":
$ref: "#/components/responses/AdapterMethodResponse"
/metadata/kinds:
get:
operationId: getMetadataKinds
@@ -1734,7 +1892,11 @@ paths:
type: string
enum: [group, user_set, object, set, all]
default: all
description: BSP access key area to page through.
description: BSP access key area to page through; this is not a 1C metadata kind.
area:
type: string
enum: [group, user_set, object, set, all]
description: Alias of kind.
group:
type: string
description: Filter group access keys by normalized group id.
@@ -1744,9 +1906,21 @@ paths:
user_set:
type: string
description: Filter user-set access keys by normalized user set id.
object_ref:
type: string
description: Public 1C metadata object ref, for example Справочники.Номенклатура.
record_ref:
type: string
description: Concrete 1C application-data record reference.
object:
type: string
description: Filter object access keys by normalized object id.
description: Legacy raw BSP object filter; prefer object_ref plus record_ref.
object_id:
type: string
description: Legacy raw BSP record id; prefer record_ref.
object_sql_number:
type: integer
description: Legacy physical DBNames number; prefer object_ref.
access_set:
type: string
description: Filter access-set keys by normalized access set id.
@@ -1795,9 +1969,21 @@ paths:
properties:
base_id:
type: string
object_ref:
type: string
description: Public 1C metadata object ref, for example Справочники.Номенклатура.
record_ref:
type: string
description: Concrete 1C application-data record reference.
object:
type: string
description: Optional normalized object ref filter.
description: Legacy raw BSP object filter; prefer object_ref plus record_ref.
object_id:
type: string
description: Legacy raw BSP record id; prefer record_ref.
object_sql_number:
type: integer
description: Legacy physical DBNames number; prefer object_ref.
access_key:
type: string
description: Optional access key filter.
@@ -1836,15 +2022,21 @@ paths:
properties:
base_id:
type: string
object_ref:
type: string
description: Public 1C metadata object ref, for example Справочники.Номенклатура.
record_ref:
type: string
description: Concrete 1C application-data record reference.
object:
type: string
description: Normalized object ref from access_object_keys.object.
description: Legacy raw BSP object filter; prefer object_ref plus record_ref.
object_id:
type: string
description: Data record id from access_object_keys.object_id.
description: Legacy raw BSP record id; prefer record_ref.
object_sql_number:
type: integer
description: Optional SQL metadata number to narrow object key rows.
description: Legacy physical DBNames number; prefer object_ref.
access_key:
type: string
description: Access key id to explain directly.
@@ -2020,6 +2212,27 @@ paths:
"200":
description: Risk findings for role -> profile -> access group -> user audit chains.
components:
requestBodies:
AdapterMethodPayload:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
examples:
selectorByName:
value:
base_id: <base_id>
ref: Документы.<ИмяОбъекта>
responses:
AdapterMethodResponse:
description: Method-specific adapter response with a structured status.
content:
application/json:
schema:
type: object
additionalProperties: true
parameters:
BaseId:
name: base_id
@@ -2033,6 +2246,53 @@ components:
type: http
scheme: bearer
schemas:
AdapterRpcRequest:
type: object
required: [method]
additionalProperties: false
properties:
method:
type: string
minLength: 1
description: Exact method name advertised by GET /methods.
payload:
type: object
default: {}
additionalProperties: true
description: Method-specific input. Use the matching input_schema returned by GET /methods.
AdapterMethod:
type: object
required: [name, transport, description]
additionalProperties: true
properties:
name:
type: string
transport:
type: string
description:
type: string
selector_capabilities:
type: object
additionalProperties: true
input_schema:
type: object
additionalProperties: true
AdapterMethodsResponse:
type: object
required: [schema, contract_version, methods, count]
properties:
schema:
type: string
const: onec_adapter_methods.v1
contract_version:
type: string
methods:
type: array
items:
$ref: "#/components/schemas/AdapterMethod"
count:
type: integer
minimum: 0
MetadataKind:
type: string
enum: