mirror of
https://github.com/bitwarden/browser
synced 2026-02-11 22:13:32 +00:00
further cleanup
This commit is contained in:
@@ -5,7 +5,6 @@ import { OrganizationId, UserId } from "@bitwarden/common/types/guid";
|
||||
|
||||
import { OrganizationEncryptor } from "./cryptography/organization-encryptor.abstraction";
|
||||
import { UserEncryptor } from "./cryptography/user-encryptor.abstraction";
|
||||
import { VendorId } from "./extension/metadata/type";
|
||||
|
||||
/** error emitted when the `SingleUserDependency` changes Ids */
|
||||
export type UserChangedError = {
|
||||
@@ -152,10 +151,6 @@ export type SingleUserDependency = {
|
||||
singleUserId$: Observable<UserId>;
|
||||
};
|
||||
|
||||
export type SingleVendorDependency = {
|
||||
singleVendorId$: Observable<VendorId>;
|
||||
};
|
||||
|
||||
/** A pattern for types that emit values exclusively when the dependency
|
||||
* emits a message.
|
||||
*
|
||||
|
||||
10
libs/common/src/tools/extension/data.ts
Normal file
10
libs/common/src/tools/extension/data.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
export const Site = Object.freeze({
|
||||
forwarder: "forwarder",
|
||||
} as const);
|
||||
|
||||
export const Field = Object.freeze({
|
||||
token: "token",
|
||||
baseUrl: "baseUrl",
|
||||
domain: "domain",
|
||||
prefix: "prefix",
|
||||
} as const);
|
||||
@@ -1,13 +1,7 @@
|
||||
import { ExtensionPermission, ExtensionRegistry } from "./extension-registry.abstraction";
|
||||
import { ExtensionSite } from "./extension-site";
|
||||
import {
|
||||
SiteMetadata,
|
||||
SiteId,
|
||||
ExtensionMetadata,
|
||||
ExtensionSet,
|
||||
VendorId,
|
||||
VendorMetadata,
|
||||
} from "./metadata/type";
|
||||
import { SiteMetadata, SiteId, ExtensionMetadata, ExtensionSet } from "./type";
|
||||
import { VendorId, VendorMetadata } from "./vendor/type";
|
||||
|
||||
/** Tracks extension sites and the vendors that extend them. */
|
||||
export class DefaultExtensionRegistry implements ExtensionRegistry {
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
import { ExtensionSite } from "./extension-site";
|
||||
import {
|
||||
SiteMetadata,
|
||||
ExtensionMetadata,
|
||||
ExtensionSet,
|
||||
VendorMetadata,
|
||||
SiteId,
|
||||
} from "./metadata/type";
|
||||
import { SiteMetadata, ExtensionMetadata, ExtensionSet, SiteId } from "./type";
|
||||
import { VendorMetadata } from "./vendor/type";
|
||||
|
||||
/** Permission levels for metadata.
|
||||
* * default - unless a rule denies access, allow it. This is the
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { deepFreeze } from "../util";
|
||||
|
||||
import { ExtensionMetadata, SiteMetadata, VendorId } from "./metadata/type";
|
||||
import { ExtensionMetadata, SiteMetadata, VendorId } from "./type";
|
||||
|
||||
/** Describes the capabilities of an extension site.
|
||||
* This type is immutable.
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import { AddyIo, AddyIoExtensions } from "./data/addy-io";
|
||||
import { DuckDuckGo, DuckDuckGoExtensions } from "./data/duck-duck-go";
|
||||
import { Fastmail, FastmailExtensions } from "./data/fastmail";
|
||||
import { ForwardEmail, ForwardEmailExtensions } from "./data/forward-email";
|
||||
import { Mozilla, MozillaExtensions } from "./data/mozilla";
|
||||
import { SimpleLogin, SimpleLoginExtensions } from "./data/simple-login";
|
||||
import { DefaultExtensionRegistry } from "./default-extension-registry";
|
||||
import { Extension } from "./metadata/extension";
|
||||
import { ExtensionMetadata, VendorMetadata } from "./metadata/type";
|
||||
import { Extension } from "./metadata";
|
||||
import { ExtensionMetadata } from "./type";
|
||||
import { AddyIo, AddyIoExtensions } from "./vendor/addy-io";
|
||||
import { DuckDuckGo, DuckDuckGoExtensions } from "./vendor/duck-duck-go";
|
||||
import { Fastmail, FastmailExtensions } from "./vendor/fastmail";
|
||||
import { ForwardEmail, ForwardEmailExtensions } from "./vendor/forward-email";
|
||||
import { Mozilla, MozillaExtensions } from "./vendor/mozilla";
|
||||
import { SimpleLogin, SimpleLoginExtensions } from "./vendor/simple-login";
|
||||
import { VendorMetadata } from "./vendor/type";
|
||||
|
||||
// FIXME: find a better way to build the registry than a hard-coded factory function
|
||||
|
||||
|
||||
@@ -7,3 +7,7 @@ export const Extension: Record<string, SiteMetadata> = {
|
||||
availableFields: [Field.baseUrl, Field.domain, Field.prefix, Field.token],
|
||||
},
|
||||
};
|
||||
|
||||
export const FieldsBySite = {
|
||||
[Site.forwarder]: [Field.token, Field.baseUrl, Field.domain, Field.prefix],
|
||||
} as const;
|
||||
@@ -1,34 +0,0 @@
|
||||
export const Site = Object.freeze({
|
||||
forwarder: "forwarder",
|
||||
} as const);
|
||||
|
||||
export const Field = Object.freeze({
|
||||
token: "token",
|
||||
baseUrl: "baseUrl",
|
||||
domain: "domain",
|
||||
prefix: "prefix",
|
||||
} as const);
|
||||
|
||||
export const FieldsBySite = {
|
||||
[Site.forwarder]: [Field.token, Field.baseUrl, Field.domain, Field.prefix],
|
||||
} as const;
|
||||
|
||||
export const Vendor = Object.freeze({
|
||||
anonaddy: "anonaddy",
|
||||
duckduckgo: "duckduckgo",
|
||||
fastmail: "fastmail",
|
||||
mozilla: "mozilla",
|
||||
forwardemail: "forwardemail",
|
||||
simplelogin: "simplelogin",
|
||||
} as const);
|
||||
|
||||
export const VendorsByExtension = {
|
||||
[Site.forwarder]: [
|
||||
Vendor.anonaddy,
|
||||
Vendor.duckduckgo,
|
||||
Vendor.fastmail,
|
||||
Vendor.mozilla,
|
||||
Vendor.forwardemail,
|
||||
Vendor.simplelogin,
|
||||
] as const,
|
||||
} as const;
|
||||
@@ -1,4 +1,6 @@
|
||||
import { FieldsBySite, Site, VendorsByExtension } from "./data";
|
||||
import { Site } from "./data";
|
||||
import { FieldsBySite } from "./metadata";
|
||||
import { VendorId, VendorMetadata } from "./vendor/type";
|
||||
|
||||
/** well-known name for a feature extensible through an extension. */
|
||||
export type SiteId = keyof typeof Site;
|
||||
@@ -6,9 +8,6 @@ export type SiteId = keyof typeof Site;
|
||||
/** well-known name for a field surfaced from an extension site to a vendor. */
|
||||
export type DisclosedField = (typeof FieldsBySite)[SiteId][number];
|
||||
|
||||
/** Identifies a vendor extending bitwarden */
|
||||
export type VendorId = (typeof VendorsByExtension)[SiteId][number];
|
||||
|
||||
/** The capabilities and descriptive content for an extension */
|
||||
export type SiteMetadata = {
|
||||
/** Uniquely identifies the extension site. */
|
||||
@@ -46,15 +45,6 @@ export type ApiHost = TokenHeader &
|
||||
| { selfHost: "always" }
|
||||
);
|
||||
|
||||
/** The capabilities and descriptive content for an extension */
|
||||
export type VendorMetadata = {
|
||||
/** Uniquely identifies the vendor. */
|
||||
id: VendorId;
|
||||
|
||||
/** Brand name of the service providing the extension. */
|
||||
name: string;
|
||||
};
|
||||
|
||||
/** Describes an extension provided by a vendor */
|
||||
export type ExtensionMetadata = {
|
||||
/** The part of Bitwarden extended by the vendor's services */
|
||||
@@ -1,8 +1,11 @@
|
||||
import { Field, Vendor } from "../metadata/data";
|
||||
import { Extension } from "../metadata/extension";
|
||||
import { ExtensionMetadata } from "../metadata/type";
|
||||
import { Field } from "../data";
|
||||
import { Extension } from "../metadata";
|
||||
import { ExtensionMetadata } from "../type";
|
||||
|
||||
export const AddyIo = {
|
||||
import { Vendor } from "./data";
|
||||
import { VendorMetadata } from "./type";
|
||||
|
||||
export const AddyIo: VendorMetadata = {
|
||||
id: Vendor.anonaddy,
|
||||
name: "Addy.io",
|
||||
};
|
||||
@@ -1,5 +1,15 @@
|
||||
import { Vendor } from "../metadata/data";
|
||||
import { VendorMetadata } from "../metadata/type";
|
||||
import { Site } from "../data";
|
||||
|
||||
import { VendorMetadata } from "./type";
|
||||
|
||||
export const Vendor = Object.freeze({
|
||||
anonaddy: "anonaddy",
|
||||
duckduckgo: "duckduckgo",
|
||||
fastmail: "fastmail",
|
||||
mozilla: "mozilla",
|
||||
forwardemail: "forwardemail",
|
||||
simplelogin: "simplelogin",
|
||||
} as const);
|
||||
|
||||
export const VendorInfo: Record<string, VendorMetadata> = {
|
||||
[Vendor.anonaddy]: {
|
||||
@@ -27,3 +37,14 @@ export const VendorInfo: Record<string, VendorMetadata> = {
|
||||
name: "SimpleLogin",
|
||||
},
|
||||
};
|
||||
|
||||
export const VendorsByExtension = {
|
||||
[Site.forwarder]: [
|
||||
Vendor.anonaddy,
|
||||
Vendor.duckduckgo,
|
||||
Vendor.fastmail,
|
||||
Vendor.mozilla,
|
||||
Vendor.forwardemail,
|
||||
Vendor.simplelogin,
|
||||
] as const,
|
||||
} as const;
|
||||
@@ -1,8 +1,11 @@
|
||||
import { Field, Vendor } from "../metadata/data";
|
||||
import { Extension } from "../metadata/extension";
|
||||
import { ExtensionMetadata } from "../metadata/type";
|
||||
import { Field } from "../data";
|
||||
import { Extension } from "../metadata";
|
||||
import { ExtensionMetadata } from "../type";
|
||||
|
||||
export const DuckDuckGo = {
|
||||
import { Vendor } from "./data";
|
||||
import { VendorMetadata } from "./type";
|
||||
|
||||
export const DuckDuckGo: VendorMetadata = {
|
||||
id: Vendor.duckduckgo,
|
||||
name: "DuckDuckGo",
|
||||
};
|
||||
@@ -1,8 +1,11 @@
|
||||
import { Field, Vendor } from "../metadata/data";
|
||||
import { Extension } from "../metadata/extension";
|
||||
import { ExtensionMetadata } from "../metadata/type";
|
||||
import { Field } from "../data";
|
||||
import { Extension } from "../metadata";
|
||||
import { ExtensionMetadata } from "../type";
|
||||
|
||||
export const Fastmail = {
|
||||
import { Vendor } from "./data";
|
||||
import { VendorMetadata } from "./type";
|
||||
|
||||
export const Fastmail: VendorMetadata = {
|
||||
id: Vendor.fastmail,
|
||||
name: "Fastmail",
|
||||
};
|
||||
@@ -1,8 +1,11 @@
|
||||
import { Field, Vendor } from "../metadata/data";
|
||||
import { Extension } from "../metadata/extension";
|
||||
import { ExtensionMetadata } from "../metadata/type";
|
||||
import { Field } from "../data";
|
||||
import { Extension } from "../metadata";
|
||||
import { ExtensionMetadata } from "../type";
|
||||
|
||||
export const ForwardEmail = {
|
||||
import { Vendor } from "./data";
|
||||
import { VendorMetadata } from "./type";
|
||||
|
||||
export const ForwardEmail: VendorMetadata = {
|
||||
id: Vendor.forwardemail,
|
||||
name: "Forward Email",
|
||||
};
|
||||
@@ -1,6 +1,8 @@
|
||||
import { Field, Vendor } from "../metadata/data";
|
||||
import { Extension } from "../metadata/extension";
|
||||
import { ExtensionMetadata } from "../metadata/type";
|
||||
import { Field } from "../data";
|
||||
import { Extension } from "../metadata";
|
||||
import { ExtensionMetadata } from "../type";
|
||||
|
||||
import { Vendor } from "./data";
|
||||
|
||||
export const Mozilla = {
|
||||
id: Vendor.mozilla,
|
||||
@@ -1,6 +1,9 @@
|
||||
import { Field, Vendor } from "../metadata/data";
|
||||
import { Extension } from "../metadata/extension";
|
||||
import { ExtensionMetadata, VendorMetadata } from "../metadata/type";
|
||||
import { Field } from "../data";
|
||||
import { Extension } from "../metadata";
|
||||
import { ExtensionMetadata } from "../type";
|
||||
|
||||
import { Vendor } from "./data";
|
||||
import { VendorMetadata } from "./type";
|
||||
|
||||
export const SimpleLogin: VendorMetadata = {
|
||||
id: Vendor.simplelogin,
|
||||
15
libs/common/src/tools/extension/vendor/type.ts
vendored
Normal file
15
libs/common/src/tools/extension/vendor/type.ts
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
import { SiteId } from "../type";
|
||||
|
||||
import { VendorsByExtension } from "./data";
|
||||
|
||||
/** Identifies a vendor extending bitwarden */
|
||||
export type VendorId = (typeof VendorsByExtension)[SiteId][number];
|
||||
|
||||
/** The capabilities and descriptive content for an extension */
|
||||
export type VendorMetadata = {
|
||||
/** Uniquely identifies the vendor. */
|
||||
id: VendorId;
|
||||
|
||||
/** Brand name of the service providing the extension. */
|
||||
name: string;
|
||||
};
|
||||
Reference in New Issue
Block a user