mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 20:38:52 +00:00
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
31 lines
898 B
TypeScript
31 lines
898 B
TypeScript
import { ServerFeature } from '../../core/config';
|
|
import { FeatureModule } from '../../core/features';
|
|
import { Plugin } from '../registry';
|
|
import { SubscriptionResolver, UserSubscriptionResolver } from './resolver';
|
|
import { ScheduleManager } from './schedule';
|
|
import { SubscriptionService } from './service';
|
|
import { StripeProvider } from './stripe';
|
|
import { StripeWebhook } from './webhook';
|
|
|
|
@Plugin({
|
|
name: 'payment',
|
|
imports: [FeatureModule],
|
|
providers: [
|
|
ScheduleManager,
|
|
StripeProvider,
|
|
SubscriptionService,
|
|
SubscriptionResolver,
|
|
UserSubscriptionResolver,
|
|
],
|
|
controllers: [StripeWebhook],
|
|
requires: [
|
|
'plugins.payment.stripe.keys.APIKey',
|
|
'plugins.payment.stripe.keys.webhookKey',
|
|
],
|
|
contributesTo: ServerFeature.Payment,
|
|
if: config => config.flavor.graphql,
|
|
})
|
|
export class PaymentModule {}
|
|
|
|
export type { PaymentConfig } from './types';
|