diff --git a/create-test-user.sh b/create-test-user.sh index 2d930b3..5adc9ac 100755 --- a/create-test-user.sh +++ b/create-test-user.sh @@ -29,6 +29,17 @@ RESULT=`curl -s http://localhost:3000/v1/userapp/token/$TOKEN/shipping \ -d '{"country":"Israel","address":"Allenby 1","postcode":"12345","status":"active"}' | jq ".status" | tr -d '"'` echo "User shipping record created, status $RESULT" +RESULT=`curl -s http://localhost:3000/v1/sharedrecord/token/$TOKEN \ + -H "X-Bunker-Token: "$DATABUNKER_APIKEY -H "Content-Type: application/json" \ + -d '{"app":"shipping","fields":"address"}'` +echo "Shared record created, status $RESULT" +REC_ID=`echo $RESULT | jq ".record" | tr -d '"'` +echo $REC_ID + +RESULT=`curl -s http://localhost:3000/v1/get/$REC_ID` +echo "Get shared record (no password/access token): $RESULT" +exit + RESULT=`curl -s http://localhost:3000/v1/userapp/token/$TOKEN \ -H "X-Bunker-Token: "$DATABUNKER_APIKEY -H "Content-Type: application/json"` echo "View list of all user apps $RESULT" diff --git a/src/bunker.go b/src/bunker.go index bb1e723..e430b75 100644 --- a/src/bunker.go +++ b/src/bunker.go @@ -30,7 +30,7 @@ type listTbls struct { Xtokens Tbl Consent Tbl Sessions Tbl - Sharedrecord Tbl + Sharedrecords Tbl } // Enum for public use @@ -40,7 +40,7 @@ var TblName = &listTbls{ Xtokens: 2, Consent: 3, Sessions: 4, - Sharedrecord: 5, + Sharedrecords: 5, } type Config struct { @@ -145,8 +145,8 @@ func (e mainEnv) setupRouter() *httprouter.Router { router.GET("/v1/login/:mode/:address", e.userLogin) router.GET("/v1/enter/:mode/:address/:tmp", e.userLoginEnter) - router.POST("/v1/record/:token", e.newSharedRecord) - router.GET("/v1/record/:record", e.getRecord) + router.POST("/v1/sharedrecord/token/:token", e.newSharedRecord) + router.GET("/v1/get/:record", e.getRecord) router.GET("/v1/consent/:mode/:address", e.consentAllUserRecords) router.GET("/v1/consent/:mode/:address/:brief", e.consentUserRecord) diff --git a/src/qldb.go b/src/qldb.go index 0f44f9e..873531f 100644 --- a/src/qldb.go +++ b/src/qldb.go @@ -252,6 +252,8 @@ func getTable(t Tbl) string { return "xtokens" case TblName.Sessions: return "sessions" + case TblName.Sharedrecords: + return "sharedrecords" } return "users" } diff --git a/src/sharedrecords_db.go b/src/sharedrecords_db.go index d916e00..312794e 100644 --- a/src/sharedrecords_db.go +++ b/src/sharedrecords_db.go @@ -2,6 +2,7 @@ package main import ( "errors" + "fmt" "strings" "time" @@ -23,18 +24,17 @@ func (dbobj dbcon) saveSharedRecord(userTOKEN string, fields string, expiration } } + fmt.Printf("Expiration is : %s\n", expiration) start, err := parseExpiration(expiration) if err != nil { return "", err } - // check if user record exists record, err := dbobj.lookupUserRecord(userTOKEN) if record == nil || err != nil { // not found return "", errors.New("not found") } - recordUUID, err := uuid.GenerateUUID() if err != nil { return "", err @@ -55,7 +55,7 @@ func (dbobj dbcon) saveSharedRecord(userTOKEN string, fields string, expiration if len(session) > 0 { bdoc["session"] = session } - _, err = dbobj.createRecord(TblName.Sharedrecord, bdoc) + _, err = dbobj.createRecord(TblName.Sharedrecords, bdoc) if err != nil { return "", err } @@ -67,7 +67,7 @@ func (dbobj dbcon) getSharedRecord(recordUUID string) (checkRecordResult, error) if isValidUUID(recordUUID) == false { return result, errors.New("failed to authenticate") } - record, err := dbobj.getRecord(TblName.Sharedrecord, "record", recordUUID) + record, err := dbobj.getRecord(TblName.Sharedrecords, "record", recordUUID) if record == nil || err != nil { return result, errors.New("failed to authenticate") }