mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 13:25:12 +00:00
feat: init affine blob storage (#2045)
This commit is contained in:
@@ -8,6 +8,7 @@ import { readFile } from 'node:fs/promises';
|
||||
import { MessageCode } from '@affine/env/constant';
|
||||
import { createStatusApis } from '@affine/workspace/affine/api/status';
|
||||
import { KeckProvider } from '@affine/workspace/affine/keck';
|
||||
import { WorkspaceFlavour } from '@affine/workspace/type';
|
||||
import { createEmptyBlockSuiteWorkspace } from '@affine/workspace/utils';
|
||||
import user1 from '@affine-test/fixtures/built-in-user1.json';
|
||||
import user2 from '@affine-test/fixtures/built-in-user2.json';
|
||||
@@ -119,7 +120,7 @@ async function createWorkspace(
|
||||
): Promise<string> {
|
||||
const workspace = createEmptyBlockSuiteWorkspace(
|
||||
faker.datatype.uuid(),
|
||||
_ => undefined
|
||||
WorkspaceFlavour.LOCAL
|
||||
);
|
||||
if (callback) {
|
||||
callback(workspace);
|
||||
@@ -408,9 +409,15 @@ describe('api', () => {
|
||||
);
|
||||
});
|
||||
const binary = await workspaceApis.downloadWorkspace(id, false);
|
||||
const workspace = createEmptyBlockSuiteWorkspace(id, () => undefined);
|
||||
const workspace = createEmptyBlockSuiteWorkspace(
|
||||
id,
|
||||
WorkspaceFlavour.LOCAL
|
||||
);
|
||||
Workspace.Y.applyUpdate(workspace.doc, new Uint8Array(binary));
|
||||
const workspace2 = createEmptyBlockSuiteWorkspace(id, () => undefined);
|
||||
const workspace2 = createEmptyBlockSuiteWorkspace(
|
||||
id,
|
||||
WorkspaceFlavour.LOCAL
|
||||
);
|
||||
{
|
||||
const wsUrl = `ws://127.0.0.1:3000/api/sync/`;
|
||||
const provider = new KeckProvider(wsUrl, workspace.id, workspace.doc, {
|
||||
@@ -459,7 +466,7 @@ describe('api', () => {
|
||||
);
|
||||
const publicWorkspace = createEmptyBlockSuiteWorkspace(
|
||||
id,
|
||||
() => undefined
|
||||
WorkspaceFlavour.LOCAL
|
||||
);
|
||||
Workspace.Y.applyUpdate(publicWorkspace.doc, new Uint8Array(binary));
|
||||
const publicPage = publicWorkspace.getPage(pageId) as Page;
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* @vitest-environment happy-dom
|
||||
*/
|
||||
import 'fake-indexeddb/auto';
|
||||
|
||||
import type { Workspace } from '@affine/workspace/affine/api';
|
||||
import {
|
||||
createWorkspaceApis,
|
||||
@@ -6,6 +11,7 @@ import {
|
||||
import { KeckProvider } from '@affine/workspace/affine/keck';
|
||||
import type { LoginResponse } from '@affine/workspace/affine/login';
|
||||
import { loginResponseSchema } from '@affine/workspace/affine/login';
|
||||
import { WorkspaceFlavour } from '@affine/workspace/type';
|
||||
import { createEmptyBlockSuiteWorkspace } from '@affine/workspace/utils';
|
||||
import user1 from '@affine-test/fixtures/built-in-user1.json';
|
||||
import user2 from '@affine-test/fixtures/built-in-user2.json';
|
||||
@@ -80,11 +86,17 @@ describe('ydoc sync', () => {
|
||||
const binary = await workspaceApis.downloadWorkspace(root.id);
|
||||
const workspace1 = createEmptyBlockSuiteWorkspace(
|
||||
root.id,
|
||||
(k: string) => ({ api: '/api/workspace', token: user1Token.token }[k])
|
||||
WorkspaceFlavour.AFFINE,
|
||||
{
|
||||
workspaceApis,
|
||||
}
|
||||
);
|
||||
const workspace2 = createEmptyBlockSuiteWorkspace(
|
||||
root.id,
|
||||
(k: string) => ({ api: '/api/workspace', token: user2Token.token }[k])
|
||||
WorkspaceFlavour.AFFINE,
|
||||
{
|
||||
workspaceApis,
|
||||
}
|
||||
);
|
||||
BlockSuiteWorkspace.Y.applyUpdate(workspace1.doc, new Uint8Array(binary));
|
||||
BlockSuiteWorkspace.Y.applyUpdate(workspace2.doc, new Uint8Array(binary));
|
||||
|
||||
Reference in New Issue
Block a user