AFFiNE/packages/frontend/templates
liuyi fb3a0e7b8f
refactor(server): auth (#5895)
Remove `next-auth` and implement our own Authorization/Authentication system from scratch.

## Server

- [x] tokens
  - [x] function
  - [x] encryption

- [x] AuthController
  - [x] /api/auth/sign-in
  - [x] /api/auth/sign-out
  - [x] /api/auth/session
  - [x] /api/auth/session (WE SUPPORT MULTI-ACCOUNT!)

- [x] OAuthPlugin
  - [x] OAuthController
  - [x] /oauth/login
  - [x] /oauth/callback
  - [x] Providers
    - [x] Google
    - [x] GitHub

## Client

- [x] useSession
- [x] cloudSignIn
- [x] cloudSignOut

## NOTE:

Tests will be adding in the future
2024-03-12 10:00:09 +00:00
..
edgeless-snapshot feat: move templates into AFFiNE (#5750) 2024-02-21 06:26:01 +00:00
onboarding feat(core): new onboarding template (#5951) 2024-02-29 06:02:32 +00:00
build-edgeless.mjs feat: move templates into AFFiNE (#5750) 2024-02-21 06:26:01 +00:00
build.mjs fix: path issue on Windows (#5725) 2024-01-29 07:18:25 +00:00
edgeless-templates.gen.ts feat: move templates into AFFiNE (#5750) 2024-02-21 06:26:01 +00:00
package.json feat: move templates into AFFiNE (#5750) 2024-02-21 06:26:01 +00:00
README.md refactor(core): onboarding using new transformer api (#5412) 2023-12-28 13:59:21 +00:00
templates.gen.ts refactor(server): auth (#5895) 2024-03-12 10:00:09 +00:00

@affine/templates

Manages template files for use in AFFiNE. For now we only support onboarding templates.

How to update

Before we offer a better solution, to update the onboarding templates:

  1. run AFFiNE core locally (dev mode)
  2. expose ZipTransformer to window. e.g., import {ZipTransformer} from '@blocksuite/blocks'; window.ZipTransformer = ZipTransformer;
  3. run the following script
    (async () => {
      // make sure ZipTransformer is imported and attached to window
      const { ZipTransformer } = window;
      await Promise.all([...currentWorkspace.blockSuiteWorkspace.pages.values()].map(p => p.load()));
      // wait for a few more seconds
      await new Promise(resolve => setTimeout(resolve, 5000));
      const zipblob = await ZipTransformer.exportPages(currentWorkspace.blockSuiteWorkspace, [...currentWorkspace.blockSuiteWorkspace.pages.values()]);
      const url = URL.createObjectURL(zipblob);
      const a = document.createElement('a');
      a.setAttribute('href', url);
      a.setAttribute('download', `${currentWorkspace.id}.affine.zip`);
      a.click();
      a.remove();
      URL.revokeObjectURL(url);
    })();
    
  4. unzip the file, replace the json files into onboarding folder (no need to include the assets)
  5. run yarn postinstall to update the templates.gen.ts file