1 line
6.4 KiB
JSON
1 line
6.4 KiB
JSON
{"path":"NexusReader.Application/Abstractions/Services/INativeStorageService.cs","purpose":"Defines an application-level abstraction for platform/native key-value storage including secure and non-secure reads, writes, and removals.","classification":{"role":"service","layer":"application","confidence":0.9,"evidence":["Service naming pattern","Application/service path heuristic","Namespace: NexusReader.Application.Abstractions.Services","File exposes an interface named INativeStorageService with save/get/remove semantics"]},"className":"INativeStorageService","methods":[{"name":"SaveStringAsync","line":7,"endLine":7,"signature":"(key: string, value: string) -> Task<Result>","purpose":"Persist a non-secure string value under the given key asynchronously.","calls":[],"actions":[{"id":"persistence-write_7","kind":"mapping","label":"Save non-secure string","line":7,"detail":"Persists key/value to native storage (non-secure)","visibility":"detail-only","confidence":0.7}]},{"name":"GetStringAsync","line":8,"endLine":8,"signature":"(key: string) -> Task<Result<string?>>","purpose":"Retrieve a non-secure string value by key asynchronously.","calls":[],"actions":[{"id":"persistence-read_8","kind":"mapping","label":"Get non-secure string","line":8,"detail":"Reads value for key from native storage and returns Result<string?>","visibility":"detail-only","confidence":0.7}]},{"name":"SaveBoolAsync","line":9,"endLine":9,"signature":"(key: string, value: bool) -> Task<Result>","purpose":"Persist a boolean value under the given key asynchronously.","calls":[],"actions":[{"id":"persistence-write_9","kind":"mapping","label":"Save boolean","line":9,"detail":"Persists key/boolean to native storage","visibility":"detail-only","confidence":0.7}]},{"name":"GetBoolAsync","line":10,"endLine":10,"signature":"(key: string, defaultValue: bool = false) -> Task<Result<bool>>","purpose":"Retrieve a boolean value by key asynchronously, returning a provided default if absent.","calls":[],"actions":[{"id":"guard-clause_10","kind":"guard-clause","label":"default parameter","line":10,"detail":"Method signature exposes a defaultValue to be used when no stored value exists","conditionSummary":"defaultValue parameter present","outcomeLabels":["use-provided-default","return-read-value"],"visibility":"detail-only","confidence":0.7},{"id":"persistence-read_10","kind":"mapping","label":"Get boolean with default","line":10,"detail":"Reads boolean for key and applies defaultValue when key not present","visibility":"detail-only","confidence":0.7}]},{"name":"RemoveAsync","line":11,"endLine":11,"signature":"(key: string) -> Task<Result>","purpose":"Remove a non-secure entry by key from native storage asynchronously.","calls":[],"actions":[{"id":"persistence-remove_11","kind":"mapping","label":"Remove non-secure key","line":11,"detail":"Deletes the key from native storage","visibility":"detail-only","confidence":0.7}]},{"name":"SaveSecureString","line":13,"endLine":13,"signature":"(key: string, value: string) -> Task<Result>","purpose":"Persist a string securely (platform secure storage) under the given key asynchronously.","calls":[],"actions":[{"id":"persistence-write_13","kind":"mapping","label":"Save secure string","line":13,"detail":"Persists key/value to platform secure storage (e.g., keychain/keystore)","visibility":"detail-only","confidence":0.7}]},{"name":"GetSecureString","line":14,"endLine":14,"signature":"(key: string) -> Task<Result<string?>>","purpose":"Retrieve a secure string by key from platform secure storage asynchronously.","calls":[],"actions":[{"id":"persistence-read_14","kind":"mapping","label":"Get secure string","line":14,"detail":"Reads secure value for key from platform secure storage and returns Result<string?>","visibility":"detail-only","confidence":0.7}]},{"name":"RemoveSecureAsync","line":15,"endLine":15,"signature":"(key: string) -> Task<Result>","purpose":"Remove a secure entry by key from platform secure storage asynchronously.","calls":[],"actions":[{"id":"persistence-remove_15","kind":"mapping","label":"Remove secure key","line":15,"detail":"Deletes the key from platform secure storage","visibility":"detail-only","confidence":0.7}]}],"types":[{"name":"INativeStorageService","kind":"interface","line":5,"purpose":"Abstraction for platform-specific key-value storage operations (secure and non-secure) used by application components.","fields":[{"name":"SaveStringAsync","type":"Task<Result>","required":true,"line":7,"description":"Persist a non-secure string value"},{"name":"GetStringAsync","type":"Task<Result<string?>>","required":true,"line":8,"description":"Read a non-secure string value"},{"name":"SaveBoolAsync","type":"Task<Result>","required":true,"line":9,"description":"Persist a boolean value"},{"name":"GetBoolAsync","type":"Task<Result<bool>>","required":true,"line":10,"description":"Read a boolean value with optional default"},{"name":"RemoveAsync","type":"Task<Result>","required":true,"line":11,"description":"Remove a non-secure key"},{"name":"SaveSecureString","type":"Task<Result>","required":true,"line":13,"description":"Persist a secure string"},{"name":"GetSecureString","type":"Task<Result<string?>>","required":true,"line":14,"description":"Read a secure string"},{"name":"RemoveSecureAsync","type":"Task<Result>","required":true,"line":15,"description":"Remove a secure key"}]}],"serviceRegistrations":[],"startupActions":[],"dependencies":[],"patterns":["Adapter","Key-Value Store","Service Interface"],"domainConcepts":["Key-Value Storage","Secure Storage","Settings/Credentials"],"keyDetails":"Interface-only file that declares async Result-wrapped operations for secure and non-secure platform storage; implementations will perform the actual native persistence and security handling.","orchestrationMethods":[],"typedContracts":[{"name":"INativeStorageService","kind":"interface","line":5,"fieldCount":8,"evidencePaths":["NexusReader.Application/Abstractions/Services/INativeStorageService.cs"]}],"persistenceInteractions":[],"externalInteractions":[],"evidenceAnchors":[{"kind":"typed-contract","label":"INativeStorageService","line":5,"summary":"interface with 8 fields.","confidence":0.8,"evidencePaths":["NexusReader.Application/Abstractions/Services/INativeStorageService.cs"]}],"cacheMetadata":{"schemaVersion":2,"analysisVersion":"2026-05-23.cache-v1","contentChecksum":"d3c4fd3c996dacfbf63afd24a8cae324c83112bf4f36472c6fbf426f5429cb64","sourceByteSize":596,"analyzedAt":"2026-05-23T16:16:43.253Z","technology":"dotnet"}} |