read by token all source

This commit is contained in:
gigihshs
2026-04-21 15:17:12 +07:00
parent 6dfc474924
commit 6b9954c735
24 changed files with 345 additions and 529 deletions
+14 -24
View File
@@ -1,12 +1,14 @@
package integration
import (
"context"
"encoding/json"
"errors"
"net/http"
"satusehat-rssa/internal/constant"
"satusehat-rssa/internal/model"
"satusehat-rssa/pkg/httputil"
"satusehat-rssa/pkg/redis"
"strings"
)
@@ -29,23 +31,19 @@ func (p *ProcedureRepository) GetProcedureByPatient(id string) (map[string]inter
method := "GET"
client := &http.Client{}
oauth := model.OauthRequest{
ClientId: p.akses.ClientId,
ClientSecret: p.akses.ClientSecret,
}
OauthInterface := NewOauthRequestRepo(p.akses)
token, err := OauthInterface.GenerateToken(oauth)
redisRepo := redis.NewRedisAuth(p.akses)
token, err := redisRepo.GetOrCreateTokenSS(context.Background(), id)
if err != nil {
return nil, err
}
if token == nil {
if token == "" {
return nil, errors.New(constant.ErrGenerateToken)
}
request, err := http.NewRequest(method, url, nil)
if err != nil {
return nil, err
}
request.Header.Set("Authorization", "Bearer "+token.AccessToken)
request.Header.Set("Authorization", "Bearer "+token)
request.Header.Set("Content-Type", constant.ContentTypeFHIRJSON)
res, err := client.Do(request)
if err != nil {
@@ -106,16 +104,12 @@ func (p *ProcedureRepository) CreateProcedure(req model.ProcedureRequest) (map[s
return nil, err
}
oauth := model.OauthRequest{
ClientId: p.akses.ClientId,
ClientSecret: p.akses.ClientSecret,
}
token, err := NewOauthRequestRepo(p.akses).GenerateToken(oauth)
redisRepo := redis.NewRedisAuth(p.akses)
token, err := redisRepo.GetOrCreateTokenSS(context.Background(), req.Subject.Reference)
if err != nil {
return nil, err
}
if token == nil {
if token == "" {
return nil, errors.New(constant.ErrGenerateToken)
}
@@ -125,7 +119,7 @@ func (p *ProcedureRepository) CreateProcedure(req model.ProcedureRequest) (map[s
Method: "POST",
URL: url,
Body: req,
BearerToken: token.AccessToken,
BearerToken: token,
})
}
@@ -152,16 +146,12 @@ func (p *ProcedureRepository) UpdateProcedure(req model.ProcedureRequest) (map[s
return nil, err
}
oauth := model.OauthRequest{
ClientId: p.akses.ClientId,
ClientSecret: p.akses.ClientSecret,
}
token, err := NewOauthRequestRepo(p.akses).GenerateToken(oauth)
redisRepo := redis.NewRedisAuth(p.akses)
token, err := redisRepo.GetOrCreateTokenSS(context.Background(), req.Subject.Reference)
if err != nil {
return nil, err
}
if token == nil {
if token == "" {
return nil, errors.New(constant.ErrGenerateToken)
}
@@ -170,7 +160,7 @@ func (p *ProcedureRepository) UpdateProcedure(req model.ProcedureRequest) (map[s
return httputil.DoRequest(httputil.RequestOption{
Method: "PUT",
URL: url,
BearerToken: token.AccessToken,
BearerToken: token,
Body: req,
})
}