commit f8e9b04f1cb9a6c90fd590a467be389becfa4199 Author: Ichen Chhoeng Date: Tue Oct 28 13:38:57 2025 +0700 first commit diff --git a/.env b/.env new file mode 100644 index 0000000..08e48ad --- /dev/null +++ b/.env @@ -0,0 +1,8 @@ +GRPC_GDIONLINE_ADDRESS=https://oldapi.example.com:5001 +KYC_BASE_URL=https://ocr-provider.example.com +Consul__Address=http://localhost:8500 + +# Consul__Address=http://consul:8500 +# Grpc__GDIOnline__Address=https://gdi-online-service:5001 +# Sms__BaseUrl=https://sms-service:443 +# Ocr__BaseUrl=https://ocr-service:443 diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..d0c238d --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +DATABASE_USERNAME= \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6c2f0cd --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +# Use the .NET SDK image for building the application +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build +WORKDIR /app + +# Copy the project files +COPY khmer_eid_backend/*.csproj ./ + +# Restore dependencies +RUN dotnet restore + +# Copy the rest of the application code +COPY khmer_eid_backend/ ./ + +# Build the application +# Change to Release for prod +RUN dotnet publish khmer_eid_backend.csproj -c Debug -o out + +# Use the .NET runtime image for running the application +FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime +WORKDIR /app + +# Copy published output +COPY --from=build /app/out ./ + +# Copy Program.cs into the runtime image so you can inspect it +COPY khmer_eid_backend/Program.cs ./ + +# Install vim +RUN apt-get update && apt-get install -y vim && rm -rf /var/lib/apt/lists/* + +# Expose the port and run the application +EXPOSE 5000 +ENTRYPOINT ["dotnet", "khmer_eid_backend.dll"] diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c6cbd2a --- /dev/null +++ b/Makefile @@ -0,0 +1,32 @@ +.PHONY: dev-up dev-down prod-up prod-down logs build + +dev-up: + docker compose -f docker-compose.dev.yml up -d --remove-orphans + +dev-down: + docker compose -f docker-compose.dev.yml down + +dev-restore: + docker compose -f docker-compose.dev.yml run khmer-eid-api dotnet restore + +dev-build: + docker compose -f docker-compose.dev.yml build + +dev-list-packages: + docker exec -it khmer-eid-api-dev dotnet list package + +dev-exec: + docker exec -it khmer-eid-api-dev /bin/bash + +prod-up: + docker compose -f docker-compose.prod.yml up -d + +prod-down: + docker compose -f docker-compose.prod.yml down + +dev-logs: + docker compose -f docker-compose.dev.yml logs -f khmer-eid-api + +prod-logs: + docker compose -f docker-compose.prod.yml logs -f khmer-eid-api + diff --git a/README.md b/README.md new file mode 100644 index 0000000..95c4ef1 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +### In order to add a new package, run the following commands +1. dotnet add package +2. dotnet resotre +3. docker compose build +4. docker compose up + + + +### config kratos +create schema kratos + +docker exec -it kratos kratos migrate sql \ + "postgres://dev:dev@postgres:5432/backend_db?sslmode=disable&search_path=kratos" \ + -y + + +### config hanko +create schema hanko + +docker compose run --rm hanko migrate up + +docker compose up -d hanko \ No newline at end of file diff --git a/config/kratos/identity.schema.json b/config/kratos/identity.schema.json new file mode 100644 index 0000000..5610eca --- /dev/null +++ b/config/kratos/identity.schema.json @@ -0,0 +1,34 @@ +{ + "$id": "default", + "title": "Default Identity", + "type": "object", + "properties": { + "traits": { + "type": "object", + "properties": { + "phone": { + "type": "string", + "format": "tel", + "title": "Phone Number", + "ory.sh/kratos": { + "credentials": { + "password": { + "identifier": true + }, + "code": { + "identifier": true, + "via": "sms" + } + }, + "verification": { + "via": "sms" + } + } + } + }, + "required": [ + "phone" + ] + } + } +} \ No newline at end of file diff --git a/config/kratos/kratos.yml b/config/kratos/kratos.yml new file mode 100644 index 0000000..11235dc --- /dev/null +++ b/config/kratos/kratos.yml @@ -0,0 +1,61 @@ +version: v1.3.0 +dsn: "postgres://dev:dev@postgres:5432/backend_db?sslmode=disable&search_path=kratos" +log: + leak_sensitive_values: true + +selfservice: + methods: + code: + enabled: true + passwordless_enabled: true + lifespan: 2m + password: + enabled: true + default_browser_return_url: "http://localhost:4433" + flows: + login: + ui_url: "http://localhost:5200/auth/login" + registration: + after: + password: + hooks: + - hook: session + code: + hooks: + - hook: session + ui_url: "http://localhost:5200/auth/register" + verification: + ui_url: "http://localhost:5200/auth/verify" + enabled: true +identity: + default_schema_id: default + schemas: + - id: default + url: file:///etc/config/identity.schema.json +courier: + channels: + - id: sms + type: http + request_config: + method: POST + url: https://webhook.site/b9e137a6-f184-47b5-ac43-50c95a95cd14 + body: base64://ZnVuY3Rpb24oY3R4KSB7CiAgcmVjaXBpZW50OiBjdHgucmVjaXBpZW50LAogIHRlbXBsYXRlX3R5cGU6IGN0eC50ZW1wbGF0ZV90eXBlLAogIHRvOiBpZiAidGVtcGxhdGVfZGF0YSIgaW4gY3R4ICYmICJ0byIgaW4gY3R4LnRlbXBsYXRlX2RhdGEgdGhlbiBjdHgudGVtcGxhdGVfZGF0YS50byBlbHNlIG51bGwsCiAgcmVjb3ZlcnlfY29kZTogaWYgInRlbXBsYXRlX2RhdGEiIGluIGN0eCAmJiAicmVjb3ZlcnlfY29kZSIgaW4gY3R4LnRlbXBsYXRlX2RhdGEgdGhlbiBjdHgudGVtcGxhdGVfZGF0YS5yZWNvdmVyeV9jb2RlIGVsc2UgbnVsbCwKICByZWNvdmVyeV91cmw6IGlmICJ0ZW1wbGF0ZV9kYXRhIiBpbiBjdHggJiYgInJlY292ZXJ5X3VybCIgaW4gY3R4LnRlbXBsYXRlX2RhdGEgdGhlbiBjdHgudGVtcGxhdGVfZGF0YS5yZWNvdmVyeV91cmwgZWxzZSBudWxsLAogIHZlcmlmaWNhdGlvbl91cmw6IGlmICJ0ZW1wbGF0ZV9kYXRhIiBpbiBjdHggJiYgInZlcmlmaWNhdGlvbl91cmwiIGluIGN0eC50ZW1wbGF0ZV9kYXRhIHRoZW4gY3R4LnRlbXBsYXRlX2RhdGEudmVyaWZpY2F0aW9uX3VybCBlbHNlIG51bGwsCiAgdmVyaWZpY2F0aW9uX2NvZGU6IGlmICJ0ZW1wbGF0ZV9kYXRhIiBpbiBjdHggJiYgInZlcmlmaWNhdGlvbl9jb2RlIiBpbiBjdHgudGVtcGxhdGVfZGF0YSB0aGVuIGN0eC50ZW1wbGF0ZV9kYXRhLnZlcmlmaWNhdGlvbl9jb2RlIGVsc2UgbnVsbCwKICBzdWJqZWN0OiBjdHguc3ViamVjdCwKICBib2R5OiBjdHguYm9keQp9Cg== + headers: + content-type: application/json + templates: + verification_code: + valid: + sms: + body: + plaintext: "base64://WW91ciB2ZXJpZmljYXRpb24gY29kZSBpczoge3sgLlZlcmlmaWNhdGlvbkNvZGUgfX0=" + email: + body: + plaintext: "base64://WW91ciB2ZXJpZmljYXRpb24gY29kZSBpczoge3sgLlZlcmlmaWNhdGlvbkNvZGUgfX0=" + login_code: + valid: + sms: + body: + plaintext: "base64://WW91ciBsb2dpbiBjb2RlIGlzOiB7eyAuTG9naW5Db2RlIH19" + email: + body: + plaintext: "base64://WW91ciB2ZXJpZmljYXRpb24gY29kZSBpczoge3sgLlZlcmlmaWNhdGlvbkNvZGUgfX0=" diff --git a/config/openfga/openfga-config.json b/config/openfga/openfga-config.json new file mode 100644 index 0000000..9b9757a --- /dev/null +++ b/config/openfga/openfga-config.json @@ -0,0 +1,19 @@ +{ + "log": { + "level": "info" + }, + "playground": { + "enabled": true, + "port": 3000 + }, + "datastore": { + "engine": "postgres", + "uri": "postgres://dev:dev@postgres:5432/backend_db?sslmode=disable&search_path=openfga" + }, + "grpc": { + "addr": ":8081" + }, + "http": { + "addr": ":8080" + } +} diff --git a/k8s/base/app.yml b/k8s/base/app.yml new file mode 100644 index 0000000..a990d61 --- /dev/null +++ b/k8s/base/app.yml @@ -0,0 +1,13 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: kustomize-example +spec: + project: default + source: + path: examples/helloWorld + repoURL: 'https://github.com/kubernetes-sigs/kustomize' + targetRevision: HEAD + destination: + namespace: default + server: 'https://kubernetes.default.svc' \ No newline at end of file diff --git a/k8s/base/kustomization.yml b/k8s/base/kustomization.yml new file mode 100644 index 0000000..c80ac6b --- /dev/null +++ b/k8s/base/kustomization.yml @@ -0,0 +1,10 @@ +resources: + - app.yml + +configMapGenerator: + - name: kratos-config + files: + - kratos.yml=../../config/kratos/kratos.yml + - identity.schema.json=../../config/kratos/identity.schema.json +generatorOptions: + disableNameSuffixHash: false diff --git a/k8s/envoy.yml b/k8s/envoy.yml new file mode 100644 index 0000000..15c452c --- /dev/null +++ b/k8s/envoy.yml @@ -0,0 +1,99 @@ +# ============================== +# Gateway +# ============================== +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: Gateway +metadata: + name: my-gateway +spec: + gatewayClassName: eg + listeners: + - name: http + protocol: HTTP + port: 80 + allowedRoutes: + namespaces: + from: Same + +# ============================== +# Public HTTP Routes +# ============================== +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: my-public-routes + namespace: default +spec: + parentRefs: + - name: my-gateway + rules: + - matches: + - path: + type: PathPrefix + value: /khmer-eid/auth + backendRefs: + - name: khmer-eid + port: 8200 + filters: + - type: URLRewrite + urlRewrite: + path: + type: ReplacePrefixMatch + replacePrefixMatch: /auth + - matches: + - path: + type: PathPrefix + value: /nginx + backendRefs: + - name: my-nginx + port: 8081 + +# ============================== +# Protected HTTP Routes +# ============================== +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: my-protected-routes + namespace: default +spec: + parentRefs: + - name: my-gateway + rules: + - matches: + - path: + type: PathPrefix + value: /khmer-eid + backendRefs: + - name: khmer-eid + port: 8200 + filters: + - type: URLRewrite + urlRewrite: + path: + type: ReplacePrefixMatch + replacePrefixMatch: / + +# ============================== +# Forward Auth +# ============================== +--- +apiVersion: gateway.envoyproxy.io/v1alpha1 +kind: SecurityPolicy +metadata: + name: my-ext-auth +spec: + targetRefs: + - group: gateway.networking.k8s.io + kind: HTTPRoute + name: my-protected-routes + extAuth: + http: + path: /auth + backendRefs: + - name: khmer-eid + port: 8200 + headersToBackend: ["x-auth-user"] \ No newline at end of file diff --git a/k8s/hanko.yml b/k8s/hanko.yml new file mode 100644 index 0000000..b765a4d --- /dev/null +++ b/k8s/hanko.yml @@ -0,0 +1,67 @@ +# ============================== +# Hanko +# ============================== +apiVersion: batch/v1 +kind: Job +metadata: + name: hanko-migrate +spec: + template: + spec: + restartPolicy: OnFailure + containers: + - name: migrate + image: ghcr.io/teamhanko/hanko:v2.1.2 + command: ["hanko", "migrate", "up"] + resources: + limits: + memory: "128Mi" + cpu: "500m" + requests: + memory: 64Mi + cpu: 20m + env: + - name: DATABASE_URL + value: postgres://dev:dev@postgres:5432/backend_db?sslmode=disable&search_path=public +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: hanko +spec: + replicas: 1 + selector: + matchLabels: + app: hanko + template: + metadata: + labels: + app: hanko + spec: + containers: + - name: hanko + image: ghcr.io/teamhanko/hanko:v2.1.2 + command: ["hanko", "serve", "all"] + resources: + limits: + memory: "128Mi" + cpu: "500m" + requests: + memory: 64Mi + cpu: 20m + env: + - name: DATABASE_URL + value: postgres://dev:dev@postgres:5432/backend_db?sslmode=disable&search_path=public + ports: + - containerPort: 8080 +--- +apiVersion: v1 +kind: Service +metadata: + name: hanko +spec: + selector: + app: hanko + ports: + - port: 8080 + targetPort: 8080 diff --git a/k8s/khmer-eid.yml b/k8s/khmer-eid.yml new file mode 100644 index 0000000..628cd2d --- /dev/null +++ b/k8s/khmer-eid.yml @@ -0,0 +1,49 @@ +# ============================== +# Khmer-EID Deployment + Service +# ============================== +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: khmer-eid + namespace: default +spec: + selector: + matchLabels: + app: khmer-eid + template: + metadata: + labels: + app: khmer-eid + spec: + containers: + - name: khmer-eid + image: khmer-eid:dev + env: + - name: ASPNETCORE_ENVIRONMENT + value: Deployment + - name: ASPNETCORE_URLS + value: http://+:5000 + resources: + limits: + memory: "128Mi" + cpu: "500m" + requests: + memory: 64Mi + cpu: 20m + ports: + - containerPort: 5000 + name: dotnet + +--- +apiVersion: v1 +kind: Service +metadata: + name: khmer-eid + namespace: default +spec: + selector: + app: khmer-eid + ports: + - port: 8200 + targetPort: dotnet \ No newline at end of file diff --git a/k8s/kratos.yml b/k8s/kratos.yml new file mode 100644 index 0000000..7edf9e7 --- /dev/null +++ b/k8s/kratos.yml @@ -0,0 +1,80 @@ +# ============================== +# Ory Kratos Deployment + Service +# ============================== +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: kratos +spec: + selector: + matchLabels: + app: kratos + template: + metadata: + labels: + app: kratos + spec: + volumes: + - name: kratos-config + configMap: + name: kratos-config + initContainers: + - name: kratos-migrate + image: shadowlegend/ory-kratos@sha256:1e2a07fa1406c90eb2a16df5da509d163db394262c1a91baf73cc32009dcccd6 + env: + - name: DSN + valueFrom: + secretKeyRef: + name: postgres-kratos-app + key: uri + command: + - sh + - -c + - kratos migrate sql -e --yes + containers: + - name: kratos + image: shadowlegend/ory-kratos@sha256:1e2a07fa1406c90eb2a16df5da509d163db394262c1a91baf73cc32009dcccd6 + env: + - name: DSN + valueFrom: + secretKeyRef: + name: postgres-kratos-app + key: uri + - name: KRATOS_LOG_LEVEL + value: "info" + command: + - kratos + - serve + - --watch-courier + - --config + - /etc/config/kratos.yml + resources: + limits: + memory: "128Mi" + cpu: "500m" + requests: + memory: 64Mi + cpu: 20m + ports: + - containerPort: 4433 + - containerPort: 4434 + volumeMounts: + - name: kratos-config + mountPath: /etc/config + +--- +apiVersion: v1 +kind: Service +metadata: + name: kratos +spec: + selector: + app: kratos + ports: + - name: public + port: 4433 + targetPort: 4433 + - name: admin + port: 4434 + targetPort: 4434 \ No newline at end of file diff --git a/k8s/kustomization.yml b/k8s/kustomization.yml new file mode 100644 index 0000000..dada67d --- /dev/null +++ b/k8s/kustomization.yml @@ -0,0 +1,7 @@ +resources: + - envoy.yml + # - khmer-eid.yml + - kratos.yml + - nginx-temp.yml + # - hanko.yml + diff --git a/k8s/nginx-temp.yml b/k8s/nginx-temp.yml new file mode 100644 index 0000000..1d228e2 --- /dev/null +++ b/k8s/nginx-temp.yml @@ -0,0 +1,45 @@ +# ============================== +# Nginx Deployment + Service +# ============================== +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: my-nginx + namespace: default +spec: + replicas: 1 + selector: + matchLabels: + app: my-nginx + template: + metadata: + labels: + app: my-nginx + spec: + containers: + - name: my-nginx + image: nginxdemos/hello + resources: + limits: + memory: "128Mi" + cpu: "500m" + requests: + memory: 64Mi + cpu: 20m + ports: + - containerPort: 80 + name: httpp + +--- +apiVersion: v1 +kind: Service +metadata: + name: my-nginx + namespace: default +spec: + selector: + app: my-nginx + ports: + - port: 8081 + targetPort: httpp diff --git a/k8s/postgres-dotnet.yml b/k8s/postgres-dotnet.yml new file mode 100644 index 0000000..175ae22 --- /dev/null +++ b/k8s/postgres-dotnet.yml @@ -0,0 +1,11 @@ +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: postgres-dotnet +spec: + instances: 1 + bootstrap: + initdb: + database: khmereid_backend_db + storage: + size: 1Gi \ No newline at end of file diff --git a/k8s/postgres-kratos.yml b/k8s/postgres-kratos.yml new file mode 100644 index 0000000..a065c17 --- /dev/null +++ b/k8s/postgres-kratos.yml @@ -0,0 +1,11 @@ +apiVersion: postgresql.cnpg.io/v1 +kind: Cluster +metadata: + name: postgres-kratos +spec: + instances: 1 + bootstrap: + initdb: + database: kratos_db + storage: + size: 1Gi \ No newline at end of file diff --git a/khmer-eID-backend.sln b/khmer-eID-backend.sln new file mode 100644 index 0000000..ab5daad --- /dev/null +++ b/khmer-eID-backend.sln @@ -0,0 +1,24 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.2.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "khmer_eid_backend", "khmer_eid_backend\khmer_eid_backend.csproj", "{6D4F6FF4-86EE-BD7D-7691-D7FD0BC6AFAB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6D4F6FF4-86EE-BD7D-7691-D7FD0BC6AFAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6D4F6FF4-86EE-BD7D-7691-D7FD0BC6AFAB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6D4F6FF4-86EE-BD7D-7691-D7FD0BC6AFAB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6D4F6FF4-86EE-BD7D-7691-D7FD0BC6AFAB}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7C5F7A3A-55E2-4797-9DDF-7596C88A1598} + EndGlobalSection +EndGlobal diff --git a/khmer_eid_backend/Controllers/AuthController.cs b/khmer_eid_backend/Controllers/AuthController.cs new file mode 100644 index 0000000..80c6b35 --- /dev/null +++ b/khmer_eid_backend/Controllers/AuthController.cs @@ -0,0 +1,48 @@ +using Microsoft.AspNetCore.Mvc; +using khmer_eid_backend.Integrations.Ory; +using khmer_eid_backend.Requests; +using Microsoft.AspNetCore.Authorization; + +namespace khmer_eid_backend.Controllers +{ + [ApiController] + [Route("auth")] + public class AuthController(KratosIntegration _kratos) : ControllerBase + { + [HttpPost("request-signup-otp")] + public async Task RequestSignupOtp([FromForm] SignupRequest request) + { + var data = await _kratos.CreateOtpRegistrationFlowAsync(phone: request.Phone); + return Ok(new { Message = "OTP sent if the phone number is valid.", data }); + } + + [HttpPost("verify-signup-otp")] + public async Task VerifySignupOtp([FromForm] string phone,[FromForm] string otp, [FromForm] string flowId) + { + var data = await _kratos.CompleteOtpRegistrationFlowAsync(flowId, phone, otp); + return Ok(new { Message = "OTP verified successfully.", data }); + } + + [HttpPost("request-login-otp")] + public async Task RequestLoginOtp([FromForm] string phone) + { + var data = await _kratos.CreateOtpLoginFlowAsync(phone: phone); + return Ok(new { Message = "OTP sent if the phone number is valid.", data }); + } + + [HttpPost("verify-login-otp")] + public async Task VerifyLoginOtp([FromForm] string phone, [FromForm] string otp, [FromForm] string flowId) + { + var data = await _kratos.CompleteOtpLoginFlowAsync(flowId, phone, otp); + return Ok(new { Message = "OTP verified successfully.", data }); + } + + [HttpPost("logout")] + [Authorize(AuthenticationSchemes = "Kratos")] + public async Task Logout() + { + var data = await _kratos.Logout(Request.Headers.Authorization.ToString().Replace("Bearer ","")); + return Ok(new { Message = "Logged out successfully."}); + } + } +} diff --git a/khmer_eid_backend/Controllers/UserController.cs b/khmer_eid_backend/Controllers/UserController.cs new file mode 100644 index 0000000..2095bc2 --- /dev/null +++ b/khmer_eid_backend/Controllers/UserController.cs @@ -0,0 +1,24 @@ +using Microsoft.AspNetCore.Mvc; +using khmer_eid_backend.Integrations.Ory; +using Microsoft.AspNetCore.Authorization; +using System.Security.Claims; + +namespace khmer_eid_backend.Controllers; + +public class UserController(KratosIntegration _kratos) : ControllerBase +{ + [HttpGet("me")] + [Authorize(AuthenticationSchemes = "Kratos")] + // public Task Me() + // { + // var id = User.FindFirstValue(ClaimTypes.NameIdentifier); + // var phone = User.FindFirstValue("phone"); + // // return Ok(new { id, phone }); + // return Task.FromResult(Ok(new { id, phone })); + // } + public async Task Me() + { + var data = await _kratos.GetMe(Request.Headers.Authorization.ToString().Replace("Bearer ","")); + return Ok(data); + } +} \ No newline at end of file diff --git a/khmer_eid_backend/Integrations/Ory/KratosHandler.cs b/khmer_eid_backend/Integrations/Ory/KratosHandler.cs new file mode 100644 index 0000000..f5ee4f9 --- /dev/null +++ b/khmer_eid_backend/Integrations/Ory/KratosHandler.cs @@ -0,0 +1,52 @@ +using Ory.Kratos.Client.Api; +using System.Security.Claims; +using Ory.Kratos.Client.Client; +using System.Text.Encodings.Web; +using Microsoft.Extensions.Options; +using Microsoft.AspNetCore.Authentication; + +namespace khmer_eid_backend.Integrations.Ory; + +public class KratosHandler : AuthenticationHandler +{ + private readonly FrontendApi _frontendApi; + + public KratosHandler( + IOptionsMonitor options, + ILoggerFactory logger, + UrlEncoder encoder, + IConfiguration config) + : base(options, logger, encoder) + { + var cfg = new Configuration { BasePath = config["Ory:Kratos:PublicUrl"]! }; + _frontendApi = new FrontendApi(cfg); + } + + protected override async Task HandleAuthenticateAsync() + { + var authHeader = Request.Headers["Authorization"].ToString(); + if (string.IsNullOrWhiteSpace(authHeader) || !authHeader.StartsWith("Bearer ")) + return AuthenticateResult.NoResult(); + + var token = authHeader.Substring("Bearer ".Length).Trim(); + + try + { + var session = await _frontendApi.ToSessionAsync(xSessionToken: token); + + var identity = new ClaimsIdentity(new[] + { + new Claim(ClaimTypes.NameIdentifier, session.Identity.Id), + new Claim("phone", session.Identity.Traits.ToString() ?? "") + }, Scheme.Name); + + var principal = new ClaimsPrincipal(identity); + return AuthenticateResult.Success(new AuthenticationTicket(principal, Scheme.Name)); + } + catch (Exception ex) + { + Logger.LogError(ex, "Failed to authenticate Kratos session"); + return AuthenticateResult.Fail("Invalid Kratos session token"); + } + } +} diff --git a/khmer_eid_backend/Integrations/Ory/KratosIntegration.cs b/khmer_eid_backend/Integrations/Ory/KratosIntegration.cs new file mode 100644 index 0000000..27b07ff --- /dev/null +++ b/khmer_eid_backend/Integrations/Ory/KratosIntegration.cs @@ -0,0 +1,193 @@ +using System.Text.Json; +using Ory.Kratos.Client.Api; +using Ory.Kratos.Client.Model; +using Ory.Kratos.Client.Client; + +namespace khmer_eid_backend.Integrations.Ory; + +public class KratosIntegration +{ + private readonly FrontendApi _frontendApi; + private readonly IdentityApi _identityApi; + private readonly ILogger _logger; + + public KratosIntegration(IConfiguration config, ILogger logger) + { + var publicCfg = new Configuration { BasePath = config["Ory:Kratos:PublicUrl"]! }; + var adminCfg = new Configuration { BasePath = config["Ory:Kratos:AdminUrl"]! }; + + _frontendApi = new FrontendApi(publicCfg); + _identityApi = new IdentityApi(adminCfg); + _logger = logger; + } + + public async Task CreateOtpRegistrationFlowAsync(string phone) + { + var flow = await _frontendApi.CreateNativeRegistrationFlowAsync(returnSessionTokenExchangeCode: true); + _logger.LogInformation("Started registration flow: {FlowId}", flow.Id); + + phone = phone.Trim(); + var method = new KratosUpdateRegistrationFlowWithCodeMethod( + traits: new { phone = phone }, + method: "code" + ); + + try + { + var body = new KratosUpdateRegistrationFlowBody(method); + _logger.LogInformation("Updating OTP registration flow for {Phone}, flow {FlowId}", phone, flow.Id); + var updatedFlow = _frontendApi.UpdateRegistrationFlow(flow.Id, body); + + return flow; + } + catch (ApiException ex) + { + var res = JsonSerializer.Deserialize(ex.ErrorContent.ToString()!); + return ex.ErrorCode switch + { + 400 => res.GetProperty("state").ToString() == "sent_email" ? + new + { + FlowId = res.GetProperty("id").GetString(), + State = res.GetProperty("state").GetString(), + ExpiredAt = res.GetProperty("expires_at").GetDateTime() + } : throw new Exception("Unhandled Kratos API exception: " + ex.Message), + _ => throw new Exception("Unhandled Kratos API exception: " + ex.Message), + }; + } + } + + public async Task CompleteOtpRegistrationFlowAsync(string flowId, string phone,string otp) + { + phone = phone.Trim(); + var method = new KratosUpdateRegistrationFlowWithCodeMethod( + code: otp, + traits: new { phone = phone}, + method: "code" + ); + var body = new KratosUpdateRegistrationFlowBody(method); + + try + { + var result = await _frontendApi.UpdateRegistrationFlowAsync(flowId, body); + + _logger.LogInformation("Completed OTP registration flow for flow {FlowId}", flowId); + return new + { + accessToken = result.SessionToken, + expiredAt = result.Session?.ExpiresAt + }; + } + catch (ApiException ex) + { + var res = JsonSerializer.Deserialize(ex.ErrorContent.ToString()!); + return ex.ErrorCode switch + { + 400 => res.GetProperty("ui").GetProperty("messages").EnumerateArray().First().GetProperty("text").GetString()!, + 404 => throw new Exception("Registration flow not found."), + _ => throw new Exception("Unhandled Kratos API exception: " + ex.Message), + }; + } + } + + public async Task CreateOtpLoginFlowAsync(string phone) + { + var flow = await _frontendApi.CreateNativeLoginFlowAsync(returnSessionTokenExchangeCode: true); + _logger.LogInformation("Started login flow: {FlowId}", flow.Id); + + phone = phone.Trim(); + var method = new KratosUpdateLoginFlowWithCodeMethod( + method: "code", + csrfToken: "dfdfdfde", + identifier: phone + ); + + try + { + var body = new KratosUpdateLoginFlowBody(method); + _logger.LogInformation("Updating OTP registration flow for {Phone}, flow {FlowId}", phone, flow.Id); + var updatedFlow = await _frontendApi.UpdateLoginFlowAsync(flow.Id, body); + + return flow; + } + catch (ApiException ex) + { + var res = JsonSerializer.Deserialize(ex.ErrorContent.ToString()!); + return ex.ErrorCode switch + { + 400 => res.GetProperty("state").ToString() == "sent_email" ? + new + { + FlowId = res.GetProperty("id").GetString(), + State = res.GetProperty("state").GetString(), + ExpiredAt = res.GetProperty("expires_at").GetDateTime() + } : throw new Exception("Unhandled Kratos API exception: " + ex.Message), + _ => throw new Exception("Unhandled Kratos API exception: " + ex.Message), + }; + } + } + + public async Task CompleteOtpLoginFlowAsync(string flowId, string phone, string otp) + { + phone = "+" + phone.Trim(); + var method = new KratosUpdateLoginFlowWithCodeMethod( + code: otp, + method: "code", + csrfToken: "dfdfdfde", + identifier: phone + ); + var body = new KratosUpdateLoginFlowBody(method); + + try + { + var result = await _frontendApi.UpdateLoginFlowAsync(flowId, body); + + _logger.LogInformation("Completed OTP login flow for flow {FlowId}", flowId); + return new + { + accessToken = result.SessionToken, + expiredAt = result.Session?.ExpiresAt + }; + } + catch (ApiException ex) + { + var res = JsonSerializer.Deserialize(ex.ErrorContent.ToString()!); + return ex.ErrorCode switch + { + 400 => res, + 404 => throw new Exception("Login flow not found."), + _ => throw new Exception("Unhandled Kratos API exception: " + ex.Message), + }; + } + } + + public async Task Logout(string sessionToken) + { + var body = new KratosPerformNativeLogoutBody(sessionToken: sessionToken); + await _frontendApi.PerformNativeLogoutAsync(body); + _logger.LogInformation("Logged out session with token {SessionToken}", sessionToken); + return new { Message = "Logged out successfully." }; + } + + public async Task GetMe(string sessionToken) + { + var session = await _frontendApi.ToSessionAsync(xSessionToken: sessionToken); + _logger.LogInformation("Fetched session for identity {IdentityId}", session.Identity.Id); + return session; + } + + public async Task PasswordRegistrationFlowAsync(string flowId, string phone) + { + var method = new KratosUpdateRegistrationFlowWithPasswordMethod( + password: "add3ae4d8ae8", + traits: new { phone = phone, identifier = phone }, + method: "password" + ); + var body = new KratosUpdateRegistrationFlowBody(method); + var result = await _frontendApi.UpdateRegistrationFlowAsync(flowId, body); + + Console.WriteLine(JsonSerializer.Serialize(result, new JsonSerializerOptions { WriteIndented = true })); + _logger.LogInformation("Completed registration flow for {Phone}", phone); + return result; + } +} diff --git a/khmer_eid_backend/Integrations/Ory/OryAuthSchemeOptions.cs b/khmer_eid_backend/Integrations/Ory/OryAuthSchemeOptions.cs new file mode 100644 index 0000000..e722ac1 --- /dev/null +++ b/khmer_eid_backend/Integrations/Ory/OryAuthSchemeOptions.cs @@ -0,0 +1,9 @@ +//todo obsolete +using Microsoft.AspNetCore.Authentication; + +namespace khmer_eid_backend.Integrations.Ory; + +public sealed class OryAuthSchemeOptions : AuthenticationSchemeOptions +{ + public string? BasePath { get; set; } +} \ No newline at end of file diff --git a/khmer_eid_backend/Middlewares/KratosAuthMiddleware.cs b/khmer_eid_backend/Middlewares/KratosAuthMiddleware.cs new file mode 100644 index 0000000..68189b4 --- /dev/null +++ b/khmer_eid_backend/Middlewares/KratosAuthMiddleware.cs @@ -0,0 +1,27 @@ +// // validates token & attaches user info + +// public class KratosAuthMiddleware +// { +// private readonly RequestDelegate _next; + +// public KratosAuthMiddleware(RequestDelegate next) => _next = next; + +// public async Task InvokeAsync(HttpContext context, KratosIntegration kratos) +// { +// var cookie = context.Request.Headers["Cookie"].ToString(); +// var bearer = context.Request.Headers["Authorization"].ToString().Replace("Bearer ", ""); + +// var session = await kratos.ValidateSessionAsync(cookie, bearer); + +// if (session == null) +// { +// context.Response.StatusCode = StatusCodes.Status401Unauthorized; +// await context.Response.WriteAsync("Unauthorized"); +// return; +// } + +// // attach identity to HttpContext +// context.Items["user"] = session.Identity; +// await _next(context); +// } +// } diff --git a/khmer_eid_backend/Models/Kratos.cs b/khmer_eid_backend/Models/Kratos.cs new file mode 100644 index 0000000..944d7cb --- /dev/null +++ b/khmer_eid_backend/Models/Kratos.cs @@ -0,0 +1,25 @@ +// Data models that map Kratos JSON responses +using System.ComponentModel.DataAnnotations; + +namespace khmer_eid_backend.Models +{ + // Represents user traits stored in Kratos + public class KratosTraits + { + public string Phone { get; set; } = ""; + } + + // Represents an identity in Kratos + public class KratosIdentity + { + public string Id { get; set; } = ""; + public KratosTraits Traits { get; set; } = new(); + } + + // Represents a session returned by Kratos + public class KratosSession + { + public string Id { get; set; } = ""; + public KratosIdentity Identity { get; set; } = new(); + } +} \ No newline at end of file diff --git a/khmer_eid_backend/Models/User.cs b/khmer_eid_backend/Models/User.cs new file mode 100644 index 0000000..730806f --- /dev/null +++ b/khmer_eid_backend/Models/User.cs @@ -0,0 +1,7 @@ +public class UserProfile +{ + public int Id { get; set; } + public string KratosId { get; set; } = ""; // link to Kratos user + public string FullName { get; set; } = ""; + public string NationalId { get; set; } = ""; +} diff --git a/khmer_eid_backend/Program.cs b/khmer_eid_backend/Program.cs new file mode 100644 index 0000000..dbe319c --- /dev/null +++ b/khmer_eid_backend/Program.cs @@ -0,0 +1,19 @@ +using khmer_eid_backend.Integrations.Ory; +using Microsoft.AspNetCore.Authentication; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddSingleton(); + +builder.Services.AddAuthentication("Kratos") + .AddScheme("Kratos", _ => { }); + +builder.Services.AddAuthorization(); + +builder.Services.AddControllers(); + +var app = builder.Build(); +app.UseAuthentication(); +app.UseAuthorization(); +app.MapControllers(); +app.Run(); \ No newline at end of file diff --git a/khmer_eid_backend/Properties/launchSettings.json b/khmer_eid_backend/Properties/launchSettings.json new file mode 100644 index 0000000..cae27f4 --- /dev/null +++ b/khmer_eid_backend/Properties/launchSettings.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "http://localhost:5103", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "https://localhost:7208;http://localhost:5103", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/khmer_eid_backend/Requests/SignupRequest.cs b/khmer_eid_backend/Requests/SignupRequest.cs new file mode 100644 index 0000000..7700d61 --- /dev/null +++ b/khmer_eid_backend/Requests/SignupRequest.cs @@ -0,0 +1,10 @@ +namespace khmer_eid_backend.Requests; + +using System.ComponentModel.DataAnnotations; + +public class SignupRequest +{ + [Required] + [RegularExpression(@"^\+855\d{8,9}$", ErrorMessage = "Phone number must be in the format +855XXXXXXXX or +855XXXXXXXXX")] + public string Phone { get; set; } = default!; +} \ No newline at end of file diff --git a/khmer_eid_backend/Resources/SignupResource.cs b/khmer_eid_backend/Resources/SignupResource.cs new file mode 100644 index 0000000..ff0b10a --- /dev/null +++ b/khmer_eid_backend/Resources/SignupResource.cs @@ -0,0 +1,6 @@ +namespace khmer_eid_backend.Resources; + +public class SignupResource +{ + public string Phone { get; set; } = string.Empty; +} \ No newline at end of file diff --git a/khmer_eid_backend/Services/AuthService.cs b/khmer_eid_backend/Services/AuthService.cs new file mode 100644 index 0000000..e69de29 diff --git a/khmer_eid_backend/appsettings.Development.json b/khmer_eid_backend/appsettings.Development.json new file mode 100644 index 0000000..2885aba --- /dev/null +++ b/khmer_eid_backend/appsettings.Development.json @@ -0,0 +1,29 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Debug", + "Microsoft.AspNetCore": "Warning" + } + }, + "AppSettings": { + "ApplicationName": "Khmer eID Backend - Development" + }, + "Ory": { + "Kratos": { + "PublicUrl": "http://localhost:4433", + "AdminUrl": "http://localhost:4434" + } + }, + "Consul": { + "Address": "http://consul:8500" + }, + "Grpc": { + "GDIOnline": { + "Address": "https://gdi.dev.ekycsolutions.com" + } + }, + "Kyc": { + "BaseUrl": "https://uat.ekycsolutions.com", + "EKYC_SOLUTION_PRIVATE_KEY": "d4e5840f352d448a49f296e2344cffd406535969e5b7af84b8cb867dc6ab8258" + } +} diff --git a/khmer_eid_backend/appsettings.json b/khmer_eid_backend/appsettings.json new file mode 100644 index 0000000..faff88a --- /dev/null +++ b/khmer_eid_backend/appsettings.json @@ -0,0 +1,12 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "AppSettings": { + "ApplicationName": "Khmer eID Backend" + } +} diff --git a/khmer_eid_backend/bin/Debug/net9.0/Consul.dll b/khmer_eid_backend/bin/Debug/net9.0/Consul.dll new file mode 100755 index 0000000..2d7313f Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Consul.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/JsonSubTypes.dll b/khmer_eid_backend/bin/Debug/net9.0/JsonSubTypes.dll new file mode 100755 index 0000000..3e27b68 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/JsonSubTypes.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.AspNetCore.OpenApi.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.AspNetCore.OpenApi.dll new file mode 100755 index 0000000..b26a3db Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.AspNetCore.OpenApi.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll new file mode 100755 index 0000000..5230a86 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Binder.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Binder.dll new file mode 100755 index 0000000..e619c06 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Binder.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Configuration.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Configuration.dll new file mode 100755 index 0000000..71557a0 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Configuration.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100755 index 0000000..f531f26 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.dll new file mode 100755 index 0000000..7fbaa22 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.dll new file mode 100755 index 0000000..2e254d8 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Diagnostics.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Diagnostics.dll new file mode 100755 index 0000000..ca05dba Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Diagnostics.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Http.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Http.dll new file mode 100755 index 0000000..466793f Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Http.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Logging.Abstractions.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100755 index 0000000..ab89c5b Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Logging.Abstractions.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Logging.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Logging.dll new file mode 100755 index 0000000..85d21f3 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Logging.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll new file mode 100755 index 0000000..adc5552 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Options.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Options.dll new file mode 100755 index 0000000..8189fd3 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Options.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Primitives.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Primitives.dll new file mode 100755 index 0000000..f25294e Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Primitives.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Microsoft.OpenApi.dll b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.OpenApi.dll new file mode 100755 index 0000000..d9f09da Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Microsoft.OpenApi.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Newtonsoft.Json.dll b/khmer_eid_backend/bin/Debug/net9.0/Newtonsoft.Json.dll new file mode 100755 index 0000000..d035c38 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Newtonsoft.Json.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Ory.Kratos.Client.dll b/khmer_eid_backend/bin/Debug/net9.0/Ory.Kratos.Client.dll new file mode 100755 index 0000000..a599ab8 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Ory.Kratos.Client.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Polly.Core.dll b/khmer_eid_backend/bin/Debug/net9.0/Polly.Core.dll new file mode 100755 index 0000000..8eb2c65 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Polly.Core.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/Polly.dll b/khmer_eid_backend/bin/Debug/net9.0/Polly.dll new file mode 100755 index 0000000..ac7f79b Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/Polly.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/RestSharp.dll b/khmer_eid_backend/bin/Debug/net9.0/RestSharp.dll new file mode 100755 index 0000000..580f7af Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/RestSharp.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/appsettings.Development.json b/khmer_eid_backend/bin/Debug/net9.0/appsettings.Development.json new file mode 100644 index 0000000..2885aba --- /dev/null +++ b/khmer_eid_backend/bin/Debug/net9.0/appsettings.Development.json @@ -0,0 +1,29 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Debug", + "Microsoft.AspNetCore": "Warning" + } + }, + "AppSettings": { + "ApplicationName": "Khmer eID Backend - Development" + }, + "Ory": { + "Kratos": { + "PublicUrl": "http://localhost:4433", + "AdminUrl": "http://localhost:4434" + } + }, + "Consul": { + "Address": "http://consul:8500" + }, + "Grpc": { + "GDIOnline": { + "Address": "https://gdi.dev.ekycsolutions.com" + } + }, + "Kyc": { + "BaseUrl": "https://uat.ekycsolutions.com", + "EKYC_SOLUTION_PRIVATE_KEY": "d4e5840f352d448a49f296e2344cffd406535969e5b7af84b8cb867dc6ab8258" + } +} diff --git a/khmer_eid_backend/bin/Debug/net9.0/appsettings.json b/khmer_eid_backend/bin/Debug/net9.0/appsettings.json new file mode 100644 index 0000000..faff88a --- /dev/null +++ b/khmer_eid_backend/bin/Debug/net9.0/appsettings.json @@ -0,0 +1,12 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "AppSettings": { + "ApplicationName": "Khmer eID Backend" + } +} diff --git a/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend b/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend new file mode 100755 index 0000000..23161da Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.deps.json b/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.deps.json new file mode 100644 index 0000000..d2558a6 --- /dev/null +++ b/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.deps.json @@ -0,0 +1,458 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v9.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v9.0": { + "khmer_eid_backend/1.0.0": { + "dependencies": { + "Consul": "1.7.14.9", + "Microsoft.AspNetCore.OpenApi": "9.0.9", + "Microsoft.Extensions.Http": "9.0.9", + "Ory.Kratos.Client": "1.3.8" + }, + "runtime": { + "khmer_eid_backend.dll": {} + } + }, + "Consul/1.7.14.9": { + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "Newtonsoft.Json": "13.0.3" + }, + "runtime": { + "lib/netstandard2.0/Consul.dll": { + "assemblyVersion": "1.7.14.9", + "fileVersion": "1.7.14.9" + } + } + }, + "JsonSubTypes/2.0.1": { + "dependencies": { + "Newtonsoft.Json": "13.0.3" + }, + "runtime": { + "lib/netstandard2.0/JsonSubTypes.dll": { + "assemblyVersion": "2.0.1.0", + "fileVersion": "2.0.1.0" + } + } + }, + "Microsoft.AspNetCore.OpenApi/9.0.9": { + "dependencies": { + "Microsoft.OpenApi": "1.6.17" + }, + "runtime": { + "lib/net9.0/Microsoft.AspNetCore.OpenApi.dll": { + "assemblyVersion": "9.0.9.0", + "fileVersion": "9.0.925.42003" + } + } + }, + "Microsoft.CSharp/4.7.0": {}, + "Microsoft.Extensions.Configuration/9.0.9": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "9.0.9", + "Microsoft.Extensions.Primitives": "9.0.9" + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Configuration.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/9.0.9": { + "dependencies": { + "Microsoft.Extensions.Primitives": "9.0.9" + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.Extensions.Configuration.Binder/9.0.9": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "9.0.9" + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Configuration.Binder.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.Extensions.DependencyInjection/9.0.9": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9" + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.9": { + "runtime": { + "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.Extensions.Diagnostics/9.0.9": { + "dependencies": { + "Microsoft.Extensions.Configuration": "9.0.9", + "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.9", + "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.9" + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Diagnostics.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.Extensions.Diagnostics.Abstractions/9.0.9": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9", + "Microsoft.Extensions.Options": "9.0.9" + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.Extensions.Http/9.0.9": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "9.0.9", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9", + "Microsoft.Extensions.Diagnostics": "9.0.9", + "Microsoft.Extensions.Logging": "9.0.9", + "Microsoft.Extensions.Logging.Abstractions": "9.0.9", + "Microsoft.Extensions.Options": "9.0.9" + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Http.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.Extensions.Logging/9.0.9": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "9.0.9", + "Microsoft.Extensions.Logging.Abstractions": "9.0.9", + "Microsoft.Extensions.Options": "9.0.9" + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/9.0.9": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9" + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.Extensions.Options/9.0.9": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9", + "Microsoft.Extensions.Primitives": "9.0.9" + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/9.0.9": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "9.0.9", + "Microsoft.Extensions.Configuration.Binder": "9.0.9", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9", + "Microsoft.Extensions.Options": "9.0.9", + "Microsoft.Extensions.Primitives": "9.0.9" + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.Extensions.Primitives/9.0.9": { + "runtime": { + "lib/net9.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.OpenApi/1.6.17": { + "runtime": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "assemblyVersion": "1.6.17.0", + "fileVersion": "1.6.17.0" + } + } + }, + "Newtonsoft.Json/13.0.3": { + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.3.27908" + } + } + }, + "Ory.Kratos.Client/1.3.8": { + "dependencies": { + "JsonSubTypes": "2.0.1", + "Newtonsoft.Json": "13.0.3", + "Polly": "8.1.0", + "RestSharp": "110.2.0" + }, + "runtime": { + "lib/net6.0/Ory.Kratos.Client.dll": { + "assemblyVersion": "0.0.0.0", + "fileVersion": "0.0.0.0" + } + } + }, + "Polly/8.1.0": { + "dependencies": { + "Polly.Core": "8.1.0" + }, + "runtime": { + "lib/net6.0/Polly.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.1.0.2599" + } + } + }, + "Polly.Core/8.1.0": { + "runtime": { + "lib/net6.0/Polly.Core.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.1.0.2599" + } + } + }, + "RestSharp/110.2.0": { + "dependencies": { + "System.Text.Json": "7.0.2" + }, + "runtime": { + "lib/net7.0/RestSharp.dll": { + "assemblyVersion": "110.2.0.0", + "fileVersion": "110.2.0.0" + } + } + }, + "System.Text.Encodings.Web/7.0.0": {}, + "System.Text.Json/7.0.2": { + "dependencies": { + "System.Text.Encodings.Web": "7.0.0" + } + } + } + }, + "libraries": { + "khmer_eid_backend/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Consul/1.7.14.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PZD63GVWmIb5KcJL5NP5KZVAMREKBTL5mj9ra4Nm2vZeVjPlTkbFfLHxinEIB7BRzjyh/5V3P5RjrfJI52nocw==", + "path": "consul/1.7.14.9", + "hashPath": "consul.1.7.14.9.nupkg.sha512" + }, + "JsonSubTypes/2.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1Po+Ypf0SjCeEKx5+C89Nb5OgTcqNvfS3uTI46MUM+KEp6Rq/M0h+vVsTUt/6DFRwZMTpsAJM4yJrZmEObVANA==", + "path": "jsonsubtypes/2.0.1", + "hashPath": "jsonsubtypes.2.0.1.nupkg.sha512" + }, + "Microsoft.AspNetCore.OpenApi/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Sina0gS/CTYt9XG6DUFPdXOmJui7e551U0kO2bIiDk3vZ2sctxxenN+cE1a5CrUpjIVZfZr32neWYYRO+Piaw==", + "path": "microsoft.aspnetcore.openapi/9.0.9", + "hashPath": "microsoft.aspnetcore.openapi.9.0.9.nupkg.sha512" + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "path": "microsoft.csharp/4.7.0", + "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w87wF/90/VI0ZQBhf4rbMEeyEy0vi2WKjFmACsNAKNaorY+ZlVz7ddyXkbADvaWouMKffNmR0yQOGcrvSSvKGg==", + "path": "microsoft.extensions.configuration/9.0.9", + "hashPath": "microsoft.extensions.configuration.9.0.9.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-p5RKAY9POvs3axwA/AQRuJeM8AHuE8h4qbP1NxQeGm0ep46aXz1oCLAp/oOYxX1GsjStgdhHrN3XXLLXr0+b3w==", + "path": "microsoft.extensions.configuration.abstractions/9.0.9", + "hashPath": "microsoft.extensions.configuration.abstractions.9.0.9.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Binder/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6SIp/6Bngk4jm2W36JekZbiIbFPdE/eMUtrJEqIqHGpd1zar3jvgnwxnpWQfzUiGrkyY8q8s6V82zkkEZozghA==", + "path": "microsoft.extensions.configuration.binder/9.0.9", + "hashPath": "microsoft.extensions.configuration.binder.9.0.9.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zQV2WOSP+3z1EuK91ULxfGgo2Y75bTRnmJHp08+w/YXAyekZutX/qCd88/HOMNh35MDW9mJJJxPpMPS+1Rww8A==", + "path": "microsoft.extensions.dependencyinjection/9.0.9", + "hashPath": "microsoft.extensions.dependencyinjection.9.0.9.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/hymojfWbE9AlDOa0mczR44m00Jj+T3+HZO0ZnVTI032fVycI0ZbNOVFP6kqZMcXiLSYXzR2ilcwaRi6dzeGyA==", + "path": "microsoft.extensions.dependencyinjection.abstractions/9.0.9", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.9.nupkg.sha512" + }, + "Microsoft.Extensions.Diagnostics/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gtzl9SD6CvFYOb92qEF41Z9rICzYniM342TWbbJwN3eLS6a5fCLFvO1pQGtpMSnP3h1zHXupMEeKSA9musWYCQ==", + "path": "microsoft.extensions.diagnostics/9.0.9", + "hashPath": "microsoft.extensions.diagnostics.9.0.9.nupkg.sha512" + }, + "Microsoft.Extensions.Diagnostics.Abstractions/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YHGmxccrVZ2Ar3eI+/NdbOHkd1/HzrHvmQ5yBsp0Gl7jTyBe6qcXNYjUt9v9JIO+Z14la44+YYEe63JSqs1fYg==", + "path": "microsoft.extensions.diagnostics.abstractions/9.0.9", + "hashPath": "microsoft.extensions.diagnostics.abstractions.9.0.9.nupkg.sha512" + }, + "Microsoft.Extensions.Http/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dTmh5Rj4/WpirsN1PDs8YhyaodgtzxWqPKaT+B3Zn72uHKLJOuxIt06HTea126eEDWHYSLNN61I4snw7PuerFg==", + "path": "microsoft.extensions.http/9.0.9", + "hashPath": "microsoft.extensions.http.9.0.9.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MaCB0Y9hNDs4YLu3HCJbo199WnJT8xSgajG1JYGANz9FkseQ5f3v/llu3HxLI6mjDlu7pa7ps9BLPWjKzsAAzQ==", + "path": "microsoft.extensions.logging/9.0.9", + "hashPath": "microsoft.extensions.logging.9.0.9.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FEgpSF+Z9StMvrsSViaybOBwR0f0ZZxDm8xV5cSOFiXN/t+ys+rwAlTd/6yG7Ld1gfppgvLcMasZry3GsI9lGA==", + "path": "microsoft.extensions.logging.abstractions/9.0.9", + "hashPath": "microsoft.extensions.logging.abstractions.9.0.9.nupkg.sha512" + }, + "Microsoft.Extensions.Options/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-loxGGHE1FC2AefwPHzrjPq7X92LQm64qnU/whKfo6oWaceewPUVYQJBJs3S3E2qlWwnCpeZ+dGCPTX+5dgVAuQ==", + "path": "microsoft.extensions.options/9.0.9", + "hashPath": "microsoft.extensions.options.9.0.9.nupkg.sha512" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-n4DCdnn2qs6V5U06Sx62FySEAZsJiJJgOzrPHDh9hPK7c2W8hEabC76F3Re3tGPjpiKa02RvB6FxZyxo8iICzg==", + "path": "microsoft.extensions.options.configurationextensions/9.0.9", + "hashPath": "microsoft.extensions.options.configurationextensions.9.0.9.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-z4pyMePOrl733ltTowbN565PxBw1oAr8IHmIXNDiDqd22nFpYltX9KhrNC/qBWAG1/Zx5MHX+cOYhWJQYCO/iw==", + "path": "microsoft.extensions.primitives/9.0.9", + "hashPath": "microsoft.extensions.primitives.9.0.9.nupkg.sha512" + }, + "Microsoft.OpenApi/1.6.17": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Le+kehlmrlQfuDFUt1zZ2dVwrhFQtKREdKBo+rexOwaCoYP0/qpgT9tLxCsZjsgR5Itk1UKPcbgO+FyaNid/bA==", + "path": "microsoft.openapi/1.6.17", + "hashPath": "microsoft.openapi.1.6.17.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", + "path": "newtonsoft.json/13.0.3", + "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512" + }, + "Ory.Kratos.Client/1.3.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dvl9tw2w0dexSQF03APQ9bzs3cXrnTBnbzS+7TZ6Mc+e2bKgVXNHcRF4p8M2pAKNSTlT0+nFrtRmrATJ/VlVUw==", + "path": "ory.kratos.client/1.3.8", + "hashPath": "ory.kratos.client.1.3.8.nupkg.sha512" + }, + "Polly/8.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-EeCJCjxX/Czm6sjnEWbeCBfogYHLcPNEL6yJT5nZzT0U78sizhTYhY2l5aXxTD+DWeVRLZtkUHqWp7ij+tvYCQ==", + "path": "polly/8.1.0", + "hashPath": "polly.8.1.0.nupkg.sha512" + }, + "Polly.Core/8.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-M9Mlim+I9QNP/Hu6SuWMTUFnjQPvYViGk1IAJyvdl85zNedmos8Yzx74/xPa+TEi3uof3H1xQLwAzWebhEvEYw==", + "path": "polly.core/8.1.0", + "hashPath": "polly.core.8.1.0.nupkg.sha512" + }, + "RestSharp/110.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FXGw0IMcqY7yO/hzS9QrD3iNswNgb9UxJnxWmfOxmGs4kRlZWqdtBoGPLuhlbgsDzX1RFo4WKui8TGGKXWKalw==", + "path": "restsharp/110.2.0", + "hashPath": "restsharp.110.2.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OP6umVGxc0Z0MvZQBVigj4/U31Pw72ITihDWP9WiWDm+q5aoe0GaJivsfYGq53o6dxH7DcXWiCTl7+0o2CGdmg==", + "path": "system.text.encodings.web/7.0.0", + "hashPath": "system.text.encodings.web.7.0.0.nupkg.sha512" + }, + "System.Text.Json/7.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/LZf/JrGyilojqwpaywb+sSz8Tew7ij4K/Sk+UW8AKfAK7KRhR6mKpKtTm06cYA7bCpGTWfYksIW+mVsdxPegQ==", + "path": "system.text.json/7.0.2", + "hashPath": "system.text.json.7.0.2.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.dll b/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.dll new file mode 100644 index 0000000..b100365 Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.dll differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.pdb b/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.pdb new file mode 100644 index 0000000..c57b7ce Binary files /dev/null and b/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.pdb differ diff --git a/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.runtimeconfig.json b/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.runtimeconfig.json new file mode 100644 index 0000000..6925b65 --- /dev/null +++ b/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.runtimeconfig.json @@ -0,0 +1,19 @@ +{ + "runtimeOptions": { + "tfm": "net9.0", + "frameworks": [ + { + "name": "Microsoft.NETCore.App", + "version": "9.0.0" + }, + { + "name": "Microsoft.AspNetCore.App", + "version": "9.0.0" + } + ], + "configProperties": { + "System.GC.Server": true, + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.staticwebassets.endpoints.json b/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.staticwebassets.endpoints.json new file mode 100644 index 0000000..5576e88 --- /dev/null +++ b/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.staticwebassets.endpoints.json @@ -0,0 +1 @@ +{"Version":1,"ManifestType":"Build","Endpoints":[]} \ No newline at end of file diff --git a/khmer_eid_backend/khmer_eid_backend.csproj b/khmer_eid_backend/khmer_eid_backend.csproj new file mode 100644 index 0000000..e63d416 --- /dev/null +++ b/khmer_eid_backend/khmer_eid_backend.csproj @@ -0,0 +1,17 @@ + + + + net9.0 + enable + enable + + + + + + + + + + + \ No newline at end of file diff --git a/khmer_eid_backend/khmer_eid_backend.http b/khmer_eid_backend/khmer_eid_backend.http new file mode 100644 index 0000000..af9f7fa --- /dev/null +++ b/khmer_eid_backend/khmer_eid_backend.http @@ -0,0 +1,6 @@ +@khmer_eid_backend_HostAddress = http://localhost:5103 + +GET {{khmer_eid_backend_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/khmer_eid_backend/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs b/khmer_eid_backend/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs new file mode 100644 index 0000000..9e76325 --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")] diff --git a/khmer_eid_backend/obj/Debug/net9.0/956ece0a1f635ea2_user.protodep b/khmer_eid_backend/obj/Debug/net9.0/956ece0a1f635ea2_user.protodep new file mode 100644 index 0000000..ad89255 --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/956ece0a1f635ea2_user.protodep @@ -0,0 +1 @@ +obj/Debug/net9.0/Protos/gdi_online/User.cs: Protos/gdi_online/user.proto \ No newline at end of file diff --git a/khmer_eid_backend/obj/Debug/net9.0/Protos/gdi_online/User.cs b/khmer_eid_backend/obj/Debug/net9.0/Protos/gdi_online/User.cs new file mode 100644 index 0000000..b65991d --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/Protos/gdi_online/User.cs @@ -0,0 +1,34 @@ +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: Protos/gdi_online/user.proto +// +#pragma warning disable 1591, 0612, 3021, 8981 +#region Designer generated code + +using pb = global::Google.Protobuf; +using pbc = global::Google.Protobuf.Collections; +using pbr = global::Google.Protobuf.Reflection; +using scg = global::System.Collections.Generic; +/// Holder for reflection information generated from Protos/gdi_online/user.proto +public static partial class UserReflection { + + #region Descriptor + /// File descriptor for Protos/gdi_online/user.proto + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static UserReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "ChxQcm90b3MvZ2RpX29ubGluZS91c2VyLnByb3Rv")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedClrTypeInfo(null, null, null)); + } + #endregion + +} + +#endregion Designer generated code diff --git a/khmer_eid_backend/obj/Debug/net9.0/Protos/gdi_online/UserGrpc.cs b/khmer_eid_backend/obj/Debug/net9.0/Protos/gdi_online/UserGrpc.cs new file mode 100644 index 0000000..e69de29 diff --git a/khmer_eid_backend/obj/Debug/net9.0/apphost b/khmer_eid_backend/obj/Debug/net9.0/apphost new file mode 100755 index 0000000..23161da Binary files /dev/null and b/khmer_eid_backend/obj/Debug/net9.0/apphost differ diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eID_backend.AssemblyInfo.cs b/khmer_eid_backend/obj/Debug/net9.0/khmer_eID_backend.AssemblyInfo.cs new file mode 100644 index 0000000..819b65a --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/khmer_eID_backend.AssemblyInfo.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("khmer_eid_backend")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("khmer_eid_backend")] +[assembly: System.Reflection.AssemblyTitleAttribute("khmer_eid_backend")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eID_backend.AssemblyInfoInputs.cache b/khmer_eid_backend/obj/Debug/net9.0/khmer_eID_backend.AssemblyInfoInputs.cache new file mode 100644 index 0000000..e71f944 --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/khmer_eID_backend.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +61fbb10b42c7bda158ee99212ee4786aaac8a58c9e716b0f4e4c0b8efe0cc1f9 diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eID_backend.GeneratedMSBuildEditorConfig.editorconfig b/khmer_eid_backend/obj/Debug/net9.0/khmer_eID_backend.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..b460d26 --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/khmer_eID_backend.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,21 @@ +is_global = true +build_property.TargetFramework = net9.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = true +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = khmer_eid_backend +build_property.RootNamespace = khmer_eid_backend +build_property.ProjectDir = /Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.RazorLangVersion = 9.0 +build_property.SupportLocalizedComponentNames = +build_property.GenerateRazorMetadataSourceChecksumAttributes = +build_property.MSBuildProjectDirectory = /Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend +build_property._RazorSourceGeneratorDebug = +build_property.EffectiveAnalysisLevelStyle = 9.0 +build_property.EnableCodeStyleSeverity = diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eID_backend.GlobalUsings.g.cs b/khmer_eid_backend/obj/Debug/net9.0/khmer_eID_backend.GlobalUsings.g.cs new file mode 100644 index 0000000..025530a --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/khmer_eID_backend.GlobalUsings.g.cs @@ -0,0 +1,17 @@ +// +global using global::Microsoft.AspNetCore.Builder; +global using global::Microsoft.AspNetCore.Hosting; +global using global::Microsoft.AspNetCore.Http; +global using global::Microsoft.AspNetCore.Routing; +global using global::Microsoft.Extensions.Configuration; +global using global::Microsoft.Extensions.DependencyInjection; +global using global::Microsoft.Extensions.Hosting; +global using global::Microsoft.Extensions.Logging; +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Net.Http.Json; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_ei.AB393336.Up2Date b/khmer_eid_backend/obj/Debug/net9.0/khmer_ei.AB393336.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.MvcApplicationPartsAssemblyInfo.cache b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.MvcApplicationPartsAssemblyInfo.cache new file mode 100644 index 0000000..e69de29 diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.MvcApplicationPartsAssemblyInfo.cs b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.MvcApplicationPartsAssemblyInfo.cs new file mode 100644 index 0000000..1c3041b --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.MvcApplicationPartsAssemblyInfo.cs @@ -0,0 +1,16 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Microsoft.AspNetCore.OpenApi")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.assets.cache b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.assets.cache new file mode 100644 index 0000000..7d66c29 Binary files /dev/null and b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.assets.cache differ diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.csproj.AssemblyReference.cache b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.csproj.AssemblyReference.cache new file mode 100644 index 0000000..893504d Binary files /dev/null and b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.csproj.AssemblyReference.cache differ diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.csproj.CoreCompileInputs.cache b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..e34f58b --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +1cba3987e078add6be94db12fbe6474e14778bff75fedf54a8faf81ecb0716bd diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.csproj.FileListAbsolute.txt b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..4ef7164 --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.csproj.FileListAbsolute.txt @@ -0,0 +1,99 @@ +/app/bin/Debug/net9.0/appsettings.Development.json +/app/bin/Debug/net9.0/appsettings.json +/app/bin/Debug/net9.0/khmer_eid_backend.staticwebassets.endpoints.json +/app/bin/Debug/net9.0/khmer_eid_backend +/app/bin/Debug/net9.0/khmer_eid_backend.deps.json +/app/bin/Debug/net9.0/khmer_eid_backend.runtimeconfig.json +/app/bin/Debug/net9.0/khmer_eid_backend.dll +/app/bin/Debug/net9.0/khmer_eid_backend.pdb +/app/bin/Debug/net9.0/Consul.dll +/app/bin/Debug/net9.0/Microsoft.AspNetCore.OpenApi.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.Configuration.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Binder.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.Diagnostics.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.Http.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.Logging.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.Logging.Abstractions.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.Options.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll +/app/bin/Debug/net9.0/Microsoft.Extensions.Primitives.dll +/app/bin/Debug/net9.0/Microsoft.OpenApi.dll +/app/bin/Debug/net9.0/Newtonsoft.Json.dll +/app/obj/Debug/net9.0/khmer_eid_backend.csproj.AssemblyReference.cache +/app/obj/Debug/net9.0/rpswa.dswa.cache.json +/app/obj/Debug/net9.0/khmer_eid_backend.GeneratedMSBuildEditorConfig.editorconfig +/app/obj/Debug/net9.0/khmer_eid_backend.AssemblyInfoInputs.cache +/app/obj/Debug/net9.0/khmer_eid_backend.AssemblyInfo.cs +/app/obj/Debug/net9.0/khmer_eid_backend.csproj.CoreCompileInputs.cache +/app/obj/Debug/net9.0/khmer_eid_backend.MvcApplicationPartsAssemblyInfo.cs +/app/obj/Debug/net9.0/khmer_eid_backend.MvcApplicationPartsAssemblyInfo.cache +/app/obj/Debug/net9.0/rjimswa.dswa.cache.json +/app/obj/Debug/net9.0/rjsmrazor.dswa.cache.json +/app/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json +/app/obj/Debug/net9.0/scopedcss/bundle/khmer_eid_backend.styles.css +/app/obj/Debug/net9.0/staticwebassets.build.json +/app/obj/Debug/net9.0/staticwebassets.build.json.cache +/app/obj/Debug/net9.0/staticwebassets.development.json +/app/obj/Debug/net9.0/staticwebassets.build.endpoints.json +/app/obj/Debug/net9.0/khmer_ei.AB393336.Up2Date +/app/obj/Debug/net9.0/khmer_eid_backend.dll +/app/obj/Debug/net9.0/refint/khmer_eid_backend.dll +/app/obj/Debug/net9.0/khmer_eid_backend.pdb +/app/obj/Debug/net9.0/khmer_eid_backend.genruntimeconfig.cache +/app/obj/Debug/net9.0/ref/khmer_eid_backend.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/appsettings.Development.json +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/appsettings.json +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.staticwebassets.endpoints.json +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.deps.json +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.runtimeconfig.json +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/khmer_eid_backend.pdb +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Consul.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.AspNetCore.OpenApi.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Configuration.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Configuration.Binder.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Diagnostics.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Http.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Logging.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Logging.Abstractions.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Options.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.Extensions.Primitives.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Microsoft.OpenApi.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Newtonsoft.Json.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.csproj.AssemblyReference.cache +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/rpswa.dswa.cache.json +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.GeneratedMSBuildEditorConfig.editorconfig +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.AssemblyInfoInputs.cache +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.AssemblyInfo.cs +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.csproj.CoreCompileInputs.cache +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.MvcApplicationPartsAssemblyInfo.cs +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.MvcApplicationPartsAssemblyInfo.cache +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/rjimswa.dswa.cache.json +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/rjsmrazor.dswa.cache.json +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/scopedcss/bundle/khmer_eid_backend.styles.css +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.build.json +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.build.json.cache +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.development.json +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.build.endpoints.json +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/khmer_ei.AB393336.Up2Date +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/refint/khmer_eid_backend.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.pdb +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.genruntimeconfig.cache +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/Debug/net9.0/ref/khmer_eid_backend.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/JsonSubTypes.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Ory.Kratos.Client.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Polly.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/Polly.Core.dll +/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/bin/Debug/net9.0/RestSharp.dll diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.dll b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.dll new file mode 100644 index 0000000..b100365 Binary files /dev/null and b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.dll differ diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.genruntimeconfig.cache b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.genruntimeconfig.cache new file mode 100644 index 0000000..3d8c070 --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.genruntimeconfig.cache @@ -0,0 +1 @@ +6abcebc0587d88cb0bb07ce5d3b92829d22bba60493640a78e598e12da53714d diff --git a/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.pdb b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.pdb new file mode 100644 index 0000000..c57b7ce Binary files /dev/null and b/khmer_eid_backend/obj/Debug/net9.0/khmer_eid_backend.pdb differ diff --git a/khmer_eid_backend/obj/Debug/net9.0/ref/khmer_eid_backend.dll b/khmer_eid_backend/obj/Debug/net9.0/ref/khmer_eid_backend.dll new file mode 100644 index 0000000..fb46edb Binary files /dev/null and b/khmer_eid_backend/obj/Debug/net9.0/ref/khmer_eid_backend.dll differ diff --git a/khmer_eid_backend/obj/Debug/net9.0/refint/khmer_eid_backend.dll b/khmer_eid_backend/obj/Debug/net9.0/refint/khmer_eid_backend.dll new file mode 100644 index 0000000..fb46edb Binary files /dev/null and b/khmer_eid_backend/obj/Debug/net9.0/refint/khmer_eid_backend.dll differ diff --git a/khmer_eid_backend/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json b/khmer_eid_backend/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json new file mode 100644 index 0000000..544af2a --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json @@ -0,0 +1 @@ +{"GlobalPropertiesHash":"hLaq/9fRltoqAQYk//S1ccPyAsYZ/f5pweB8kt3iaSE=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["pV1VdkIX8xZmGEw/WQxQsIphTlnQ8qx1tMqHUEJpCok=","zVrbkSKLBP11XPyaUz5bEP8Ahr\u002BYDn/dL/\u002BJgljkfSU=","DOB4g6UVOdlReaMb1lWjCTXR6q\u002BXnkk2oZ4ne\u002BG5\u002B3M=","EIwv7E7Wq2PqbqjkjrzE3aEBTVc7bxGUg/YStC4ehos=","Fxhhz3CBfv7z09juV7ju3HxhHmYUiA4vRqnjrz6WLG0="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file diff --git a/khmer_eid_backend/obj/Debug/net9.0/rjsmrazor.dswa.cache.json b/khmer_eid_backend/obj/Debug/net9.0/rjsmrazor.dswa.cache.json new file mode 100644 index 0000000..a7a9d91 --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/rjsmrazor.dswa.cache.json @@ -0,0 +1 @@ +{"GlobalPropertiesHash":"TLcU5CTe5YVSPBjak4sWWGX/tE/XZPWcTKK5jHN1WUM=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["pV1VdkIX8xZmGEw/WQxQsIphTlnQ8qx1tMqHUEJpCok=","zVrbkSKLBP11XPyaUz5bEP8Ahr\u002BYDn/dL/\u002BJgljkfSU=","DOB4g6UVOdlReaMb1lWjCTXR6q\u002BXnkk2oZ4ne\u002BG5\u002B3M=","EIwv7E7Wq2PqbqjkjrzE3aEBTVc7bxGUg/YStC4ehos=","Fxhhz3CBfv7z09juV7ju3HxhHmYUiA4vRqnjrz6WLG0="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file diff --git a/khmer_eid_backend/obj/Debug/net9.0/rpswa.dswa.cache.json b/khmer_eid_backend/obj/Debug/net9.0/rpswa.dswa.cache.json new file mode 100644 index 0000000..0ea0860 --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/rpswa.dswa.cache.json @@ -0,0 +1 @@ +{"GlobalPropertiesHash":"ZdrHShuyN5m1K2F/61uspkSjyKuLAosdTDNN8ymKbjE=","FingerprintPatternsHash":"gq3WsqcKBUGTSNle7RKKyXRIwh7M8ccEqOqYvIzoM04=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["pV1VdkIX8xZmGEw/WQxQsIphTlnQ8qx1tMqHUEJpCok=","zVrbkSKLBP11XPyaUz5bEP8Ahr\u002BYDn/dL/\u002BJgljkfSU="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file diff --git a/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.build.endpoints.json b/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.build.endpoints.json new file mode 100644 index 0000000..5576e88 --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.build.endpoints.json @@ -0,0 +1 @@ +{"Version":1,"ManifestType":"Build","Endpoints":[]} \ No newline at end of file diff --git a/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.build.json b/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.build.json new file mode 100644 index 0000000..fd94f4e --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.build.json @@ -0,0 +1 @@ +{"Version":1,"Hash":"PkfWvTmQcVXGM6ySQWUbz9RtH3oKyUKkLYhMX3BrigU=","Source":"khmer_eid_backend","BasePath":"_content/khmer_eid_backend","Mode":"Default","ManifestType":"Build","ReferencedProjectsConfiguration":[],"DiscoveryPatterns":[],"Assets":[],"Endpoints":[]} \ No newline at end of file diff --git a/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.build.json.cache b/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.build.json.cache new file mode 100644 index 0000000..b93f62e --- /dev/null +++ b/khmer_eid_backend/obj/Debug/net9.0/staticwebassets.build.json.cache @@ -0,0 +1 @@ +PkfWvTmQcVXGM6ySQWUbz9RtH3oKyUKkLYhMX3BrigU= \ No newline at end of file diff --git a/khmer_eid_backend/obj/khmer_eid_backend.csproj.nuget.dgspec.json b/khmer_eid_backend/obj/khmer_eid_backend.csproj.nuget.dgspec.json new file mode 100644 index 0000000..99d5a4e --- /dev/null +++ b/khmer_eid_backend/obj/khmer_eid_backend.csproj.nuget.dgspec.json @@ -0,0 +1,88 @@ +{ + "format": 1, + "restore": { + "/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/khmer_eid_backend.csproj": {} + }, + "projects": { + "/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/khmer_eid_backend.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/khmer_eid_backend.csproj", + "projectName": "khmer_eid_backend", + "projectPath": "/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/khmer_eid_backend.csproj", + "packagesPath": "/Users/ichen/.nuget/packages/", + "outputPath": "/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/Users/ichen/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net9.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.300" + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "dependencies": { + "Consul": { + "target": "Package", + "version": "[1.7.14.9, )" + }, + "Microsoft.AspNetCore.OpenApi": { + "target": "Package", + "version": "[9.0.9, )" + }, + "Microsoft.Extensions.Http": { + "target": "Package", + "version": "[9.0.9, )" + }, + "Ory.Kratos.Client": { + "target": "Package", + "version": "[1.3.8, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.AspNetCore.App": { + "privateAssets": "none" + }, + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/9.0.305/PortableRuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/khmer_eid_backend/obj/khmer_eid_backend.csproj.nuget.g.props b/khmer_eid_backend/obj/khmer_eid_backend.csproj.nuget.g.props new file mode 100644 index 0000000..45e7949 --- /dev/null +++ b/khmer_eid_backend/obj/khmer_eid_backend.csproj.nuget.g.props @@ -0,0 +1,15 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + /Users/ichen/.nuget/packages/ + /Users/ichen/.nuget/packages/ + PackageReference + 6.14.0 + + + + + \ No newline at end of file diff --git a/khmer_eid_backend/obj/khmer_eid_backend.csproj.nuget.g.targets b/khmer_eid_backend/obj/khmer_eid_backend.csproj.nuget.g.targets new file mode 100644 index 0000000..11f924c --- /dev/null +++ b/khmer_eid_backend/obj/khmer_eid_backend.csproj.nuget.g.targets @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/khmer_eid_backend/obj/project.assets.json b/khmer_eid_backend/obj/project.assets.json new file mode 100644 index 0000000..3b003e9 --- /dev/null +++ b/khmer_eid_backend/obj/project.assets.json @@ -0,0 +1,1188 @@ +{ + "version": 3, + "targets": { + "net9.0": { + "Consul/1.7.14.9": { + "type": "package", + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "Newtonsoft.Json": "13.0.1" + }, + "compile": { + "lib/netstandard2.0/Consul.dll": {} + }, + "runtime": { + "lib/netstandard2.0/Consul.dll": {} + } + }, + "JsonSubTypes/2.0.1": { + "type": "package", + "dependencies": { + "Newtonsoft.Json": "13.0.1" + }, + "compile": { + "lib/netstandard2.0/JsonSubTypes.dll": {} + }, + "runtime": { + "lib/netstandard2.0/JsonSubTypes.dll": {} + } + }, + "Microsoft.AspNetCore.OpenApi/9.0.9": { + "type": "package", + "dependencies": { + "Microsoft.OpenApi": "1.6.17" + }, + "compile": { + "lib/net9.0/Microsoft.AspNetCore.OpenApi.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.AspNetCore.OpenApi.dll": {} + }, + "frameworkReferences": [ + "Microsoft.AspNetCore.App" + ] + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "compile": { + "ref/netcoreapp2.0/_._": {} + }, + "runtime": { + "lib/netcoreapp2.0/_._": {} + } + }, + "Microsoft.Extensions.Configuration/9.0.9": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "9.0.9", + "Microsoft.Extensions.Primitives": "9.0.9" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Configuration.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Configuration.dll": {} + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Configuration.Abstractions/9.0.9": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "9.0.9" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Configuration.Binder/9.0.9": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "9.0.9" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Configuration.Binder.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Configuration.Binder.dll": {} + }, + "build": { + "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets": {} + } + }, + "Microsoft.Extensions.DependencyInjection/9.0.9": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.DependencyInjection.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.DependencyInjection.dll": {} + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.9": { + "type": "package", + "compile": { + "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Diagnostics/9.0.9": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration": "9.0.9", + "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.9", + "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.9" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Diagnostics.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Diagnostics.dll": {} + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Diagnostics.Abstractions/9.0.9": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9", + "Microsoft.Extensions.Options": "9.0.9" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {} + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Http/9.0.9": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "9.0.9", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9", + "Microsoft.Extensions.Diagnostics": "9.0.9", + "Microsoft.Extensions.Logging": "9.0.9", + "Microsoft.Extensions.Logging.Abstractions": "9.0.9", + "Microsoft.Extensions.Options": "9.0.9" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Http.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Http.dll": {} + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Logging/9.0.9": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "9.0.9", + "Microsoft.Extensions.Logging.Abstractions": "9.0.9", + "Microsoft.Extensions.Options": "9.0.9" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Logging.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Logging.dll": {} + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Logging.Abstractions/9.0.9": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": {} + }, + "build": { + "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets": {} + } + }, + "Microsoft.Extensions.Options/9.0.9": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9", + "Microsoft.Extensions.Primitives": "9.0.9" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Options.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Options.dll": {} + }, + "build": { + "buildTransitive/net8.0/Microsoft.Extensions.Options.targets": {} + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/9.0.9": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "9.0.9", + "Microsoft.Extensions.Configuration.Binder": "9.0.9", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.9", + "Microsoft.Extensions.Options": "9.0.9", + "Microsoft.Extensions.Primitives": "9.0.9" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": {} + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Primitives/9.0.9": { + "type": "package", + "compile": { + "lib/net9.0/Microsoft.Extensions.Primitives.dll": {} + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Primitives.dll": {} + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.OpenApi/1.6.17": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "related": ".pdb" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "related": ".pdb" + } + } + }, + "Newtonsoft.Json/13.0.3": { + "type": "package", + "compile": { + "lib/net6.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + } + }, + "Ory.Kratos.Client/1.3.8": { + "type": "package", + "dependencies": { + "JsonSubTypes": "2.0.1", + "Newtonsoft.Json": "13.0.3", + "Polly": "8.1.0", + "RestSharp": "110.2.0" + }, + "compile": { + "lib/net6.0/Ory.Kratos.Client.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Ory.Kratos.Client.dll": { + "related": ".xml" + } + } + }, + "Polly/8.1.0": { + "type": "package", + "dependencies": { + "Polly.Core": "8.1.0" + }, + "compile": { + "lib/net6.0/Polly.dll": { + "related": ".pdb" + } + }, + "runtime": { + "lib/net6.0/Polly.dll": { + "related": ".pdb" + } + } + }, + "Polly.Core/8.1.0": { + "type": "package", + "compile": { + "lib/net6.0/Polly.Core.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net6.0/Polly.Core.dll": { + "related": ".pdb;.xml" + } + } + }, + "RestSharp/110.2.0": { + "type": "package", + "dependencies": { + "System.Text.Json": "7.0.2" + }, + "compile": { + "lib/net7.0/RestSharp.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net7.0/RestSharp.dll": { + "related": ".xml" + } + } + }, + "System.Text.Encodings.Web/7.0.0": { + "type": "package", + "compile": { + "lib/net7.0/System.Text.Encodings.Web.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net7.0/System.Text.Encodings.Web.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/_._": {} + }, + "runtimeTargets": { + "runtimes/browser/lib/net7.0/System.Text.Encodings.Web.dll": { + "assetType": "runtime", + "rid": "browser" + } + } + }, + "System.Text.Json/7.0.2": { + "type": "package", + "dependencies": { + "System.Text.Encodings.Web": "7.0.0" + }, + "compile": { + "lib/net7.0/System.Text.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net7.0/System.Text.Json.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net6.0/System.Text.Json.targets": {} + } + } + } + }, + "libraries": { + "Consul/1.7.14.9": { + "sha512": "PZD63GVWmIb5KcJL5NP5KZVAMREKBTL5mj9ra4Nm2vZeVjPlTkbFfLHxinEIB7BRzjyh/5V3P5RjrfJI52nocw==", + "type": "package", + "path": "consul/1.7.14.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "consul.1.7.14.9.nupkg.sha512", + "consul.nuspec", + "lib/net461/Consul.dll", + "lib/netstandard2.0/Consul.dll" + ] + }, + "JsonSubTypes/2.0.1": { + "sha512": "1Po+Ypf0SjCeEKx5+C89Nb5OgTcqNvfS3uTI46MUM+KEp6Rq/M0h+vVsTUt/6DFRwZMTpsAJM4yJrZmEObVANA==", + "type": "package", + "path": "jsonsubtypes/2.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE", + "README.md", + "jsonsubtypes.2.0.1.nupkg.sha512", + "jsonsubtypes.nuspec", + "lib/net35/JsonSubTypes.dll", + "lib/net40/JsonSubTypes.dll", + "lib/net45/JsonSubTypes.dll", + "lib/net46/JsonSubTypes.dll", + "lib/net47/JsonSubTypes.dll", + "lib/netstandard1.3/JsonSubTypes.dll", + "lib/netstandard2.0/JsonSubTypes.dll" + ] + }, + "Microsoft.AspNetCore.OpenApi/9.0.9": { + "sha512": "3Sina0gS/CTYt9XG6DUFPdXOmJui7e551U0kO2bIiDk3vZ2sctxxenN+cE1a5CrUpjIVZfZr32neWYYRO+Piaw==", + "type": "package", + "path": "microsoft.aspnetcore.openapi/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "lib/net9.0/Microsoft.AspNetCore.OpenApi.dll", + "microsoft.aspnetcore.openapi.9.0.9.nupkg.sha512", + "microsoft.aspnetcore.openapi.nuspec" + ] + }, + "Microsoft.CSharp/4.7.0": { + "sha512": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "type": "package", + "path": "microsoft.csharp/4.7.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/Microsoft.CSharp.dll", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.3/Microsoft.CSharp.dll", + "lib/netstandard2.0/Microsoft.CSharp.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/uap10.0.16299/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "microsoft.csharp.4.7.0.nupkg.sha512", + "microsoft.csharp.nuspec", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/Microsoft.CSharp.dll", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.0/Microsoft.CSharp.dll", + "ref/netstandard2.0/Microsoft.CSharp.dll", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/uap10.0.16299/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Extensions.Configuration/9.0.9": { + "sha512": "w87wF/90/VI0ZQBhf4rbMEeyEy0vi2WKjFmACsNAKNaorY+ZlVz7ddyXkbADvaWouMKffNmR0yQOGcrvSSvKGg==", + "type": "package", + "path": "microsoft.extensions.configuration/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Configuration.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.targets", + "lib/net462/Microsoft.Extensions.Configuration.dll", + "lib/net8.0/Microsoft.Extensions.Configuration.dll", + "lib/net9.0/Microsoft.Extensions.Configuration.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll", + "microsoft.extensions.configuration.9.0.9.nupkg.sha512", + "microsoft.extensions.configuration.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.Abstractions/9.0.9": { + "sha512": "p5RKAY9POvs3axwA/AQRuJeM8AHuE8h4qbP1NxQeGm0ep46aXz1oCLAp/oOYxX1GsjStgdhHrN3XXLLXr0+b3w==", + "type": "package", + "path": "microsoft.extensions.configuration.abstractions/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", + "microsoft.extensions.configuration.abstractions.9.0.9.nupkg.sha512", + "microsoft.extensions.configuration.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Configuration.Binder/9.0.9": { + "sha512": "6SIp/6Bngk4jm2W36JekZbiIbFPdE/eMUtrJEqIqHGpd1zar3jvgnwxnpWQfzUiGrkyY8q8s6V82zkkEZozghA==", + "type": "package", + "path": "microsoft.extensions.configuration.binder/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/cs/Microsoft.Extensions.Configuration.Binder.SourceGeneration.dll", + "analyzers/dotnet/cs/cs/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "analyzers/dotnet/cs/de/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "analyzers/dotnet/cs/es/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "analyzers/dotnet/cs/fr/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "analyzers/dotnet/cs/it/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "analyzers/dotnet/cs/ja/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "analyzers/dotnet/cs/ko/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "analyzers/dotnet/cs/pl/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "analyzers/dotnet/cs/pt-BR/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "analyzers/dotnet/cs/ru/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "analyzers/dotnet/cs/tr/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "analyzers/dotnet/cs/zh-Hans/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "analyzers/dotnet/cs/zh-Hant/Microsoft.Extensions.Configuration.Binder.SourceGeneration.resources.dll", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.Binder.targets", + "lib/net462/Microsoft.Extensions.Configuration.Binder.dll", + "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll", + "lib/net9.0/Microsoft.Extensions.Configuration.Binder.dll", + "lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll", + "microsoft.extensions.configuration.binder.9.0.9.nupkg.sha512", + "microsoft.extensions.configuration.binder.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection/9.0.9": { + "sha512": "zQV2WOSP+3z1EuK91ULxfGgo2Y75bTRnmJHp08+w/YXAyekZutX/qCd88/HOMNh35MDW9mJJJxPpMPS+1Rww8A==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/net9.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", + "microsoft.extensions.dependencyinjection.9.0.9.nupkg.sha512", + "microsoft.extensions.dependencyinjection.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.9": { + "sha512": "/hymojfWbE9AlDOa0mczR44m00Jj+T3+HZO0ZnVTI032fVycI0ZbNOVFP6kqZMcXiLSYXzR2ilcwaRi6dzeGyA==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "microsoft.extensions.dependencyinjection.abstractions.9.0.9.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Diagnostics/9.0.9": { + "sha512": "gtzl9SD6CvFYOb92qEF41Z9rICzYniM342TWbbJwN3eLS6a5fCLFvO1pQGtpMSnP3h1zHXupMEeKSA9musWYCQ==", + "type": "package", + "path": "microsoft.extensions.diagnostics/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Diagnostics.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Diagnostics.targets", + "lib/net462/Microsoft.Extensions.Diagnostics.dll", + "lib/net8.0/Microsoft.Extensions.Diagnostics.dll", + "lib/net9.0/Microsoft.Extensions.Diagnostics.dll", + "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.dll", + "microsoft.extensions.diagnostics.9.0.9.nupkg.sha512", + "microsoft.extensions.diagnostics.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Diagnostics.Abstractions/9.0.9": { + "sha512": "YHGmxccrVZ2Ar3eI+/NdbOHkd1/HzrHvmQ5yBsp0Gl7jTyBe6qcXNYjUt9v9JIO+Z14la44+YYEe63JSqs1fYg==", + "type": "package", + "path": "microsoft.extensions.diagnostics.abstractions/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Diagnostics.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Diagnostics.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Diagnostics.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll", + "lib/net9.0/Microsoft.Extensions.Diagnostics.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Diagnostics.Abstractions.dll", + "microsoft.extensions.diagnostics.abstractions.9.0.9.nupkg.sha512", + "microsoft.extensions.diagnostics.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Http/9.0.9": { + "sha512": "dTmh5Rj4/WpirsN1PDs8YhyaodgtzxWqPKaT+B3Zn72uHKLJOuxIt06HTea126eEDWHYSLNN61I4snw7PuerFg==", + "type": "package", + "path": "microsoft.extensions.http/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Http.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Http.targets", + "lib/net462/Microsoft.Extensions.Http.dll", + "lib/net8.0/Microsoft.Extensions.Http.dll", + "lib/net9.0/Microsoft.Extensions.Http.dll", + "lib/netstandard2.0/Microsoft.Extensions.Http.dll", + "microsoft.extensions.http.9.0.9.nupkg.sha512", + "microsoft.extensions.http.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging/9.0.9": { + "sha512": "MaCB0Y9hNDs4YLu3HCJbo199WnJT8xSgajG1JYGANz9FkseQ5f3v/llu3HxLI6mjDlu7pa7ps9BLPWjKzsAAzQ==", + "type": "package", + "path": "microsoft.extensions.logging/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Logging.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets", + "lib/net462/Microsoft.Extensions.Logging.dll", + "lib/net8.0/Microsoft.Extensions.Logging.dll", + "lib/net9.0/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", + "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", + "microsoft.extensions.logging.9.0.9.nupkg.sha512", + "microsoft.extensions.logging.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/9.0.9": { + "sha512": "FEgpSF+Z9StMvrsSViaybOBwR0f0ZZxDm8xV5cSOFiXN/t+ys+rwAlTd/6yG7Ld1gfppgvLcMasZry3GsI9lGA==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "microsoft.extensions.logging.abstractions.9.0.9.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Options/9.0.9": { + "sha512": "loxGGHE1FC2AefwPHzrjPq7X92LQm64qnU/whKfo6oWaceewPUVYQJBJs3S3E2qlWwnCpeZ+dGCPTX+5dgVAuQ==", + "type": "package", + "path": "microsoft.extensions.options/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Options.targets", + "buildTransitive/net462/Microsoft.Extensions.Options.targets", + "buildTransitive/net8.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets", + "lib/net462/Microsoft.Extensions.Options.dll", + "lib/net8.0/Microsoft.Extensions.Options.dll", + "lib/net9.0/Microsoft.Extensions.Options.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.dll", + "lib/netstandard2.1/Microsoft.Extensions.Options.dll", + "microsoft.extensions.options.9.0.9.nupkg.sha512", + "microsoft.extensions.options.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/9.0.9": { + "sha512": "n4DCdnn2qs6V5U06Sx62FySEAZsJiJJgOzrPHDh9hPK7c2W8hEabC76F3Re3tGPjpiKa02RvB6FxZyxo8iICzg==", + "type": "package", + "path": "microsoft.extensions.options.configurationextensions/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Options.ConfigurationExtensions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.ConfigurationExtensions.targets", + "lib/net462/Microsoft.Extensions.Options.ConfigurationExtensions.dll", + "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll", + "lib/net9.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll", + "microsoft.extensions.options.configurationextensions.9.0.9.nupkg.sha512", + "microsoft.extensions.options.configurationextensions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Primitives/9.0.9": { + "sha512": "z4pyMePOrl733ltTowbN565PxBw1oAr8IHmIXNDiDqd22nFpYltX9KhrNC/qBWAG1/Zx5MHX+cOYhWJQYCO/iw==", + "type": "package", + "path": "microsoft.extensions.primitives/9.0.9", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Primitives.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", + "lib/net462/Microsoft.Extensions.Primitives.dll", + "lib/net8.0/Microsoft.Extensions.Primitives.dll", + "lib/net9.0/Microsoft.Extensions.Primitives.dll", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", + "microsoft.extensions.primitives.9.0.9.nupkg.sha512", + "microsoft.extensions.primitives.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.OpenApi/1.6.17": { + "sha512": "Le+kehlmrlQfuDFUt1zZ2dVwrhFQtKREdKBo+rexOwaCoYP0/qpgT9tLxCsZjsgR5Itk1UKPcbgO+FyaNid/bA==", + "type": "package", + "path": "microsoft.openapi/1.6.17", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "README.md", + "lib/netstandard2.0/Microsoft.OpenApi.dll", + "lib/netstandard2.0/Microsoft.OpenApi.pdb", + "microsoft.openapi.1.6.17.nupkg.sha512", + "microsoft.openapi.nuspec" + ] + }, + "Newtonsoft.Json/13.0.3": { + "sha512": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", + "type": "package", + "path": "newtonsoft.json/13.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.md", + "README.md", + "lib/net20/Newtonsoft.Json.dll", + "lib/net20/Newtonsoft.Json.xml", + "lib/net35/Newtonsoft.Json.dll", + "lib/net35/Newtonsoft.Json.xml", + "lib/net40/Newtonsoft.Json.dll", + "lib/net40/Newtonsoft.Json.xml", + "lib/net45/Newtonsoft.Json.dll", + "lib/net45/Newtonsoft.Json.xml", + "lib/net6.0/Newtonsoft.Json.dll", + "lib/net6.0/Newtonsoft.Json.xml", + "lib/netstandard1.0/Newtonsoft.Json.dll", + "lib/netstandard1.0/Newtonsoft.Json.xml", + "lib/netstandard1.3/Newtonsoft.Json.dll", + "lib/netstandard1.3/Newtonsoft.Json.xml", + "lib/netstandard2.0/Newtonsoft.Json.dll", + "lib/netstandard2.0/Newtonsoft.Json.xml", + "newtonsoft.json.13.0.3.nupkg.sha512", + "newtonsoft.json.nuspec", + "packageIcon.png" + ] + }, + "Ory.Kratos.Client/1.3.8": { + "sha512": "dvl9tw2w0dexSQF03APQ9bzs3cXrnTBnbzS+7TZ6Mc+e2bKgVXNHcRF4p8M2pAKNSTlT0+nFrtRmrATJ/VlVUw==", + "type": "package", + "path": "ory.kratos.client/1.3.8", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net6.0/Ory.Kratos.Client.dll", + "lib/net6.0/Ory.Kratos.Client.xml", + "ory.kratos.client.1.3.8.nupkg.sha512", + "ory.kratos.client.nuspec" + ] + }, + "Polly/8.1.0": { + "sha512": "EeCJCjxX/Czm6sjnEWbeCBfogYHLcPNEL6yJT5nZzT0U78sizhTYhY2l5aXxTD+DWeVRLZtkUHqWp7ij+tvYCQ==", + "type": "package", + "path": "polly/8.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net462/Polly.dll", + "lib/net462/Polly.pdb", + "lib/net472/Polly.dll", + "lib/net472/Polly.pdb", + "lib/net6.0/Polly.dll", + "lib/net6.0/Polly.pdb", + "lib/netstandard2.0/Polly.dll", + "lib/netstandard2.0/Polly.pdb", + "package-icon.png", + "package-readme.md", + "polly.8.1.0.nupkg.sha512", + "polly.nuspec" + ] + }, + "Polly.Core/8.1.0": { + "sha512": "M9Mlim+I9QNP/Hu6SuWMTUFnjQPvYViGk1IAJyvdl85zNedmos8Yzx74/xPa+TEi3uof3H1xQLwAzWebhEvEYw==", + "type": "package", + "path": "polly.core/8.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net462/Polly.Core.dll", + "lib/net462/Polly.Core.pdb", + "lib/net462/Polly.Core.xml", + "lib/net472/Polly.Core.dll", + "lib/net472/Polly.Core.pdb", + "lib/net472/Polly.Core.xml", + "lib/net6.0/Polly.Core.dll", + "lib/net6.0/Polly.Core.pdb", + "lib/net6.0/Polly.Core.xml", + "lib/netstandard2.0/Polly.Core.dll", + "lib/netstandard2.0/Polly.Core.pdb", + "lib/netstandard2.0/Polly.Core.xml", + "package-icon.png", + "package-readme.md", + "polly.core.8.1.0.nupkg.sha512", + "polly.core.nuspec" + ] + }, + "RestSharp/110.2.0": { + "sha512": "FXGw0IMcqY7yO/hzS9QrD3iNswNgb9UxJnxWmfOxmGs4kRlZWqdtBoGPLuhlbgsDzX1RFo4WKui8TGGKXWKalw==", + "type": "package", + "path": "restsharp/110.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net471/RestSharp.dll", + "lib/net471/RestSharp.xml", + "lib/net6.0/RestSharp.dll", + "lib/net6.0/RestSharp.xml", + "lib/net7.0/RestSharp.dll", + "lib/net7.0/RestSharp.xml", + "lib/netstandard2.0/RestSharp.dll", + "lib/netstandard2.0/RestSharp.xml", + "restsharp.110.2.0.nupkg.sha512", + "restsharp.nuspec", + "restsharp.png" + ] + }, + "System.Text.Encodings.Web/7.0.0": { + "sha512": "OP6umVGxc0Z0MvZQBVigj4/U31Pw72ITihDWP9WiWDm+q5aoe0GaJivsfYGq53o6dxH7DcXWiCTl7+0o2CGdmg==", + "type": "package", + "path": "system.text.encodings.web/7.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/System.Text.Encodings.Web.targets", + "buildTransitive/net462/_._", + "buildTransitive/net6.0/_._", + "buildTransitive/netcoreapp2.0/System.Text.Encodings.Web.targets", + "lib/net462/System.Text.Encodings.Web.dll", + "lib/net462/System.Text.Encodings.Web.xml", + "lib/net6.0/System.Text.Encodings.Web.dll", + "lib/net6.0/System.Text.Encodings.Web.xml", + "lib/net7.0/System.Text.Encodings.Web.dll", + "lib/net7.0/System.Text.Encodings.Web.xml", + "lib/netstandard2.0/System.Text.Encodings.Web.dll", + "lib/netstandard2.0/System.Text.Encodings.Web.xml", + "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll", + "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.xml", + "runtimes/browser/lib/net7.0/System.Text.Encodings.Web.dll", + "runtimes/browser/lib/net7.0/System.Text.Encodings.Web.xml", + "system.text.encodings.web.7.0.0.nupkg.sha512", + "system.text.encodings.web.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "System.Text.Json/7.0.2": { + "sha512": "/LZf/JrGyilojqwpaywb+sSz8Tew7ij4K/Sk+UW8AKfAK7KRhR6mKpKtTm06cYA7bCpGTWfYksIW+mVsdxPegQ==", + "type": "package", + "path": "system.text.json/7.0.2", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "README.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll", + "analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/de/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/es/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/fr/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/it/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ja/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ko/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pl/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ru/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/tr/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll", + "analyzers/dotnet/roslyn4.0/cs/cs/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/de/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/es/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/fr/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/it/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ja/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ko/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pl/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ru/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/System.Text.Json.SourceGeneration.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", + "buildTransitive/net461/System.Text.Json.targets", + "buildTransitive/net462/System.Text.Json.targets", + "buildTransitive/net6.0/System.Text.Json.targets", + "buildTransitive/netcoreapp2.0/System.Text.Json.targets", + "buildTransitive/netstandard2.0/System.Text.Json.targets", + "lib/net462/System.Text.Json.dll", + "lib/net462/System.Text.Json.xml", + "lib/net6.0/System.Text.Json.dll", + "lib/net6.0/System.Text.Json.xml", + "lib/net7.0/System.Text.Json.dll", + "lib/net7.0/System.Text.Json.xml", + "lib/netstandard2.0/System.Text.Json.dll", + "lib/netstandard2.0/System.Text.Json.xml", + "system.text.json.7.0.2.nupkg.sha512", + "system.text.json.nuspec", + "useSharedDesignerContext.txt" + ] + } + }, + "projectFileDependencyGroups": { + "net9.0": [ + "Consul >= 1.7.14.9", + "Microsoft.AspNetCore.OpenApi >= 9.0.9", + "Microsoft.Extensions.Http >= 9.0.9", + "Ory.Kratos.Client >= 1.3.8" + ] + }, + "packageFolders": { + "/Users/ichen/.nuget/packages/": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/khmer_eid_backend.csproj", + "projectName": "khmer_eid_backend", + "projectPath": "/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/khmer_eid_backend.csproj", + "packagesPath": "/Users/ichen/.nuget/packages/", + "outputPath": "/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/Users/ichen/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net9.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.300" + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "dependencies": { + "Consul": { + "target": "Package", + "version": "[1.7.14.9, )" + }, + "Microsoft.AspNetCore.OpenApi": { + "target": "Package", + "version": "[9.0.9, )" + }, + "Microsoft.Extensions.Http": { + "target": "Package", + "version": "[9.0.9, )" + }, + "Ory.Kratos.Client": { + "target": "Package", + "version": "[1.3.8, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.AspNetCore.App": { + "privateAssets": "none" + }, + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/9.0.305/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/khmer_eid_backend/obj/project.nuget.cache b/khmer_eid_backend/obj/project.nuget.cache new file mode 100644 index 0000000..249ad95 --- /dev/null +++ b/khmer_eid_backend/obj/project.nuget.cache @@ -0,0 +1,34 @@ +{ + "version": 2, + "dgSpecHash": "R3ZV9VRLbu4=", + "success": true, + "projectFilePath": "/Users/ichen/Projects/ekyc-khmer-eID/khmer-eID-backend/khmer_eid_backend/khmer_eid_backend.csproj", + "expectedPackageFiles": [ + "/Users/ichen/.nuget/packages/consul/1.7.14.9/consul.1.7.14.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/jsonsubtypes/2.0.1/jsonsubtypes.2.0.1.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.aspnetcore.openapi/9.0.9/microsoft.aspnetcore.openapi.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.csharp/4.7.0/microsoft.csharp.4.7.0.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.configuration/9.0.9/microsoft.extensions.configuration.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.configuration.abstractions/9.0.9/microsoft.extensions.configuration.abstractions.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.configuration.binder/9.0.9/microsoft.extensions.configuration.binder.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.dependencyinjection/9.0.9/microsoft.extensions.dependencyinjection.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/9.0.9/microsoft.extensions.dependencyinjection.abstractions.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.diagnostics/9.0.9/microsoft.extensions.diagnostics.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.diagnostics.abstractions/9.0.9/microsoft.extensions.diagnostics.abstractions.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.http/9.0.9/microsoft.extensions.http.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.logging/9.0.9/microsoft.extensions.logging.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.logging.abstractions/9.0.9/microsoft.extensions.logging.abstractions.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.options/9.0.9/microsoft.extensions.options.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.options.configurationextensions/9.0.9/microsoft.extensions.options.configurationextensions.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.extensions.primitives/9.0.9/microsoft.extensions.primitives.9.0.9.nupkg.sha512", + "/Users/ichen/.nuget/packages/microsoft.openapi/1.6.17/microsoft.openapi.1.6.17.nupkg.sha512", + "/Users/ichen/.nuget/packages/newtonsoft.json/13.0.3/newtonsoft.json.13.0.3.nupkg.sha512", + "/Users/ichen/.nuget/packages/ory.kratos.client/1.3.8/ory.kratos.client.1.3.8.nupkg.sha512", + "/Users/ichen/.nuget/packages/polly/8.1.0/polly.8.1.0.nupkg.sha512", + "/Users/ichen/.nuget/packages/polly.core/8.1.0/polly.core.8.1.0.nupkg.sha512", + "/Users/ichen/.nuget/packages/restsharp/110.2.0/restsharp.110.2.0.nupkg.sha512", + "/Users/ichen/.nuget/packages/system.text.encodings.web/7.0.0/system.text.encodings.web.7.0.0.nupkg.sha512", + "/Users/ichen/.nuget/packages/system.text.json/7.0.2/system.text.json.7.0.2.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/skaffold.yaml b/skaffold.yaml new file mode 100644 index 0000000..a4df511 --- /dev/null +++ b/skaffold.yaml @@ -0,0 +1,27 @@ +apiVersion: skaffold/v4beta13 +kind: Config +metadata: + name: khmer-eid-backend +# build: +# artifacts: +# - image: khmer-eid +# docker: +# dockerfile: Dockerfile + +manifests: + kustomize: + paths: + - k8s/ + buildArgs: + - --load-restrictor=LoadRestrictionsNone +portForward: + # - resourceType: service + # resourceName: envoy-default-my-gateway-1c7c06f0 + # namespace: envoy-gateway-system + # port: 80 + # localPort: 8888 + - resourceType: service + resourceName: kratos + namespace: default + port: 4433 + localPort: 4433 \ No newline at end of file