@clickview/ship-it 0.0.25 → 0.0.27-dev.0
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/Dockerfile +33 -0
- package/README.md +48 -48
- package/config.json +19 -10
- package/dist/F1/Analytics Web.md +8 -0
- package/dist/F1/AutoCaptions.md +30 -0
- package/dist/F1/Classroom.Api.md +23 -0
- package/dist/F1/ClickView Online.md +17 -0
- package/dist/F1/ClickView.Curator.md +100 -0
- package/dist/F1/ClickView.EmailService.md +53 -0
- package/dist/F1/ClickView.OnlineApi.md +13 -0
- package/dist/F1/Clients.md +19 -0
- package/dist/F1/Domain.Api.md +23 -0
- package/dist/F1/Exchange.Web.md +8 -0
- package/dist/F1/Image.Api.md +8 -0
- package/dist/F1/Integrations.Api.md +23 -0
- package/dist/F1/Krakend.md +8 -0
- package/dist/F1/Library Editor.md +0 -0
- package/dist/F1/Lite.md +60 -0
- package/dist/F1/Master.Api.md +58 -0
- package/dist/F1/Master.Auth.md +22 -0
- package/dist/F1/Objects.Api.md +12 -0
- package/dist/F1/Permissions.Api.md +12 -0
- package/dist/F1/RealtimeSalesforceSync.md +14 -0
- package/dist/F1/Release Notes.md +990 -0
- package/dist/F1/Search.Api.md +12 -0
- package/dist/F1/StreamableLearning.Web.md +35 -0
- package/dist/F1/Users.Api.md +13 -0
- package/dist/F1/VideoProcessorService.md +23 -0
- package/dist/F1/clickview.md +321 -0
- package/dist/F2/Analytics Web.md +7 -0
- package/dist/F2/Batch.Api.md +27 -0
- package/dist/F2/ClickView Online.md +12 -0
- package/dist/F2/ClickView.Curator.md +166 -0
- package/dist/F2/Clients.md +14 -0
- package/dist/F2/CurriculumIngestion.Api.md +13 -0
- package/dist/F2/Discover.Api.md +64 -0
- package/dist/F2/Domain.Api.md +16 -0
- package/dist/F2/Exchange.Web.md +7 -0
- package/dist/F2/Krakend.md +12 -0
- package/dist/F2/Library Editor.md +11 -0
- package/dist/F2/Lite.md +30 -0
- package/dist/F2/Objects.Api.md +12 -0
- package/dist/F2/Release Notes.md +759 -0
- package/dist/F2/Search.Api.md +30 -0
- package/dist/F2/Share.Api.md +12 -0
- package/dist/F2/StreamableLearning.Web.md +14 -0
- package/dist/F2/Subjects.API.md +12 -0
- package/dist/F2/Tv.Web.md +8 -0
- package/dist/F2/Users.Api.md +21 -0
- package/dist/F2/clickview.md +200 -0
- package/dist/F2/shortcode-api.md +8 -0
- package/dist/F3.1/Analytics Web.md +8 -0
- package/dist/F3.1/ClickView.Curator.md +14 -0
- package/dist/F3.1/Discover.Api.md +14 -0
- package/dist/F3.1/Domain.Api.md +7 -0
- package/dist/F3.1/Exchange.Web.md +8 -0
- package/dist/F3.1/Library Editor.md +8 -0
- package/dist/F3.1/Lite.md +8 -0
- package/dist/F3.1/Objects.Api.md +7 -0
- package/dist/F3.1/Release Notes.md +207 -0
- package/dist/F3.1/Search.Api.md +14 -0
- package/dist/F3.1/Share.Api.md +10 -0
- package/dist/F3.1/Subjects.API.md +35 -0
- package/dist/F3.1/VideoViews.Api.md +7 -0
- package/dist/F3.1/clickview.md +28 -0
- package/lib/config.json +20 -11
- package/lib/src/api-clients/git-lab/GitLabApiClient.js +423 -404
- package/lib/src/api-clients/git-lab/GitLabMapper.js +82 -81
- package/lib/src/api-clients/index.js +20 -18
- package/lib/src/api-clients/slack/SlackApiClient.js +206 -0
- package/lib/src/api-clients/team-city/TeamCityApiClient.js +100 -100
- package/lib/src/api-clients/trello/TrelloApiClient.js +145 -0
- package/lib/src/commands/BumpPackagesCommand.js +84 -84
- package/lib/src/commands/CreateBranchCommand.js +100 -100
- package/lib/src/commands/CreateMergeRequestCommand.js +107 -107
- package/lib/src/commands/CreateReleaseNotesCommand.js +95 -84
- package/lib/src/commands/CreateTestingNotesCommand.js +84 -84
- package/lib/src/commands/CreateTrelloCardsCommand.js +77 -0
- package/lib/src/commands/InstallPackagesCommand.js +76 -76
- package/lib/src/commands/ListProjectsCommand.js +76 -76
- package/lib/src/commands/ReleaseCommand.js +117 -129
- package/lib/src/commands/StartConsumingProjectBuildsCommand.js +76 -76
- package/lib/src/commands/StartProjectBuildsCommand.js +76 -76
- package/lib/src/commands/StatusCommand.js +88 -88
- package/lib/src/commands/TagMasterCommand.js +76 -76
- package/lib/src/commands/ValidateMergeRequestCommand.js +76 -76
- package/lib/src/commands/VersionCommand.js +76 -76
- package/lib/src/commands/index.js +30 -29
- package/lib/src/constants/CommandTypeMapping.js +20 -19
- package/lib/src/constants/GitLabMemberIds.js +6 -6
- package/lib/src/constants/MonorepoPackageJsonFiles.js +17 -17
- package/lib/src/constants/MonorepoProjectNames.js +16 -16
- package/lib/src/constants/ProjectNames.js +68 -67
- package/lib/src/constants/SlackUserEmailList.js +13 -0
- package/lib/src/constants/TeamCityBuildIDs.js +45 -44
- package/lib/src/constants/index.js +19 -19
- package/lib/src/errors/ShipItError.js +32 -32
- package/lib/src/errors/index.js +17 -17
- package/lib/src/index.js +18 -18
- package/lib/src/interfaces/Config.js +2 -2
- package/lib/src/interfaces/MergeRequestState.js +2 -2
- package/lib/src/interfaces/ProjectNames.js +2 -2
- package/lib/src/interfaces/ShipItCommand.js +2 -2
- package/lib/src/interfaces/ShipItTask.js +2 -2
- package/lib/src/interfaces/VersionType.js +2 -2
- package/lib/src/interfaces/command-cli-options/MilestoneCommandCliOptions.js +2 -2
- package/lib/src/interfaces/command-cli-options/ReleaseCommandCliOptions.js +2 -2
- package/lib/src/interfaces/command-cli-options/StatusCommandCliOptions.js +2 -0
- package/lib/src/interfaces/command-cli-options/index.js +19 -18
- package/lib/src/interfaces/command-options/BaseCommandOptions.js +2 -2
- package/lib/src/interfaces/command-options/BumpPackagesCommandOptions.js +2 -2
- package/lib/src/interfaces/command-options/DockerMilestoneCommandOptions.js +2 -2
- package/lib/src/interfaces/command-options/MilestoneCommandOptions.js +2 -2
- package/lib/src/interfaces/command-options/ReleaseCommandOptions.js +2 -2
- package/lib/src/interfaces/command-options/StatusCommandOptions.js +2 -0
- package/lib/src/interfaces/command-options/ValidateMRCommandOptions.js +2 -2
- package/lib/src/interfaces/command-options/index.js +22 -21
- package/lib/src/interfaces/index.js +26 -26
- package/lib/src/interfaces/models/Branch.js +2 -2
- package/lib/src/interfaces/models/Commit.js +2 -2
- package/lib/src/interfaces/models/CommitFile.js +2 -2
- package/lib/src/interfaces/models/File.js +2 -2
- package/lib/src/interfaces/models/Label.js +2 -2
- package/lib/src/interfaces/models/MergeRequest.js +2 -2
- package/lib/src/interfaces/models/Milestone.js +2 -2
- package/lib/src/interfaces/models/Project.js +2 -2
- package/lib/src/interfaces/models/ProjectConfig.js +9 -9
- package/lib/src/interfaces/models/Release.js +2 -2
- package/lib/src/interfaces/models/Tag.js +2 -2
- package/lib/src/interfaces/models/index.js +26 -26
- package/lib/src/interfaces/view-models/MilestoneProject.js +2 -2
- package/lib/src/interfaces/view-models/index.js +17 -17
- package/lib/src/inversify.config.js +75 -67
- package/lib/src/services/GitLabService.js +505 -498
- package/lib/src/services/SlackService.js +139 -0
- package/lib/src/services/TeamCityService.js +37 -37
- package/lib/src/services/TrelloService.js +84 -0
- package/lib/src/services/index.js +20 -18
- package/lib/src/startup/AddMilestoneCommand.js +95 -95
- package/lib/src/startup/GetAction.js +68 -68
- package/lib/src/startup/SetupCommands.js +169 -128
- package/lib/src/tasks/BumpPackagesTask.js +229 -229
- package/lib/src/tasks/BumpVersionTxtTask.js +110 -110
- package/lib/src/tasks/CommitPackageVersionsTask.js +116 -116
- package/lib/src/tasks/CreateBranchTask.js +104 -104
- package/lib/src/tasks/CreateMergeRequestTask.js +118 -118
- package/lib/src/tasks/CreateReleaseNotesTask.js +144 -122
- package/lib/src/tasks/CreateTestingNotesTask.js +135 -135
- package/lib/src/tasks/InstallPackagesTask.js +407 -407
- package/lib/src/tasks/ListProjectsTask.js +87 -87
- package/lib/src/tasks/PopulateTrelloBoardTask.js +140 -0
- package/lib/src/tasks/StartConsumingProjectBuildsTask.js +149 -149
- package/lib/src/tasks/StartMonorepoBuildTask.js +109 -109
- package/lib/src/tasks/StartProjectBuildsTask.js +170 -149
- package/lib/src/tasks/TagMasterTask.js +121 -121
- package/lib/src/tasks/ValidateCommitsTask.js +143 -119
- package/lib/src/tasks/ValidateDescriptionsTask.js +178 -151
- package/lib/src/tasks/ValidateMergeRequestTask.js +115 -115
- package/lib/src/tasks/ValidateTask.js +419 -240
- package/lib/src/tasks/VersionTask.js +98 -98
- package/lib/src/tasks/index.js +34 -33
- package/lib/src/types.js +57 -49
- package/lib/src/utils/BranchNames.js +11 -11
- package/lib/src/utils/Commits.js +55 -55
- package/lib/src/utils/Csv.js +54 -54
- package/lib/src/utils/Descriptions.js +237 -237
- package/lib/src/utils/GroupIds.js +6 -6
- package/lib/src/utils/Logger.js +62 -62
- package/lib/src/utils/ProjectIds.js +47 -47
- package/lib/src/utils/Versions.js +20 -20
- package/lib/src/utils/index.js +22 -22
- package/package.json +50 -47
|
@@ -0,0 +1,759 @@
|
|
|
1
|
+
|
|
2
|
+
# clickview
|
|
3
|
+
|
|
4
|
+
## Before release
|
|
5
|
+
|
|
6
|
+
### other
|
|
7
|
+
- Add cloud editor urls to octo
|
|
8
|
+
|
|
9
|
+
## Dependencies
|
|
10
|
+
- https://gitlab.cvinternal.net/clickview/back-end/batch.api/-/merge_requests/121
|
|
11
|
+
* https://gitlab.cvinternal.net/clickview/front-end/ClickView.Curator/-/merge_requests/1331
|
|
12
|
+
* https://gitlab.cvinternal.net/clickview/front-end/ClickView.Curator/-/merge_requests/1340
|
|
13
|
+
- clickview/front-end/clickview!3971
|
|
14
|
+
- clickview/front-end/ClickView.Curator!1339
|
|
15
|
+
https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3981
|
|
16
|
+
https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3973
|
|
17
|
+
- https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3970
|
|
18
|
+
- https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3969
|
|
19
|
+
- https://gitlab.cvinternal.net/clickview/front-end/ClickView.Curator/-/merge_requests/1334
|
|
20
|
+
* https://gitlab.cvinternal.net/clickview/front-end/lite/-/merge_requests/571
|
|
21
|
+
- clickview/front-end/lite!570
|
|
22
|
+
- !3942
|
|
23
|
+
- clickview/front-end/streamablelearning.web!5
|
|
24
|
+
- https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3939
|
|
25
|
+
|
|
26
|
+
## Analytics
|
|
27
|
+
|
|
28
|
+
### Code changes
|
|
29
|
+
* Log google analytics custom event `cv_form_submission` with `event_category` and `event_label` params during sign up. Implements INBOX-5758.
|
|
30
|
+
|
|
31
|
+
## Common
|
|
32
|
+
|
|
33
|
+
### Code changes
|
|
34
|
+
- Our routing now supports trailing slashes on urls. Fixes INBOX-6078
|
|
35
|
+
* Bump jQuery package version to 3.7.1
|
|
36
|
+
* Bump moment package version to 2.30.1
|
|
37
|
+
- `Project.Dockerfile` will only push all projects when the release command is run by looking for a specific parameter value passed.
|
|
38
|
+
|
|
39
|
+
## Curator
|
|
40
|
+
|
|
41
|
+
### Customer changes
|
|
42
|
+
- Priority field is now editable by any user in any stage. Fixes CC-880
|
|
43
|
+
- Interactives can no longer be published if the parent clip or parent video is not published. Fixes CC-874
|
|
44
|
+
- Fixed a bug where if a content pipeline entity is in a published stage, but is invalid for a previous stage, they can now move that entity back.
|
|
45
|
+
* Now `Assigned To` column is added to all stages except the `Unused Video`, `Review` and `Published` stage in the content pipeline.
|
|
46
|
+
* Now in the content pipeline, you can sort the table by
|
|
47
|
+
* Priority (highest to lowest only)
|
|
48
|
+
* Alphabetical (name, A-Z only)
|
|
49
|
+
* Newest (date created)
|
|
50
|
+
* Oldest (date created
|
|
51
|
+
* Series (only for video)
|
|
52
|
+
- Add Calendar events management to Streamable Learning
|
|
53
|
+
* Now in the content pipeline, when filtering curation tags by “empty”, you won't get “N/A” results
|
|
54
|
+
* Now you can filter clips by its parent video ID in the content pipeline.
|
|
55
|
+
* Now in the content pipeline, resources stage, you can reset the 'This video doesn't require resources' and save.
|
|
56
|
+
- Added support for managing companies in Streamable. Implements CC-852
|
|
57
|
+
- Added a "Streamable Learning" tab
|
|
58
|
+
- Added management for discover, topics, audiences, and the video library.
|
|
59
|
+
* Now in video slider widgets you can control if the heading is required or not.
|
|
60
|
+
* Now video in the content pipeline has a region column.
|
|
61
|
+
* Now 'Does not require resources' toggle in the content pipeline resources form will not clean the resources until you save and close.
|
|
62
|
+
* Now in the content pipeline review stage, you can filter by dashboard status.
|
|
63
|
+
* Now you can toggle the value for if a video has a curated thumbnail or not.
|
|
64
|
+
- Form modal titles will now use video/topic names. Partially implements CC-843
|
|
65
|
+
|
|
66
|
+
### Code changes
|
|
67
|
+
* Fix the issue when you hit 'Next' the data is still for the first page in user manager.
|
|
68
|
+
|
|
69
|
+
## Library Editor
|
|
70
|
+
|
|
71
|
+
### Customer changes
|
|
72
|
+
- Fix video suggest edit link
|
|
73
|
+
|
|
74
|
+
## Lite
|
|
75
|
+
|
|
76
|
+
### Customer changes
|
|
77
|
+
- Fixed a bug where you couldn't share anything that had previously been shared to an account that no longer resides in your school. Fixes TEST-113
|
|
78
|
+
- Fixed an issue where if an existing user had selected subject preferences in the past, then they entered onboarding and selected a KDM role, they would see the subjects summary screen.
|
|
79
|
+
- When bulk adding existing users to your school, the users will now have their first and last names overwritten by what was in the uploaded spreadsheet. Fixes INBOX-6153
|
|
80
|
+
- Fix two minor typos found in the new exchange search functionality. Fixes INBOX-6121.
|
|
81
|
+
- Topic names can now wrap to 3 lines instead of 2. Fixes INBOX-6110
|
|
82
|
+
- Retain search value on navigating back
|
|
83
|
+
- Update search placeholder
|
|
84
|
+
- Update discover subjects edit button to text
|
|
85
|
+
- On discover, movies + tv, and company pages, widgets will now have 24px of spacing between them instead of variations of 20px and 15px.
|
|
86
|
+
- All widgets will now have reduced spacing between their headers and the main content
|
|
87
|
+
- All widget headers will now have reduced spacing between the heading and description text.
|
|
88
|
+
- Fixed an issue where teachers could not be assigned as an owner of a classroom. Fixes INBOX-5957
|
|
89
|
+
- Fixed a bug where the presentation selector in the left nav would always be showing. Fixes INBOX-6067
|
|
90
|
+
- Fixed some alerts that weren't escaping user inputs:
|
|
91
|
+
- Saving a video from the video details page with an unsanitised name
|
|
92
|
+
- Moving a video to a folder with an unsanitised name
|
|
93
|
+
- Adding a video to a playlist with an unsanitised name.
|
|
94
|
+
- Remove required from season and episode number in contribute to exchange
|
|
95
|
+
- Fix channel not showing in contribute to exchange
|
|
96
|
+
- Show download action on video with _canDownload assoc
|
|
97
|
+
- Add edit video action to my videos
|
|
98
|
+
- The play page no longer displays a resources badge. Implements LTE-2338
|
|
99
|
+
- Links to our `Privacy Policy`, `Terms and Conditions` + `Contact Us` pages are now displayed in the footer product-wide.
|
|
100
|
+
- Implements INBOX-5685
|
|
101
|
+
|
|
102
|
+
### Code changes
|
|
103
|
+
- Added a `pathway` to all analytics events
|
|
104
|
+
* Update EditableSubjectWidgetItem to wrap and truncate text.
|
|
105
|
+
* Fix the issue when you hit 'Next' the data is still for the first page in user manager.
|
|
106
|
+
- Remove a custom `product_page_view` event that was being fired by sign up from before we introduced the page view service. Fixes INBOX-6092.
|
|
107
|
+
* Fix the import path for `GoogleAnalyticsClient` in `startup/RegisterAnalytics`
|
|
108
|
+
* Display different calendar empty state images based on country code of the current user.
|
|
109
|
+
- No longer using the `show_exchange_search_results_customer` domain option, instead relying only on if the `exchange_tv` product is enabled. Implements INBOX-5981.
|
|
110
|
+
- Remove old my videos view
|
|
111
|
+
- Updated lite footer to build localised links to `Privacy Policy`, `Terms and Conditions` + `Contact Us` pages
|
|
112
|
+
- Added `Footer` LocationContext
|
|
113
|
+
|
|
114
|
+
## Online
|
|
115
|
+
|
|
116
|
+
### Code changes
|
|
117
|
+
* Fix the issue when you hit 'Next' the data is still for the first page in user manager.
|
|
118
|
+
|
|
119
|
+
## Player
|
|
120
|
+
|
|
121
|
+
### Code changes
|
|
122
|
+
- When a `parentVideo` is passed into an interactive component, the publish action will be disabled if the parent is not published.
|
|
123
|
+
Updated the payloads of the following events (and bumped event versions):
|
|
124
|
+
- Selecting a device for casting
|
|
125
|
+
- Selecting a video resolution
|
|
126
|
+
- Selecting a playback speed
|
|
127
|
+
- Selecting a subtitle
|
|
128
|
+
|
|
129
|
+
### Customer changes
|
|
130
|
+
- Updated the error message displayed when a physically chaptered video is encountered. Partially addresses INBOX-5677.
|
|
131
|
+
|
|
132
|
+
## Shared
|
|
133
|
+
|
|
134
|
+
### Code changes
|
|
135
|
+
- `SeriesLink` has been replaced with `SubTextLink`. This means all shared component that render videos now must pass the series applink in as a sub text app link. The sub text type will default to `series` but can also now be changed to `productionCompany`.
|
|
136
|
+
- `VideoThumbnail` will now show the videos' production companies' logo in the top left, if a `companyLogoFallbackUrl` is drilled down into the videos.
|
|
137
|
+
|
|
138
|
+
## Streamable Learning
|
|
139
|
+
|
|
140
|
+
### Code changes
|
|
141
|
+
- Cutting back the play page to be only what is absolutely essential.
|
|
142
|
+
- Simplifying and polishing the Dashboard View, Company Dashboard View and Subject Dashboard View to be only the very minimum feature set that we need.
|
|
143
|
+
- Cut down the code to remove all the data we do not need, since we have a very simple set of filters.
|
|
144
|
+
- Scoping our search to only the Streamable Learning Library and Presentation
|
|
145
|
+
- Move calendar from lite to shared
|
|
146
|
+
- Remove global player consumer
|
|
147
|
+
- Addressed comments from last MR
|
|
148
|
+
|
|
149
|
+
### Customer changes
|
|
150
|
+
- Search will now only show subject and grade filters.
|
|
151
|
+
- Add settings page with profile details and email/password
|
|
152
|
+
- Minor layout improvements, including pulling in the actual logo, and using the actual colours.
|
|
153
|
+
- Add calender to streamable learning
|
|
154
|
+
- Adding support for company dashboards.
|
|
155
|
+
|
|
156
|
+
## Styles
|
|
157
|
+
|
|
158
|
+
### Customer changes
|
|
159
|
+
- Update base font family to Inter
|
|
160
|
+
|
|
161
|
+
## Testing
|
|
162
|
+
- Fixes INBOX-6197
|
|
163
|
+
- Fixes TEST-113
|
|
164
|
+
- Fixes INBOX-6178
|
|
165
|
+
- Fixes CC-880
|
|
166
|
+
- Fixes CC-874
|
|
167
|
+
- Implements PLAY-228
|
|
168
|
+
* Fixes INBOX-6104
|
|
169
|
+
* Fixes INBOX-5997
|
|
170
|
+
- Fixes INBOX-6110
|
|
171
|
+
- Fixes INBOX-6078
|
|
172
|
+
- Implements INBOX-6109
|
|
173
|
+
- Implements INBOX-6103
|
|
174
|
+
- Implements INBOX-6099
|
|
175
|
+
* Implements INBOX-6076
|
|
176
|
+
- Implements INBOX-6102
|
|
177
|
+
- Fixes INBOX-5957
|
|
178
|
+
- Fixes INBOX-6067
|
|
179
|
+
- Fixes INBOX-6077
|
|
180
|
+
* Implements CC-830
|
|
181
|
+
* Implements CC-836
|
|
182
|
+
- N/A
|
|
183
|
+
* Implements CC-834
|
|
184
|
+
* Implements CC-829
|
|
185
|
+
* Implements CC-837
|
|
186
|
+
- Implements CC-851
|
|
187
|
+
- Implements CC-850
|
|
188
|
+
* Implements INBOX-5758.
|
|
189
|
+
- Implements LTE-2240
|
|
190
|
+
* Implements INBOX-6003
|
|
191
|
+
- Fixes INBOX-5983
|
|
192
|
+
- Fixes INBOX-6022
|
|
193
|
+
- Implements INBOX-5978
|
|
194
|
+
- Implements INBOX-5977
|
|
195
|
+
* Implements INBOX-5942
|
|
196
|
+
* Implements CC-794
|
|
197
|
+
* Implements CC-855
|
|
198
|
+
* Implement CC-835
|
|
199
|
+
* Implements CC-833
|
|
200
|
+
- Partially implements CC-843
|
|
201
|
+
- Implements LTE-2338
|
|
202
|
+
- https://clickview.atlassian.net/browse/INBOX-5685
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
# ClickView.Curator
|
|
206
|
+
|
|
207
|
+
## Before release
|
|
208
|
+
* [ ] Add scope `domainapi.internal` for the curator auth client id `5bdc762c703942578329` in curator prod
|
|
209
|
+
|
|
210
|
+
* Update Elastic mapping schema to include new properties: `seriesSort`, `nameSort`
|
|
211
|
+
```plaintext
|
|
212
|
+
[PUT] curation_studio_videos/_mapping
|
|
213
|
+
{
|
|
214
|
+
"properties": {
|
|
215
|
+
"seriesSort": {
|
|
216
|
+
"type": "keyword"
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
[PUT] curation_studio_videos/_mapping
|
|
221
|
+
{
|
|
222
|
+
"properties": {
|
|
223
|
+
"nameSort": {
|
|
224
|
+
"type": "keyword"
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
[PUT] curation_studio_dashboards/_mapping
|
|
229
|
+
{
|
|
230
|
+
"properties": {
|
|
231
|
+
"nameSort": {
|
|
232
|
+
"type": "keyword"
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
[PUT] curation_studio_topics/_mapping
|
|
237
|
+
{
|
|
238
|
+
"properties": {
|
|
239
|
+
"nameSort": {
|
|
240
|
+
"type": "keyword"
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
* Hit re-sync endpoints to re-index videos, then topics then dashboards sequentially after pushing the release to production. Better to do this after 6:00 PM.
|
|
246
|
+
|
|
247
|
+
* Update Elastic Search mapping file in production to add `hasCurationTags`
|
|
248
|
+
```plaintext
|
|
249
|
+
[PUT] curation_studio_videos/_mapping
|
|
250
|
+
{
|
|
251
|
+
"properties": {
|
|
252
|
+
"hasCurationTags": {
|
|
253
|
+
"type": "boolean"
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
```
|
|
258
|
+
* Hit re-sync endpoints to re-index videos after pushing the release to production. Better to do this after 6:00 PM.
|
|
259
|
+
|
|
260
|
+
* Update Elastic Search production mapping schema to add `assignees`
|
|
261
|
+
```plaintext
|
|
262
|
+
[PUT] curation_studio_videos/_mapping
|
|
263
|
+
{
|
|
264
|
+
"properties": {
|
|
265
|
+
"assignees": {
|
|
266
|
+
"type": "nested",
|
|
267
|
+
"properties": {
|
|
268
|
+
"id": { "type": "double" },
|
|
269
|
+
"stage": { "type": "keyword" }
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
[PUT] curation_studio_dashboards/_mapping
|
|
275
|
+
{
|
|
276
|
+
"properties": {
|
|
277
|
+
"assignees": {
|
|
278
|
+
"type": "nested",
|
|
279
|
+
"properties": {
|
|
280
|
+
"id": { "type": "double" },
|
|
281
|
+
"stage": { "type": "keyword" }
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
[PUT] curation_studio_topics/_mapping
|
|
287
|
+
{
|
|
288
|
+
"properties": {
|
|
289
|
+
"assignees": {
|
|
290
|
+
"type": "nested",
|
|
291
|
+
"properties": {
|
|
292
|
+
"id": { "type": "double" },
|
|
293
|
+
"stage": { "type": "keyword" }
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
```
|
|
299
|
+
* Hit re-sync endpoints to re-index videos, then topics, then dashboards sequentially after pushing the release to production. Better to do this after 6:00 PM.
|
|
300
|
+
* Run the tool to update existing dashboard's `assignedTo` data to the new `assignees` in produciton mongo db. Tool MR is here: https://gitlab.cvinternal.net/kevin.well/clickview.tools/-/merge_requests/38
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
## Dependencies
|
|
304
|
+
- https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/3969
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
## Customer changes
|
|
308
|
+
- Add calendar to streamable learning nav
|
|
309
|
+
|
|
310
|
+
- Added a streamable tab and subnav
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
## Code changes
|
|
314
|
+
* Append sort by entity id
|
|
315
|
+
|
|
316
|
+
* Support removing stage assignee
|
|
317
|
+
|
|
318
|
+
* Use `v1/internal/videos/{id}/copy` to add the video to requester's workspace
|
|
319
|
+
|
|
320
|
+
* Content Pipeline only updates rightsline status when publishing a video if the rightsline status is not already active
|
|
321
|
+
|
|
322
|
+
* Making sure regions is serialised correctly
|
|
323
|
+
|
|
324
|
+
* Use domain api `POST v2/videos/{id}/copy` endpoint to copy fulfilled video to a requesting user's workspace when fulfilling ad-free request, pay tv request and TV guide video
|
|
325
|
+
* Remove `PushFromMaster()` from domain api client as it is no longer in use
|
|
326
|
+
|
|
327
|
+
- Updating jquery to latest 3.x.x version. Partially implements INBOX-6076
|
|
328
|
+
|
|
329
|
+
- The content & curation teams will not be able to see the Streamable Learning tab as it's still in development
|
|
330
|
+
|
|
331
|
+
* Updated action log so it can generate weekly report
|
|
332
|
+
|
|
333
|
+
* Content Pipelien supports sort by video name and series name alphabetically
|
|
334
|
+
* Content Pipelien supports sort by date created from the newest to the oldest
|
|
335
|
+
|
|
336
|
+
* Index `hasCurationTags`
|
|
337
|
+
* Add `hasCurationTags` boolean filter
|
|
338
|
+
|
|
339
|
+
* Populate date released on content that aren't TV content during publish. Implements INBOX-5986
|
|
340
|
+
|
|
341
|
+
- Add Google font Inter to layout head
|
|
342
|
+
|
|
343
|
+
* Add on `AssignedTo` for videos, dashboard and topcis at each stage
|
|
344
|
+
|
|
345
|
+
* Get accurate count from elasticsearch. Fixes CC-858
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
## Testing
|
|
349
|
+
* n/a
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
* INBOX-4482
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
* INBOX-4482
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
- N/A
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
* Implements INBOX-5986
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
* Fixes CC-858
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
# Batch.Api
|
|
375
|
+
|
|
376
|
+
## Before release
|
|
377
|
+
- [ ] Update `ClickView.Clients.User` to latest version
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
## Dependencies
|
|
381
|
+
- https://gitlab.cvinternal.net/clickview/back-end/clients/-/merge_requests/157
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
## Customer changes
|
|
385
|
+
- Support powerschool in rostering
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
## Code changes
|
|
389
|
+
- Added support to update `First Name` and `Surname` on bulk user invitation. FIXES INBOX-6153
|
|
390
|
+
|
|
391
|
+
- Add powerschool mappings to rostering
|
|
392
|
+
|
|
393
|
+
- Review `GetSyncLockContext` in job handlers that are not strongly related to customer. Fixes INBOX-5608
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
## Testing
|
|
397
|
+
INBOX-6153
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
INBOX-5608
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
# Clients
|
|
405
|
+
|
|
406
|
+
## ClickView.Clients.Braze
|
|
407
|
+
|
|
408
|
+
### Code changes
|
|
409
|
+
- Add `RenameExternalIdAsync` and `RemoveExternalIdAsync` methods
|
|
410
|
+
|
|
411
|
+
## ClickView.Clients.User
|
|
412
|
+
|
|
413
|
+
### Code changes
|
|
414
|
+
* Add `FirstName` and `Surname` to `BulkInviteUsersResponse` and `InviteUser` used in `BulkInviteExistingUsersAsync` as part of the change in https://gitlab.cvinternal.net/clickview/back-end/users.api/-/merge_requests/261. FIXES INBOX-6153
|
|
415
|
+
* Add `NotFound` check in `GetUsersByIdsAsync()` to avoid the null reference exception if all requested users are deleted
|
|
416
|
+
* Add `NotFound` check in `GetUsersAsync()` to avoid the null reference exception if a customer does not exist
|
|
417
|
+
|
|
418
|
+
## Testing
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
# Users.Api
|
|
422
|
+
|
|
423
|
+
## Code changes
|
|
424
|
+
- Added `FirstName` and `Surname` to `InviteUser` used in `PUT` `customers/{customerId}/users/invitation` to be updated on user invitation. FIXES INBOX-6153
|
|
425
|
+
|
|
426
|
+
* Reorder the exceptions in `ExceptionFilter.cs` based on http status code
|
|
427
|
+
* Throw `UserValidationException` instead of `CustomerNotFoundException` when fetching user(s) by id(s) in both `UsersController` and `CuratorController`
|
|
428
|
+
* Throw `UnknownCustomerInstanceRegionException` instead of `CustomerNotFoundException` as it is unlikely to happen. But if it does happen, it is definitely something wrong with our system
|
|
429
|
+
|
|
430
|
+
- Update client packages to latest
|
|
431
|
+
- Update other misc packages to latest
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
## Testing
|
|
435
|
+
FIXES INBOX-6153
|
|
436
|
+
|
|
437
|
+
* Hitting `GET v1/users/{id}` with a customerId that does not contain the requested userId, bad request error should be returned with error code `user-not-in-customer`
|
|
438
|
+
* Hitting `GET v1/users?id={id1}` with a customerId that does not contain the requested userId, bad request error should be returned with error code `user-not-in-customer`
|
|
439
|
+
* Hitting `GET v1/curator/users/{id}` with a customerId that does not contain the requested userId, bad request error should be returned with error code `user-not-in-customer`
|
|
440
|
+
* Hitting `GET v1/curator/users?id={id1}` with a customerId that does not contain the requested userId, bad request error should be returned with error code `user-not-in-customer`
|
|
441
|
+
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
# ClickView Online
|
|
446
|
+
|
|
447
|
+
## Customer changes
|
|
448
|
+
- Old video links should now redirect to their equivalent url in the new product, if the signed in user only has access to the new product. Implements INBOX-5980.
|
|
449
|
+
- Updated the Exchange redirect to redirect to the new ClickView rather than the Exchange Archive.
|
|
450
|
+
|
|
451
|
+
- Filter out exchange content from the latest releases widget. Fixes INBOX-6068.
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
## Testing
|
|
455
|
+
- Implements INBOX-5980.
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
# Search.Api
|
|
461
|
+
|
|
462
|
+
## Before release
|
|
463
|
+
- [ ] Add `urls.domainApi` in Octo
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
## Code changes
|
|
467
|
+
- Updated `ClickView.Models` to the latest version
|
|
468
|
+
- Updated `ClickView.Extensions.RestClient` to the latest version
|
|
469
|
+
- Added `ClickView.Clients.Domain`
|
|
470
|
+
- Added `AllowedCustomLibraryIds` and `HasCustomLibrariesAccess` to `UserContext`
|
|
471
|
+
- Changed `PresentationFilter` to search custom libraries for learners only if customer's Domain option `lite_student_custom_libraries` is enabled.
|
|
472
|
+
Implements CORE-1405
|
|
473
|
+
|
|
474
|
+
- Added index classification to presentation filter's `SupportedIndices`. Implements CORE-1390
|
|
475
|
+
|
|
476
|
+
* Added productionCompanies to video ogql query.
|
|
477
|
+
Implements CORE-1383
|
|
478
|
+
|
|
479
|
+
- Add new `ExcludeLibraryExclusive` filter. Implements CORE-1377
|
|
480
|
+
|
|
481
|
+
|
|
482
|
+
## Testing
|
|
483
|
+
CORE-1405
|
|
484
|
+
|
|
485
|
+
CORE-1390
|
|
486
|
+
|
|
487
|
+
CORE-1383
|
|
488
|
+
|
|
489
|
+
CORE-1377
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
# Objects.Api
|
|
494
|
+
|
|
495
|
+
## Code changes
|
|
496
|
+
* Fix the issue that curator cannot create new interactive/clip from draft videos
|
|
497
|
+
|
|
498
|
+
* Ignoring `public` permission value when checking video permissions. Public permissions are used for userchannel contents but the NP doesn't have concept of user channels. Fixes INBOX-5971
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
## Testing
|
|
502
|
+
* Implements [CC-877](https://clickview.atlassian.net/browse/CC-877)
|
|
503
|
+
|
|
504
|
+
* Fixes INBOX-5971
|
|
505
|
+
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
# Tv.Web
|
|
509
|
+
|
|
510
|
+
## Code changes
|
|
511
|
+
* Replace `PushFromMaster()` with `CopyVideoToLibraryAsync()` that is calling `POST v2/videos/{id}/copy` endpoint in domain api to add an already-fulfilled tv video to a user's workspace when a user attempts to add an ad-free video
|
|
512
|
+
|
|
513
|
+
|
|
514
|
+
## Testing
|
|
515
|
+
* INBOX-4482
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
# Library Editor
|
|
520
|
+
|
|
521
|
+
## Code changes
|
|
522
|
+
* Bump jquery version
|
|
523
|
+
|
|
524
|
+
- Add Google font Inter to layout head
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
## Testing
|
|
528
|
+
* Implements INBOX-6076
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
# Lite
|
|
534
|
+
|
|
535
|
+
## Before release
|
|
536
|
+
- Add cloud editor values to octo. @mathew.ly to flesh out.
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
## Customer changes
|
|
540
|
+
- Fixed a bug where if 2 topics with similar IDs (the only difference being casing) were fetched by an anon user, the second request would return the same result as the first request. Fixes INBOX-5984
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
## Code changes
|
|
544
|
+
* Update jquery vendor version.
|
|
545
|
+
|
|
546
|
+
- Add Google font Inter to layout head
|
|
547
|
+
|
|
548
|
+
* Add regional calendar empty state images.
|
|
549
|
+
|
|
550
|
+
- Add cloud editor urls to config
|
|
551
|
+
|
|
552
|
+
- Updated the output cache to use case sensitive paths.
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
## Testing
|
|
556
|
+
* Implements INBOX-6076
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
* n/a
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
- Fixes INBOX-5984
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
# Share.Api
|
|
567
|
+
|
|
568
|
+
## Customer changes
|
|
569
|
+
* When users create share link on private videos (uploaded by them), the default privacy is set to `just my school`
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
## Code changes
|
|
573
|
+
* Setting default privacy of deferred privacy to `just_my_school`. Implements INBOX-6059
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
## Testing
|
|
577
|
+
* Implements INBOX-6059
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
# StreamableLearning.Web
|
|
582
|
+
|
|
583
|
+
## Code changes
|
|
584
|
+
- Add error images
|
|
585
|
+
|
|
586
|
+
- Add Google font Inter to layout head
|
|
587
|
+
|
|
588
|
+
- Add scopes to auth config for update user settings
|
|
589
|
+
- Add image for account settings
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
## Testing
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
|
|
598
|
+
# Krakend
|
|
599
|
+
|
|
600
|
+
## Dependencies
|
|
601
|
+
- [x] Merge after https://gitlab.cvinternal.net/clickview/back-end/discover.api/-/merge_requests/178
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
## Code changes
|
|
605
|
+
- Added new webinars (discover.api) endpoints. Implements CORE-1395
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
## Testing
|
|
609
|
+
CORE-1395
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
# Discover.Api
|
|
614
|
+
|
|
615
|
+
## Before release
|
|
616
|
+
- [ ] Execute SQL script `next.sql`
|
|
617
|
+
|
|
618
|
+
- [ ] Execute SQL script `next.sql`
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
## Dependencies
|
|
622
|
+
- [ ] Merge after https://gitlab.cvinternal.net/clickview/back-end/discover.api/-/merge_requests/179
|
|
623
|
+
|
|
624
|
+
- [ ] Merge after https://gitlab.cvinternal.net/clickview/back-end/discover.api/-/merge_requests/178
|
|
625
|
+
|
|
626
|
+
- [ ] Merge after https://gitlab.cvinternal.net/clickview/back-end/discover.api/-/merge_requests/177
|
|
627
|
+
|
|
628
|
+
|
|
629
|
+
## Code changes
|
|
630
|
+
- When getting special event policy data, also hydrate mapping objects as the frontend will need some objects data. Implements CORE-1394
|
|
631
|
+
|
|
632
|
+
- Added support to Webinar objects in special event calendar objects mapping. Implements CORE-1393
|
|
633
|
+
|
|
634
|
+
- Added webinar CRUD:
|
|
635
|
+
- `GET` `v1/webinars`: Get webinars
|
|
636
|
+
- `GET` `v1/webinars/{id}`: Get webinar by ID
|
|
637
|
+
- `POST` `v1/webinars`: Create webinar
|
|
638
|
+
- `PUT` `v1/webinars/{id}`: Update webinar
|
|
639
|
+
- `DELETE` `v1/webinars/{id}`: Delete webinar
|
|
640
|
+
- `POST` `v1/webinars/{id}/audiences`: Add audiences to webinar
|
|
641
|
+
- `DELETE` `v1/webinars/{id}/audiences`: Remove audiences to webinar.
|
|
642
|
+
Implements CORE-1392
|
|
643
|
+
|
|
644
|
+
- Added SQL tables:
|
|
645
|
+
- webinars
|
|
646
|
+
- webinar_audiences.
|
|
647
|
+
Implements CORE-1387
|
|
648
|
+
|
|
649
|
+
- Added substring search for special event names. Implements CORE-1391
|
|
650
|
+
|
|
651
|
+
- Added support to filter by `objecType` when fetching special events data
|
|
652
|
+
- Reviewed special events mapping objects to the internal type `MappingObjectType` instead of using `MasterType` to allow creating special events for Streamable Learning events and anything different from a master type. Implements CORE-1389
|
|
653
|
+
|
|
654
|
+
- Added new special event type, `Webinar = 8`. Implements CORE-1388
|
|
655
|
+
|
|
656
|
+
- Added productionCompanies to video ogql query
|
|
657
|
+
- Added productionCompanies in the global cacheable properties.
|
|
658
|
+
Implements CORE-1382
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+
## Testing
|
|
662
|
+
CORE-1394
|
|
663
|
+
|
|
664
|
+
CORE-1393
|
|
665
|
+
|
|
666
|
+
CORE-1392
|
|
667
|
+
|
|
668
|
+
Implements CORE-1387
|
|
669
|
+
|
|
670
|
+
CORE-1391
|
|
671
|
+
|
|
672
|
+
CORE-1389
|
|
673
|
+
|
|
674
|
+
CORE-1388
|
|
675
|
+
|
|
676
|
+
CORE-1382
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
|
|
680
|
+
# CurriculumIngestion.Api
|
|
681
|
+
|
|
682
|
+
## Code changes
|
|
683
|
+
- Update `EdGateImporter` to use a single EdGate data file with a complete snapshot of the curriculums rather than incremental changes
|
|
684
|
+
|
|
685
|
+
- Instead of fetching all the versions of a node/correlation and then selecting the highest version in the C#, only fetch the newest version from the database
|
|
686
|
+
|
|
687
|
+
- Update older versions of nodes/correlations in the repository to centralise the logic.
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
## Testing
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
|
|
696
|
+
# Exchange.Web
|
|
697
|
+
|
|
698
|
+
## Code changes
|
|
699
|
+
- Add Google font Inter to layout head
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
## Testing
|
|
703
|
+
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
# Analytics Web
|
|
707
|
+
|
|
708
|
+
## Code changes
|
|
709
|
+
- Add Google font Inter to layout head
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
## Testing
|
|
713
|
+
|
|
714
|
+
|
|
715
|
+
|
|
716
|
+
# Domain.Api
|
|
717
|
+
|
|
718
|
+
## Before release
|
|
719
|
+
- [ ] Update `ClickView.Subjects.Common` with the latest changes
|
|
720
|
+
|
|
721
|
+
|
|
722
|
+
## Dependencies
|
|
723
|
+
- [ ] https://gitlab.cvinternal.net/clickview/back-end/clickview.subjects.api/-/merge_requests/218
|
|
724
|
+
|
|
725
|
+
|
|
726
|
+
## Code changes
|
|
727
|
+
- Update `ClickView.Subjects.Common` with the new presentation type `StreamableLearning`. Implements CORE-1376
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
## Testing
|
|
731
|
+
CORE-1376
|
|
732
|
+
|
|
733
|
+
|
|
734
|
+
|
|
735
|
+
# Subjects.API
|
|
736
|
+
|
|
737
|
+
## Before release
|
|
738
|
+
- [ ] Publish new version of `ClickView.Subjects.Common`
|
|
739
|
+
|
|
740
|
+
|
|
741
|
+
## Code changes
|
|
742
|
+
- Added new presentation type `StreamableLearning`. Implements CORE-1375
|
|
743
|
+
|
|
744
|
+
|
|
745
|
+
## Testing
|
|
746
|
+
CORE-1375
|
|
747
|
+
|
|
748
|
+
|
|
749
|
+
|
|
750
|
+
# shortcode-api
|
|
751
|
+
|
|
752
|
+
## Code changes
|
|
753
|
+
- Cleanup expired link redirect logic by using `RedirectToRoute`
|
|
754
|
+
- Cleanup QueryString append logic with newer .NET utilities
|
|
755
|
+
|
|
756
|
+
|
|
757
|
+
## Testing
|
|
758
|
+
|
|
759
|
+
|