@saooti/octopus-sdk 29.0.28 → 30.0.3

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 (36) hide show
  1. package/README.md +3 -0
  2. package/index.ts +5 -2
  3. package/package.json +2 -2
  4. package/public/img/ouest_france_logo.svg +12 -0
  5. package/src/assets/form.scss +2 -1
  6. package/src/components/display/categories/CategoryList.vue +2 -2
  7. package/src/components/display/emission/EmissionChooser.vue +1 -1
  8. package/src/components/display/emission/EmissionInlineList.vue +4 -4
  9. package/src/components/display/emission/EmissionList.vue +3 -9
  10. package/src/components/display/live/LiveItem.vue +1 -1
  11. package/src/components/display/organisation/OrganisationChooserLight.vue +1 -1
  12. package/src/components/display/playlist/PodcastList.vue +1 -1
  13. package/src/components/display/podcasts/PodcastInlineList.vue +2 -2
  14. package/src/components/display/podcasts/PodcastList.vue +3 -9
  15. package/src/components/display/podcasts/PodcastModuleBox.vue +1 -5
  16. package/src/components/display/podcasts/TagList.vue +46 -34
  17. package/src/components/display/sharing/QrCode.vue +2 -3
  18. package/src/components/display/sharing/SharePlayer.vue +1 -3
  19. package/src/components/misc/Player.vue +1 -1
  20. package/src/components/misc/PlayerButtons.vue +20 -0
  21. package/src/components/mixins/tagOfMixins.ts +19 -0
  22. package/src/components/pages/Participant.vue +1 -1
  23. package/src/components/pages/Playlist.vue +1 -1
  24. package/src/components/pages/Podcast.vue +1 -1
  25. package/src/store/class/emission.ts +22 -19
  26. package/src/store/class/fetchParam.ts +1 -0
  27. package/src/store/class/participant.ts +8 -8
  28. package/src/store/class/person.ts +13 -11
  29. package/src/store/class/playlist.ts +5 -7
  30. package/src/store/class/podcast.ts +42 -38
  31. package/src/store/class/rubriquage.ts +8 -8
  32. package/src/store/class/rubrique.ts +3 -2
  33. package/src/store/paramStore.ts +15 -10
  34. package/src/api/emissions.ts +0 -13
  35. package/src/api/podcasts.ts +0 -12
  36. package/src/api/profile.ts +0 -11
package/README.md CHANGED
@@ -496,3 +496,6 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
496
496
  * 29.0.27 Petit cursor:pointer des familles
497
497
  * 29.0.28 Petite couleur des familles
498
498
 
499
+ * 30.0.1 Nouveau sprint
500
+ * 30.0.2 Correction css
501
+ * 30.0.3 Ajout tag page podcast
package/index.ts CHANGED
@@ -55,6 +55,7 @@ import {cookies} from "./src/components/mixins/functions";
55
55
  import {displayMethods} from "./src/components/mixins/functions";
56
56
  import {orgaFilter} from "./src/components/mixins/organisationFilter";
57
57
  import {initSDK} from "./src/components/mixins/init";
58
+ import {tagOfMixins} from "./src/components/mixins/tagOfMixins";
58
59
 
59
60
  const components = {
60
61
  Lives,
@@ -97,7 +98,8 @@ const components = {
97
98
  CategoryFilter,
98
99
  orgaFilter,
99
100
  initSDK,
100
- Popover
101
+ Popover,
102
+ tagOfMixins
101
103
  }
102
104
 
103
105
  export default components;
@@ -143,5 +145,6 @@ export {
143
145
  CategoryFilter,
144
146
  orgaFilter,
145
147
  initSDK,
146
- Popover
148
+ Popover,
149
+ tagOfMixins
147
150
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "29.0.28",
3
+ "version": "30.0.3",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -15,7 +15,7 @@
15
15
  "main": "./dist/octopus.common.js",
16
16
  "dependencies": {
17
17
  "@popperjs/core": "^2.10.2",
18
- "@saooti/octopus-api": "^0.29.7",
18
+ "@saooti/octopus-api": "^0.30.2",
19
19
  "@vue/cli": "^5.0.0-rc.0",
20
20
  "@vue/compat": "^3.2.21",
21
21
  "axios": "^0.24.0",
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 25.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 41.1 41.2" style="enable-background:new 0 0 41.1 41.2;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:#E2001A;}
7
+ </style>
8
+ <g>
9
+ <path class="st0" d="M28.1,1.5v13.3H12.7v-2h13.4v-12C15.1-2.3,3.8,4.1,0.7,15.1c-2.8,10,2.3,20.6,12,24.6V26.5h15.4v2H14.7v11.9
10
+ c10.9,3.2,22.4-3,25.6-13.9C43.3,16.3,38,5.4,28.1,1.5z"/>
11
+ </g>
12
+ </svg>
@@ -31,7 +31,8 @@
31
31
  }
32
32
 
33
33
  .form-check-input{
34
- margin-right: 5px;
34
+ margin-right: 5px;
35
+ cursor: pointer;
35
36
  }
36
37
 
37
38
  .basic-select{
@@ -156,9 +156,9 @@ export default defineComponent({
156
156
  }
157
157
  },
158
158
  async fetchCategories(organisationId: string): Promise<void> {
159
- const data = await octopusApi.fetchCategoriesOrga(organisationId, {
159
+ const data = await octopusApi.fetchCategories({
160
160
  lang: this.$i18n.locale,
161
- });
161
+ }, organisationId);
162
162
  this.$store.commit('categoriesOrgaSet', data);
163
163
  },
164
164
  },
@@ -88,7 +88,7 @@ import octopusApi from '@saooti/octopus-api';
88
88
  const ELEMENTS_COUNT = 50;
89
89
  const DEFAULT_EMISSION_ID = 0;
90
90
 
91
- const getDefaultEmission = (defaultName: string) => {
91
+ const getDefaultEmission = (defaultName: string): Emission|undefined => {
92
92
  if(''=== defaultName){
93
93
  return undefined;
94
94
  }
@@ -152,8 +152,8 @@ export default defineComponent({
152
152
  first: this.first,
153
153
  size: this.size + 1,
154
154
  organisationId: this.organisationId,
155
- rubriqueId: this.rubriqueId,
156
- rubriquageId: this.rubriquageId,
155
+ rubriqueId: this.rubriqueId ? [this.rubriqueId] : [],
156
+ rubriquageId: this.rubriquageId ? [this.rubriquageId] : [],
157
157
  sort: 'LAST_PODCAST_DESC',
158
158
  });
159
159
  this.loading = false;
@@ -169,8 +169,8 @@ export default defineComponent({
169
169
  });
170
170
  } */
171
171
  if (this.allEmissions.length + data.result.length < this.totalCount) {
172
- const nexEl = data.result.pop();
173
- this.preloadImage(nexEl.imageUrl);
172
+ const nexEl = data.result.pop() as Emission;
173
+ this.preloadImage(nexEl.imageUrl ? nexEl.imageUrl : "");
174
174
  }
175
175
  this.allEmissions = this.allEmissions.concat(data.result);
176
176
  if (this.allEmissions.length <= 3) {
@@ -61,7 +61,6 @@
61
61
 
62
62
  <script lang="ts">
63
63
  import octopusApi from '@saooti/octopus-api';
64
- import emissionApi from '@/api/emissions';
65
64
  import { state } from '../../../store/paramStore';
66
65
 
67
66
  import { Emission } from '@/store/class/emission';
@@ -186,15 +185,10 @@ export default defineComponent({
186
185
  noRubriquageId: this.noRubriquageId.length ? this.noRubriquageId : undefined,
187
186
  rubriqueId: this.rubriqueId.length ? this.rubriqueId : undefined,
188
187
  rubriquageId: this.rubriquageId.length ? this.rubriquageId : undefined,
188
+ includeHidden:this.includeHidden,
189
189
  };
190
- if (this.includeHidden) {
191
- param.includeHidden = this.includeHidden;
192
- const data = await emissionApi.fetchEmissionsAdmin(this.$store.state, param);
193
- this.afterFetching(reset, data);
194
- } else {
195
- const data = await octopusApi.fetchEmissions(param);
196
- this.afterFetching(reset, data);
197
- }
190
+ const data = await octopusApi.fetchEmissions(param);
191
+ this.afterFetching(reset, data);
198
192
  },
199
193
  afterFetching(reset: boolean, data: {count: number, result: Array<Emission>, sort: string}): void {
200
194
  if (reset) {
@@ -234,7 +234,7 @@ export default defineComponent({
234
234
  if (!this.fetchConference || !this.fetchConference.podcastId) return;
235
235
  try {
236
236
  this.live = await octopusApi.fetchPodcast(
237
- this.fetchConference.podcastId
237
+ this.fetchConference.podcastId.toString()
238
238
  );
239
239
  } catch {
240
240
  this.$emit('deleteItem', this.index);
@@ -41,7 +41,7 @@ export default defineComponent({
41
41
 
42
42
  data() {
43
43
  return {
44
- actual: -1 as number,
44
+ actual: -1 as number|string,
45
45
  organisation: undefined as Organisation|undefined,
46
46
  init: false as boolean,
47
47
  };
@@ -161,7 +161,7 @@ export default defineComponent({
161
161
  this.loading = true;
162
162
  this.loaded = false;
163
163
  const content = await octopusApi.fetchPlaylistContent(
164
- this.playlist.playlistId
164
+ this.playlist.playlistId.toString()
165
165
  );
166
166
  for (let index = 0, len = content.length; index < len; index++) {
167
167
  content[index].order = this.playlist.podcasts[content[index].podcastId];
@@ -235,8 +235,8 @@ export default defineComponent({
235
235
  this.loaded = true;
236
236
  this.totalCount = data.count;
237
237
  if (this.allPodcasts.length + data.result.length < this.totalCount) {
238
- const nexEl = data.result.pop();
239
- this.preloadImage(nexEl.imageUrl);
238
+ const nexEl = data.result.pop() as Podcast;
239
+ this.preloadImage(nexEl.imageUrl?nexEl.imageUrl:'');
240
240
  }
241
241
  this.allPodcasts = this.allPodcasts.concat(
242
242
  data.result.filter((pod: Podcast|null) => null !== pod)
@@ -46,7 +46,6 @@
46
46
 
47
47
  <script lang="ts">
48
48
  import octopusApi from '@saooti/octopus-api';
49
- import podcastApi from '@/api/podcasts';
50
49
  import PodcastItem from './PodcastItem.vue';
51
50
  import { state } from '../../../store/paramStore';
52
51
 
@@ -172,6 +171,7 @@ export default defineComponent({
172
171
  noRubriquageId: this.noRubriquageId.length ? this.noRubriquageId : undefined,
173
172
  rubriqueId: this.rubriqueId.length ? this.rubriqueId : undefined,
174
173
  rubriquageId: this.rubriquageId.length ? this.rubriquageId : undefined,
174
+ includeHidden: this.includeHidden
175
175
  };
176
176
  if (undefined !== this.notValid) {
177
177
  param.validity = !this.notValid;
@@ -179,14 +179,8 @@ export default defineComponent({
179
179
  if (this.notValid && !this.isProduction) {
180
180
  param.publisherId = this.$store.state.profile.userId;
181
181
  }
182
- if (this.includeHidden) {
183
- param.includeHidden = this.includeHidden;
184
- const data = await podcastApi.fetchPodcastsAdmin(this.$store.state, param);
185
- this.afterFetching(reset, data);
186
- } else {
187
- const data = await octopusApi.fetchPodcasts(param);
188
- this.afterFetching(reset, data);
189
- }
182
+ const data = await octopusApi.fetchPodcasts(param);
183
+ this.afterFetching(reset, data);
190
184
  },
191
185
  afterFetching(reset: boolean, data: {count: number, result: Array<Podcast>, sort: string}): void {
192
186
  if (reset) {
@@ -146,7 +146,6 @@
146
146
  </div>
147
147
  </div>
148
148
  <TagList
149
- v-if="isTagList"
150
149
  :tag-list="podcast.tags"
151
150
  />
152
151
  </div>
@@ -155,6 +154,7 @@
155
154
  <script lang="ts">
156
155
  import PodcastImage from './PodcastImage.vue';
157
156
  import ParticipantDescription from './ParticipantDescription.vue';
157
+ import TagList from './TagList.vue';
158
158
  import { state } from '../../../store/paramStore';
159
159
  import moment from 'moment';
160
160
  // @ts-ignore
@@ -165,7 +165,6 @@ import { Conference } from '@/store/class/conference';
165
165
 
166
166
  import { defineComponent, defineAsyncComponent } from 'vue';
167
167
  const ShareButtons = defineAsyncComponent(() => import('../sharing/ShareButtons.vue'));
168
- const TagList = defineAsyncComponent(() => import('./TagList.vue'));
169
168
  const ErrorMessage = defineAsyncComponent(() => import('../../misc/ErrorMessage.vue'));
170
169
  export default defineComponent({
171
170
  name: "PodcastModuleBox",
@@ -205,9 +204,6 @@ export default defineComponent({
205
204
  isOuestFrance(): boolean {
206
205
  return (state.podcastPage.ouestFranceStyle as boolean);
207
206
  },
208
- isTagList(): boolean {
209
- return (state.podcastPage.tagList as boolean);
210
- },
211
207
  isDownloadButton(): boolean {
212
208
  return (state.podcastPage.downloadButton as boolean);
213
209
  },
@@ -1,55 +1,67 @@
1
1
  <template>
2
- <div v-if="undefined !== tagList">
3
- <ul class="d-flex flex-wrap">
4
- <li
5
- v-for="tag in tagList"
6
- :key="tag"
7
- class="tagListElement"
2
+ <div
3
+ v-if="undefined !== tagList"
4
+ class="tag-list-component d-flex flex-wrap"
5
+ >
6
+ <div
7
+ v-for="(tag, index) in tagList"
8
+ :key="tag"
9
+ class="tagListElement"
10
+ >
11
+ <div
12
+ :id="'tag-list-from-podcast-page'+index"
13
+ class="tagListLink"
8
14
  >
9
- <router-link
10
- :to="{
11
- name: 'search',
12
- query: {
13
- query: tag,
14
- productor: $store.state.filter.organisationId,
15
- },
16
- }"
17
- class="tagListLink"
15
+ <img
16
+ v-if="isOuestFranceTag(tag)"
17
+ class="ouest-france-logo"
18
+ src="/img/ouest_france_logo.svg"
18
19
  >
19
- {{ tag }}
20
- </router-link>
21
- </li>
22
- </ul>
20
+ {{ formateOfTag(tag) }}
21
+ </div>
22
+ <Popover
23
+ v-if="isOuestFranceTag(tag)"
24
+ :target="'tag-list-from-podcast-page'+index"
25
+ triggers="hover"
26
+ :content="tag.substring(4,tag.length)"
27
+ placement="bottom"
28
+ />
29
+ </div>
23
30
  </div>
24
31
  </template>
25
32
 
26
33
  <script lang="ts">
34
+ import Popover from '../../misc/Popover.vue';
35
+ import { tagOfMixins } from '../../mixins/tagOfMixins';
27
36
  import { defineComponent } from 'vue'
28
37
  export default defineComponent({
29
38
  name: 'TagList',
30
- components: {},
39
+ components: {
40
+ Popover
41
+ },
31
42
  props: {
32
43
  tagList: { default: () => [], type: Array as ()=>Array<string>},
33
44
  },
45
+ mixins:[tagOfMixins],
34
46
 
35
- methods: {},
47
+ methods: {
48
+ },
36
49
  })
37
50
  </script>
38
51
 
39
52
  <style lang="scss">
40
- .tagListElement {
41
- display: flex;
42
- margin: 0.4rem;
43
- padding: 0.8rem;
44
- border: 1px solid #999;
45
- cursor: pointer;
46
- }
47
- .tagListLink {
48
- font-weight: 700;
49
- font-size: 1.2rem;
50
- color: #666;
51
- &:hover {
52
- color: #666;
53
+ .tag-list-component{
54
+ .ouest-france-logo{
55
+ width: 20px;
56
+ height: 20px;
57
+ margin-right: 5px;
58
+ }
59
+ .tagListElement {
60
+ display: flex;
61
+ margin: 0.4rem;
62
+ padding: 0.2rem;
63
+ border: 1px solid #999;
64
+ border-radius: 0.5rem;
53
65
  }
54
66
  }
55
67
  </style>
@@ -23,7 +23,7 @@
23
23
 
24
24
  <script lang="ts">
25
25
  import { state } from '../../../store/paramStore';
26
- import profileApi from '@/api/profile';
26
+ import octopusApi from '@saooti/octopus-api';
27
27
  import Snackbar from '../../misc/Snackbar.vue';
28
28
  import QrcodeVue from 'qrcode.vue'
29
29
  import { defineComponent } from 'vue'
@@ -67,8 +67,7 @@ export default defineComponent({
67
67
  if(this.$store.state.organisation && this.$store.state.organisation.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
68
68
  data = this.$store.state.organisation.attributes;
69
69
  }else{
70
- data= await profileApi.fetchOrganisationAttibutes(
71
- this.$store.state,
70
+ data= await octopusApi.fetchOrganisationAttributes(
72
71
  state.generalParameters.organisationId ? state.generalParameters.organisationId : ""
73
72
  );
74
73
  }
@@ -106,7 +106,6 @@
106
106
 
107
107
  <script lang="ts">
108
108
  import { state } from '../../../store/paramStore';
109
- import profileApi from '@/api/profile';
110
109
  import octopusApi from '@saooti/octopus-api';
111
110
  import { Podcast } from '@/store/class/podcast';
112
111
  import { Emission } from '@/store/class/emission';
@@ -354,8 +353,7 @@ export default defineComponent({
354
353
  if(this.$store.state.organisation && this.$store.state.organisation.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
355
354
  data = this.$store.state.organisation.attributes;
356
355
  }else{
357
- data= await profileApi.fetchOrganisationAttibutes(
358
- this.$store.state,
356
+ data= await octopusApi.fetchOrganisationAttributes(
359
357
  state.generalParameters.organisationId ? state.generalParameters.organisationId : ""
360
358
  );
361
359
  }
@@ -229,7 +229,7 @@ export default defineComponent({
229
229
  }
230
230
  if ('PAUSED' === newValue) {
231
231
  audioPlayer.pause();
232
- } else {
232
+ }else if ('PLAYING' === newValue){
233
233
  audioPlayer.play();
234
234
  }
235
235
  }
@@ -97,8 +97,28 @@ export default defineComponent({
97
97
  return '';
98
98
  },
99
99
  },
100
+ created(){
101
+ window.addEventListener('keydown', this.addKeyboardControl);
102
+ },
103
+ beforeUnmount() {
104
+ window.removeEventListener('keydown', this.addKeyboardControl);
105
+ },
100
106
 
101
107
  methods: {
108
+ addKeyboardControl(event: KeyboardEvent): void{
109
+ if (' ' === event.key || 'Spacebar' === event.key) {
110
+ event.preventDefault();
111
+ this.switchPausePlay();
112
+ }else if ('ArrowRight' === event.key && event.ctrlKey) {
113
+ const audioPlayer: HTMLAudioElement|null = document.querySelector('#audio-player');
114
+ if(!audioPlayer){return;}
115
+ audioPlayer.currentTime += 15;
116
+ }else if ('ArrowLeft' === event.key && event.ctrlKey) {
117
+ const audioPlayer: HTMLAudioElement|null = document.querySelector('#audio-player');
118
+ if(!audioPlayer){return;}
119
+ audioPlayer.currentTime -=15;
120
+ }
121
+ },
102
122
  switchPausePlay(): void {
103
123
  const audioPlayer: HTMLAudioElement|null = document.querySelector('#audio-player');
104
124
  if(!audioPlayer){return;}
@@ -0,0 +1,19 @@
1
+ import {defineComponent } from 'vue';
2
+ export const tagOfMixins = defineComponent({
3
+ name: 'TagOfMixins',
4
+ methods:{
5
+ isOuestFranceTag(tag: string): boolean{
6
+ return "[of]"===tag.substring(0,4);
7
+ },
8
+ formateOfTag(tag: string): string{
9
+ if(!this.isOuestFranceTag(tag)){
10
+ return tag;
11
+ }
12
+ const lastSlash = tag.lastIndexOf('/');
13
+ if(-1!==lastSlash){
14
+ return tag.substring(lastSlash + 1, tag.length);
15
+ }
16
+ return tag.substring(4, tag.length);
17
+ },
18
+ }
19
+ });
@@ -185,7 +185,7 @@ export default defineComponent({
185
185
  async getParticipantDetails(): Promise<void> {
186
186
  this.loaded = false;
187
187
  try {
188
- const data = await octopusApi.fetchParticipant(this.participantId);
188
+ const data = await octopusApi.fetchParticipant(this.participantId ? this.participantId.toString(): "");
189
189
  this.participant = data;
190
190
  this.$emit('participantTitle', this.name);
191
191
  this.loaded = true;
@@ -142,7 +142,7 @@ export default defineComponent({
142
142
  methods: {
143
143
  async getPlaylistDetails(): Promise<void> {
144
144
  try {
145
- const data: Playlist = await octopusApi.fetchPlaylist(this.playlistId);
145
+ const data: Playlist = await octopusApi.fetchPlaylist(this.playlistId ? this.playlistId.toString(): "");
146
146
  this.playlist = data;
147
147
  this.$emit('playlistTitle', this.playlist.title);
148
148
  this.loaded = true;
@@ -325,7 +325,7 @@ export default defineComponent({
325
325
  },
326
326
  async getPodcastDetails(podcastId: number): Promise<void> {
327
327
  try {
328
- const data : Podcast = await octopusApi.fetchPodcast(podcastId);
328
+ const data : Podcast = await octopusApi.fetchPodcast(podcastId.toString());
329
329
  this.podcast = data;
330
330
  this.$emit('podcastTitle', this.podcast.title);
331
331
  if (
@@ -1,20 +1,23 @@
1
- import { Organisation } from "./organisation";
2
- import { Person } from "./person";
1
+ import { AdserverConfig } from './adserverConfig';
2
+ import { Organisation } from './organisation';
3
+ import { Person } from './person';
3
4
 
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
- }
20
-
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
+ }
@@ -29,4 +29,5 @@ export interface FetchParam{
29
29
  type?: string,
30
30
  listening?: string,
31
31
  top?: number,
32
+ homePageOrder?:boolean,
32
33
  }
@@ -1,12 +1,12 @@
1
- import { Organisation } from "./organisation";
1
+ import { Organisation } from './organisation';
2
2
 
3
- export interface Participant{
4
- imageUrl: string;
5
- description: string;
3
+ export interface Participant {
4
+ imageUrl?: string;
5
+ description?: string;
6
6
  firstName: string;
7
7
  lastName: string;
8
- orga: Organisation;
9
- participantId: number;
8
+ orga?: Organisation;
9
+ participantId: number | undefined;
10
10
  score?: number;
11
- uid: string;
12
- }
11
+ uid?: string;
12
+ }
@@ -1,13 +1,15 @@
1
- import { Organisation } from "./organisation";
1
+ import { Organisation } from './organisation';
2
2
 
3
- export interface Person{
4
- attributes?:{[key: string]:string|number|boolean|undefined}|undefined;
5
- email: string;
6
- emailVerified: boolean;
7
- enabled: true;
8
- first: string;
9
- last: string;
10
- notSeenOnKeycloak: number;
11
- userId: string;
12
- organisation?: Organisation;
3
+ export interface Person {
4
+ attributes?: {[key:string]: string|number|boolean|undefined|Array<string>};
5
+ email: string;
6
+ emailVerified: boolean;
7
+ enabled: true;
8
+ first: string;
9
+ last: string;
10
+ notSeenOnKeycloak: number;
11
+ userId: string;
12
+ organisation?: Organisation;
13
+ activeOrganisation?: Organisation;
14
+ organisations?: Array<Organisation>;
13
15
  }
@@ -1,15 +1,13 @@
1
- import { Organisation } from "./organisation";
2
- import { Person } from "./person";
3
- import { Podcast } from "./podcast";
1
+ import { Organisation } from './organisation';
2
+ import { Person } from './person';
4
3
 
5
-
6
- export interface Playlist{
4
+ export interface Playlist {
7
5
  imageUrl?: string;
8
6
  description: string;
9
7
  organisation: Organisation;
10
8
  playlistId: number;
11
- podcasts: Array<Podcast>;
9
+ podcasts: Array<number | undefined>;
12
10
  score: number;
13
11
  title: string;
14
12
  publisher?: Person;
15
- }
13
+ }
@@ -1,38 +1,42 @@
1
- import { Emission } from "./emission";
2
- import { Organisation } from "./organisation";
3
- import { Participant } from "./participant";
4
- import { Person } from "./person";
5
- export interface Podcast{
6
- imageUrl: string;
7
- animators?: Array<Participant>;
8
- annotations?: {[key: string]:string|number|boolean|undefined}|undefined;
9
- audioStorageUrl: string;
10
- audioUrl: string;
11
- availability: {
12
- date?: string;
13
- visibility?: boolean;
14
- };
15
- article?: string;
16
- comments?: string;
17
- conferenceId?: number;
18
- createdAt?: string;
19
- valid?: boolean;
20
- description?: string;
21
- downloadCount?: number;
22
- duration: number;
23
- emission: Emission;
24
- guests?: Array<Participant>;
25
- monetisable?: string;
26
- organisation: Organisation;
27
- podcastId: number;
28
- processingStatus?: string;
29
- pubDate?: string;
30
- publisher?: Person;
31
- rubriqueIds?: Array<number>;
32
- score?: number;
33
- size?: number;
34
- tags?: Array<string>;
35
- title: string;
36
- weekDownloadCount?: number;
37
- livePodcastId?:number;
38
- }
1
+ import { Emission } from './emission';
2
+ import { Organisation } from './organisation';
3
+ import { Participant } from './participant';
4
+ import { Person } from './person';
5
+ export interface Podcast {
6
+ imageUrl?: string;
7
+ animators?: Array<Participant>;
8
+ annotations?:{[key: string]:string|number|boolean|undefined}|undefined;
9
+ audioStorageUrl: string;
10
+ audioUrl: string;
11
+ article?: string;
12
+ availability: {
13
+ date?: number|null;
14
+ visibility?: boolean;
15
+ immediate?: boolean;
16
+ };
17
+ comments?: string;
18
+ conferenceId?: number;
19
+ createdAt?: string;
20
+ valid?: boolean;
21
+ description?: string;
22
+ downloadCount?: number;
23
+ duration: number;
24
+ email?: string;
25
+ emission: Emission;
26
+ guests?: Array<Participant>;
27
+ monetisable?: string;
28
+ organisation: Organisation;
29
+ podcastId: number;
30
+ processingStatus?: string;
31
+ processorId?: string;
32
+ pubDate?: string;
33
+ publisher?: Person;
34
+ rubriqueIds?: Array<number>;
35
+ score?: number;
36
+ size?: number;
37
+ tags?: Array<string>;
38
+ title: string;
39
+ weekDownloadCount?: number;
40
+ order?: number;
41
+ livePodcastId?: number
42
+ }
@@ -1,9 +1,9 @@
1
- import { Rubrique } from "./rubrique";
1
+ import { Rubrique } from './rubrique';
2
2
 
3
- export interface Rubriquage{
4
- organisationId?: string;
5
- rubriquageId?: number;
6
- rubriques: Array<Rubrique>;
7
- title: string;
8
- homePageOrder?: number;
9
- }
3
+ export interface Rubriquage {
4
+ organisationId?: string;
5
+ rubriquageId?: number;
6
+ rubriques: Array<Rubrique>;
7
+ title: string;
8
+ homePageOrder?: number | null;
9
+ }
@@ -1,8 +1,9 @@
1
- export interface Rubrique{
1
+ export interface Rubrique {
2
2
  emissionCount?: number;
3
3
  name: string;
4
4
  podcastCount?: number;
5
5
  rubriquageId?: number;
6
6
  rubriqueId?: number;
7
7
  score?: number;
8
- }
8
+ }
9
+
@@ -12,7 +12,7 @@ const state:paramStore = {
12
12
  isPlaylist: false,
13
13
  isProduction: true,
14
14
  isContribution: true,
15
- ApiUri: 'https://api.staging.saooti.org/',
15
+ ApiUri: 'https://api.dev2.saooti.org/',
16
16
  podcastmaker: false,
17
17
  buttonPlus: true,
18
18
  allCategories: [],
@@ -24,12 +24,11 @@ const state:paramStore = {
24
24
  SharePlayer: true,
25
25
  ShareButtons: true,
26
26
  ShareDistribution: true,
27
- MiniplayerUri: 'https://player.staging.saooti.org/',
28
- MiniplayerBetaUri: 'https://playerbeta.staging.saooti.org/',
27
+ MiniplayerUri: 'https://player.dev2.saooti.org/',
28
+ MiniplayerBetaUri: 'https://playerbeta.dev2.saooti.org/',
29
29
  ouestFranceStyle: false,
30
- tagList: false,
31
30
  downloadButton: false,
32
- hlsUri: 'https://hls.staging.saooti.org/',
31
+ hlsUri: 'https://hls.dev2.saooti.org/',
33
32
  mainRubrique: 0,
34
33
  resourceUrl: undefined
35
34
  },
@@ -82,10 +81,10 @@ const state:paramStore = {
82
81
  userName: '',
83
82
  },
84
83
  octopusApi: {
85
- url: 'http://api.staging.saooti.org/',
86
- commentsUrl: 'http://comments.staging.saooti.org/',
87
- studioUrl: 'http://studio.staging.saooti.org/',
88
- playerUrl: 'https://playerbeta.staging.saooti.org/',
84
+ url: 'http://api.dev2.saooti.org/',
85
+ commentsUrl: 'http://comments.dev2.saooti.org/',
86
+ studioUrl: 'http://studio.dev2.saooti.org/',
87
+ playerUrl: 'https://playerbeta.dev2.saooti.org/',
89
88
  organisationId: undefined,
90
89
  },
91
90
  };
@@ -114,7 +113,6 @@ export interface PodcastPage{
114
113
  MiniplayerUri?: string,
115
114
  MiniplayerBetaUri?: string,
116
115
  ouestFranceStyle?: boolean,
117
- tagList?: boolean,
118
116
  downloadButton?: boolean,
119
117
  hlsUri?: string,
120
118
  mainRubrique?: number,
@@ -174,6 +172,13 @@ export interface OctopusApi{
174
172
  studioUrl?: string,
175
173
  playerUrl?: string,
176
174
  organisationId?: string | undefined,
175
+ oAuthParam?: {
176
+ accessToken: string,
177
+ refreshToken: string,
178
+ accessTokenUri: string,
179
+ expiration: string,
180
+ clientId: string,
181
+ }
177
182
  }
178
183
  export interface paramStore{
179
184
  generalParameters:GeneralParameters,
@@ -1,13 +0,0 @@
1
- import { Emission } from "@/store/class/emission";
2
- import { FetchParam } from "@/store/class/fetchParam";
3
- import { StoreState } from "@/store/typeAppStore";
4
-
5
- import octopusApi from '@saooti/octopus-api';
6
- /* eslint-disable */
7
- export default{
8
- async fetchEmissionsAdmin(store: StoreState, parameters: FetchParam): Promise<{ count: number; result: Array<Emission>; sort: string; }> {
9
- console.log(store);
10
- return await octopusApi.fetchEmissions(parameters);
11
- },
12
- };
13
- /* eslint-enable */
@@ -1,12 +0,0 @@
1
- import { FetchParam } from "@/store/class/fetchParam";
2
- import { StoreState } from "@/store/typeAppStore";
3
-
4
- import octopusApi from '@saooti/octopus-api';
5
- /* eslint-disable */
6
- export default {
7
- async fetchPodcastsAdmin(store: StoreState, parameters: FetchParam): Promise<any> {
8
- console.log(store);
9
- return await octopusApi.fetchPodcasts(parameters);
10
- },
11
- };
12
- /* eslint-enable */
@@ -1,11 +0,0 @@
1
- import { StoreState } from "@/store/typeAppStore";
2
- /* eslint-disable */
3
- export default{
4
- fetchOrganisationAttibutes(store: StoreState, organisationId: string): Promise<any> {
5
- return new Promise(resolve => {
6
- console.log(store, organisationId);
7
- resolve({});
8
- });
9
- },
10
- };
11
- /* eslint-enable */