mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 05:14:54 +00:00
refactor: extract store package (#1109)
This commit is contained in:
@@ -32,11 +32,14 @@ export class DataCenter {
|
||||
private _mainProvider?: BaseProvider;
|
||||
providerMap: Map<string, BaseProvider> = new Map();
|
||||
|
||||
constructor(debug: boolean) {
|
||||
private constructor(debug: boolean) {
|
||||
this._logger.enabled = debug;
|
||||
}
|
||||
|
||||
static async init(debug: boolean): Promise<DataCenter> {
|
||||
static async init(
|
||||
debug: boolean,
|
||||
exclude: 'affine'[] = []
|
||||
): Promise<DataCenter> {
|
||||
const dc = new DataCenter(debug);
|
||||
const getInitParams = () => {
|
||||
return {
|
||||
@@ -56,7 +59,9 @@ export class DataCenter {
|
||||
} else {
|
||||
await dc.registerProvider(new LocalProvider(getInitParams()));
|
||||
}
|
||||
await dc.registerProvider(new AffineProvider(getInitParams()));
|
||||
if (!exclude.includes('affine')) {
|
||||
await dc.registerProvider(new AffineProvider(getInitParams()));
|
||||
}
|
||||
|
||||
for (const provider of dc.providerMap.values()) {
|
||||
await provider.loadWorkspaces();
|
||||
|
||||
@@ -25,7 +25,7 @@ const _initializeDataCenter = () => {
|
||||
|
||||
export const getDataCenter = _initializeDataCenter();
|
||||
|
||||
export type { DataCenter };
|
||||
export { DataCenter };
|
||||
export { getLogger } from './logger';
|
||||
export * from './message';
|
||||
export { AffineProvider } from './provider/affine';
|
||||
|
||||
@@ -10,6 +10,9 @@ export const setDefaultAvatar = async (
|
||||
return;
|
||||
}
|
||||
const blob = await getDefaultHeadImgBlob(blocksuiteWorkspace.meta.name);
|
||||
if (!blob) {
|
||||
return;
|
||||
}
|
||||
const blobStorage = await blocksuiteWorkspace.blobs;
|
||||
assert(blobStorage, 'No blob storage');
|
||||
const avatar = await blobStorage.set(blob);
|
||||
|
||||
@@ -28,10 +28,13 @@ const DefaultHeadImgColors = [
|
||||
|
||||
export async function getDefaultHeadImgBlob(
|
||||
workspaceName: string
|
||||
): Promise<Blob> {
|
||||
): Promise<Blob | null> {
|
||||
const canvas = document.createElement('canvas');
|
||||
canvas.height = 100;
|
||||
canvas.width = 100;
|
||||
if (!canvas.getContext) {
|
||||
return Promise.resolve(null);
|
||||
}
|
||||
const ctx = canvas.getContext('2d');
|
||||
return new Promise<Blob>((resolve, reject) => {
|
||||
if (ctx) {
|
||||
|
||||
Reference in New Issue
Block a user