@fc3/mmcadi 0.1.22 → 0.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/compile +2 -2
- package/dist/.last-compile-time +1 -1
- package/dist/.last-publish-time +1 -1
- package/dist/client.js +1549 -265
- package/dist/src/client/client.js +1 -1
- package/dist/src/client/client.js.map +1 -1
- package/dist/src/client/enum/media-ready-state.d.ts +8 -0
- package/dist/src/client/enum/media-ready-state.js +12 -0
- package/dist/src/client/enum/media-ready-state.js.map +1 -0
- package/dist/src/client/enum/page-type.d.ts +6 -1
- package/dist/src/client/enum/page-type.js +5 -0
- package/dist/src/client/enum/page-type.js.map +1 -1
- package/dist/src/client/factory/page.js +11 -1
- package/dist/src/client/factory/page.js.map +1 -1
- package/dist/src/client/page/add-block-to-playlist.d.ts +5 -0
- package/dist/src/client/page/add-block-to-playlist.js +12 -0
- package/dist/src/client/page/add-block-to-playlist.js.map +1 -0
- package/dist/src/client/page/confirm-delete-block.js +1 -1
- package/dist/src/client/page/confirm-delete-block.js.map +1 -1
- package/dist/src/client/page/confirm-hide-block.d.ts +7 -0
- package/dist/src/client/page/confirm-hide-block.js +28 -0
- package/dist/src/client/page/confirm-hide-block.js.map +1 -0
- package/dist/src/client/page/cursor.d.ts +45 -0
- package/dist/src/client/page/cursor.js +429 -0
- package/dist/src/client/page/cursor.js.map +1 -0
- package/dist/src/client/page/edit-block.js +1 -1
- package/dist/src/client/page/edit-block.js.map +1 -1
- package/dist/src/client/page/history.d.ts +16 -0
- package/dist/src/client/page/history.js +126 -0
- package/dist/src/client/page/history.js.map +1 -0
- package/dist/src/client/page/select-block-destination.d.ts +5 -0
- package/dist/src/client/page/select-block-destination.js +12 -0
- package/dist/src/client/page/select-block-destination.js.map +1 -0
- package/dist/src/client/page/select-block-type.js +1 -1
- package/dist/src/client/page/select-block-type.js.map +1 -1
- package/dist/src/client/page/view-custom.d.ts +5 -29
- package/dist/src/client/page/view-custom.js +31 -282
- package/dist/src/client/page/view-custom.js.map +1 -1
- package/dist/src/client/page/view-playlist.d.ts +5 -0
- package/dist/src/client/page/view-playlist.js +16 -0
- package/dist/src/client/page/view-playlist.js.map +1 -0
- package/dist/src/client/page.d.ts +1 -0
- package/dist/src/client/page.js +8 -1
- package/dist/src/client/page.js.map +1 -1
- package/dist/src/client/shim/logger.d.ts +8 -2
- package/dist/src/client/shim/logger.js +19 -2
- package/dist/src/client/shim/logger.js.map +1 -1
- package/dist/src/client/shim/process.d.ts +4 -0
- package/dist/src/client/shim/process.js +16 -0
- package/dist/src/client/shim/process.js.map +1 -0
- package/dist/src/client/utility/get-block-activation-href.d.ts +2 -0
- package/dist/src/client/utility/get-block-activation-href.js +25 -0
- package/dist/src/client/utility/get-block-activation-href.js.map +1 -0
- package/dist/src/client/utility/get-meta-value.js +1 -1
- package/dist/src/client/utility/get-meta-value.js.map +1 -1
- package/dist/src/common/builder/block/background.js +1 -1
- package/dist/src/common/builder/block/background.js.map +1 -1
- package/dist/src/common/builder/block/folder.js +1 -1
- package/dist/src/common/builder/block/folder.js.map +1 -1
- package/dist/src/common/builder/block/header.d.ts +4 -1
- package/dist/src/common/builder/block/header.js +16 -3
- package/dist/src/common/builder/block/header.js.map +1 -1
- package/dist/src/common/builder/block/link.js +1 -1
- package/dist/src/common/builder/block/link.js.map +1 -1
- package/dist/src/constant/role/creator.js +1 -1
- package/dist/src/constant/role/creator.js.map +1 -1
- package/dist/src/constant/role/public.js +1 -1
- package/dist/src/constant/role/public.js.map +1 -1
- package/dist/src/constant/role/unknown.js +1 -1
- package/dist/src/constant/role/unknown.js.map +1 -1
- package/dist/src/enum/action-type.d.ts +4 -1
- package/dist/src/enum/action-type.js +3 -0
- package/dist/src/enum/action-type.js.map +1 -1
- package/dist/src/enum/block-type.d.ts +1 -0
- package/dist/src/enum/block-type.js +1 -0
- package/dist/src/enum/block-type.js.map +1 -1
- package/dist/src/enum/emoji.d.ts +11 -2
- package/dist/src/enum/emoji.js +10 -1
- package/dist/src/enum/emoji.js.map +1 -1
- package/dist/src/enum/tool-type.d.ts +1 -0
- package/dist/src/enum/tool-type.js +1 -0
- package/dist/src/enum/tool-type.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/interface/repository.d.ts +10 -2
- package/dist/src/lib/feature/feature.js +2 -2
- package/dist/src/lib/feature/feature.js.map +1 -1
- package/dist/src/lib/filesystem/enum/file-extension.d.ts +1 -0
- package/dist/src/lib/filesystem/enum/file-extension.js +1 -0
- package/dist/src/lib/filesystem/enum/file-extension.js.map +1 -1
- package/dist/src/lib/http/enum/content-type.d.ts +1 -0
- package/dist/src/lib/http/enum/content-type.js +1 -0
- package/dist/src/lib/http/enum/content-type.js.map +1 -1
- package/dist/src/lib/http/enum/header.d.ts +4 -0
- package/dist/src/lib/http/enum/header.js +4 -0
- package/dist/src/lib/http/enum/header.js.map +1 -1
- package/dist/src/lib/http/utility/get-content-type-for-extension.js +2 -0
- package/dist/src/lib/http/utility/get-content-type-for-extension.js.map +1 -1
- package/dist/src/lib/random/elements.js +1 -1
- package/dist/src/lib/random/elements.js.map +1 -1
- package/dist/src/lib/server/http/endpoint/ping.d.ts +2 -3
- package/dist/src/lib/server/http/endpoint.js +2 -2
- package/dist/src/lib/server/http/endpoint.js.map +1 -1
- package/dist/src/operation.d.ts +2 -2
- package/dist/src/operation.js +3 -2
- package/dist/src/operation.js.map +1 -1
- package/dist/src/server/endpoint/abstract-page.d.ts +2 -2
- package/dist/src/server/endpoint/abstract-page.js +23 -5
- package/dist/src/server/endpoint/abstract-page.js.map +1 -1
- package/dist/src/server/endpoint/action/create.d.ts +5 -2
- package/dist/src/server/endpoint/action/create.js +126 -28
- package/dist/src/server/endpoint/action/create.js.map +1 -1
- package/dist/src/server/endpoint/action/get.d.ts +8 -2
- package/dist/src/server/endpoint/action/get.js +100 -7
- package/dist/src/server/endpoint/action/get.js.map +1 -1
- package/dist/src/server/endpoint/base.d.ts +3 -1
- package/dist/src/server/endpoint/base.js +8 -3
- package/dist/src/server/endpoint/base.js.map +1 -1
- package/dist/src/server/endpoint/history.d.ts +13 -0
- package/dist/src/server/endpoint/history.js +61 -0
- package/dist/src/server/endpoint/history.js.map +1 -0
- package/dist/src/server/endpoint/login.d.ts +2 -2
- package/dist/src/server/endpoint/login.js +3 -3
- package/dist/src/server/endpoint/login.js.map +1 -1
- package/dist/src/server/endpoint/logout.d.ts +1 -1
- package/dist/src/server/endpoint/logout.js +8 -3
- package/dist/src/server/endpoint/logout.js.map +1 -1
- package/dist/src/server/endpoint/month.d.ts +2 -2
- package/dist/src/server/endpoint/month.js +2 -2
- package/dist/src/server/endpoint/month.js.map +1 -1
- package/dist/src/server/endpoint/playlist/create.d.ts +14 -0
- package/dist/src/server/endpoint/playlist/create.js +38 -0
- package/dist/src/server/endpoint/playlist/create.js.map +1 -0
- package/dist/src/server/endpoint/playlist/get.d.ts +17 -0
- package/dist/src/server/endpoint/playlist/get.js +106 -0
- package/dist/src/server/endpoint/playlist/get.js.map +1 -0
- package/dist/src/server/endpoint/robots.d.ts +1 -1
- package/dist/src/server/endpoint/robots.js +1 -1
- package/dist/src/server/endpoint/robots.js.map +1 -1
- package/dist/src/server/endpoint/session/create.d.ts +1 -1
- package/dist/src/server/endpoint/session/create.js +2 -2
- package/dist/src/server/endpoint/session/create.js.map +1 -1
- package/dist/src/server/endpoint/settings/get.d.ts +4 -2
- package/dist/src/server/endpoint/settings/get.js +29 -10
- package/dist/src/server/endpoint/settings/get.js.map +1 -1
- package/dist/src/server/endpoint/settings/update.d.ts +1 -1
- package/dist/src/server/endpoint/settings/update.js +1 -1
- package/dist/src/server/endpoint/settings/update.js.map +1 -1
- package/dist/src/server/endpoint/week.d.ts +2 -2
- package/dist/src/server/endpoint/week.js +2 -2
- package/dist/src/server/endpoint/week.js.map +1 -1
- package/dist/src/server/endpoint/year.d.ts +2 -2
- package/dist/src/server/endpoint/year.js +2 -2
- package/dist/src/server/endpoint/year.js.map +1 -1
- package/dist/src/server/factory/{block-result-serializer.d.ts → block-serializer.d.ts} +2 -2
- package/dist/src/server/factory/{block-result-serializer.js → block-serializer.js} +19 -16
- package/dist/src/server/factory/block-serializer.js.map +1 -0
- package/dist/src/server/middleware/base.d.ts +1 -1
- package/dist/src/server/middleware/base.js +1 -1
- package/dist/src/server/middleware/base.js.map +1 -1
- package/dist/src/server/middleware/error-handler.d.ts +1 -1
- package/dist/src/server/middleware/error-handler.js +17 -6
- package/dist/src/server/middleware/error-handler.js.map +1 -1
- package/dist/src/server/middleware/static-file.d.ts +1 -1
- package/dist/src/server/middleware/static-file.js +103 -24
- package/dist/src/server/middleware/static-file.js.map +1 -1
- package/dist/src/server/operation/add-block.d.ts +1 -1
- package/dist/src/server/operation/add-block.js +22 -3
- package/dist/src/server/operation/add-block.js.map +1 -1
- package/dist/src/server/operation/add-entry-to-playlist.d.ts +12 -0
- package/dist/src/server/operation/add-entry-to-playlist.js +65 -0
- package/dist/src/server/operation/add-entry-to-playlist.js.map +1 -0
- package/dist/src/server/operation/create-playlist.d.ts +10 -0
- package/dist/src/server/operation/create-playlist.js +35 -0
- package/dist/src/server/operation/create-playlist.js.map +1 -0
- package/dist/src/server/operation/create-session.d.ts +1 -1
- package/dist/src/server/operation/create-session.js +1 -1
- package/dist/src/server/operation/create-session.js.map +1 -1
- package/dist/src/server/operation/delete-block.d.ts +7 -4
- package/dist/src/server/operation/delete-block.js +48 -10
- package/dist/src/server/operation/delete-block.js.map +1 -1
- package/dist/src/server/operation/demote-block.d.ts +1 -1
- package/dist/src/server/operation/demote-block.js +1 -1
- package/dist/src/server/operation/demote-block.js.map +1 -1
- package/dist/src/server/operation/destroy-session.d.ts +1 -1
- package/dist/src/server/operation/destroy-session.js +13 -1
- package/dist/src/server/operation/destroy-session.js.map +1 -1
- package/dist/src/server/operation/find-account.d.ts +1 -1
- package/dist/src/server/operation/find-account.js +5 -8
- package/dist/src/server/operation/find-account.js.map +1 -1
- package/dist/src/server/operation/find-playlist.d.ts +10 -0
- package/dist/src/server/operation/find-playlist.js +22 -0
- package/dist/src/server/operation/find-playlist.js.map +1 -0
- package/dist/src/server/operation/hide-block.d.ts +14 -0
- package/dist/src/server/operation/hide-block.js +55 -0
- package/dist/src/server/operation/hide-block.js.map +1 -0
- package/dist/src/server/operation/load-account.d.ts +1 -0
- package/dist/src/server/operation/load-account.js +7 -0
- package/dist/src/server/operation/load-account.js.map +1 -1
- package/dist/src/server/operation/load-block.d.ts +1 -1
- package/dist/src/server/operation/load-block.js +1 -1
- package/dist/src/server/operation/load-block.js.map +1 -1
- package/dist/src/server/operation/load-directory-items.d.ts +1 -1
- package/dist/src/server/operation/load-directory-items.js +1 -1
- package/dist/src/server/operation/load-directory-items.js.map +1 -1
- package/dist/src/server/operation/load-page.d.ts +4 -2
- package/dist/src/server/operation/load-page.js +106 -48
- package/dist/src/server/operation/load-page.js.map +1 -1
- package/dist/src/server/operation/load-playlists-for-account.d.ts +11 -0
- package/dist/src/server/operation/load-playlists-for-account.js +22 -0
- package/dist/src/server/operation/load-playlists-for-account.js.map +1 -0
- package/dist/src/server/operation/move-block.d.ts +17 -0
- package/dist/src/server/operation/move-block.js +121 -0
- package/dist/src/server/operation/move-block.js.map +1 -0
- package/dist/src/server/operation/promote-block.d.ts +1 -1
- package/dist/src/server/operation/promote-block.js +1 -1
- package/dist/src/server/operation/promote-block.js.map +1 -1
- package/dist/src/server/operation/save-page.d.ts +1 -1
- package/dist/src/server/operation/save-page.js +1 -1
- package/dist/src/server/operation/save-page.js.map +1 -1
- package/dist/src/server/operation/store-file.d.ts +14 -0
- package/dist/src/server/operation/{store-files.js → store-file.js} +29 -27
- package/dist/src/server/operation/store-file.js.map +1 -0
- package/dist/src/server/operation/update-account-settings.d.ts +1 -1
- package/dist/src/server/operation/update-account-settings.js +2 -2
- package/dist/src/server/operation/update-account-settings.js.map +1 -1
- package/dist/src/server/operation/update-block.d.ts +1 -1
- package/dist/src/server/operation/update-block.js +5 -5
- package/dist/src/server/operation/update-block.js.map +1 -1
- package/dist/src/server/repository/filesystem.d.ts +30 -0
- package/dist/src/server/repository/filesystem.js +179 -0
- package/dist/src/server/repository/filesystem.js.map +1 -0
- package/dist/src/server/repository/memory.d.ts +11 -2
- package/dist/src/server/repository/memory.js +69 -5
- package/dist/src/server/repository/memory.js.map +1 -1
- package/dist/src/server/{result-serializer → serializer}/action.d.ts +8 -1
- package/dist/src/server/{result-serializer → serializer}/action.js +375 -16
- package/dist/src/server/serializer/action.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/base.d.ts +3 -2
- package/dist/src/server/{result-serializer → serializer}/base.js +42 -5
- package/dist/src/server/serializer/base.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/block/audio.js +14 -10
- package/dist/src/server/serializer/block/audio.js.map +1 -0
- package/dist/src/server/serializer/block/background.js.map +1 -0
- package/dist/src/server/serializer/block/calendar.js.map +1 -0
- package/dist/src/server/serializer/block/directory.js.map +1 -0
- package/dist/src/server/serializer/block/ephemeral.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/block/folder.js +5 -0
- package/dist/src/server/serializer/block/folder.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/block/header.js +3 -2
- package/dist/src/server/serializer/block/header.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/block/image.js +12 -13
- package/dist/src/server/serializer/block/image.js.map +1 -0
- package/dist/src/server/serializer/block/link.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/block/list.js +1 -1
- package/dist/src/server/serializer/block/list.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/block/multi-column.js +2 -2
- package/dist/src/server/serializer/block/multi-column.js.map +1 -0
- package/dist/src/server/serializer/block/note.js.map +1 -0
- package/dist/src/server/serializer/block/parameter.js.map +1 -0
- package/dist/src/server/serializer/block/todo.js.map +1 -0
- package/dist/src/server/serializer/block/video.d.ts +6 -0
- package/dist/src/server/serializer/block/video.js +40 -0
- package/dist/src/server/serializer/block/video.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/block/whitespace.js +12 -1
- package/dist/src/server/serializer/block/whitespace.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/block.d.ts +2 -2
- package/dist/src/server/{result-serializer → serializer}/block.js +7 -4
- package/dist/src/server/serializer/block.js.map +1 -0
- package/dist/src/server/serializer/common/time-place-options.js.map +1 -0
- package/dist/src/server/serializer/history.d.ts +19 -0
- package/dist/src/server/serializer/history.js +77 -0
- package/dist/src/server/serializer/history.js.map +1 -0
- package/dist/src/server/serializer/login.js.map +1 -0
- package/dist/src/server/serializer/month.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/page.d.ts +2 -1
- package/dist/src/server/{result-serializer → serializer}/page.js +20 -35
- package/dist/src/server/serializer/page.js.map +1 -0
- package/dist/src/server/serializer/playlist.d.ts +27 -0
- package/dist/src/server/serializer/playlist.js +46 -0
- package/dist/src/server/serializer/playlist.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/settings.d.ts +9 -0
- package/dist/src/server/{result-serializer → serializer}/settings.js +45 -2
- package/dist/src/server/serializer/settings.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/week.js +2 -2
- package/dist/src/server/serializer/week.js.map +1 -0
- package/dist/src/server/{result-serializer → serializer}/year.js +2 -2
- package/dist/src/server/serializer/year.js.map +1 -0
- package/dist/src/server/utility/accepts-content-type.d.ts +1 -1
- package/dist/src/server/utility/accepts-content-type.js +1 -1
- package/dist/src/server/utility/accepts-content-type.js.map +1 -1
- package/dist/src/server/utility/accepts-html.d.ts +1 -1
- package/dist/src/server/utility/accepts-html.js +1 -1
- package/dist/src/server/utility/accepts-html.js.map +1 -1
- package/dist/src/server/utility/accepts-json.d.ts +1 -1
- package/dist/src/server/utility/accepts-json.js +1 -1
- package/dist/src/server/utility/accepts-json.js.map +1 -1
- package/dist/src/server/utility/create-date.js +1 -1
- package/dist/src/server/utility/create-date.js.map +1 -1
- package/dist/src/server/utility/day-to-date.js +1 -1
- package/dist/src/server/utility/day-to-date.js.map +1 -1
- package/dist/src/server/utility/get-block-at-index-path.js +1 -1
- package/dist/src/server/utility/get-block-at-index-path.js.map +1 -1
- package/dist/src/server/utility/get-custom-page-type-for-path.js +1 -1
- package/dist/src/server/utility/get-custom-page-type-for-path.js.map +1 -1
- package/dist/src/server/utility/get-emoji-for-block-type.js +6 -2
- package/dist/src/server/utility/get-emoji-for-block-type.js.map +1 -1
- package/dist/src/server/utility/get-emoji-for-tool-type.js +1 -0
- package/dist/src/server/utility/get-emoji-for-tool-type.js.map +1 -1
- package/dist/src/server/utility/get-hex-for-color.js +1 -1
- package/dist/src/server/utility/get-hex-for-color.js.map +1 -1
- package/dist/src/server/utility/get-key-for-role.js +1 -1
- package/dist/src/server/utility/get-key-for-role.js.map +1 -1
- package/dist/src/server/utility/get-label-for-time-place-visibility.js +1 -1
- package/dist/src/server/utility/get-label-for-time-place-visibility.js.map +1 -1
- package/dist/src/server/utility/get-month-name.js +1 -1
- package/dist/src/server/utility/get-month-name.js.map +1 -1
- package/dist/src/server/utility/get-parent-index-path.js +1 -1
- package/dist/src/server/utility/get-parent-index-path.js.map +1 -1
- package/dist/src/server/utility/get-random-emoji-for-date.js +2 -2
- package/dist/src/server/utility/get-random-emoji-for-date.js.map +1 -1
- package/dist/src/server/utility/get-siblings-and-index-for-index-path.js +2 -2
- package/dist/src/server/utility/get-siblings-and-index-for-index-path.js.map +1 -1
- package/dist/src/server/utility/get-thumbnail-filename.js +1 -1
- package/dist/src/server/utility/get-thumbnail-filename.js.map +1 -1
- package/dist/src/server/utility/get-weekday-name.js +1 -1
- package/dist/src/server/utility/get-weekday-name.js.map +1 -1
- package/dist/src/server/utility/key-to-date.js +1 -1
- package/dist/src/server/utility/key-to-date.js.map +1 -1
- package/dist/src/server/utility/month-to-date.js +1 -1
- package/dist/src/server/utility/month-to-date.js.map +1 -1
- package/dist/src/server/utility/parse-index-path.js +1 -1
- package/dist/src/server/utility/parse-index-path.js.map +1 -1
- package/dist/src/server/utility/path-to-date.js +1 -1
- package/dist/src/server/utility/path-to-date.js.map +1 -1
- package/dist/src/server/utility/supports-thumbnail.d.ts +2 -0
- package/dist/src/server/utility/supports-thumbnail.js +14 -0
- package/dist/src/server/utility/supports-thumbnail.js.map +1 -0
- package/dist/src/server/utility/validate-page.js +1 -1
- package/dist/src/server/utility/validate-page.js.map +1 -1
- package/dist/src/server/utility/validate-path.js +1 -1
- package/dist/src/server/utility/validate-path.js.map +1 -1
- package/dist/src/server/utility/validate-url.js +1 -1
- package/dist/src/server/utility/validate-url.js.map +1 -1
- package/dist/src/server/utility/year-to-date.js +1 -1
- package/dist/src/server/utility/year-to-date.js.map +1 -1
- package/dist/src/server.d.ts +6 -1
- package/dist/src/server.js +45 -11
- package/dist/src/server.js.map +1 -1
- package/dist/src/type/account-settings.d.ts +3 -2
- package/dist/src/type/action/add-block-to-playlist.d.ts +11 -0
- package/dist/src/type/action/add-block-to-playlist.js +3 -0
- package/dist/src/type/action/add-block-to-playlist.js.map +1 -0
- package/dist/src/type/action/add-block.d.ts +10 -2
- package/dist/src/type/action/hide-block.d.ts +9 -0
- package/dist/src/type/action/hide-block.js +3 -0
- package/dist/src/type/action/hide-block.js.map +1 -0
- package/dist/src/type/action/move-block.d.ts +10 -0
- package/dist/src/type/action/move-block.js +3 -0
- package/dist/src/type/action/move-block.js.map +1 -0
- package/dist/src/type/block/audio.d.ts +4 -0
- package/dist/src/type/block/header.d.ts +2 -0
- package/dist/src/type/block/image.d.ts +2 -0
- package/dist/src/type/block/video.d.ts +8 -0
- package/dist/src/type/block/video.js +3 -0
- package/dist/src/type/block/video.js.map +1 -0
- package/dist/src/type/block.d.ts +2 -2
- package/dist/src/type/page.d.ts +2 -0
- package/dist/src/type/playlist.d.ts +11 -0
- package/dist/src/type/playlist.js +3 -0
- package/dist/src/type/playlist.js.map +1 -0
- package/dist/src/type/unpersisted.d.ts +2 -0
- package/dist/src/type/unpersisted.js +3 -0
- package/dist/src/type/unpersisted.js.map +1 -0
- package/dist/test/unit/server/operation/promote-block.js +13 -2
- package/dist/test/unit/server/operation/promote-block.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -3
- package/dist/src/server/endpoint/account/get.d.ts +0 -14
- package/dist/src/server/endpoint/account/get.js +0 -34
- package/dist/src/server/endpoint/account/get.js.map +0 -1
- package/dist/src/server/endpoint/role/get.d.ts +0 -14
- package/dist/src/server/endpoint/role/get.js +0 -43
- package/dist/src/server/endpoint/role/get.js.map +0 -1
- package/dist/src/server/factory/block-result-serializer.js.map +0 -1
- package/dist/src/server/operation/store-files.d.ts +0 -15
- package/dist/src/server/operation/store-files.js.map +0 -1
- package/dist/src/server/result-serializer/account.d.ts +0 -9
- package/dist/src/server/result-serializer/account.js +0 -26
- package/dist/src/server/result-serializer/account.js.map +0 -1
- package/dist/src/server/result-serializer/action.js.map +0 -1
- package/dist/src/server/result-serializer/base.js.map +0 -1
- package/dist/src/server/result-serializer/block/audio.js.map +0 -1
- package/dist/src/server/result-serializer/block/background.js.map +0 -1
- package/dist/src/server/result-serializer/block/calendar.js.map +0 -1
- package/dist/src/server/result-serializer/block/directory.js.map +0 -1
- package/dist/src/server/result-serializer/block/ephemeral.js.map +0 -1
- package/dist/src/server/result-serializer/block/folder.js.map +0 -1
- package/dist/src/server/result-serializer/block/header.js.map +0 -1
- package/dist/src/server/result-serializer/block/image.js.map +0 -1
- package/dist/src/server/result-serializer/block/link.js.map +0 -1
- package/dist/src/server/result-serializer/block/list.js.map +0 -1
- package/dist/src/server/result-serializer/block/multi-column.js.map +0 -1
- package/dist/src/server/result-serializer/block/note.js.map +0 -1
- package/dist/src/server/result-serializer/block/parameter.js.map +0 -1
- package/dist/src/server/result-serializer/block/todo.js.map +0 -1
- package/dist/src/server/result-serializer/block/whitespace.js.map +0 -1
- package/dist/src/server/result-serializer/block.js.map +0 -1
- package/dist/src/server/result-serializer/common/time-place-options.js.map +0 -1
- package/dist/src/server/result-serializer/login.js.map +0 -1
- package/dist/src/server/result-serializer/month.js.map +0 -1
- package/dist/src/server/result-serializer/page.js.map +0 -1
- package/dist/src/server/result-serializer/role.d.ts +0 -9
- package/dist/src/server/result-serializer/role.js +0 -26
- package/dist/src/server/result-serializer/role.js.map +0 -1
- package/dist/src/server/result-serializer/settings.js.map +0 -1
- package/dist/src/server/result-serializer/week.js.map +0 -1
- package/dist/src/server/result-serializer/year.js.map +0 -1
- package/dist/test/unit/lib/grammar/inflector.d.ts +0 -1
- package/dist/test/unit/lib/grammar/inflector.js +0 -72
- package/dist/test/unit/lib/grammar/inflector.js.map +0 -1
- /package/dist/src/server/{result-serializer → serializer}/block/audio.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/background.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/background.js +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/calendar.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/calendar.js +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/directory.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/directory.js +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/ephemeral.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/ephemeral.js +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/folder.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/header.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/image.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/link.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/link.js +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/list.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/multi-column.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/note.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/note.js +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/parameter.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/parameter.js +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/todo.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/todo.js +0 -0
- /package/dist/src/server/{result-serializer → serializer}/block/whitespace.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/common/time-place-options.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/common/time-place-options.js +0 -0
- /package/dist/src/server/{result-serializer → serializer}/login.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/login.js +0 -0
- /package/dist/src/server/{result-serializer → serializer}/month.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/month.js +0 -0
- /package/dist/src/server/{result-serializer → serializer}/week.d.ts +0 -0
- /package/dist/src/server/{result-serializer → serializer}/year.d.ts +0 -0
|
@@ -3,14 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const http_1 = require("
|
|
7
|
-
const errors_1 = require("
|
|
6
|
+
const http_1 = require("@fc3/http");
|
|
7
|
+
const errors_1 = require("@fc3/errors");
|
|
8
8
|
const base_1 = __importDefault(require("./../base.js"));
|
|
9
9
|
const block_type_1 = __importDefault(require("./../../../enum/block-type.js"));
|
|
10
|
-
const action_1 = __importDefault(require("./../../
|
|
10
|
+
const action_1 = __importDefault(require("./../../serializer/action.js"));
|
|
11
11
|
const get_parent_path_1 = __importDefault(require("./../../../common/utility/get-parent-path.js"));
|
|
12
12
|
const get_block_permissions_1 = __importDefault(require("./../../utility/get-block-permissions.js"));
|
|
13
13
|
const get_path_for_folder_block_1 = __importDefault(require("./../../utility/get-path-for-folder-block.js"));
|
|
14
|
+
const load_playlists_for_account_1 = __importDefault(require("./../../operation/load-playlists-for-account.js"));
|
|
14
15
|
const permission_type_1 = __importDefault(require("./../../../enum/permission-type.js"));
|
|
15
16
|
const color_1 = __importDefault(require("./../../../enum/color.js"));
|
|
16
17
|
const emoji_1 = __importDefault(require("./../../../enum/emoji.js"));
|
|
@@ -35,14 +36,42 @@ class GetActionEndpoint extends base_1.default {
|
|
|
35
36
|
switch (action_type) {
|
|
36
37
|
case action_type_1.default.ADD_BLOCK:
|
|
37
38
|
return this.processAddBlock();
|
|
39
|
+
case action_type_1.default.MOVE_BLOCK:
|
|
40
|
+
return this.processMoveBlock();
|
|
38
41
|
case action_type_1.default.DELETE_BLOCK:
|
|
39
42
|
return this.processDeleteBlock();
|
|
43
|
+
case action_type_1.default.HIDE_BLOCK:
|
|
44
|
+
return this.processHideBlock();
|
|
40
45
|
case action_type_1.default.EDIT_BLOCK:
|
|
41
46
|
return this.processEditBlock();
|
|
47
|
+
case action_type_1.default.ADD_BLOCK_TO_PLAYLIST:
|
|
48
|
+
return this.processAddBlockToPlaylist();
|
|
42
49
|
default:
|
|
43
50
|
throw new errors_1.InvalidError(`Unsupported action type: ${action_type}`);
|
|
44
51
|
}
|
|
45
52
|
}
|
|
53
|
+
async processMoveBlock() {
|
|
54
|
+
const path = this.getPath();
|
|
55
|
+
const action_type = action_type_1.default.MOVE_BLOCK;
|
|
56
|
+
const index_path = this.getQueryParameter('index_path');
|
|
57
|
+
const target_path = path;
|
|
58
|
+
if (typeof index_path !== 'string') {
|
|
59
|
+
throw new errors_1.InvalidError(`Invalid index path: ${index_path}`);
|
|
60
|
+
}
|
|
61
|
+
const execution_context = this.getExecutionContext();
|
|
62
|
+
const operation = new load_block_1.default(path, index_path, execution_context);
|
|
63
|
+
const block = await operation.perform();
|
|
64
|
+
const editing = false;
|
|
65
|
+
this.setTargetBlock(block);
|
|
66
|
+
return {
|
|
67
|
+
path,
|
|
68
|
+
block,
|
|
69
|
+
action_type,
|
|
70
|
+
index_path,
|
|
71
|
+
target_path,
|
|
72
|
+
editing
|
|
73
|
+
};
|
|
74
|
+
}
|
|
46
75
|
async processAddBlock() {
|
|
47
76
|
const path = this.getPath();
|
|
48
77
|
const action_type = action_type_1.default.ADD_BLOCK;
|
|
@@ -71,6 +100,26 @@ class GetActionEndpoint extends base_1.default {
|
|
|
71
100
|
editing
|
|
72
101
|
};
|
|
73
102
|
}
|
|
103
|
+
async processHideBlock() {
|
|
104
|
+
const path = this.getPath();
|
|
105
|
+
const action_type = action_type_1.default.HIDE_BLOCK;
|
|
106
|
+
const index_path = this.getQueryParameter('index_path');
|
|
107
|
+
if (typeof index_path !== 'string') {
|
|
108
|
+
throw new errors_1.InvalidError(`Invalid index path: ${index_path}`);
|
|
109
|
+
}
|
|
110
|
+
const execution_context = this.getExecutionContext();
|
|
111
|
+
const operation = new load_block_1.default(path, index_path, execution_context);
|
|
112
|
+
const block = await operation.perform();
|
|
113
|
+
const editing = false;
|
|
114
|
+
this.setTargetBlock(block);
|
|
115
|
+
return {
|
|
116
|
+
path,
|
|
117
|
+
action_type,
|
|
118
|
+
index_path,
|
|
119
|
+
editing,
|
|
120
|
+
block
|
|
121
|
+
};
|
|
122
|
+
}
|
|
74
123
|
async processDeleteBlock() {
|
|
75
124
|
const path = this.getPath();
|
|
76
125
|
const action_type = action_type_1.default.DELETE_BLOCK;
|
|
@@ -111,15 +160,33 @@ class GetActionEndpoint extends base_1.default {
|
|
|
111
160
|
block
|
|
112
161
|
};
|
|
113
162
|
}
|
|
163
|
+
async processAddBlockToPlaylist() {
|
|
164
|
+
const path = this.getPath();
|
|
165
|
+
const action_type = action_type_1.default.ADD_BLOCK_TO_PLAYLIST;
|
|
166
|
+
const index_path = this.getQueryParameter('index_path');
|
|
167
|
+
if (typeof index_path !== 'string') {
|
|
168
|
+
throw new errors_1.InvalidError(`Invalid index path: ${index_path}`);
|
|
169
|
+
}
|
|
170
|
+
const execution_context = this.getExecutionContext();
|
|
171
|
+
const operation = new load_block_1.default(path, index_path, execution_context);
|
|
172
|
+
const block = await operation.perform();
|
|
173
|
+
const editing = false;
|
|
174
|
+
this.setTargetBlock(block);
|
|
175
|
+
return {
|
|
176
|
+
path,
|
|
177
|
+
action_type,
|
|
178
|
+
index_path,
|
|
179
|
+
editing,
|
|
180
|
+
block
|
|
181
|
+
};
|
|
182
|
+
}
|
|
114
183
|
async getHtmlResultSerializer(result) {
|
|
115
184
|
const session = this.getSession();
|
|
116
185
|
const path = '/actions';
|
|
117
186
|
const referrer_url = this.getReferrerUrl();
|
|
118
|
-
const
|
|
119
|
-
const account_operation = new load_account_1.default(execution_context);
|
|
120
|
-
const { routes, roles } = execution_context.getConfig();
|
|
187
|
+
const { routes, roles } = this.getConfig();
|
|
121
188
|
const route_paths = Object.keys(routes);
|
|
122
|
-
const account = await
|
|
189
|
+
const account = await this.loadAccount();
|
|
123
190
|
const creator_username = await this.determineCreatorUsername();
|
|
124
191
|
if (account === null) {
|
|
125
192
|
throw new errors_1.InvariantViolation(`
|
|
@@ -127,8 +194,10 @@ class GetActionEndpoint extends base_1.default {
|
|
|
127
194
|
but they were not set
|
|
128
195
|
`);
|
|
129
196
|
}
|
|
197
|
+
const playlists = await this.loadPlaylistsForAction(result);
|
|
130
198
|
const metadata = {
|
|
131
199
|
account,
|
|
200
|
+
playlists,
|
|
132
201
|
roles,
|
|
133
202
|
route_paths,
|
|
134
203
|
creator_username
|
|
@@ -165,6 +234,16 @@ class GetActionEndpoint extends base_1.default {
|
|
|
165
234
|
}
|
|
166
235
|
return parent_block;
|
|
167
236
|
}
|
|
237
|
+
async loadPlaylistsForAction(action) {
|
|
238
|
+
const { action_type } = action;
|
|
239
|
+
if (action_type !== action_type_1.default.ADD_BLOCK_TO_PLAYLIST) {
|
|
240
|
+
return [];
|
|
241
|
+
}
|
|
242
|
+
const account = await this.loadAccount();
|
|
243
|
+
const execution_context = this.getExecutionContext();
|
|
244
|
+
const operation = new load_playlists_for_account_1.default(account, execution_context);
|
|
245
|
+
return operation.perform();
|
|
246
|
+
}
|
|
168
247
|
async determineCreatorUsername() {
|
|
169
248
|
const { creator_id } = this.getTargetBlock();
|
|
170
249
|
return `${creator_id}`;
|
|
@@ -192,6 +271,20 @@ class GetActionEndpoint extends base_1.default {
|
|
|
192
271
|
setTargetBlock(block) {
|
|
193
272
|
this.target_block = block;
|
|
194
273
|
}
|
|
274
|
+
async loadAccount() {
|
|
275
|
+
if (this.account === undefined) {
|
|
276
|
+
const execution_context = this.getExecutionContext();
|
|
277
|
+
const account_operation = new load_account_1.default(execution_context);
|
|
278
|
+
const account = await account_operation.perform();
|
|
279
|
+
if (account === null) {
|
|
280
|
+
throw new errors_1.InvariantViolation(`
|
|
281
|
+
Tried to read account, but it was not present after session verification
|
|
282
|
+
`);
|
|
283
|
+
}
|
|
284
|
+
this.account = account;
|
|
285
|
+
}
|
|
286
|
+
return this.account;
|
|
287
|
+
}
|
|
195
288
|
getTargetBlock() {
|
|
196
289
|
if (this.target_block === undefined) {
|
|
197
290
|
throw new errors_1.InvariantViolation(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../src/server/endpoint/action/get.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../src/server/endpoint/action/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { Endpoint } from '
|
|
1
|
+
import { Endpoint } from '@fc3/server';
|
|
2
|
+
import RuntimeConfig from './../../type/runtime-config';
|
|
2
3
|
type AllowedOutputs = string | Buffer | object;
|
|
3
4
|
declare abstract class BaseEndpoint<I, O extends AllowedOutputs> extends Endpoint<I, O> {
|
|
4
5
|
protected getHost(): string;
|
|
5
6
|
protected getReferrerUrl(): string;
|
|
6
7
|
protected verifyLoggedIn(): void;
|
|
8
|
+
protected getConfig(): RuntimeConfig;
|
|
7
9
|
}
|
|
8
10
|
export default BaseEndpoint;
|
|
@@ -3,9 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const server_1 = require("
|
|
7
|
-
const http_1 = require("
|
|
8
|
-
const errors_1 = require("
|
|
6
|
+
const server_1 = require("@fc3/server");
|
|
7
|
+
const http_1 = require("@fc3/http");
|
|
8
|
+
const errors_1 = require("@fc3/errors");
|
|
9
9
|
const validate_url_1 = __importDefault(require("./../utility/validate-url.js"));
|
|
10
10
|
class BaseEndpoint extends server_1.Endpoint {
|
|
11
11
|
getHost() {
|
|
@@ -37,6 +37,11 @@ class BaseEndpoint extends server_1.Endpoint {
|
|
|
37
37
|
throw new errors_1.UnauthorizedError();
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
+
getConfig() {
|
|
41
|
+
const execution_context = this.getExecutionContext();
|
|
42
|
+
const config = execution_context.getConfig();
|
|
43
|
+
return config;
|
|
44
|
+
}
|
|
40
45
|
}
|
|
41
46
|
exports.default = BaseEndpoint;
|
|
42
47
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/server/endpoint/base.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/server/endpoint/base.ts"],"names":[],"mappings":";;;;;AAAA,wCAAqC;AACrC,oCAAqC;AACrC,wCAAkE;AAElE,+EAAsD;AAKtD,MAAe,YAA0C,SAAQ,iBAAc;IACpE,OAAO;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,iBAAU,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,2BAAkB,CAAC;;IAE5B,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAES,cAAc;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,iBAAU,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAA,sBAAW,EAAC,QAAQ,CAAC,CAAC;YAEtB,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAC;QAEzC,IAAA,sBAAW,EAAC,QAAQ,CAAC,CAAC;QAEtB,OAAO,QAAQ,CAAC;IACjB,CAAC;IAES,cAAc;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,0BAAiB,EAAE,CAAC;QAC/B,CAAC;IACF,CAAC;IAES,SAAS;QAClB,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAE7C,OAAO,MAAuB,CAAC;IAChC,CAAC;CACD;AAED,kBAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { HttpMethod, ContentType } from '@fc3/http';
|
|
2
|
+
import BaseEndpoint from './base';
|
|
3
|
+
import HistoryResultSerializer from './../serializer/history';
|
|
4
|
+
type HistoryInput = {};
|
|
5
|
+
type HistoryOutput = string[];
|
|
6
|
+
declare class HistoryEndpoint extends BaseEndpoint<HistoryInput, HistoryOutput> {
|
|
7
|
+
path: string;
|
|
8
|
+
method: HttpMethod;
|
|
9
|
+
content_types: ContentType[];
|
|
10
|
+
protected process(): Promise<HistoryOutput>;
|
|
11
|
+
protected getHtmlResultSerializer(history: HistoryOutput): Promise<HistoryResultSerializer>;
|
|
12
|
+
}
|
|
13
|
+
export default HistoryEndpoint;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const http_1 = require("@fc3/http");
|
|
7
|
+
const errors_1 = require("@fc3/errors");
|
|
8
|
+
const base_1 = __importDefault(require("./base.js"));
|
|
9
|
+
const load_page_1 = __importDefault(require("./../operation/load-page.js"));
|
|
10
|
+
const load_account_1 = __importDefault(require("./../operation/load-account.js"));
|
|
11
|
+
const history_1 = __importDefault(require("./../serializer/history.js"));
|
|
12
|
+
class HistoryEndpoint extends base_1.default {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.path = '/history';
|
|
16
|
+
this.method = http_1.HttpMethod.GET;
|
|
17
|
+
this.content_types = [
|
|
18
|
+
http_1.ContentType.HTML
|
|
19
|
+
];
|
|
20
|
+
}
|
|
21
|
+
async process() {
|
|
22
|
+
const execution_context = this.getExecutionContext();
|
|
23
|
+
const operation = new load_account_1.default(execution_context);
|
|
24
|
+
const account = await operation.perform();
|
|
25
|
+
if (account === null) {
|
|
26
|
+
throw new errors_1.UnauthorizedError();
|
|
27
|
+
}
|
|
28
|
+
return account.settings.history;
|
|
29
|
+
}
|
|
30
|
+
async getHtmlResultSerializer(history) {
|
|
31
|
+
const session = this.getSession();
|
|
32
|
+
const path = '/history';
|
|
33
|
+
const referrer_url = this.getReferrerUrl();
|
|
34
|
+
const execution_context = this.getExecutionContext();
|
|
35
|
+
const { roles } = this.getConfig();
|
|
36
|
+
const index = this.getNumericParameter('index', 0);
|
|
37
|
+
const pages = [];
|
|
38
|
+
let history_index = 0;
|
|
39
|
+
while (history_index < history.length) {
|
|
40
|
+
const history_item = history[history_index++];
|
|
41
|
+
const operation = new load_page_1.default(history_item, execution_context);
|
|
42
|
+
try {
|
|
43
|
+
const page = await operation.perform();
|
|
44
|
+
pages.push(page);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
if (!(0, errors_1.errorMatches)(error, errors_1.NotFoundError)) {
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const metadata = {
|
|
53
|
+
pages,
|
|
54
|
+
roles,
|
|
55
|
+
index
|
|
56
|
+
};
|
|
57
|
+
return new history_1.default(history, metadata, path, referrer_url, session);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.default = HistoryEndpoint;
|
|
61
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../src/server/endpoint/history.ts"],"names":[],"mappings":";;;;;AAAA,oCAAkD;AAClD,wCAA2E;AAE3E,gEAAgD;AAChD,2EAA2D;AAE3D,iFAAiE;AACjE,wEAAgE;AAKhE,MAAM,eAAgB,SAAQ,cAAyC;IAAvE;;QACQ,SAAI,GAAG,UAAU,CAAC;QAClB,WAAM,GAAG,iBAAU,CAAC,GAAG,CAAC;QACxB,kBAAa,GAAG;YACtB,kBAAW,CAAC,IAAI;SAChB,CAAC;IAyDH,CAAC;IAvDU,KAAK,CAAC,OAAO;QACtB,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,sBAAoB,CAAC,iBAAiB,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAE1C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,0BAAiB,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IACjC,CAAC;IAES,KAAK,CAAC,uBAAuB,CACtC,OAAsB;QAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACrD,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAW,EAAE,CAAC;QAEzB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,OAAO,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,IAAI,mBAAiB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;YAEzE,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;gBAEvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,IAAA,qBAAY,EAAC,KAAK,EAAE,sBAAa,CAAC,EAAE,CAAC;oBACzC,MAAM,KAAK,CAAC;gBACb,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,QAAQ,GAAG;YAChB,KAAK;YACL,KAAK;YACL,KAAK;SACL,CAAC;QAEF,OAAO,IAAI,iBAAuB,CACjC,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,OAAO,CACP,CAAC;IACH,CAAC;CACD;AAED,kBAAe,eAAe,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { HttpMethod, ContentType } from '
|
|
2
|
-
import LoginResultSerializer from './../
|
|
1
|
+
import { HttpMethod, ContentType } from '@fc3/http';
|
|
2
|
+
import LoginResultSerializer from './../serializer/login';
|
|
3
3
|
import BaseEndpoint from './base';
|
|
4
4
|
type LoginInput = {};
|
|
5
5
|
type LoginOutput = {
|
|
@@ -3,9 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const http_1 = require("
|
|
7
|
-
const errors_1 = require("
|
|
8
|
-
const login_1 = __importDefault(require("./../
|
|
6
|
+
const http_1 = require("@fc3/http");
|
|
7
|
+
const errors_1 = require("@fc3/errors");
|
|
8
|
+
const login_1 = __importDefault(require("./../serializer/login.js"));
|
|
9
9
|
const base_1 = __importDefault(require("./base.js"));
|
|
10
10
|
class LoginEndpoint extends base_1.default {
|
|
11
11
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/server/endpoint/login.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/server/endpoint/login.ts"],"names":[],"mappings":";;;;;AAAA,oCAAkD;AAClD,wCAAyC;AAEzC,oEAA4D;AAC5D,gEAAgD;AAQhD,MAAM,aAAc,SAAQ,cAAqC;IAAjE;;QACQ,SAAI,GAAG,QAAQ,CAAC;QAChB,WAAM,GAAG,iBAAU,CAAC,GAAG,CAAC;QACxB,kBAAa,GAAG;YACtB,kBAAW,CAAC,IAAI;SAChB,CAAC;IAyBH,CAAC;IAvBU,KAAK,CAAC,OAAO;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;QAE3D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,qBAAY,CAAC;2BACC,UAAU;IACjC,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEnD,OAAO;YACN,WAAW;SACX,CAAC;IACH,CAAC;IAES,KAAK,CAAC,uBAAuB,CAAC,MAAmB;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,QAAQ,CAAC;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE3C,OAAO,IAAI,eAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;CACD;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -3,9 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const http_1 = require("
|
|
6
|
+
const http_1 = require("@fc3/http");
|
|
7
7
|
const destroy_session_1 = __importDefault(require("./../operation/destroy-session.js"));
|
|
8
|
+
const color_1 = __importDefault(require("./../../enum/color.js"));
|
|
8
9
|
const base_1 = __importDefault(require("./base.js"));
|
|
10
|
+
const create_toast_path_1 = __importDefault(require("./../utility/create-toast-path.js"));
|
|
9
11
|
class LogoutEndpoint extends base_1.default {
|
|
10
12
|
constructor() {
|
|
11
13
|
super(...arguments);
|
|
@@ -22,8 +24,11 @@ class LogoutEndpoint extends base_1.default {
|
|
|
22
24
|
const operation = new destroy_session_1.default(session.id, execution_context);
|
|
23
25
|
await operation.perform();
|
|
24
26
|
const response = this.getResponse();
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
+
const path = (0, create_toast_path_1.default)('/', {
|
|
28
|
+
message: 'logged out',
|
|
29
|
+
color: color_1.default.GREY
|
|
30
|
+
});
|
|
31
|
+
response.setHeaderValue(http_1.HttpHeader.LOCATION, path);
|
|
27
32
|
response.setStatusCode(http_1.StatusCode.REDIRECT);
|
|
28
33
|
return '';
|
|
29
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../../src/server/endpoint/logout.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../../src/server/endpoint/logout.ts"],"names":[],"mappings":";;;;;AAAA,oCAA0E;AAE1E,uFAAuE;AACvE,uDAA+B;AAC/B,gEAAgD;AAChD,yFAA+D;AAK/D,MAAM,cAAe,SAAQ,cAAuC;IAApE;;QACQ,SAAI,GAAG,SAAS,CAAC;QACjB,WAAM,GAAG,iBAAU,CAAC,GAAG,CAAC;QACxB,kBAAa,GAAG;YACtB,kBAAW,CAAC,IAAI;YAChB,kBAAW,CAAC,IAAI;SAChB,CAAC;IAwBH,CAAC;IAtBU,KAAK,CAAC,OAAO;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAErD,MAAM,SAAS,GAAG,IAAI,yBAAuB,CAC5C,OAAO,CAAC,EAAE,EACV,iBAAiB,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAA,2BAAe,EAAC,GAAG,EAAE;YACjC,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,eAAK,CAAC,IAAI;SACjB,CAAC,CAAC;QAEH,QAAQ,CAAC,cAAc,CAAC,iBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,QAAQ,CAAC,aAAa,CAAC,iBAAU,CAAC,QAAQ,CAAC,CAAC;QAE5C,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,kBAAe,cAAc,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { HttpMethod, ContentType } from '
|
|
1
|
+
import { HttpMethod, ContentType } from '@fc3/http';
|
|
2
2
|
import BaseEndpoint from './base';
|
|
3
3
|
import Month from './../../type/month';
|
|
4
|
-
import MonthResultSerializer from './../
|
|
4
|
+
import MonthResultSerializer from './../serializer/month';
|
|
5
5
|
declare class MonthEndpoint extends BaseEndpoint<unknown, Month> {
|
|
6
6
|
path: string;
|
|
7
7
|
method: HttpMethod;
|
|
@@ -3,9 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const http_1 = require("
|
|
6
|
+
const http_1 = require("@fc3/http");
|
|
7
7
|
const base_1 = __importDefault(require("./base.js"));
|
|
8
|
-
const month_1 = __importDefault(require("./../
|
|
8
|
+
const month_1 = __importDefault(require("./../serializer/month.js"));
|
|
9
9
|
const validate_month_1 = __importDefault(require("./../utility/validate-month.js"));
|
|
10
10
|
class MonthEndpoint extends base_1.default {
|
|
11
11
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"month.js","sourceRoot":"","sources":["../../../../src/server/endpoint/month.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"month.js","sourceRoot":"","sources":["../../../../src/server/endpoint/month.ts"],"names":[],"mappings":";;;;;AAAA,oCAAkD;AAElD,gEAAgD;AAEhD,oEAA4D;AAC5D,mFAA0D;AAE1D,MAAM,aAAc,SAAQ,cAA4B;IAAxD;;QACQ,SAAI,GAAG,aAAa,CAAC;QACrB,WAAM,GAAG,iBAAU,CAAC,GAAG,CAAC;QAExB,kBAAa,GAAG;YACtB,kBAAW,CAAC,IAAI;YAChB,kBAAW,CAAC,IAAI;SAChB,CAAC;IAkBH,CAAC;IAhBU,KAAK,CAAC,OAAO;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,IAAA,wBAAa,EAAC;YACpB,GAAG;SACH,CAAC,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,uBAAuB,CAAC,MAAa;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE3C,OAAO,IAAI,eAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;CACD;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HttpMethod, ContentType } from '@fc3/http';
|
|
2
|
+
import BaseEndpoint from './../base';
|
|
3
|
+
type CreatePlaylistInput = {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
};
|
|
6
|
+
type CreatePlaylistOutput = string;
|
|
7
|
+
declare class CreatePlaylistEndpoint extends BaseEndpoint<CreatePlaylistInput, CreatePlaylistOutput> {
|
|
8
|
+
path: string;
|
|
9
|
+
method: HttpMethod;
|
|
10
|
+
content_types: ContentType[];
|
|
11
|
+
protected authorize(): Promise<void>;
|
|
12
|
+
protected process(): Promise<CreatePlaylistOutput>;
|
|
13
|
+
}
|
|
14
|
+
export default CreatePlaylistEndpoint;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const http_1 = require("@fc3/http");
|
|
7
|
+
const errors_1 = require("@fc3/errors");
|
|
8
|
+
const base_1 = __importDefault(require("./../base.js"));
|
|
9
|
+
const create_playlist_1 = __importDefault(require("./../../operation/create-playlist.js"));
|
|
10
|
+
const create_slug_1 = __importDefault(require("./../../utility/create-slug.js"));
|
|
11
|
+
class CreatePlaylistEndpoint extends base_1.default {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.path = '/playlists';
|
|
15
|
+
this.method = http_1.HttpMethod.POST;
|
|
16
|
+
this.content_types = [http_1.ContentType.JSON, http_1.ContentType.HTML];
|
|
17
|
+
}
|
|
18
|
+
async authorize() {
|
|
19
|
+
this.verifyLoggedIn();
|
|
20
|
+
}
|
|
21
|
+
async process() {
|
|
22
|
+
const { name } = this.getRequestBody();
|
|
23
|
+
if (typeof name !== 'string' || name.trim() === '') {
|
|
24
|
+
throw new errors_1.InvalidError(`Invalid playlist name: ${name}`);
|
|
25
|
+
}
|
|
26
|
+
const execution_context = this.getExecutionContext();
|
|
27
|
+
const operation = new create_playlist_1.default(name, execution_context);
|
|
28
|
+
await operation.perform();
|
|
29
|
+
const slug = (0, create_slug_1.default)(name);
|
|
30
|
+
const redirect_url = `/playlists/${slug}`;
|
|
31
|
+
const response = this.getResponse();
|
|
32
|
+
response.setHeaderValue(http_1.HttpHeader.LOCATION, redirect_url);
|
|
33
|
+
response.setStatusCode(http_1.StatusCode.REDIRECT);
|
|
34
|
+
return '';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.default = CreatePlaylistEndpoint;
|
|
38
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/server/endpoint/playlist/create.ts"],"names":[],"mappings":";;;;;AAAA,oCAA0E;AAC1E,wCAAyC;AAEzC,gEAAgD;AAChD,uFAAuE;AACvE,6EAAoD;AAQpD,MAAM,sBAAuB,SAAQ,cAAuD;IAA5F;;QACQ,SAAI,GAAG,YAAY,CAAC;QACpB,WAAM,GAAG,iBAAU,CAAC,IAAI,CAAC;QACzB,kBAAa,GAAG,CAAC,kBAAW,CAAC,IAAI,EAAE,kBAAW,CAAC,IAAI,CAAC,CAAC;IA2B7D,CAAC;IAzBU,KAAK,CAAC,SAAS;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,OAAO;QACtB,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAErC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,qBAAY,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,yBAAuB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAEvE,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAE1B,MAAM,IAAI,GAAG,IAAA,qBAAU,EAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,YAAY,GAAG,cAAc,IAAI,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,QAAQ,CAAC,cAAc,CAAC,iBAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC3D,QAAQ,CAAC,aAAa,CAAC,iBAAU,CAAC,QAAQ,CAAC,CAAC;QAE5C,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAED,kBAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HttpMethod, ContentType } from '@fc3/http';
|
|
2
|
+
import BaseEndpoint from './../base';
|
|
3
|
+
import Playlist from './../../../type/playlist';
|
|
4
|
+
import PlaylistResultSerializer from './../../serializer/playlist';
|
|
5
|
+
type GetPlaylistInput = {};
|
|
6
|
+
type GetPlaylistOutput = Playlist;
|
|
7
|
+
declare class GetPlaylistEndpoint extends BaseEndpoint<GetPlaylistInput, GetPlaylistOutput> {
|
|
8
|
+
path: string;
|
|
9
|
+
method: HttpMethod;
|
|
10
|
+
content_types: ContentType[];
|
|
11
|
+
private account;
|
|
12
|
+
protected process(): Promise<GetPlaylistOutput>;
|
|
13
|
+
protected getHtmlResultSerializer(playlist: GetPlaylistOutput): Promise<PlaylistResultSerializer>;
|
|
14
|
+
private loadEntries;
|
|
15
|
+
private loadAccount;
|
|
16
|
+
}
|
|
17
|
+
export default GetPlaylistEndpoint;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const http_1 = require("@fc3/http");
|
|
7
|
+
const errors_1 = require("@fc3/errors");
|
|
8
|
+
const base_1 = __importDefault(require("./../base.js"));
|
|
9
|
+
const load_account_1 = __importDefault(require("./../../operation/load-account.js"));
|
|
10
|
+
const create_slug_1 = __importDefault(require("./../../utility/create-slug.js"));
|
|
11
|
+
const playlist_1 = __importDefault(require("./../../serializer/playlist.js"));
|
|
12
|
+
const load_page_1 = __importDefault(require("./../../operation/load-page.js"));
|
|
13
|
+
const load_playlists_for_account_1 = __importDefault(require("./../../operation/load-playlists-for-account.js"));
|
|
14
|
+
const get_block_at_index_path_1 = __importDefault(require("./../../utility/get-block-at-index-path.js"));
|
|
15
|
+
const block_type_1 = __importDefault(require("./../../../enum/block-type.js"));
|
|
16
|
+
class GetPlaylistEndpoint extends base_1.default {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.path = '/playlists/:slug';
|
|
20
|
+
this.method = http_1.HttpMethod.GET;
|
|
21
|
+
this.content_types = [http_1.ContentType.HTML];
|
|
22
|
+
}
|
|
23
|
+
async process() {
|
|
24
|
+
this.verifyLoggedIn();
|
|
25
|
+
const slug = this.getPathParameter('slug');
|
|
26
|
+
const execution_context = this.getExecutionContext();
|
|
27
|
+
const account = await this.loadAccount();
|
|
28
|
+
const operation = new load_playlists_for_account_1.default(account, execution_context);
|
|
29
|
+
const playlists = await operation.perform();
|
|
30
|
+
const playlist = playlists.find((possible_playlist) => {
|
|
31
|
+
const { name } = possible_playlist;
|
|
32
|
+
const possible_slug = (0, create_slug_1.default)(name);
|
|
33
|
+
return possible_slug === slug;
|
|
34
|
+
});
|
|
35
|
+
if (!playlist) {
|
|
36
|
+
throw new errors_1.NotFoundError(`Playlist not found: ${slug}`);
|
|
37
|
+
}
|
|
38
|
+
return playlist;
|
|
39
|
+
}
|
|
40
|
+
async getHtmlResultSerializer(playlist) {
|
|
41
|
+
const session = this.getSession();
|
|
42
|
+
const referrer_url = this.getReferrerUrl();
|
|
43
|
+
const slug = (0, create_slug_1.default)(playlist.name);
|
|
44
|
+
const path = `/playlists/${slug}`;
|
|
45
|
+
const { roles } = this.getConfig();
|
|
46
|
+
const account = await this.loadAccount();
|
|
47
|
+
const entries = await this.loadEntries(playlist, roles, referrer_url, account);
|
|
48
|
+
const metadata = {
|
|
49
|
+
entries,
|
|
50
|
+
roles,
|
|
51
|
+
account
|
|
52
|
+
};
|
|
53
|
+
return new playlist_1.default(playlist, metadata, path, referrer_url, session);
|
|
54
|
+
}
|
|
55
|
+
async loadEntries(playlist, roles, referrer_url, account) {
|
|
56
|
+
const execution_context = this.getExecutionContext();
|
|
57
|
+
const hydrated_entries = [];
|
|
58
|
+
let index = 0;
|
|
59
|
+
while (index < playlist.entries.length) {
|
|
60
|
+
const entry = playlist.entries[index++];
|
|
61
|
+
const { path, index_path } = entry;
|
|
62
|
+
const load_page = new load_page_1.default(path, execution_context);
|
|
63
|
+
const page = await load_page.perform();
|
|
64
|
+
const block = (0, get_block_at_index_path_1.default)(page, index_path);
|
|
65
|
+
const { block_type } = block;
|
|
66
|
+
if (block_type !== block_type_1.default.AUDIO) {
|
|
67
|
+
throw new errors_1.InvariantViolation(`
|
|
68
|
+
Playlist entry at ${path}?index_path=${index_path}
|
|
69
|
+
is not an audio block
|
|
70
|
+
`);
|
|
71
|
+
}
|
|
72
|
+
const audio_block = block;
|
|
73
|
+
const metadata = {
|
|
74
|
+
page_path: path,
|
|
75
|
+
index_path,
|
|
76
|
+
editing: false,
|
|
77
|
+
referrer_url,
|
|
78
|
+
target_index_path: null,
|
|
79
|
+
roles,
|
|
80
|
+
account,
|
|
81
|
+
creator_username: 'system'
|
|
82
|
+
};
|
|
83
|
+
hydrated_entries.push({
|
|
84
|
+
block: audio_block,
|
|
85
|
+
metadata
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return hydrated_entries;
|
|
89
|
+
}
|
|
90
|
+
async loadAccount() {
|
|
91
|
+
if (this.account === undefined) {
|
|
92
|
+
const execution_context = this.getExecutionContext();
|
|
93
|
+
const account_operation = new load_account_1.default(execution_context);
|
|
94
|
+
const account = await account_operation.perform();
|
|
95
|
+
if (account === null) {
|
|
96
|
+
throw new errors_1.InvariantViolation(`
|
|
97
|
+
Passed the sign-in check, but no account was found
|
|
98
|
+
`);
|
|
99
|
+
}
|
|
100
|
+
this.account = account;
|
|
101
|
+
}
|
|
102
|
+
return this.account;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.default = GetPlaylistEndpoint;
|
|
106
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../src/server/endpoint/playlist/get.ts"],"names":[],"mappings":"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"}
|