diff --git a/.release-please-manifest.json b/.release-please-manifest.json index f7014c3..a713055 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.11.0" + ".": "0.12.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 20f0c84..93de6b1 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 21 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cas-parser/cas-parser-902b4d5af31c8c6bab33a08d9cea10f3444be221abf735466eb9fd58a14e0a87.yml -openapi_spec_hash: e333f46097f3a3a452cb4d6564a3db67 +configured_endpoints: 20 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cas-parser/cas-parser-26d0931f3488af784c16303683cbf24225c727615fd32ee071144974e7c59670.yml +openapi_spec_hash: 242a5f4d982645a25e0d66ef088940a5 config_hash: 5509bb7a961ae2e79114b24c381606d4 diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d2a4f4..ca96d68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.12.0 (2026-07-26) + +Full Changelog: [v0.11.0...v0.12.0](https://github.com/CASParser/cas-parser-go/compare/v0.11.0...v0.12.0) + +### Features + +* **api:** api update ([bc6ef6a](https://github.com/CASParser/cas-parser-go/commit/bc6ef6abd5b762edadc057f32a953181a463bd5a)) + ## 0.11.0 (2026-07-18) Full Changelog: [v0.10.0...v0.11.0](https://github.com/CASParser/cas-parser-go/compare/v0.10.0...v0.11.0) diff --git a/README.md b/README.md index ff29eaf..12d1c5b 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Or to pin the version: ```sh -go get -u 'github.com/CASParser/cas-parser-go@v0.11.0' +go get -u 'github.com/CASParser/cas-parser-go@v0.12.0' ``` diff --git a/api.md b/api.md index e6dd25e..58c1db3 100644 --- a/api.md +++ b/api.md @@ -98,14 +98,6 @@ Methods: # Kfintech -Response Types: - -- casparser.KfintechGenerateCasResponse - -Methods: - -- client.Kfintech.GenerateCas(ctx context.Context, body casparser.KfintechGenerateCasParams) (\*casparser.KfintechGenerateCasResponse, error) - # Nsdl Methods: diff --git a/client.go b/client.go index 411420e..6f58047 100644 --- a/client.go +++ b/client.go @@ -59,8 +59,7 @@ type Client struct { // - Read-only access (we cannot send emails) // - Tokens are encrypted with server-side secret // - User can revoke access anytime via `/v4/inbox/disconnect` - Inbox InboxService - // Endpoints for generating new CAS documents via email mailback (KFintech). + Inbox InboxService Kfintech KfintechService // Endpoints for parsing CAS PDF files from different sources. Nsdl NsdlService diff --git a/internal/version.go b/internal/version.go index 153db11..71064e9 100644 --- a/internal/version.go +++ b/internal/version.go @@ -2,4 +2,4 @@ package internal -const PackageVersion = "0.11.0" // x-release-please-version +const PackageVersion = "0.12.0" // x-release-please-version diff --git a/kfintech.go b/kfintech.go index aedbcca..59e44e7 100644 --- a/kfintech.go +++ b/kfintech.go @@ -3,19 +3,9 @@ package casparser import ( - "context" - "net/http" - "slices" - - "github.com/CASParser/cas-parser-go/internal/apijson" - "github.com/CASParser/cas-parser-go/internal/requestconfig" "github.com/CASParser/cas-parser-go/option" - "github.com/CASParser/cas-parser-go/packages/param" - "github.com/CASParser/cas-parser-go/packages/respjson" ) -// Endpoints for generating new CAS documents via email mailback (KFintech). -// // KfintechService contains methods and other services that help with interacting // with the cas-parser API. // @@ -34,55 +24,3 @@ func NewKfintechService(opts ...option.RequestOption) (r KfintechService) { r.Options = opts return } - -// Generate CAS via KFintech mailback. The CAS PDF will be sent to the investor's -// email. -// -// This is an async operation - the investor receives the CAS via email within a -// few minutes. For instant CAS retrieval, use CDSL Fetch (`/v4/cdsl/fetch`). -func (r *KfintechService) GenerateCas(ctx context.Context, body KfintechGenerateCasParams, opts ...option.RequestOption) (res *KfintechGenerateCasResponse, err error) { - opts = slices.Concat(r.Options, opts) - path := "v4/kfintech/generate" - err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, body, &res, opts...) - return res, err -} - -type KfintechGenerateCasResponse struct { - Msg string `json:"msg"` - Status string `json:"status"` - // JSON contains metadata for fields, check presence with [respjson.Field.Valid]. - JSON struct { - Msg respjson.Field - Status respjson.Field - ExtraFields map[string]respjson.Field - raw string - } `json:"-"` -} - -// Returns the unmodified JSON received from the API -func (r KfintechGenerateCasResponse) RawJSON() string { return r.JSON.raw } -func (r *KfintechGenerateCasResponse) UnmarshalJSON(data []byte) error { - return apijson.UnmarshalRoot(data, r) -} - -type KfintechGenerateCasParams struct { - // Email address to receive the CAS document - Email string `json:"email" api:"required"` - // Start date (YYYY-MM-DD) - FromDate string `json:"from_date" api:"required"` - // Password for the PDF - Password string `json:"password" api:"required"` - // End date (YYYY-MM-DD) - ToDate string `json:"to_date" api:"required"` - // PAN number (optional) - PanNo param.Opt[string] `json:"pan_no,omitzero"` - paramObj -} - -func (r KfintechGenerateCasParams) MarshalJSON() (data []byte, err error) { - type shadow KfintechGenerateCasParams - return param.MarshalObject(r, (*shadow)(&r)) -} -func (r *KfintechGenerateCasParams) UnmarshalJSON(data []byte) error { - return apijson.UnmarshalRoot(data, r) -} diff --git a/kfintech_test.go b/kfintech_test.go deleted file mode 100644 index ed09c09..0000000 --- a/kfintech_test.go +++ /dev/null @@ -1,43 +0,0 @@ -// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -package casparser_test - -import ( - "context" - "errors" - "os" - "testing" - - "github.com/CASParser/cas-parser-go" - "github.com/CASParser/cas-parser-go/internal/testutil" - "github.com/CASParser/cas-parser-go/option" -) - -func TestKfintechGenerateCasWithOptionalParams(t *testing.T) { - t.Skip("Mock server tests are disabled") - baseURL := "http://localhost:4010" - if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok { - baseURL = envURL - } - if !testutil.CheckTestServer(t, baseURL) { - return - } - client := casparser.NewClient( - option.WithBaseURL(baseURL), - option.WithAPIKey("My API Key"), - ) - _, err := client.Kfintech.GenerateCas(context.TODO(), casparser.KfintechGenerateCasParams{ - Email: "user@example.com", - FromDate: "2023-01-01", - Password: "Abcdefghi12$", - ToDate: "2023-12-31", - PanNo: casparser.String("ABCDE1234F"), - }) - if err != nil { - var apierr *casparser.Error - if errors.As(err, &apierr) { - t.Log(string(apierr.DumpRequest(true))) - } - t.Fatalf("err should be nil: %s", err.Error()) - } -}