12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package v1
- import (
- "github.com/labstack/echo/v4"
- "github.com/usememos/memos/server/profile"
- "github.com/usememos/memos/store"
- )
- type APIV1Service struct {
- Secret string
- Profile *profile.Profile
- Store *store.Store
- }
- func NewAPIV1Service(secret string, profile *profile.Profile, store *store.Store) *APIV1Service {
- return &APIV1Service{
- Secret: secret,
- Profile: profile,
- Store: store,
- }
- }
- func (s *APIV1Service) Register(rootGroup *echo.Group) {
- // Register RSS routes.
- s.registerRSSRoutes(rootGroup)
- // Register API v1 routes.
- apiV1Group := rootGroup.Group("/api/v1")
- apiV1Group.Use(func(next echo.HandlerFunc) echo.HandlerFunc {
- return JWTMiddleware(s, next, s.Secret)
- })
- s.registerSystemRoutes(apiV1Group)
- s.registerSystemSettingRoutes(apiV1Group)
- s.registerAuthRoutes(apiV1Group)
- s.registerIdentityProviderRoutes(apiV1Group)
- s.registerUserRoutes(apiV1Group)
- s.registerUserSettingRoutes(apiV1Group)
- s.registerTagRoutes(apiV1Group)
- s.registerShortcutRoutes(apiV1Group)
- s.registerStorageRoutes(apiV1Group)
- s.registerResourceRoutes(apiV1Group)
- s.registerMemoRoutes(apiV1Group)
- s.registerMemoOrganizerRoutes(apiV1Group)
- s.registerMemoResourceRoutes(apiV1Group)
- s.registerMemoRelationRoutes(apiV1Group)
- s.registerOpenAIRoutes(apiV1Group)
- // Register public routes.
- publicGroup := rootGroup.Group("/o")
- publicGroup.Use(func(next echo.HandlerFunc) echo.HandlerFunc {
- return JWTMiddleware(s, next, s.Secret)
- })
- s.registerGetterPublicRoutes(publicGroup)
- s.registerResourcePublicRoutes(publicGroup)
- }
|