From 109dbd7d7566d6fc4fa69252c33892bd6dbe7224 Mon Sep 17 00:00:00 2001
From: Michael Jerger <michael.jerger@meissa-gmbh.de>
Date: Fri, 17 Nov 2023 17:20:22 +0100
Subject: [PATCH] swager generated api

---
 .../activitypub/activitypub_client.go         |  85 ++++++++++
 .../activitypub_person_parameters.go          | 152 ++++++++++++++++++
 .../activitypub_person_responses.go           | 103 ++++++++++++
 modules/activitypub2/gitea_api_client.go      | 112 +++++++++++++
 4 files changed, 452 insertions(+)
 create mode 100644 modules/activitypub2/activitypub/activitypub_client.go
 create mode 100644 modules/activitypub2/activitypub/activitypub_person_parameters.go
 create mode 100644 modules/activitypub2/activitypub/activitypub_person_responses.go
 create mode 100644 modules/activitypub2/gitea_api_client.go

diff --git a/modules/activitypub2/activitypub/activitypub_client.go b/modules/activitypub2/activitypub/activitypub_client.go
new file mode 100644
index 0000000000..dda229c697
--- /dev/null
+++ b/modules/activitypub2/activitypub/activitypub_client.go
@@ -0,0 +1,85 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+package activitypub
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+	"fmt"
+
+	"github.com/go-openapi/runtime"
+	"github.com/go-openapi/strfmt"
+	"code.gitea.io/gitea/modules/log"
+)
+
+// New creates a new activitypub API client.
+func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService {
+	return &Client{transport: transport, formats: formats}
+}
+
+/*
+Client for activitypub API
+*/
+type Client struct {
+	transport runtime.ClientTransport
+	formats   strfmt.Registry
+}
+
+// ClientOption is the option for Client methods
+type ClientOption func(*runtime.ClientOperation)
+
+// ClientService is the interface for Client methods
+type ClientService interface {
+	ActivitypubPerson(params *ActivitypubPersonParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ActivitypubPersonOK, error)
+
+	SetTransport(transport runtime.ClientTransport)
+}
+
+/*
+ActivitypubPerson returns the person actor for a user
+*/
+func (a *Client) ActivitypubPerson(params *ActivitypubPersonParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ActivitypubPersonOK, error) {
+	// TODO: Validate the params before sending
+	if params == nil {
+		params = NewActivitypubPersonParams()
+	}
+	op := &runtime.ClientOperation{
+		ID:                 "activitypubPerson",
+		Method:             "GET",
+		PathPattern:        "/activitypub/user-id/{user-id}",
+		ProducesMediaTypes: []string{"application/json"},
+		ConsumesMediaTypes: []string{"application/json", "text/plain"},
+		Schemes:            []string{"http", "https"},
+		Params:             params,
+		Reader:             &ActivitypubPersonReader{formats: a.formats},
+		AuthInfo:           authInfo,
+		Context:            params.Context,
+		Client:             params.HTTPClient,
+	}
+	for _, opt := range opts {
+		opt(op)
+	}
+
+	result, err := a.transport.Submit(op)
+
+	if err != nil {
+		return nil, err
+	}
+	success, ok := result.(*ActivitypubPersonOK)
+	log.Info("result %v",result)
+	log.Info("success %v",success)
+	log.Info("error %v",err)
+	if ok {
+		return success, nil
+	}
+	// unexpected success response
+	// safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+	msg := fmt.Sprintf("unexpected success response for activitypubPerson: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+	panic(msg)
+}
+
+// SetTransport changes the transport on the client
+func (a *Client) SetTransport(transport runtime.ClientTransport) {
+	a.transport = transport
+}
diff --git a/modules/activitypub2/activitypub/activitypub_person_parameters.go b/modules/activitypub2/activitypub/activitypub_person_parameters.go
new file mode 100644
index 0000000000..d3eaae5815
--- /dev/null
+++ b/modules/activitypub2/activitypub/activitypub_person_parameters.go
@@ -0,0 +1,152 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+package activitypub
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+	"context"
+	"net/http"
+	"time"
+
+	"github.com/go-openapi/errors"
+	"github.com/go-openapi/runtime"
+	cr "github.com/go-openapi/runtime/client"
+	"github.com/go-openapi/strfmt"
+	"github.com/go-openapi/swag"
+)
+
+// NewActivitypubPersonParams creates a new ActivitypubPersonParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewActivitypubPersonParams() *ActivitypubPersonParams {
+	return &ActivitypubPersonParams{
+		timeout: cr.DefaultTimeout,
+	}
+}
+
+// NewActivitypubPersonParamsWithTimeout creates a new ActivitypubPersonParams object
+// with the ability to set a timeout on a request.
+func NewActivitypubPersonParamsWithTimeout(timeout time.Duration) *ActivitypubPersonParams {
+	return &ActivitypubPersonParams{
+		timeout: timeout,
+	}
+}
+
+// NewActivitypubPersonParamsWithContext creates a new ActivitypubPersonParams object
+// with the ability to set a context for a request.
+func NewActivitypubPersonParamsWithContext(ctx context.Context) *ActivitypubPersonParams {
+	return &ActivitypubPersonParams{
+		Context: ctx,
+	}
+}
+
+// NewActivitypubPersonParamsWithHTTPClient creates a new ActivitypubPersonParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewActivitypubPersonParamsWithHTTPClient(client *http.Client) *ActivitypubPersonParams {
+	return &ActivitypubPersonParams{
+		HTTPClient: client,
+	}
+}
+
+/*
+ActivitypubPersonParams contains all the parameters to send to the API endpoint
+
+	for the activitypub person operation.
+
+	Typically these are written to a http.Request.
+*/
+type ActivitypubPersonParams struct {
+
+	/* UserID.
+
+	   user ID of the user
+	*/
+	UserID int64
+
+	timeout    time.Duration
+	Context    context.Context
+	HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the activitypub person params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *ActivitypubPersonParams) WithDefaults() *ActivitypubPersonParams {
+	o.SetDefaults()
+	return o
+}
+
+// SetDefaults hydrates default values in the activitypub person params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *ActivitypubPersonParams) SetDefaults() {
+	// no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the activitypub person params
+func (o *ActivitypubPersonParams) WithTimeout(timeout time.Duration) *ActivitypubPersonParams {
+	o.SetTimeout(timeout)
+	return o
+}
+
+// SetTimeout adds the timeout to the activitypub person params
+func (o *ActivitypubPersonParams) SetTimeout(timeout time.Duration) {
+	o.timeout = timeout
+}
+
+// WithContext adds the context to the activitypub person params
+func (o *ActivitypubPersonParams) WithContext(ctx context.Context) *ActivitypubPersonParams {
+	o.SetContext(ctx)
+	return o
+}
+
+// SetContext adds the context to the activitypub person params
+func (o *ActivitypubPersonParams) SetContext(ctx context.Context) {
+	o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the activitypub person params
+func (o *ActivitypubPersonParams) WithHTTPClient(client *http.Client) *ActivitypubPersonParams {
+	o.SetHTTPClient(client)
+	return o
+}
+
+// SetHTTPClient adds the HTTPClient to the activitypub person params
+func (o *ActivitypubPersonParams) SetHTTPClient(client *http.Client) {
+	o.HTTPClient = client
+}
+
+// WithUserID adds the userID to the activitypub person params
+func (o *ActivitypubPersonParams) WithUserID(userID int64) *ActivitypubPersonParams {
+	o.SetUserID(userID)
+	return o
+}
+
+// SetUserID adds the userId to the activitypub person params
+func (o *ActivitypubPersonParams) SetUserID(userID int64) {
+	o.UserID = userID
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *ActivitypubPersonParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+	if err := r.SetTimeout(o.timeout); err != nil {
+		return err
+	}
+	var res []error
+
+	// path param user-id
+	if err := r.SetPathParam("user-id", swag.FormatInt64(o.UserID)); err != nil {
+		return err
+	}
+
+	if len(res) > 0 {
+		return errors.CompositeValidationError(res...)
+	}
+	return nil
+}
diff --git a/modules/activitypub2/activitypub/activitypub_person_responses.go b/modules/activitypub2/activitypub/activitypub_person_responses.go
new file mode 100644
index 0000000000..f5533cda68
--- /dev/null
+++ b/modules/activitypub2/activitypub/activitypub_person_responses.go
@@ -0,0 +1,103 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+package activitypub
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+	"fmt"
+	"io"
+
+	"github.com/go-openapi/runtime"
+	"github.com/go-openapi/strfmt"
+
+	models "github.com/go-ap/activitypub"
+)
+
+// ActivitypubPersonReader is a Reader for the ActivitypubPerson structure.
+type ActivitypubPersonReader struct {
+	formats strfmt.Registry
+}
+
+// ReadResponse reads a server response into the received o.
+func (o *ActivitypubPersonReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+	switch response.Code() {
+	case 200:
+		result := NewActivitypubPersonOK()
+		if err := result.readResponse(response, consumer, o.formats); err != nil {
+			return nil, err
+		}
+		return result, nil
+	default:
+		return nil, runtime.NewAPIError("[GET /activitypub/user-id/{user-id}] activitypubPerson", response, response.Code())
+	}
+}
+
+// NewActivitypubPersonOK creates a ActivitypubPersonOK with default headers values
+func NewActivitypubPersonOK() *ActivitypubPersonOK {
+	return &ActivitypubPersonOK{}
+}
+
+/*
+ActivitypubPersonOK describes a response with status code 200, with default header values.
+
+ActivityPub
+*/
+type ActivitypubPersonOK struct {
+	Payload *models.Person
+}
+
+// IsSuccess returns true when this activitypub person o k response has a 2xx status code
+func (o *ActivitypubPersonOK) IsSuccess() bool {
+	return true
+}
+
+// IsRedirect returns true when this activitypub person o k response has a 3xx status code
+func (o *ActivitypubPersonOK) IsRedirect() bool {
+	return false
+}
+
+// IsClientError returns true when this activitypub person o k response has a 4xx status code
+func (o *ActivitypubPersonOK) IsClientError() bool {
+	return false
+}
+
+// IsServerError returns true when this activitypub person o k response has a 5xx status code
+func (o *ActivitypubPersonOK) IsServerError() bool {
+	return false
+}
+
+// IsCode returns true when this activitypub person o k response a status code equal to that given
+func (o *ActivitypubPersonOK) IsCode(code int) bool {
+	return code == 200
+}
+
+// Code gets the status code for the activitypub person o k response
+func (o *ActivitypubPersonOK) Code() int {
+	return 200
+}
+
+func (o *ActivitypubPersonOK) Error() string {
+	return fmt.Sprintf("[GET /activitypub/user-id/{user-id}][%d] activitypubPersonOK  %+v", 200, o.Payload)
+}
+
+func (o *ActivitypubPersonOK) String() string {
+	return fmt.Sprintf("[GET /activitypub/user-id/{user-id}][%d] activitypubPersonOK  %+v", 200, o.Payload)
+}
+
+func (o *ActivitypubPersonOK) GetPayload() *models.Person {
+	return o.Payload
+}
+
+func (o *ActivitypubPersonOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+
+	o.Payload = new(models.Person)
+
+	// response payload
+	if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
+		return err
+	}
+
+	return nil
+}
diff --git a/modules/activitypub2/gitea_api_client.go b/modules/activitypub2/gitea_api_client.go
new file mode 100644
index 0000000000..cc115aba8b
--- /dev/null
+++ b/modules/activitypub2/gitea_api_client.go
@@ -0,0 +1,112 @@
+// Code generated by go-swagger; DO NOT EDIT.
+// TODO: Thimk about this way to access ap api ...
+package activitypub2
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+	"github.com/go-openapi/runtime"
+	httptransport "github.com/go-openapi/runtime/client"
+	"github.com/go-openapi/strfmt"
+
+	"code.gitea.io/gitea/modules/activitypub2/activitypub"
+)
+
+// Default gitea API HTTP client.
+var Default = NewHTTPClient(nil)
+
+const (
+	// DefaultHost is the default Host
+	// found in Meta (info) section of spec file
+	DefaultHost string = "localhost"
+	// DefaultBasePath is the default BasePath
+	// found in Meta (info) section of spec file
+	DefaultBasePath string = "/api/v1"
+)
+
+// DefaultSchemes are the default schemes found in Meta (info) section of spec file
+var DefaultSchemes = []string{"http", "https"}
+
+// NewHTTPClient creates a new gitea API HTTP client.
+func NewHTTPClient(formats strfmt.Registry) *GiteaAPI {
+	return NewHTTPClientWithConfig(formats, nil)
+}
+
+// NewHTTPClientWithConfig creates a new gitea API HTTP client,
+// using a customizable transport config.
+func NewHTTPClientWithConfig(formats strfmt.Registry, cfg *TransportConfig) *GiteaAPI {
+	// ensure nullable parameters have default
+	if cfg == nil {
+		cfg = DefaultTransportConfig()
+	}
+
+	// create transport and client
+	transport := httptransport.New(cfg.Host, cfg.BasePath, cfg.Schemes)
+	return New(transport, formats)
+}
+
+// New creates a new gitea API client
+func New(transport runtime.ClientTransport, formats strfmt.Registry) *GiteaAPI {
+	// ensure nullable parameters have default
+	if formats == nil {
+		formats = strfmt.Default
+	}
+
+	cli := new(GiteaAPI)
+	cli.Transport = transport
+	cli.Activitypub = activitypub.New(transport, formats)
+	return cli
+}
+
+// DefaultTransportConfig creates a TransportConfig with the
+// default settings taken from the meta section of the spec file.
+func DefaultTransportConfig() *TransportConfig {
+	return &TransportConfig{
+		Host:     DefaultHost,
+		BasePath: DefaultBasePath,
+		Schemes:  DefaultSchemes,
+	}
+}
+
+// TransportConfig contains the transport related info,
+// found in the meta section of the spec file.
+type TransportConfig struct {
+	Host     string
+	BasePath string
+	Schemes  []string
+}
+
+// WithHost overrides the default host,
+// provided by the meta section of the spec file.
+func (cfg *TransportConfig) WithHost(host string) *TransportConfig {
+	cfg.Host = host
+	return cfg
+}
+
+// WithBasePath overrides the default basePath,
+// provided by the meta section of the spec file.
+func (cfg *TransportConfig) WithBasePath(basePath string) *TransportConfig {
+	cfg.BasePath = basePath
+	return cfg
+}
+
+// WithSchemes overrides the default schemes,
+// provided by the meta section of the spec file.
+func (cfg *TransportConfig) WithSchemes(schemes []string) *TransportConfig {
+	cfg.Schemes = schemes
+	return cfg
+}
+
+// GiteaAPI is a client for gitea API
+type GiteaAPI struct {
+	Activitypub activitypub.ClientService
+
+	Transport runtime.ClientTransport
+}
+
+// SetTransport changes the transport on the client and all its subresources
+func (c *GiteaAPI) SetTransport(transport runtime.ClientTransport) {
+	c.Transport = transport
+	c.Activitypub.SetTransport(transport)
+}