remove secondary codegen

This commit is contained in:
Dax Raad
2025-05-29 11:32:55 -04:00
parent 42c1cd6a85
commit 6f604bd0f9
14 changed files with 512 additions and 246 deletions

View File

@@ -24,6 +24,46 @@ const (
User MessageInfoRole = "user"
)
// Event defines model for Event.
type Event struct {
union json.RawMessage
}
// EventLspClientDiagnostics defines model for Event.lsp.client.diagnostics.
type EventLspClientDiagnostics struct {
Properties struct {
Path string `json:"path"`
ServerID string `json:"serverID"`
} `json:"properties"`
Type string `json:"type"`
}
// EventMessageUpdated defines model for Event.message.updated.
type EventMessageUpdated struct {
Properties struct {
MessageID string `json:"messageID"`
SessionID string `json:"sessionID"`
} `json:"properties"`
Type string `json:"type"`
}
// EventSessionUpdated defines model for Event.session.updated.
type EventSessionUpdated struct {
Properties struct {
SessionID string `json:"sessionID"`
} `json:"properties"`
Type string `json:"type"`
}
// EventStorageWrite defines model for Event.storage.write.
type EventStorageWrite struct {
Properties struct {
Content *interface{} `json:"content,omitempty"`
Key string `json:"key"`
} `json:"properties"`
Type string `json:"type"`
}
// MessageInfo defines model for Message.Info.
type MessageInfo struct {
Id string `json:"id"`
@@ -191,6 +231,155 @@ type PostSessionMessagesJSONRequestBody PostSessionMessagesJSONBody
// PostSessionShareJSONRequestBody defines body for PostSessionShare for application/json ContentType.
type PostSessionShareJSONRequestBody PostSessionShareJSONBody
// AsEventStorageWrite returns the union data inside the Event as a EventStorageWrite
func (t Event) AsEventStorageWrite() (EventStorageWrite, error) {
var body EventStorageWrite
err := json.Unmarshal(t.union, &body)
return body, err
}
// FromEventStorageWrite overwrites any union data inside the Event as the provided EventStorageWrite
func (t *Event) FromEventStorageWrite(v EventStorageWrite) error {
v.Type = "storage.write"
b, err := json.Marshal(v)
t.union = b
return err
}
// MergeEventStorageWrite performs a merge with any union data inside the Event, using the provided EventStorageWrite
func (t *Event) MergeEventStorageWrite(v EventStorageWrite) error {
v.Type = "storage.write"
b, err := json.Marshal(v)
if err != nil {
return err
}
merged, err := runtime.JSONMerge(t.union, b)
t.union = merged
return err
}
// AsEventLspClientDiagnostics returns the union data inside the Event as a EventLspClientDiagnostics
func (t Event) AsEventLspClientDiagnostics() (EventLspClientDiagnostics, error) {
var body EventLspClientDiagnostics
err := json.Unmarshal(t.union, &body)
return body, err
}
// FromEventLspClientDiagnostics overwrites any union data inside the Event as the provided EventLspClientDiagnostics
func (t *Event) FromEventLspClientDiagnostics(v EventLspClientDiagnostics) error {
v.Type = "lsp.client.diagnostics"
b, err := json.Marshal(v)
t.union = b
return err
}
// MergeEventLspClientDiagnostics performs a merge with any union data inside the Event, using the provided EventLspClientDiagnostics
func (t *Event) MergeEventLspClientDiagnostics(v EventLspClientDiagnostics) error {
v.Type = "lsp.client.diagnostics"
b, err := json.Marshal(v)
if err != nil {
return err
}
merged, err := runtime.JSONMerge(t.union, b)
t.union = merged
return err
}
// AsEventMessageUpdated returns the union data inside the Event as a EventMessageUpdated
func (t Event) AsEventMessageUpdated() (EventMessageUpdated, error) {
var body EventMessageUpdated
err := json.Unmarshal(t.union, &body)
return body, err
}
// FromEventMessageUpdated overwrites any union data inside the Event as the provided EventMessageUpdated
func (t *Event) FromEventMessageUpdated(v EventMessageUpdated) error {
v.Type = "message.updated"
b, err := json.Marshal(v)
t.union = b
return err
}
// MergeEventMessageUpdated performs a merge with any union data inside the Event, using the provided EventMessageUpdated
func (t *Event) MergeEventMessageUpdated(v EventMessageUpdated) error {
v.Type = "message.updated"
b, err := json.Marshal(v)
if err != nil {
return err
}
merged, err := runtime.JSONMerge(t.union, b)
t.union = merged
return err
}
// AsEventSessionUpdated returns the union data inside the Event as a EventSessionUpdated
func (t Event) AsEventSessionUpdated() (EventSessionUpdated, error) {
var body EventSessionUpdated
err := json.Unmarshal(t.union, &body)
return body, err
}
// FromEventSessionUpdated overwrites any union data inside the Event as the provided EventSessionUpdated
func (t *Event) FromEventSessionUpdated(v EventSessionUpdated) error {
v.Type = "session.updated"
b, err := json.Marshal(v)
t.union = b
return err
}
// MergeEventSessionUpdated performs a merge with any union data inside the Event, using the provided EventSessionUpdated
func (t *Event) MergeEventSessionUpdated(v EventSessionUpdated) error {
v.Type = "session.updated"
b, err := json.Marshal(v)
if err != nil {
return err
}
merged, err := runtime.JSONMerge(t.union, b)
t.union = merged
return err
}
func (t Event) Discriminator() (string, error) {
var discriminator struct {
Discriminator string `json:"type"`
}
err := json.Unmarshal(t.union, &discriminator)
return discriminator.Discriminator, err
}
func (t Event) ValueByDiscriminator() (interface{}, error) {
discriminator, err := t.Discriminator()
if err != nil {
return nil, err
}
switch discriminator {
case "lsp.client.diagnostics":
return t.AsEventLspClientDiagnostics()
case "message.updated":
return t.AsEventMessageUpdated()
case "session.updated":
return t.AsEventSessionUpdated()
case "storage.write":
return t.AsEventStorageWrite()
default:
return nil, errors.New("unknown discriminator value: " + discriminator)
}
}
func (t Event) MarshalJSON() ([]byte, error) {
b, err := t.union.MarshalJSON()
return b, err
}
func (t *Event) UnmarshalJSON(b []byte) error {
err := t.union.UnmarshalJSON(b)
return err
}
// AsMessagePartText returns the union data inside the MessagePart as a MessagePartText
func (t MessagePart) AsMessagePartText() (MessagePartText, error) {
var body MessagePartText
@@ -592,6 +781,9 @@ func WithRequestEditorFn(fn RequestEditorFn) ClientOption {
// The interface specification for the client above.
type ClientInterface interface {
// GetEvent request
GetEvent(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
// PostProviderList request
PostProviderList(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
@@ -622,6 +814,18 @@ type ClientInterface interface {
PostSessionShare(ctx context.Context, body PostSessionShareJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
}
func (c *Client) GetEvent(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewGetEventRequest(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) PostProviderList(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
req, err := NewPostProviderListRequest(c.Server)
if err != nil {
@@ -754,6 +958,33 @@ func (c *Client) PostSessionShare(ctx context.Context, body PostSessionShareJSON
return c.Client.Do(req)
}
// NewGetEventRequest generates requests for GetEvent
func NewGetEventRequest(server string) (*http.Request, error) {
var err error
serverURL, err := url.Parse(server)
if err != nil {
return nil, err
}
operationPath := fmt.Sprintf("/event")
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
}
// NewPostProviderListRequest generates requests for PostProviderList
func NewPostProviderListRequest(server string) (*http.Request, error) {
var err error
@@ -1038,6 +1269,9 @@ func WithBaseURL(baseURL string) ClientOption {
// ClientWithResponsesInterface is the interface specification for the client with responses above.
type ClientWithResponsesInterface interface {
// GetEventWithResponse request
GetEventWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetEventResponse, error)
// PostProviderListWithResponse request
PostProviderListWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostProviderListResponse, error)
@@ -1068,6 +1302,28 @@ type ClientWithResponsesInterface interface {
PostSessionShareWithResponse(ctx context.Context, body PostSessionShareJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionShareResponse, error)
}
type GetEventResponse struct {
Body []byte
HTTPResponse *http.Response
JSON200 *Event
}
// Status returns HTTPResponse.Status
func (r GetEventResponse) Status() string {
if r.HTTPResponse != nil {
return r.HTTPResponse.Status
}
return http.StatusText(0)
}
// StatusCode returns HTTPResponse.StatusCode
func (r GetEventResponse) StatusCode() int {
if r.HTTPResponse != nil {
return r.HTTPResponse.StatusCode
}
return 0
}
type PostProviderListResponse struct {
Body []byte
HTTPResponse *http.Response
@@ -1226,6 +1482,15 @@ func (r PostSessionShareResponse) StatusCode() int {
return 0
}
// GetEventWithResponse request returning *GetEventResponse
func (c *ClientWithResponses) GetEventWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetEventResponse, error) {
rsp, err := c.GetEvent(ctx, reqEditors...)
if err != nil {
return nil, err
}
return ParseGetEventResponse(rsp)
}
// PostProviderListWithResponse request returning *PostProviderListResponse
func (c *ClientWithResponses) PostProviderListWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostProviderListResponse, error) {
rsp, err := c.PostProviderList(ctx, reqEditors...)
@@ -1321,6 +1586,32 @@ func (c *ClientWithResponses) PostSessionShareWithResponse(ctx context.Context,
return ParsePostSessionShareResponse(rsp)
}
// ParseGetEventResponse parses an HTTP response from a GetEventWithResponse call
func ParseGetEventResponse(rsp *http.Response) (*GetEventResponse, error) {
bodyBytes, err := io.ReadAll(rsp.Body)
defer func() { _ = rsp.Body.Close() }()
if err != nil {
return nil, err
}
response := &GetEventResponse{
Body: bodyBytes,
HTTPResponse: rsp,
}
switch {
case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
var dest Event
if err := json.Unmarshal(bodyBytes, &dest); err != nil {
return nil, err
}
response.JSON200 = &dest
}
return response, nil
}
// ParsePostProviderListResponse parses an HTTP response from a PostProviderListWithResponse call
func ParsePostProviderListResponse(rsp *http.Response) (*PostProviderListResponse, error) {
bodyBytes, err := io.ReadAll(rsp.Body)