カスタムアクション
Chamiloでは、標準的なCRUD操作を超えて、特殊な操作を処理するカスタムAPIアクションコントローラが多数(数十程度)存在します。正確な数はリリースごとに異なります。現在のセットを確認するには、src/CoreBundle/Controller/Api/ をリストアップしてください。
場所
カスタムアクションは src/CoreBundle/Controller/Api/ にあります。
注目すべきカスタムアクション
ドキュメント
CreateDocumentFileAction
ファイルのアップロードまたはフォルダ/リンクドキュメントの作成
UpdateDocumentFileAction
ドキュメントファイルの置き換え
ReplaceDocumentFileAction
ドキュメントファイルを置き換え、IDを保持
MoveDocumentAction
ドキュメントを別のフォルダに移動
UpdateVisibilityDocument
学習者に対するドキュメントの表示/非表示を切り替え
DownloadAllDocumentsAction
フォルダ内のすべてのドキュメントをZIPとしてダウンロード
DownloadSelectedDocumentsAction
選択したドキュメントセットをZIPとしてダウンロード
DocumentUsageAction
ドキュメントが使用されているコース/セッションを一覧表示
DocumentLearningPathUsageAction
ドキュメントが使用されている学習パスを一覧表示
用語集
CreateCGlossaryAction
用語集の用語を作成
UpdateCGlossaryAction
用語集の用語を更新
ExportCGlossaryAction
用語集をファイルにエクスポート
ImportCGlossaryAction
用語集をファイルからインポート
ExportGlossaryToDocumentsAction
用語集をコース内のドキュメントとしてエクスポート
GetGlossaryCollectionController
カスタムフィルタリングを適用した用語集コレクションを取得
リンク
CreateCLinkAction
外部リンクを作成
UpdateCLinkAction
外部リンクを更新
CreateCLinkCategoryAction
リンクカテゴリを作成
UpdateCLinkCategoryAction
リンクカテゴリを更新
CheckCLinkAction
リンクURLが到達可能かどうかを確認
ExportCLinksAction
リンクをファイルにエクスポート
CLinkDetailsController
リンクの詳細を取得
CLinkImageController
リンクのプレビュー画像を取得または設定
GetLinksCollectionController
カスタムフィルタリングを適用したリンクコレクションを取得
UpdateVisibilityLink
リンクの表示/非表示を切り替え
UpdateVisibilityLinkCategory
リンクカテゴリの表示/非表示を切り替え
UpdatePositionLink
リンクの順序を変更
学習パス
CreateCLpAction
学習パスを作成
LpReorderController
学習パスアイテムの順序を変更
カレンダー
UpdateCCalendarEventAction
コースカレンダーイベントを更新
CalendarMyStudentsScheduleAction
教師の生徒のスケジュールを取得
ブログ
CreateCBlogAction
ブログ投稿を作成
CreateBlogAttachmentAction
ブログ投稿にファイルを添付
UpdateVisibilityBlog
ブログの表示/非表示を切り替え
ドロップボックス
CreateDropboxFileAction
ドロップボックス(ファイル交換ツール)にファイルをアップロード
学生の課題(アサインメント)
CreateStudentPublicationFileAction
課題ファイルを提出
CreateStudentPublicationCommentAction
提出物にコメントを追加
CreateStudentPublicationCorrectionFileAction
提出物の修正ファイルをアップロード
個人ファイル
CreatePersonalFileAction
ユーザーの個人ファイルスペースにファイルをアップロード
UpdatePersonalFileAction
個人ファイルを更新
ソーシャル
LikeSocialPostController
ソーシャル投稿に「いいね」を付ける
DislikeSocialPostController
ソーシャル投稿の「いいね」を取り消す
CreateSocialPostAttachmentAction
ソーシャル投稿にファイルを添付
SocialPostAttachmentsController
ソーシャル投稿の添付ファイル一覧を表示
AbstractFeedbackSocialPostController
ソーシャル投稿フィードバックアクションのベースクラス
セッション
CreateSessionWithUsersAndCoursesAction
セッションを作成し、ユーザーとコースを一括で登録
ユーザーとアクセスURL
CreateUserOnAccessUrlAction
ユーザーを作成し、アクセスURLに関連付ける
UserAccessUrlsController
ユーザーが所属するアクセスURLを一覧表示
UserSkillsController
ユーザーに授与されたスキルを一覧表示
ビデオ会議
VideoConferenceCallbackController
外部ビデオ会議プロバイダからのコールバックを処理
ベースクラス
BaseResourceFileAction
ファイルアップロードアクションのベースクラス。マルチパート解析、リソースノード作成、ストレージを処理
カスタムアクションの実装
カスタムアクションは、API Platformの操作定義で参照される標準的なSymfonyコントローラーです。#[ApiResource]属性はエンティティに存在し、各操作のcontroller:パラメータはアクションクラスを指します:
アクションクラス自体は、単純な呼び出し可能なコントローラーであり、サービスは__invoke()メソッドの引数を介して注入されます:
重要なポイント:
deserialize: falseは、アクションがリクエストを直接読み取る場合(例:マルチパートファイルのアップロード)に設定され、API PlatformがJSONボディをデシリアライズするのを防ぎます。ファイルアップロードアクションは通常、
BaseResourceFileActionを拡張しており、これはマルチパートの解析とリソースノードの配線を処理します。セキュリティは、コントローラー内ではなく、操作の
security:パラメータを介して強制されます。
最終更新
役に立ちましたか?