@saooti/octopus-sdk 1.0.0 → 1.1.1

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.
Files changed (317) hide show
  1. package/README.md +261 -0
  2. package/index.d.ts +4 -0
  3. package/index.ts +55 -3
  4. package/package.json +53 -45
  5. package/public/config.ts +4 -0
  6. package/public/css/fonts/icomoon.eot +0 -0
  7. package/public/css/fonts/icomoon.svg +129 -0
  8. package/public/css/fonts/icomoon.ttf +0 -0
  9. package/public/css/fonts/icomoon.woff +0 -0
  10. package/public/css/fonts/style.css +186 -1224
  11. package/public/img/403.jpeg +0 -0
  12. package/public/img/404.svg +242 -0
  13. package/public/img/ACPM.png +0 -0
  14. package/public/img/ouest_france_logo.svg +12 -0
  15. package/src/App.vue +102 -31
  16. package/src/api/classicCrud.ts +34 -0
  17. package/src/api/initialize.ts +5 -2
  18. package/src/assets/bootstrap-diff.scss +197 -0
  19. package/src/assets/form.scss +77 -77
  20. package/src/assets/general.scss +284 -272
  21. package/src/assets/live.scss +39 -0
  22. package/src/assets/modal.scss +43 -50
  23. package/src/assets/multiselect.scss +522 -573
  24. package/src/assets/octopus-library.scss +18 -4
  25. package/src/assets/share.scss +243 -0
  26. package/src/assets/transition.scss +98 -2
  27. package/src/components/display/aggregator/RssSection.vue +3 -5
  28. package/src/components/display/categories/CategoryChooser.vue +151 -114
  29. package/src/components/display/categories/CategoryFilter.vue +162 -0
  30. package/src/components/display/categories/CategoryList.vue +149 -117
  31. package/src/components/display/comments/AddCommentModal.vue +103 -108
  32. package/src/components/display/comments/CommentBasicView.vue +95 -0
  33. package/src/components/display/comments/CommentInput.vue +195 -183
  34. package/src/components/display/comments/CommentItem.vue +170 -208
  35. package/src/components/display/comments/CommentList.vue +134 -228
  36. package/src/components/display/comments/CommentParentInfo.vue +28 -62
  37. package/src/components/display/comments/CommentPlayer.vue +53 -56
  38. package/src/components/display/comments/CommentSection.vue +52 -83
  39. package/src/components/display/edit/EditBox.vue +10 -4
  40. package/src/components/display/edit/EditCommentBox.vue +124 -38
  41. package/src/components/display/emission/EmissionChooser.vue +88 -108
  42. package/src/components/display/emission/EmissionInlineList.vue +156 -157
  43. package/src/components/display/emission/EmissionItem.vue +72 -226
  44. package/src/components/display/emission/EmissionList.vue +159 -201
  45. package/src/components/display/emission/EmissionPlayerItem.vue +203 -174
  46. package/src/components/display/filter/AdvancedSearch.vue +224 -432
  47. package/src/components/display/filter/CategoryFilter.vue +105 -0
  48. package/src/components/display/filter/MonetizableFilter.vue +18 -15
  49. package/src/components/display/filter/ProductorSearch.vue +153 -176
  50. package/src/components/display/filter/RubriqueChoice.vue +97 -0
  51. package/src/components/display/filter/RubriqueFilter.vue +232 -0
  52. package/src/components/display/list/ListPaginate.vue +145 -0
  53. package/src/components/display/list/Paginate.vue +218 -0
  54. package/src/components/display/live/CountDown.vue +31 -30
  55. package/src/components/display/live/LiveHorizontalList.vue +84 -62
  56. package/src/components/display/live/LiveItem.vue +161 -186
  57. package/src/components/display/live/LiveList.vue +184 -295
  58. package/src/components/display/organisation/OrganisationChooser.vue +124 -162
  59. package/src/components/display/organisation/OrganisationChooserLight.vue +53 -56
  60. package/src/components/display/participant/ParticipantItem.vue +91 -128
  61. package/src/components/display/participant/ParticipantList.vue +134 -121
  62. package/src/components/display/playlist/PlaylistItem.vue +60 -97
  63. package/src/components/display/playlist/PlaylistList.vue +99 -92
  64. package/src/components/display/playlist/PodcastList.vue +117 -132
  65. package/src/components/display/playlist/PodcastPlaylistInlineList.vue +191 -0
  66. package/src/components/display/podcasts/AnimatorsItem.vue +29 -37
  67. package/src/components/display/podcasts/ParticipantDescription.vue +82 -0
  68. package/src/components/display/podcasts/PodcastFilterList.vue +49 -102
  69. package/src/components/display/podcasts/PodcastImage.vue +208 -225
  70. package/src/components/display/podcasts/PodcastInlineList.vue +62 -355
  71. package/src/components/display/podcasts/PodcastInlineListClassic.vue +240 -0
  72. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +167 -0
  73. package/src/components/display/podcasts/PodcastItem.vue +94 -218
  74. package/src/components/display/podcasts/PodcastItemInfo.vue +166 -0
  75. package/src/components/display/podcasts/PodcastList.vue +127 -178
  76. package/src/components/display/podcasts/PodcastModuleBox.vue +234 -0
  77. package/src/components/display/podcasts/PodcastPlayBar.vue +101 -0
  78. package/src/components/display/podcasts/PodcastSwiperList.vue +204 -0
  79. package/src/components/display/podcasts/TagList.vue +60 -38
  80. package/src/components/display/rubriques/RubriqueChooser.vue +144 -131
  81. package/src/components/display/rubriques/RubriqueList.vue +216 -0
  82. package/src/components/display/sharing/PlayerParameters.vue +111 -153
  83. package/src/components/display/sharing/QrCode.vue +96 -0
  84. package/src/components/display/sharing/ShareButtons.vue +63 -233
  85. package/src/components/display/sharing/ShareButtonsIntern.vue +225 -0
  86. package/src/components/display/sharing/ShareDistribution.vue +102 -166
  87. package/src/components/display/sharing/SharePlayer.vue +189 -353
  88. package/src/components/display/sharing/SharePlayerColors.vue +78 -0
  89. package/src/components/display/sharing/SharePlayerTypes.vue +112 -0
  90. package/src/components/display/sharing/SplitButton.vue +42 -0
  91. package/src/components/display/sharing/SubscribeButtons.vue +65 -118
  92. package/src/components/display/studio/RecordingItemButton.vue +3 -5
  93. package/src/components/form/ClassicCheckbox.vue +66 -0
  94. package/src/components/form/ClassicLoading.vue +28 -0
  95. package/src/components/form/ClassicRadio.vue +66 -0
  96. package/src/components/form/ClassicSearch.vue +86 -0
  97. package/src/components/form/ClassicSelect.vue +65 -0
  98. package/src/components/misc/ErrorMessage.vue +27 -18
  99. package/src/components/misc/Footer.vue +151 -108
  100. package/src/components/misc/HomeDropdown.vue +95 -154
  101. package/src/components/misc/LeftMenu.vue +137 -206
  102. package/src/components/misc/Popover.vue +118 -0
  103. package/src/components/misc/Snackbar.vue +73 -37
  104. package/src/components/misc/TopBar.vue +211 -314
  105. package/src/components/misc/modal/ClipboardModal.vue +34 -47
  106. package/src/components/misc/modal/MessageModal.vue +74 -53
  107. package/src/components/misc/modal/NewsletterModal.vue +272 -224
  108. package/src/components/misc/modal/QrCodeModal.vue +58 -0
  109. package/src/components/misc/modal/ShareModalPlayer.vue +140 -74
  110. package/src/components/misc/player/Player.vue +146 -0
  111. package/src/components/misc/player/PlayerCompact.vue +154 -0
  112. package/src/components/misc/player/PlayerLarge.vue +166 -0
  113. package/src/components/misc/player/PlayerProgressBar.vue +112 -0
  114. package/src/components/misc/player/PlayerTimeline.vue +61 -0
  115. package/src/components/mixins/functions.ts +21 -18
  116. package/src/components/mixins/handle403.ts +17 -0
  117. package/src/components/mixins/init.ts +24 -0
  118. package/src/components/mixins/orgaComputed.ts +15 -0
  119. package/src/components/mixins/organisationFilter.ts +41 -0
  120. package/src/components/mixins/player/playerComment.ts +98 -0
  121. package/src/components/mixins/player/playerDisplay.ts +113 -0
  122. package/src/components/mixins/player/playerLive.ts +111 -0
  123. package/src/components/mixins/player/playerLogic.ts +225 -0
  124. package/src/components/mixins/tagOfMixins.ts +19 -0
  125. package/src/components/pages/Category.vue +24 -28
  126. package/src/components/pages/Emission.vue +144 -177
  127. package/src/components/pages/Emissions.vue +94 -110
  128. package/src/components/pages/Error403Page.vue +60 -0
  129. package/src/components/pages/Home.vue +74 -21
  130. package/src/components/pages/Lives.vue +53 -58
  131. package/src/components/pages/PageNotFound.vue +55 -0
  132. package/src/components/pages/Participant.vue +113 -129
  133. package/src/components/pages/Participants.vue +25 -41
  134. package/src/components/pages/Playlist.vue +86 -86
  135. package/src/components/pages/Playlists.vue +33 -52
  136. package/src/components/pages/Podcast.vue +206 -478
  137. package/src/components/pages/Podcasts.vue +112 -156
  138. package/src/components/pages/Rubrique.vue +21 -27
  139. package/src/components/pages/Search.vue +37 -94
  140. package/src/helper/dom.ts +2 -2
  141. package/src/helper/duration.ts +18 -8
  142. package/src/helper/useEventListener.ts +18 -0
  143. package/src/i18n.ts +36 -0
  144. package/src/locale/de.ts +309 -0
  145. package/src/locale/educationen.ts +14 -0
  146. package/src/locale/en.ts +316 -1
  147. package/src/locale/es.ts +309 -0
  148. package/src/locale/fr.ts +47 -15
  149. package/src/locale/it.ts +307 -0
  150. package/src/locale/messages.ts +11 -2
  151. package/src/locale/sl.ts +309 -0
  152. package/src/main.ts +64 -55
  153. package/src/router/router.ts +192 -159
  154. package/src/sass/_variables.scss +10 -8
  155. package/src/shims-tsx.d.ts +15 -0
  156. package/src/shims-vue-recaptcha-v3.d.ts +9 -0
  157. package/src/shims-vue.d.ts +5 -6
  158. package/src/store/AppStore.ts +41 -173
  159. package/src/store/class/adserver/adserverConfig.ts +9 -0
  160. package/src/store/class/adserver/adserverOtherEmission.ts +13 -0
  161. package/src/store/class/adserver/adserverTiming.ts +10 -0
  162. package/src/store/class/cartouchier/cartouche.ts +15 -0
  163. package/src/store/class/cartouchier/cartouchier.ts +9 -0
  164. package/src/store/class/conference/conference.ts +35 -0
  165. package/src/store/class/conference/conferenceMessage.ts +10 -0
  166. package/src/store/class/conference/conferenceParticipant.ts +18 -0
  167. package/src/store/class/conference/pad.ts +15 -0
  168. package/src/store/class/conference/studioCall.ts +7 -0
  169. package/src/store/class/contract/contract.ts +7 -0
  170. package/src/store/class/contract/contractOrganisation.ts +7 -0
  171. package/src/store/class/ftp/ftpEmission.ts +41 -0
  172. package/src/store/class/ftp/ftpParam.ts +12 -0
  173. package/src/store/class/ftp/testFtpEmission.ts +5 -0
  174. package/src/store/class/general/audioView.ts +21 -0
  175. package/src/store/class/general/category.ts +10 -0
  176. package/src/store/class/general/comment.ts +16 -0
  177. package/src/store/class/general/customPlayer.ts +9 -0
  178. package/src/store/class/general/emission.ts +23 -0
  179. package/src/store/class/general/fetchParam.ts +3 -0
  180. package/src/store/class/general/initState.ts +25 -0
  181. package/src/store/class/general/interfacePageable.ts +16 -0
  182. package/src/store/class/general/ituneCategory.ts +5 -0
  183. package/src/store/class/general/media.ts +14 -0
  184. package/src/store/class/general/organisation.ts +20 -0
  185. package/src/store/class/general/pageable.ts +13 -0
  186. package/src/store/class/general/participant.ts +12 -0
  187. package/src/store/class/general/player.ts +14 -0
  188. package/src/store/class/general/playlist.ts +13 -0
  189. package/src/store/class/general/podcast.ts +43 -0
  190. package/src/store/class/general/sortPageable.ts +5 -0
  191. package/src/store/class/general/soundcastCategory.ts +8 -0
  192. package/src/store/class/ouestFrance/ofTag.ts +36 -0
  193. package/src/store/class/ouestFrance/ofTagInfo.ts +9 -0
  194. package/src/store/class/ouestFrance/ofTagPage.ts +7 -0
  195. package/src/store/class/ouestFrance/ofTagSeo.ts +7 -0
  196. package/src/store/class/ouestFrance/ofTagVente.ts +6 -0
  197. package/src/store/class/ouestFrance/ofTagWithParents.ts +26 -0
  198. package/src/store/class/rss/aggregator.ts +28 -0
  199. package/src/store/class/rss/rssEmission.ts +14 -0
  200. package/src/store/class/rss/rssInfo.ts +8 -0
  201. package/src/store/class/rubrique/rubriquage.ts +10 -0
  202. package/src/store/class/rubrique/rubriquageFilter.ts +6 -0
  203. package/src/store/class/rubrique/rubrique.ts +9 -0
  204. package/src/store/class/stat/statArrayIncome.ts +6 -0
  205. package/src/store/class/stat/statArrayObject.ts +34 -0
  206. package/src/store/class/stat/statGraph.ts +7 -0
  207. package/src/store/class/user/person.ts +15 -0
  208. package/src/store/class/user/profile.ts +12 -0
  209. package/src/store/class/user/userKeycloak.ts +24 -0
  210. package/src/store/paramStore.ts +222 -217
  211. package/src/store/typeAppStore.ts +186 -235
  212. package/src/vuex-shim.d.ts +8 -0
  213. package/tsconfig.json +4 -0
  214. package/vue.config.js +16 -0
  215. package/public/css/fonts/saooti-ui.eot +0 -0
  216. package/public/css/fonts/saooti-ui.svg +0 -829
  217. package/public/css/fonts/saooti-ui.ttf +0 -0
  218. package/public/css/fonts/saooti-ui.woff +0 -0
  219. package/public/css/fonts/stitcher-logo.svg +0 -83
  220. package/public/img/ACPM.PNG +0 -0
  221. package/src/api/comments.ts +0 -7
  222. package/src/api/emissions.ts +0 -7
  223. package/src/api/podcasts.ts +0 -7
  224. package/src/api/profile.ts +0 -8
  225. package/src/api/studio.ts +0 -1
  226. package/src/assets/bootstrap_scss/_alert.scss +0 -51
  227. package/src/assets/bootstrap_scss/_badge.scss +0 -54
  228. package/src/assets/bootstrap_scss/_breadcrumb.scss +0 -42
  229. package/src/assets/bootstrap_scss/_button-group.scss +0 -164
  230. package/src/assets/bootstrap_scss/_buttons.scss +0 -291
  231. package/src/assets/bootstrap_scss/_card.scss +0 -278
  232. package/src/assets/bootstrap_scss/_carousel.scss +0 -197
  233. package/src/assets/bootstrap_scss/_close.scss +0 -41
  234. package/src/assets/bootstrap_scss/_code.scss +0 -48
  235. package/src/assets/bootstrap_scss/_custom-forms.scss +0 -522
  236. package/src/assets/bootstrap_scss/_dropdown.scss +0 -201
  237. package/src/assets/bootstrap_scss/_forms.scss +0 -352
  238. package/src/assets/bootstrap_scss/_functions.scss +0 -134
  239. package/src/assets/bootstrap_scss/_grid.scss +0 -69
  240. package/src/assets/bootstrap_scss/_images.scss +0 -42
  241. package/src/assets/bootstrap_scss/_input-group.scss +0 -191
  242. package/src/assets/bootstrap_scss/_jumbotron.scss +0 -17
  243. package/src/assets/bootstrap_scss/_list-group.scss +0 -158
  244. package/src/assets/bootstrap_scss/_media.scss +0 -8
  245. package/src/assets/bootstrap_scss/_mixins.scss +0 -47
  246. package/src/assets/bootstrap_scss/_modal.scss +0 -243
  247. package/src/assets/bootstrap_scss/_nav.scss +0 -120
  248. package/src/assets/bootstrap_scss/_navbar.scss +0 -324
  249. package/src/assets/bootstrap_scss/_pagination.scss +0 -74
  250. package/src/assets/bootstrap_scss/_popover.scss +0 -170
  251. package/src/assets/bootstrap_scss/_print.scss +0 -141
  252. package/src/assets/bootstrap_scss/_progress.scss +0 -46
  253. package/src/assets/bootstrap_scss/_reboot.scss +0 -482
  254. package/src/assets/bootstrap_scss/_root.scss +0 -20
  255. package/src/assets/bootstrap_scss/_spinners.scss +0 -55
  256. package/src/assets/bootstrap_scss/_tables.scss +0 -185
  257. package/src/assets/bootstrap_scss/_toasts.scss +0 -44
  258. package/src/assets/bootstrap_scss/_tooltip.scss +0 -115
  259. package/src/assets/bootstrap_scss/_transitions.scss +0 -20
  260. package/src/assets/bootstrap_scss/_type.scss +0 -125
  261. package/src/assets/bootstrap_scss/_utilities.scss +0 -17
  262. package/src/assets/bootstrap_scss/_variables.scss +0 -1145
  263. package/src/assets/bootstrap_scss/bootstrap-grid.scss +0 -29
  264. package/src/assets/bootstrap_scss/bootstrap-reboot.scss +0 -12
  265. package/src/assets/bootstrap_scss/bootstrap.scss +0 -44
  266. package/src/assets/bootstrap_scss/mixins/_alert.scss +0 -13
  267. package/src/assets/bootstrap_scss/mixins/_background-variant.scss +0 -22
  268. package/src/assets/bootstrap_scss/mixins/_badge.scss +0 -17
  269. package/src/assets/bootstrap_scss/mixins/_border-radius.scss +0 -63
  270. package/src/assets/bootstrap_scss/mixins/_box-shadow.scss +0 -20
  271. package/src/assets/bootstrap_scss/mixins/_breakpoints.scss +0 -123
  272. package/src/assets/bootstrap_scss/mixins/_buttons.scss +0 -110
  273. package/src/assets/bootstrap_scss/mixins/_caret.scss +0 -62
  274. package/src/assets/bootstrap_scss/mixins/_clearfix.scss +0 -7
  275. package/src/assets/bootstrap_scss/mixins/_deprecate.scss +0 -10
  276. package/src/assets/bootstrap_scss/mixins/_float.scss +0 -14
  277. package/src/assets/bootstrap_scss/mixins/_forms.scss +0 -177
  278. package/src/assets/bootstrap_scss/mixins/_gradients.scss +0 -45
  279. package/src/assets/bootstrap_scss/mixins/_grid-framework.scss +0 -71
  280. package/src/assets/bootstrap_scss/mixins/_grid.scss +0 -69
  281. package/src/assets/bootstrap_scss/mixins/_hover.scss +0 -37
  282. package/src/assets/bootstrap_scss/mixins/_image.scss +0 -36
  283. package/src/assets/bootstrap_scss/mixins/_list-group.scss +0 -21
  284. package/src/assets/bootstrap_scss/mixins/_lists.scss +0 -7
  285. package/src/assets/bootstrap_scss/mixins/_nav-divider.scss +0 -11
  286. package/src/assets/bootstrap_scss/mixins/_pagination.scss +0 -22
  287. package/src/assets/bootstrap_scss/mixins/_reset-text.scss +0 -17
  288. package/src/assets/bootstrap_scss/mixins/_resize.scss +0 -6
  289. package/src/assets/bootstrap_scss/mixins/_screen-reader.scss +0 -34
  290. package/src/assets/bootstrap_scss/mixins/_size.scss +0 -7
  291. package/src/assets/bootstrap_scss/mixins/_table-row.scss +0 -39
  292. package/src/assets/bootstrap_scss/mixins/_text-emphasis.scss +0 -17
  293. package/src/assets/bootstrap_scss/mixins/_text-hide.scss +0 -11
  294. package/src/assets/bootstrap_scss/mixins/_text-truncate.scss +0 -8
  295. package/src/assets/bootstrap_scss/mixins/_transition.scss +0 -16
  296. package/src/assets/bootstrap_scss/mixins/_visibility.scss +0 -8
  297. package/src/assets/bootstrap_scss/utilities/_align.scss +0 -8
  298. package/src/assets/bootstrap_scss/utilities/_background.scss +0 -19
  299. package/src/assets/bootstrap_scss/utilities/_borders.scss +0 -75
  300. package/src/assets/bootstrap_scss/utilities/_clearfix.scss +0 -3
  301. package/src/assets/bootstrap_scss/utilities/_display.scss +0 -26
  302. package/src/assets/bootstrap_scss/utilities/_embed.scss +0 -39
  303. package/src/assets/bootstrap_scss/utilities/_flex.scss +0 -51
  304. package/src/assets/bootstrap_scss/utilities/_float.scss +0 -11
  305. package/src/assets/bootstrap_scss/utilities/_overflow.scss +0 -5
  306. package/src/assets/bootstrap_scss/utilities/_position.scss +0 -32
  307. package/src/assets/bootstrap_scss/utilities/_screenreaders.scss +0 -11
  308. package/src/assets/bootstrap_scss/utilities/_shadows.scss +0 -6
  309. package/src/assets/bootstrap_scss/utilities/_sizing.scss +0 -20
  310. package/src/assets/bootstrap_scss/utilities/_spacing.scss +0 -73
  311. package/src/assets/bootstrap_scss/utilities/_stretched-link.scss +0 -19
  312. package/src/assets/bootstrap_scss/utilities/_text.scss +0 -72
  313. package/src/assets/bootstrap_scss/utilities/_visibility.scss +0 -13
  314. package/src/assets/bootstrap_scss/vendor/_rfs.scss +0 -204
  315. package/src/components/misc/Player.vue +0 -792
  316. package/src/shims-vuex.d.ts +0 -7
  317. package/src/views/Home.vue +0 -18
@@ -1,165 +1,22 @@
1
1
  import { createStore } from 'vuex'
2
- import {AppStoreData} from './typeAppStore';
3
-
2
+ import { AppStoreData } from './typeAppStore';
4
3
 
5
4
  export default createStore({
6
5
  state: AppStoreData(),
7
6
 
8
- getters: {
9
- isRoleAdmin: state => {
10
- return (
11
- state.authentication.isAuthenticated &&
12
- state.authentication.role.includes('ADMIN')
13
- );
14
- },
15
- isRoleAnimator: state => {
16
- return (
17
- state.authentication.isAuthenticated &&
18
- state.authentication.role.includes('ANIMATION')
19
- );
20
- },
21
- isRoleUsers: state => {
22
- return (
23
- state.authentication.isAuthenticated &&
24
- state.authentication.role.includes('USERS')
25
- );
26
- },
27
- isRoleOrganisation: state => {
28
- return (
29
- state.authentication.isAuthenticated &&
30
- state.authentication.role.includes('ORGANISATION')
31
- );
32
- },
33
- isRoleProduction: state => {
34
- return (
35
- state.authentication.isAuthenticated &&
36
- state.authentication.role.includes('PRODUCTION')
37
- );
38
- },
39
- isRolePublication: state => {
40
- return (
41
- state.authentication.isAuthenticated &&
42
- state.authentication.role.includes('PODCAST_VALIDATION')
43
- );
44
- },
45
- isRoleContribution: state => {
46
- return (
47
- state.authentication.isAuthenticated &&
48
- state.authentication.role.includes('PODCAST_CRUD')
49
- );
50
- },
51
- isRolePlaylists: state => {
52
- return (
53
- state.authentication.isAuthenticated &&
54
- state.authentication.role.includes('PLAYLISTS')
55
- );
56
- },
57
- isRoleComments: state => {
58
- return (
59
- state.authentication.isAuthenticated &&
60
- state.authentication.role.includes('COMMENTS_MODERATION')
61
- );
62
- },
63
- isRoleEditor: state => {
64
- return (
65
- state.authentication.isAuthenticated &&
66
- state.authentication.role.includes('EDITION')
67
- );
68
- },
69
- isRoleAnalytics: state => {
70
- return (
71
- state.authentication.isAuthenticated &&
72
- state.authentication.role.includes('ANALYTICS')
73
- );
74
- },
75
- isRoleAdvertising: state => {
76
- return (
77
- state.authentication.isAuthenticated &&
78
- state.authentication.role.includes('ADVERTISING')
79
- );
80
- },
81
- isRoleLive: state => {
82
- return (
83
- state.authentication.isAuthenticated &&
84
- state.authentication.role.includes('LIVE')
85
- );
86
- },
87
- },
7
+ getters: {},
88
8
  mutations: {
89
- navigator(state, navigator) {
90
- state.navigator = navigator;
91
- },
92
- storage(state, storage) {
93
- state.storage = storage;
94
- },
95
- miniplayer(state, miniplayer) {
96
- state.miniplayer = miniplayer;
97
- },
98
- api(state, api) {
99
- state.api = api;
100
- },
101
- RssApi(state, RssApi) {
102
- state.RssApi = RssApi;
103
- },
104
- MediaApi(state, MediaApi) {
105
- state.MediaApi = MediaApi;
106
- },
107
- commentApi(state, commentApi) {
108
- state.CommentApi = commentApi;
109
- },
110
- studioApi(state, studioApi) {
111
- state.studioApi = studioApi;
112
- },
113
- processor(state, processor) {
114
- state.processor = processor;
115
- },
116
- rtmp(state, rtmp) {
117
- state.rtmp = rtmp;
118
- },
119
- keycloakApi(state, keycloakApi) {
120
- state.keycloakApi = keycloakApi;
121
- },
122
- frontend(state, frontend) {
123
- state.frontend = frontend;
124
- },
125
- hlsApi(state, hlsApi) {
126
- state.hlsApi = hlsApi;
127
- },
128
- authentication(state, authentication) {
129
- state.authentication = authentication;
130
- },
131
- oAuthParam(state, oAuthParam) {
132
- state.oAuthParam = oAuthParam;
133
- },
134
- media(state, media) {
135
- state.media = media;
136
- },
137
- profile(state, profile) {
138
- state.profile = profile;
139
- state.authentication.name = profile.firstname + ' ' + profile.lastname;
140
- },
141
- organisation(state, organisation) {
142
- state.organisation = organisation;
143
- },
144
-
145
- uiDisplayLeftMenu(state, displayLeftMenuState) {
146
- state.ui.displayLeftMenu = displayLeftMenuState;
147
- },
148
-
149
- playerPlayPodcast(state , podcast) {
9
+ playerPlayPodcast(state, podcast) {
150
10
  if (!podcast) {
151
11
  state.player = {
152
12
  status: 'STOPPED', //STOPPED, LOADING, PLAYING, PAUSED
153
- podcast: undefined as any,
154
- media: undefined as any,
155
- live: undefined as any,
13
+ podcast: undefined,
14
+ media: undefined,
15
+ live: undefined,
156
16
  elapsed: 0,
157
17
  };
158
18
  return;
159
19
  }
160
- if (podcast.isStop) {
161
- state.player.stop = true;
162
- }
163
20
  if (
164
21
  (state.player.podcast &&
165
22
  state.player.podcast.podcastId === podcast.podcastId) ||
@@ -173,12 +30,12 @@ export default createStore({
173
30
  }
174
31
  if (
175
32
  podcast.conferenceId &&
176
- (!podcast.podcastId || podcast.processingStatus !== 'READY')
33
+ (!podcast.podcastId || 'READY' !== podcast.processingStatus)
177
34
  ) {
178
35
  state.player = {
179
36
  status: 'LOADING', //STOPPED, LOADING, PLAYING, PAUSED
180
- podcast: undefined as any,
181
- media: undefined as any,
37
+ podcast: undefined,
38
+ media: undefined,
182
39
  live: podcast,
183
40
  elapsed: 0,
184
41
  };
@@ -186,16 +43,16 @@ export default createStore({
186
43
  state.player = {
187
44
  status: 'LOADING', //STOPPED, LOADING, PLAYING, PAUSED
188
45
  podcast: podcast,
189
- media: undefined as any,
190
- live: undefined as any,
46
+ media: undefined,
47
+ live: undefined,
191
48
  elapsed: 0,
192
49
  };
193
50
  } else if (podcast.mediaId) {
194
51
  state.player = {
195
52
  status: 'LOADING', //STOPPED, LOADING, PLAYING, PAUSED
196
- podcast: undefined as any,
53
+ podcast: undefined,
197
54
  media: podcast,
198
- live: undefined as any,
55
+ live: undefined,
199
56
  elapsed: 0,
200
57
  };
201
58
  }
@@ -220,9 +77,8 @@ export default createStore({
220
77
  playerVolume(state, volume) {
221
78
  state.player.volume = volume;
222
79
  },
223
-
224
- categoriesSet(state, categories) {
225
- state.categories = categories;
80
+ playerSeekTime(state, seekTime) {
81
+ state.player.seekTime = seekTime;
226
82
  },
227
83
 
228
84
  filterOrga(state, filter) {
@@ -230,27 +86,39 @@ export default createStore({
230
86
  if (filter.imgUrl || !filter.orgaId) {
231
87
  state.filter.imgUrl = filter.imgUrl;
232
88
  }
89
+ if (filter.name || !filter.orgaId) {
90
+ state.filter.name = filter.name;
91
+ }
92
+ if(filter.rubriquageArray){
93
+ state.filter.rubriquageArray = filter.rubriquageArray;
94
+ }
95
+ state.filter.live= filter.isLive;
96
+ state.filter.iab = undefined;
233
97
  },
234
-
235
- filterOrgaLive(state, isLive) {
236
- state.filter.live = isLive;
98
+ filterIab(state, iab) {
99
+ state.filter.iab = iab;
100
+ },
101
+ filterRubrique(state, rubriqueFilter) {
102
+ state.filter.rubriqueFilter = rubriqueFilter;
103
+ },
104
+ filterRubriqueDisplay(state, rubriques) {
105
+ state.filter.rubriqueDisplay = rubriques;
237
106
  },
238
107
 
239
- filterMedia(state, filter) {
240
- if (filter.type) {
241
- state.filter.typeMedia = filter.type;
242
- }
243
- if (filter.order) {
244
- state.filter.sortOrder = filter.order;
245
- }
246
- if (filter.field) {
247
- state.filter.sortField = filter.field;
248
- }
108
+ categoriesSet(state, categories) {
109
+ state.categories = categories;
249
110
  },
250
111
 
251
112
  categoriesOrgaSet(state, categories) {
252
113
  state.categoriesOrga = categories;
253
114
  },
254
-
115
+ setCommentIdentity(state, identity) {
116
+ state.comments.knownIdentity = identity;
117
+ },
118
+ setCommentLoaded(state, data) {
119
+ state.comments.actualPodcastId = data.podcastId;
120
+ state.comments.loadedComments = data.comments;
121
+ state.comments.totalCount = data.count;
122
+ },
255
123
  },
256
124
  });
@@ -0,0 +1,9 @@
1
+ import { AdserverTiming } from "./adserverTiming";
2
+
3
+ export interface AdserverConfig {
4
+ activeServer?: string | undefined; // SOUNDCAST, ADSWIZZ, TARGETSPOT
5
+ config: {[key:string]: Array<AdserverTiming>};
6
+ minIntervalDuration?: number;
7
+ minTailDuration?: number;
8
+ soundcastDefaultSoundcastId?: string;
9
+ }
@@ -0,0 +1,13 @@
1
+ import { AdserverTiming } from "./adserverTiming";
2
+ import { Organisation } from "../general/organisation";
3
+
4
+ export interface AdserverOtherEmission {
5
+ config: {
6
+ doublets: Array<AdserverTiming>;
7
+ minIntervalDuration: number;
8
+ minTailDuration: number;
9
+ server: string;
10
+ }
11
+ elected: string;
12
+ organisation: Organisation;
13
+ }
@@ -0,0 +1,10 @@
1
+ export interface AdserverTiming {
2
+ stationId?: string;
3
+ tag?: string;
4
+ timing: {
5
+ insertion: string; // pre, mid, post
6
+ mesure?: number;
7
+ unit?: string; //MILLISECOND, SECOND, MINUTE, PERCENT
8
+ };
9
+ zone_alias?: string;
10
+ }
@@ -0,0 +1,15 @@
1
+ import { Media } from '../general/media';
2
+
3
+ export interface Cartouche {
4
+ mediaId?: number;
5
+ media?: Media;
6
+ title?: string;
7
+ cartoucheId?: number;
8
+ colorId?: string;
9
+ level?: number;
10
+ id: number;
11
+ width: number;
12
+ interval?:number;
13
+ elapsed?:number;
14
+ loop?:boolean;
15
+ }
@@ -0,0 +1,9 @@
1
+ import { Cartouche } from "./cartouche";
2
+
3
+ export interface Cartouchier {
4
+ cartouchierId?: number;
5
+ title: string;
6
+ organisationId: string;
7
+ cartouches: {[key:string] : Cartouche};
8
+ cartoucheComplete?: {[key:string] : Cartouche};
9
+ }
@@ -0,0 +1,35 @@
1
+ export interface Conference{
2
+ album?: string;
3
+ artist?: string;
4
+ conferenceId: number;
5
+ conferenceUrlIdentifier?: string;
6
+ date?: string;
7
+ debriefingDate?: string;
8
+ deletionAttempts?: number;
9
+ directCode?: string;
10
+ hostname?: string;
11
+ jingleDuration?: number;
12
+ jingleFilePath?: string;
13
+ jingleId?: number;
14
+ mediaId?: number;
15
+ organisationId?: string;
16
+ participants?: Array<{
17
+ conferenceGuestId: number,
18
+ fullName: string,
19
+ keycloakId:string,
20
+ kind: string,
21
+ sipIdentifier:string}>;
22
+ phone?: string;
23
+ podcastId?: number;
24
+ prefix?: {[key:string]:string};
25
+ queueCode?: string;
26
+ recordDate?: string;
27
+ recordingPort?: number;
28
+ status?: string;
29
+ title: string;
30
+ token?: string;
31
+ orderStatus?:number;
32
+ websocket?: string;
33
+ interval?: ReturnType<typeof setTimeout>;
34
+ duration?:number;
35
+ }
@@ -0,0 +1,10 @@
1
+ import { Conference } from './conference';
2
+
3
+ export interface ConferenceMessage {
4
+ conference?: Conference;
5
+ date: string;
6
+ message: string;
7
+ messageId?: number;
8
+ userId: string;
9
+ username: string;
10
+ }
@@ -0,0 +1,18 @@
1
+ import { Conference } from './conference';
2
+
3
+ export interface ConferenceParticipant {
4
+ conference?: Conference;
5
+ conferenceGuestId?: number;
6
+ fullName: string;
7
+ keycloakId?: string;
8
+ kind?: string;
9
+ sipIdentifier?: string;
10
+ sipPassword?: string;
11
+ muted?: boolean;
12
+ talking?: boolean;
13
+ memberId?: number;
14
+ callerNumber?: string;
15
+ callerName?: string;
16
+ gain?: number;
17
+ img?: string;
18
+ }
@@ -0,0 +1,15 @@
1
+ export interface Pad {
2
+ lineId: number;
3
+ ligneId?: number;
4
+ interval?: number;
5
+ paletteId?: number;
6
+ loop?: boolean;
7
+ volume?: number;
8
+ automix?: boolean;
9
+ url?: string;
10
+ duration?: number;
11
+ mediaId?: number;
12
+ fadeInMode?: string;
13
+ fadeInDuration?: number;
14
+ elapsed?: number;
15
+ }
@@ -0,0 +1,7 @@
1
+ export interface StudioCall {
2
+ callId: string;
3
+ display: string;
4
+ muted: boolean;
5
+ number: string;
6
+ result: boolean;
7
+ }
@@ -0,0 +1,7 @@
1
+ export interface Contract {
2
+ contractName: string;
3
+ id: string;
4
+ updateDate: string;
5
+ validationDate: string;
6
+ contratType?: string;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { Contract } from "./contract";
2
+
3
+ export interface ContractOrganisation{
4
+ contractList: Array<Contract>;
5
+ enable: boolean;
6
+ valide: boolean;
7
+ }
@@ -0,0 +1,41 @@
1
+ export interface FtpEmission {
2
+ email: string;
3
+ serverId: number | undefined;
4
+ emissionId: number | undefined;
5
+ regexp: string;
6
+ directory: string;
7
+ formatDescription: string;
8
+ formatTitre: string;
9
+ rubriqueIds: Array<number>;
10
+ guests: Array<number>;
11
+ formatDate: string;
12
+ parsingDate: string;
13
+ visibility: boolean;
14
+ commentable: string;
15
+ animators: Array<number>;
16
+ tags: Array<string>;
17
+ importType: string;
18
+ validePodcast?: number;
19
+ tooLong?: number;
20
+ spoilPodcast?: number;
21
+ }
22
+ export function emptyFtpEmission(): FtpEmission {
23
+ return {
24
+ email: '',
25
+ serverId: undefined,
26
+ emissionId: undefined,
27
+ regexp: '',
28
+ directory: '',
29
+ formatDescription: '',
30
+ formatTitre: '',
31
+ rubriqueIds: [],
32
+ guests: [],
33
+ formatDate: '',
34
+ parsingDate: '',
35
+ visibility: true,
36
+ commentable: 'INHERIT',
37
+ animators: [],
38
+ tags: [],
39
+ importType: 'standard',
40
+ };
41
+ }
@@ -0,0 +1,12 @@
1
+ export interface FtpParam {
2
+ domain: string;
3
+ ftpProtocol: string;
4
+ id: number;
5
+ login: string;
6
+ organisationId: string;
7
+ secureFile: string;
8
+ port: number;
9
+ version: number;
10
+ name: string;
11
+ delay: number;
12
+ }
@@ -0,0 +1,5 @@
1
+ export interface TestFtpEmission {
2
+ validePodcast?: number,
3
+ tooLong?: number,
4
+ spoilPodcast?: number,
5
+ }
@@ -0,0 +1,21 @@
1
+ import { Podcast } from "./podcast";
2
+ export interface AudioView {
3
+ audioStorageUrl: string;
4
+ creationParam : Podcast;
5
+ logs: Array<string>;
6
+ sendSuccess: boolean;
7
+ publisherId:string;
8
+ creation: Date;
9
+ creationPod: string;
10
+ duration: number;
11
+ id: number;
12
+ immediate: boolean;
13
+ localUrl: string;
14
+ notifiedEmail: string;
15
+ originalName: string;
16
+ original: Int8Array;
17
+ size: number;
18
+ status: string;
19
+ tags: {[key:string]: string};
20
+ priority: string;
21
+ }
@@ -0,0 +1,10 @@
1
+ import { AdserverConfig } from "../adserver/adserverConfig";
2
+ export interface Category {
3
+ id: number;
4
+ name: string;
5
+ podcastCount?: number;
6
+ podcastOrganisationCount?: number;
7
+ rtbId?: string;
8
+ adConfig?: AdserverConfig;
9
+ orgaAdConfigs?: {[key:string]: AdserverConfig};
10
+ }
@@ -0,0 +1,16 @@
1
+ export interface CommentPodcast {
2
+ comId?: number;
3
+ content: string;
4
+ name: string;
5
+ organisationId?: string;
6
+ userId?: string;
7
+ podcastId?: number;
8
+ commentIdReferer?: number;
9
+ timeline?: number;
10
+ status?: string;
11
+ certified?: boolean;
12
+ phase?: string;
13
+ date?: string;
14
+ relatedComments?: number;
15
+ relatedValidComments?: number;
16
+ }
@@ -0,0 +1,9 @@
1
+ export interface CustomPlayer{
2
+ customId: number,
3
+ organisationId: string,
4
+ template: string,
5
+ css: string,
6
+ typePlayer: string,
7
+ name: string,
8
+ selected: boolean,
9
+ }
@@ -0,0 +1,23 @@
1
+ import { AdserverConfig } from '../adserver/adserverConfig';
2
+ import { Organisation } from './organisation';
3
+ import { Person } from '../user/person';
4
+
5
+ export interface Emission {
6
+ imageUrl?: string;
7
+ annotations?: {[key: string]:string|number|boolean|undefined}|undefined;
8
+ description: string;
9
+ emissionId: number;
10
+ iabIds?: Array<number>;
11
+ lastPodcastDate?: string;
12
+ monetisable: string;
13
+ name: string;
14
+ orga: Organisation;
15
+ rubriqueIds: Array<number>;
16
+ score?: number;
17
+ soundcastTag?: string;
18
+ publisher?: Person;
19
+ copyright?: string;
20
+ optItunesCategories?: Array<string>;
21
+ adConfigs?: {[key:string]: AdserverConfig};
22
+ urlFeed?: string;
23
+ }
@@ -0,0 +1,3 @@
1
+ export interface FetchParam {
2
+ [key: string]: string | number | undefined | Array<number>| Array<string>| boolean;
3
+ }
@@ -0,0 +1,25 @@
1
+ export interface InitState {
2
+ accessToken: string;
3
+ accessTokenUri: string;
4
+ apiUri: string;
5
+ authenticated: boolean;
6
+ captchaDevelopmentProfil: boolean;
7
+ clientId: string;
8
+ commentsUri: string;
9
+ expiration: string;
10
+ frontendUri: string;
11
+ ftpUri: string;
12
+ hlsUri: string;
13
+ isEducation: boolean;
14
+ keycloakApiUri: string;
15
+ mediaUri: string;
16
+ name: string;
17
+ playerUri: string;
18
+ processorUri:string;
19
+ refreshToken: string;
20
+ role: Array<string>;
21
+ rssUri: string;
22
+ rtmpUri: string;
23
+ storageUri: string;
24
+ studioUri: string;
25
+ }
@@ -0,0 +1,16 @@
1
+ import { Pageable } from "./pageable";
2
+ import { SortPageable } from "./sortPageable";
3
+
4
+ export interface InterfacePageable<T>{
5
+ content: Array<T>;
6
+ empty: boolean;
7
+ first: boolean;
8
+ last: boolean;
9
+ number: number;
10
+ numberOfElements: number;
11
+ pageable: Pageable;
12
+ size: number;
13
+ sort: SortPageable;
14
+ totalElements: number;
15
+ totalPages: number;
16
+ }
@@ -0,0 +1,5 @@
1
+ export interface ItuneCategory {
2
+ level1: string,
3
+ level2?: string,
4
+ id?: number,
5
+ }
@@ -0,0 +1,14 @@
1
+ export interface Media {
2
+ mediaId: number;
3
+ imageUrl?: string;
4
+ organisationId: string;
5
+ title: string;
6
+ year?: string;
7
+ type?: string;
8
+ artiste?: string;
9
+ album?: string;
10
+ creation?: string;
11
+ duration?: number;
12
+ filePath?: string;
13
+ audioUrl?: string;
14
+ }
@@ -0,0 +1,20 @@
1
+ import { Person } from "../user/person";
2
+
3
+ export interface Organisation{
4
+ imageUrl: string;
5
+ admin?: Person;
6
+ comments?: string;
7
+ attributes?: {[key: string]:string|number|boolean|undefined}|undefined;
8
+ description?: string;
9
+ id: string;
10
+ location?: {
11
+ longitude: number;
12
+ latitude: number;
13
+ };
14
+ monetisable?: string;
15
+ name: string;
16
+ notSeenOnKeycloak?: number;
17
+ score?: number;
18
+ soundcastId?: string;
19
+ privacy?:string;
20
+ }