Merged in feature/textExtractionsPart4 (pull request #197)

implement GET /identity

* GET /identity
This commit is contained in:
Jay Brown
2025-12-16 04:26:06 +00:00
parent ab7072ac90
commit dae7bd4cc6
19 changed files with 1811 additions and 315 deletions
+163
View File
@@ -841,6 +841,27 @@ type IdMessage struct {
Id openapi_types.UUID `json:"id"`
}
// IdentityResponse Response containing the user's roles and their permissions
type IdentityResponse struct {
// Roles List of roles assigned to the user with their permissions
Roles []IdentityRole `json:"roles"`
}
// IdentityRole A role assigned to the user with its permissions
type IdentityRole struct {
// Description Optional description of the role
Description *string `json:"description,omitempty"`
// Key The role key/identifier
Key string `json:"key"`
// Name Human-readable role name
Name string `json:"name"`
// Permissions List of permissions granted by this role
Permissions []string `json:"permissions"`
}
// LabelApplication Request to apply a workflow label to a document
type LabelApplication struct {
// AppliedBy Email of user applying the label
@@ -1397,6 +1418,9 @@ type ClientInterface interface {
// GetHomePage request
GetHomePage(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetIdentity request
GetIdentity(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// GetDocumentsByLabel request
GetDocumentsByLabel(ctx context.Context, labelName string, params *GetDocumentsByLabelParams, reqEditors ...RequestEditorFn) (*http.Response, error)
@@ -1983,6 +2007,18 @@ func (c *Client) GetHomePage(ctx context.Context, reqEditors ...RequestEditorFn)
return c.Client.Do(req)
}
func (c *Client) GetIdentity(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetIdentityRequest(c.Server)
if err != nil {
return nil, err
}
req = req.WithContext(ctx)
if err := c.applyEditors(ctx, req, reqEditors); err != nil {
return nil, err
}
return c.Client.Do(req)
}
func (c *Client) GetDocumentsByLabel(ctx context.Context, labelName string, params *GetDocumentsByLabelParams, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetDocumentsByLabelRequest(c.Server, labelName, params)
if err != nil {
@@ -3719,6 +3755,33 @@ func NewGetHomePageRequest(server string) (*http.Request, error) {
return req, nil
}
// NewGetIdentityRequest generates requests for GetIdentity
func NewGetIdentityRequest(server string) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/identity")
if operationPath[0] == '/' {
operationPath = "." + operationPath
}
queryURL, err := serverURL.Parse(operationPath)
if err != nil {
return nil, err
}
req, err := http.NewRequest("GET", queryURL.String(), nil)
if err != nil {
return nil, err
}
return req, nil
}
// NewGetDocumentsByLabelRequest generates requests for GetDocumentsByLabel
func NewGetDocumentsByLabelRequest(server string, labelName string, params *GetDocumentsByLabelParams) (*http.Request, error) {
var err error
@@ -4248,6 +4311,9 @@ type ClientWithResponsesInterface interface {
// GetHomePageWithResponse request
GetHomePageWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetHomePageResponse, error)
// GetIdentityWithResponse request
GetIdentityWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetIdentityResponse, error)
// GetDocumentsByLabelWithResponse request
GetDocumentsByLabelWithResponse(ctx context.Context, labelName string, params *GetDocumentsByLabelParams, reqEditors ...RequestEditorFn) (*GetDocumentsByLabelResponse, error)
@@ -5248,6 +5314,33 @@ func (r GetHomePageResponse) StatusCode() int {
return 0
}
type GetIdentityResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *IdentityResponse
JSON400 *InvalidRequest
JSON401 *Unauthorized
JSON429 *TooManyRequests
JSON500 *InternalError
JSON502 *ErrorMessage
}
// Status returns HTTPResponse.Status
func (r GetIdentityResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetIdentityResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type GetDocumentsByLabelResponse struct {
Body []byte
HTTPResponse *http.Response
@@ -5884,6 +5977,15 @@ func (c *ClientWithResponses) GetHomePageWithResponse(ctx context.Context, reqEd
return ParseGetHomePageResponse(rsp)
}
// GetIdentityWithResponse request returning *GetIdentityResponse
func (c *ClientWithResponses) GetIdentityWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetIdentityResponse, error) {
rsp, err := c.GetIdentity(ctx, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetIdentityResponse(rsp)
}
// GetDocumentsByLabelWithResponse request returning *GetDocumentsByLabelResponse
func (c *ClientWithResponses) GetDocumentsByLabelWithResponse(ctx context.Context, labelName string, params *GetDocumentsByLabelParams, reqEditors ...RequestEditorFn) (*GetDocumentsByLabelResponse, error) {
rsp, err := c.GetDocumentsByLabel(ctx, labelName, params, reqEditors...)
@@ -8107,6 +8209,67 @@ func ParseGetHomePageResponse(rsp *http.Response) (*GetHomePageResponse, error)
return response, nil
}
// ParseGetIdentityResponse parses an HTTP response from a GetIdentityWithResponse call
func ParseGetIdentityResponse(rsp *http.Response) (*GetIdentityResponse, error) {
bodyBytes, err := io.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetIdentityResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest IdentityResponse
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400:
var dest InvalidRequest
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON400 = &dest
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 401:
var dest Unauthorized
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON401 = &dest
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429:
var dest TooManyRequests
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON429 = &dest
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 500:
var dest InternalError
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON500 = &dest
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 502:
var dest ErrorMessage
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON502 = &dest
}
return response, nil
}
// ParseGetDocumentsByLabelResponse parses an HTTP response from a GetDocumentsByLabelWithResponse call
func ParseGetDocumentsByLabelResponse(rsp *http.Response) (*GetDocumentsByLabelResponse, error) {
bodyBytes, err := io.ReadAll(rsp.Body)