@@ -20,18 +20,22 @@ import (
2020 " github.com/auth0/go-jwt-middleware/v2"
2121 " github.com/auth0/go-jwt-middleware/v2/jwks"
2222 " github.com/auth0/go-jwt-middleware/v2/validator"
23- " github.com/elimity-com/insights-sdk"
24- commonv1alpha1 " github.com/elimity-com/insights-sdk/gen/elimity/insights/common/v1alpha1"
25- customgatewayv1alpha1 " github.com/elimity-com/insights-sdk/gen/elimity/insights/customgateway/v1alpha1 "
23+ " github.com/elimity-com/insights-sdk/v2 "
24+ " github.com/elimity-com/insights-sdk/v2 /gen/elimity/insights/common/v1alpha1"
25+ " github.com/elimity-com/insights-sdk/v2/ gen/elimity/insights/customgateway/v1alpha2 "
2626 " iter"
2727 " log"
2828 " net/http"
2929 " net/url"
3030 " os"
3131)
3232
33- func generateResponses (bytes []byte ) iter .Seq2 [*customgatewayv1alpha1 .PerformImportResponse , error ] {
34- return responseGenerator{bytes: bytes}.generate
33+ func generateResponses (bytes []byte , cursor any ) iter .Seq2 [*v1alpha2 .PerformImportResponse , error ] {
34+ generator := responseGenerator{
35+ bytes: bytes,
36+ cursor: cursor,
37+ }
38+ return generator.generate
3539}
3640
3741func makeClaims () validator .CustomClaims {
@@ -44,7 +48,7 @@ func main() {
4448 audiences := []string {" gateway" }
4549 option := validator.WithCustomClaims (makeClaims)
4650 validator , _ := validator.New (provider.KeyFunc , " RS256" , " https://auth.elimity.com/" , audiences, option)
47- innerHandler := insightssdk.Handler (generateResponses)
51+ innerHandler := insightssdk.Handler (generateResponses, nil , " v1.0.0 " )
4852 outerHandler := jwtmiddleware.New (validator.ValidateToken ).CheckJWT (innerHandler)
4953 err := http.ListenAndServe (" :8080" , outerHandler)
5054 log.Fatal (err)
@@ -71,24 +75,25 @@ func (c *claims) Validate(context.Context) error {
7175}
7276
7377type responseGenerator struct {
74- bytes []byte
78+ bytes []byte
79+ cursor any
7580}
7681
77- func (g responseGenerator ) generate (yield func(*customgatewayv1alpha1 .PerformImportResponse, error) bool) {
82+ func (g responseGenerator ) generate (yield func(*v1alpha2 .PerformImportResponse, error) bool) {
7883 var request request
7984 if err := json.Unmarshal (g.bytes , &request); err != nil {
8085 err := fmt.Errorf (" failed unmarshalling request: %v " , err)
8186 yield (nil , err)
8287 return
8388 }
84- info := &customgatewayv1alpha1 .Level_Info {}
85- level := &customgatewayv1alpha1 .Level {Value: info}
86- log := &customgatewayv1alpha1 .Log {
89+ info := &v1alpha2 .Level_Info {}
90+ level := &v1alpha2 .Level {Value: info}
91+ log := &v1alpha2 .Log {
8792 Level: level,
8893 Message: " Reading directory contents" ,
8994 }
90- lo := &customgatewayv1alpha1 .PerformImportResponse_Log {Log: log}
91- response := &customgatewayv1alpha1 .PerformImportResponse {Value: lo}
95+ lo := &v1alpha2 .PerformImportResponse_Log {Log: log}
96+ response := &v1alpha2 .PerformImportResponse {Value: lo}
9297 if !yield (response, nil ) {
9398 return
9499 }
@@ -100,13 +105,13 @@ func (g responseGenerator) generate(yield func(*customgatewayv1alpha1.PerformImp
100105 }
101106 for _ , entry := range entries {
102107 name := entry.Name ()
103- entity := &commonv1alpha1 .Entity {
108+ entity := &v1alpha1 .Entity {
104109 Id: name,
105110 Name: name,
106111 Type: " file" ,
107112 }
108- ent := &customgatewayv1alpha1 .PerformImportResponse_Entity {Entity: entity}
109- response := &customgatewayv1alpha1 .PerformImportResponse {Value: ent}
113+ ent := &v1alpha2 .PerformImportResponse_Entity {Entity: entity}
114+ response := &v1alpha2 .PerformImportResponse {Value: ent}
110115 if !yield (response, nil ) {
111116 return
112117 }
@@ -129,6 +134,7 @@ import { readdir } from "node:fs/promises";
129134import { z } from " zod" ;
130135
131136async function * generateItems(
137+ cursor : JsonValue ,
132138 fields : Record <string , JsonValue >,
133139): AsyncGenerator <Item > {
134140 const request = z .strictObject ({ path: z .string () }).parse (fields );
@@ -161,7 +167,7 @@ const config = {
161167 validators ,
162168};
163169const authHandler = auth (config );
164- const sdkHandler = handler (generateItems );
170+ const sdkHandler = handler (generateItems , null , " v1.0.0 " );
165171express ().use (authHandler , sdkHandler ).listen (8080 );
166172```
167173
@@ -204,15 +210,15 @@ class _Request(BaseModel):
204210 path: str
205211
206212
207- async def _generate_items (fields : dict[str , object ]) -> AsyncIterator[Item]:
213+ async def _generate_items (cursor : object , fields : dict[str , object ]) -> AsyncIterator[Item]:
208214 request = _Request.model_validate(fields)
209215 yield LogItem(Level.INFO , " Reading directory contents" )
210216 for file in listdir(request.path):
211217 assignments: dict[str , Value] = {}
212218 yield EntityItem(assignments, file , file , " file" )
213219
214220
215- _app = app(_generate_items)
221+ _app = app(_generate_items, None , " v1.0.0 " )
216222_middleware = _Middleware(_app)
217223run(_middleware)
218224```
@@ -222,7 +228,7 @@ run(_middleware)
222228### Go
223229
224230``` sh
225- $ go get github.com/elimity-com/insights-sdk
231+ $ go get github.com/elimity-com/insights-sdk/v2
226232```
227233
228234### NodeJS
@@ -242,3 +248,4 @@ $ pip install elimity-insights-sdk
242248| SDK version | Insights version |
243249| ----------- | ---------------- |
244250| 1 | >=3.42 |
251+ | 2 | >=3.46 |
0 commit comments