Commit Graph

89 Commits

Author SHA1 Message Date
ruzniaievdm
5967ddea37 fix: provide with can_paste_component in serializers (#34521) 2024-04-24 11:25:26 -04:00
ruzniaievdm
a9db690900 feat: refactoring xblock actions (#34452) 2024-04-12 11:17:54 -04:00
connorhaugh
df3c38ce2e feat: add heartbeat to authoring api (#34449)
* feat: add heartbeat to authoring api
2024-04-10 10:28:30 -04:00
ruzniaievdm
a8586e5114 feat: display error notifications on the Unit page (#34450) 2024-04-09 09:52:35 -04:00
Kristin Aoki
9f734a7a5e feat: update youtube transcript fetch to allow all languages (#34436)
* feat: allow all languages

* feat: add youtube transcript import functions as drf
2024-03-29 08:28:18 -04:00
ruzniaievdm
6d13b77495 feat: [FC-0044] group configurations API DRF (#34389) 2024-03-25 10:02:34 -04:00
ruzniaievdm
85dd7f35e3 feat: [FC-0044] certificates API DRF (#34339)
* feat: [FC-0044] certificates API DRF

* fix: remove unused import from previous commits
2024-03-22 10:46:34 -04:00
ruzniaievdm
3ecc4bf6a0 feat: [FC-0044] textbooks API DRF (#34388)
* feat: [FC-0044] textbooks API DRF

* fix: resolve discussions
2024-03-21 13:39:03 -04:00
Maria Grimaldi
45178e0ced feat: add paginated HomePageCoursesV2 view with filtering & ordering (#34173) 2024-03-20 11:31:59 -04:00
ruzniaievdm
1bcf25f22b feat: manage Tags on block level (#34361) 2024-03-18 16:09:47 -04:00
ruzniaievdm
334348d65f feat: Manage access API (#2500) (#34360)
* feat: [AXIMST-418] Manage access API

* fix: tests and linter

---------

Co-authored-by: monteri <36768631+monteri@users.noreply.github.com>
2024-03-18 12:58:11 -04:00
ruzniaievdm
cd5c4c992b feat: [FC-0044] XBlock's children API as DRF (#34055)
* feat: XBlock's children API as DRF

* fix: 500 error appears if user adds a Content Experiment

* fix: wrap into try/except block getting icon for xblock (#2509)

* fix: wrap into try/except block getting icon for xblock

* fix: revision after review
2024-03-12 11:07:32 -04:00
ruzniaievdm
844db29d64 feat: add sequence_ids to container response (#34337)
* feat: add sequence_ids to container response

* fix: PR comments fix

* fix: update

---------

Co-authored-by: monteri <36768631+monteri@users.noreply.github.com>
2024-03-12 10:27:23 -04:00
Maria Grimaldi
f544a4825d feat: make hide from TOC a visibility section setting (#33952)
Exposes the hide_from_toc xblock attribute so course authors can configure it as a section visibility option in Studio. Before this change, the Hide from TOC functionality was mainly used by OLX components. Hence, it wasn't available for configuration through the Studio UI. Still, its implementation existed in the platform and could be used by setting the attribute: hide_from_toc=true as part of the OLX definition.
Ref: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3853975595/Feature+Enhancement+Proposal+Hide+Sections+from+course+outline
2024-02-29 11:13:33 -04:00
Awais Ansari
5007418803 feat: add discussion configuration redirect in unit settings (#34266)
* feat: add discussion configuration redirect in unit settings

* test: fix test course index file test cases after adding discussion redirection
2024-02-22 16:29:36 +05:00
Navin Karkera
6edc0c2dd9 feat: add discussion settings to course index api (#34174) 2024-02-05 09:13:11 -05:00
Navin Karkera
4590f1ec91 feat: include custom relative dates flag info in outline api (#34058) 2024-01-31 11:38:19 -05:00
ruzniaievdm
ff8d3eae72 feat: Unit page API as DRF 2024-01-10 11:53:36 +02:00
Navin Karkera
9cd1d7c3c8 feat: create DRF endpoint to get course index context (#33943)
* feat: create DRF endpoint to get course index context

* refactor: update serializers location and added some tests

* refactor: move modulestore usage out of views

* fix: move course index call under bulk_operations

* test: add test to track db and mongo queries

---------

Co-authored-by: ruzniaievdm <ruzniaievdm@gmail.com>
2024-01-08 09:36:56 -05:00
Kristin Aoki
3c1b81c58b fix: timeout error for legacy page (#33965) 2023-12-21 09:27:52 -05:00
Kristin Aoki
9f5252c6ee feat: separate home api call into load, course, and library info (#33909) 2023-12-19 08:32:50 -05:00
connorhaugh
2573f34115 Revert "feat: create DRF endpoint to get course index context (#33667)" (#33935)
This reverts commit aaea6e5b14.
2023-12-15 13:49:57 -05:00
Navin Karkera
aaea6e5b14 feat: create DRF endpoint to get course index context (#33667)
* feat: create DRF endpoint to get course index context

* refactor: update serializers location and added some tests

* refactor: move modulestore usage out of views

---------

Co-authored-by: ruzniaievdm <ruzniaievdm@gmail.com>
2023-12-14 09:54:20 -05:00
Chris Chávez
6763928d60 style: UX Refinements on tagging components (#33884) 2023-12-13 11:28:27 -08:00
Kristin Aoki
ebf91fc9ad feat: add api for multiple video downloads (#33882) 2023-12-12 14:37:48 +00:00
Kristin Aoki
9bf18b1e23 feat: add url to usage location (#33855) 2023-12-07 11:19:35 -05:00
hajorg
4bc2e74a40 fix: resolve lint issue 2023-12-05 17:34:32 +01:00
hajorg
b70e29a0ab feat: add test for is_ai_translations_enabled 2023-12-05 17:34:32 +01:00
hajorg
00d1cf5e0b feat: add is_ai_translations_enabled to get_course_videos_context util 2023-12-05 17:34:32 +01:00
Kristin Aoki
ce2734e907 feat: update video and asset api to include usage loactions (#33746) 2023-11-22 12:11:35 -05:00
Jesper Hodge
e5ff63c312 fix: remove slashes from authoring api (#33741) 2023-11-20 12:45:35 -05:00
Kristin Aoki
cca1e9e365 fix: video drf 500 error (#33658) 2023-11-09 11:34:06 -05:00
bszabo
5d6e925c83 feat: TNL-11173 Authoring API is v0 for now (#33644)
* feat: TNL-11173 authoring API offered as v0, not v1

* docs: correct swaggerfile for authoring api

---------

Co-authored-by: Bernard Szabo <bszabo@edx.org>
Co-authored-by: Jesper Hodge <jhodge@outlook.de>
2023-11-03 11:49:35 -04:00
Kristin Aoki
8cfd04ff68 feat: add drf for studio video page (#33528) 2023-10-27 09:04:37 -04:00
Chris Chávez
1d58bd1106 feat: New link on studio home to Taxonomy list (if waffle flag set) (#33439) 2023-10-19 10:19:50 -07:00
Jesper Hodge
8c9be5478a fix cms api route details (#33346)
This fixes the routes and swagger details for the experimental CMS API. (The swagger-ui is available under studio.edx.org/cms-api/ui and the schema file at studio.edx.org/cms-api/schema.) Only change that practically affects the routes is that you need to use PUT instead of POST for updates usually, now.
2023-09-28 12:57:31 -04:00
Jesper Hodge
cd2ce32d73 CMS API serializers and validations (#33316)
Internal ticket: https://2u-internal.atlassian.net/browse/TNL-11077

This adds validations to all new CMS API endpoints via serializers.

Validations follow the "strong parameter" concept:
https://www.mintbit.com/blog/securing-ruby-on-rails-applications-part-3-use-strong-parameters#:~:text=Strong%20parameters%20are%20a%20feature,parameters%20to%20a%20controller%20action.
2023-09-22 17:49:49 -04:00
Jesper Hodge
f197f9e61e add swagger for CMS API via drf-spectacular (#33282)
This adds two new urls: `<studio-base>/cms-api/ui` and `<studio-base>/cms-api/schema` with swagger ui and swaggerfile only for the new CMS API using drf-spectacular
2023-09-19 21:06:40 +00:00
ruzniaievdm
3978375abf feat: create course home api DRF (#33173) (#33204) 2023-09-08 08:39:31 -04:00
connorhaugh
901ac926bd Revert "feat: create course home api DRF (#33173)" (#33194)
This reverts commit e480a79d9c. as it failed final checks before prod: 
https://github.com/openedx/edx-platform/actions/runs/6098198385/job/16548257136
2023-09-07 13:22:53 +00:00
ruzniaievdm
e480a79d9c feat: create course home api DRF (#33173) 2023-09-06 10:05:25 -04:00
ruzniaievdm
b84d45410c feat: add api for help tokens (#33073) 2023-08-23 09:48:16 -04:00
ruzniaievdm
ddb092c07c feat: Create DRF for course team (#32782) 2023-08-17 09:12:02 -04:00
Usama Sadiq
4ee5964855 fix: fix django4 deprecation warnings (#32957) 2023-08-16 14:39:49 +05:00
Kristin Aoki
69cab96714 feat: remove 403 for disabled advanced settings (#32906) 2023-08-03 19:52:34 +00:00
ruzniaievdm
0d93075a01 fix: api for schedule and details page MFE page (#32890) 2023-08-03 11:41:52 -04:00
Jesper Hodge
6598abbb6b Studio content api videos (#32803)
* refactor: extract methods to video_storage_handlers

* refactor: move private functions

* refactor: move functions to videos_storage_handlers

* refactor: asset_storage_handlers

* feat: add video api views

* feat: add video urls

* feat: add mock videos post

* refactor: mock video upload url

* fix: json extraction

* fix: url pattern for video deletion

* fix: video url views

* fix: lint

* fix: lint

* fix: tests

* fix: tests

* fix: tests

* Feat  studio content api transcripts (#32858)

* feat: add transcript endpoints

feat: add transcript upload endpoint, check that transcripts for deletion exist

fix: remove transcript credentials view cause out of scope

* fix: lint

* feat: TNL-10897 fix destroy() args to kwargs bug

---------

Co-authored-by: Bernard Szabo <bszabo@edx.org>

---------

Co-authored-by: Bernard Szabo <bszabo@edx.org>
2023-07-31 13:37:00 -04:00
Kristin Aoki
948f23a011 feat: return denied when waffle flag disabled (#32795) 2023-07-24 12:32:53 -04:00
Jesper Hodge
7fc32f80b8 add assets to studio content api (#32676)
The purpose of this is to expose the assets_handler endpoint as a public endpoint as part of the studio content API MVP. This allows a course author to register an oauth application in django admin and then retrieve, create and delete assets with this endpoint. You can only update the "locked" attribute for an asset.
2023-07-20 14:18:11 -04:00
Jesper Hodge
96f1397872 Refactor rename contentstore xblock services (#32581)
This PR addresses the renaming of the contentstore/xblock_services folder to contentstore/xblock_storage_handlers as a follow-up to PR #32282. The renaming is done to prevent naming conflicts with xblock runtime services and to make the purpose of the files more understandable. The file xblock_service.py has been renamed to view_handlers.py to better reflect its functionality.

Justification and Future Refactoring Outlook:
The xblock_storage_handlers folder contains service methods that implement the business logic for view endpoints located in contentstore/views/block.py. It is renamed to xblock_storage_handlers to reflect its responsibility of handling storage-related operations of xblocks, such as creation, retrieval, and deletion.

The view_handlers.py file includes business methods called by the view endpoints. These methods, such as handle_xblock, delete_orphans, etc., interact with the required modulestore methods, handle any errors, and aggregate and serialize data for the response.

The term 'handler' in the context of 'view_handlers.py' represents methods that facilitate business logic for view endpoints. It is critical to note the distinction between these 'handler methods' and the xblock_handler method. The xblock_handler is a view endpoint itself, residing in contentstore/views/block.py, and is well known in this context. Although its name might suggest otherwise, it is not a handler in the sense of the 'handler methods' we've defined in 'view_handlers.py'. To maintain consistency with existing naming conventions, it remains as xblock_handler.
2023-07-05 11:24:24 -04:00