mirror of
https://github.com/bitwarden/browser.git
synced 2024-09-27 04:03:00 +02:00
78248db590
* Rename service-factory folder
* Move cryptographic service factories
* Move crypto models
* Move crypto services
* Move domain base class
* Platform code owners
* Move desktop log services
* Move log files
* Establish component library ownership
* Move background listeners
* Move background background
* Move localization to Platform
* Move browser alarms to Platform
* Move browser state to Platform
* Move CLI state to Platform
* Move Desktop native concerns to Platform
* Move flag and misc to Platform
* Lint fixes
* Move electron state to platform
* Move web state to Platform
* Move lib state to Platform
* Fix broken tests
* Rename interface to idiomatic TS
* `npm run prettier` 🤖
* Resolve review feedback
* Set platform as owners of web core and shared
* Expand moved services
* Fix test types
---------
Co-authored-by: Hinton <hinton@users.noreply.github.com>
32 lines
966 B
TypeScript
32 lines
966 B
TypeScript
import { HtmlStorageLocation } from "../../enums";
|
|
import { AppIdService as AppIdServiceAbstraction } from "../abstractions/app-id.service";
|
|
import { AbstractStorageService } from "../abstractions/storage.service";
|
|
import { Utils } from "../misc/utils";
|
|
|
|
export class AppIdService implements AppIdServiceAbstraction {
|
|
constructor(private storageService: AbstractStorageService) {}
|
|
|
|
getAppId(): Promise<string> {
|
|
return this.makeAndGetAppId("appId");
|
|
}
|
|
|
|
getAnonymousAppId(): Promise<string> {
|
|
return this.makeAndGetAppId("anonymousAppId");
|
|
}
|
|
|
|
private async makeAndGetAppId(key: string) {
|
|
const existingId = await this.storageService.get<string>(key, {
|
|
htmlStorageLocation: HtmlStorageLocation.Local,
|
|
});
|
|
if (existingId != null) {
|
|
return existingId;
|
|
}
|
|
|
|
const guid = Utils.newGuid();
|
|
await this.storageService.save(key, guid, {
|
|
htmlStorageLocation: HtmlStorageLocation.Local,
|
|
});
|
|
return guid;
|
|
}
|
|
}
|