@mtgame/core 0.2.26 → 2.0.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.
- package/api/basketball-game-api.d.ts +3 -0
- package/api/feedback-api.d.ts +5 -2
- package/api/file-api.d.ts +3 -0
- package/api/football-game-api.d.ts +3 -0
- package/api/game-base-api.d.ts +3 -0
- package/api/handball-game-api.d.ts +3 -0
- package/api/hockey-game-api.d.ts +3 -0
- package/api/league-api.d.ts +3 -0
- package/api/league-news-api.d.ts +3 -0
- package/api/league-player-api.d.ts +3 -0
- package/api/media-api.d.ts +5 -2
- package/api/notification-api.d.ts +3 -0
- package/api/notification-base-api.d.ts +3 -0
- package/api/org-notification-api.d.ts +3 -0
- package/api/public-team-api.d.ts +3 -2
- package/api/public-user-api.d.ts +3 -0
- package/api/reference-api.d.ts +3 -0
- package/api/rugby-game-api.d.ts +3 -0
- package/api/team-api.d.ts +4 -1
- package/api/team-event-api.d.ts +3 -0
- package/api/tournament-api.d.ts +3 -2
- package/api/tournament-join-api.d.ts +3 -0
- package/api/tournament-round-api.d.ts +3 -0
- package/api/tournament-season-api.d.ts +3 -0
- package/api/tournament-stage-api.d.ts +3 -0
- package/api/user-api.d.ts +5 -2
- package/api/volleyball-game-api.d.ts +3 -1
- package/api/waterpolo-game-api.d.ts +3 -0
- package/esm2020/api/basketball-game-api.mjs +44 -0
- package/esm2020/api/feedback-api.mjs +29 -0
- package/esm2020/api/file-api.mjs +41 -0
- package/esm2020/api/football-game-api.mjs +49 -0
- package/esm2020/api/game-base-api.mjs +40 -0
- package/esm2020/api/handball-game-api.mjs +49 -0
- package/esm2020/api/hockey-game-api.mjs +49 -0
- package/esm2020/api/league-api.mjs +119 -0
- package/esm2020/api/league-news-api.mjs +57 -0
- package/esm2020/api/league-player-api.mjs +31 -0
- package/esm2020/api/media-api.mjs +124 -0
- package/esm2020/api/notification-api.mjs +16 -0
- package/esm2020/api/notification-base-api.mjs +62 -0
- package/esm2020/api/org-notification-api.mjs +16 -0
- package/{esm2015/api/paginated-response.interface.js → esm2020/api/paginated-response.interface.mjs} +0 -0
- package/{esm2015/api/public-api.js → esm2020/api/public-api.mjs} +0 -0
- package/esm2020/api/public-team-api.mjs +28 -0
- package/esm2020/api/public-user-api.mjs +38 -0
- package/esm2020/api/reference-api.mjs +30 -0
- package/esm2020/api/rugby-game-api.mjs +47 -0
- package/esm2020/api/team-api.mjs +302 -0
- package/esm2020/api/team-event-api.mjs +61 -0
- package/esm2020/api/tournament-api.mjs +391 -0
- package/esm2020/api/tournament-join-api.mjs +55 -0
- package/esm2020/api/tournament-round-api.mjs +57 -0
- package/esm2020/api/tournament-season-api.mjs +92 -0
- package/esm2020/api/tournament-stage-api.mjs +48 -0
- package/esm2020/api/user-api.mjs +219 -0
- package/esm2020/api/volleyball-game-api.mjs +49 -0
- package/esm2020/api/waterpolo-game-api.mjs +49 -0
- package/esm2020/http-cookie.interceptor.mjs +38 -0
- package/{esm2015/localization/basketball-game-log-types.js → esm2020/localization/basketball-game-log-types.mjs} +0 -0
- package/{esm2015/localization/basketball-game-sub-log-types.js → esm2020/localization/basketball-game-sub-log-types.mjs} +2 -5
- package/{esm2015/localization/football-game-log-types.js → esm2020/localization/football-game-log-types.mjs} +0 -0
- package/{esm2015/localization/handball-game-log-types.js → esm2020/localization/handball-game-log-types.mjs} +0 -0
- package/{esm2015/localization/hockey-game-log-types.js → esm2020/localization/hockey-game-log-types.mjs} +2 -5
- package/esm2020/localization/hockey-penalty-types.mjs +50 -0
- package/{esm2015/localization/organization-statuses.js → esm2020/localization/organization-statuses.mjs} +0 -0
- package/{esm2015/localization/overtime-types.js → esm2020/localization/overtime-types.mjs} +0 -0
- package/{esm2015/localization/public-api.js → esm2020/localization/public-api.mjs} +0 -0
- package/{esm2015/localization/rugby-foul-game-stage.js → esm2020/localization/rugby-foul-game-stage.mjs} +0 -0
- package/{esm2015/localization/rugby-foul-sanction.js → esm2020/localization/rugby-foul-sanction.mjs} +0 -0
- package/{esm2015/localization/rugby-game-log-types.js → esm2020/localization/rugby-game-log-types.mjs} +0 -0
- package/{esm2015/localization/team-event-type.js → esm2020/localization/team-event-type.mjs} +0 -0
- package/{esm2015/localization/team-user-role.js → esm2020/localization/team-user-role.mjs} +0 -0
- package/{esm2015/localization/user-profile.js → esm2020/localization/user-profile.mjs} +0 -0
- package/{esm2015/localization/volleyball-game-log-types.js → esm2020/localization/volleyball-game-log-types.mjs} +0 -0
- package/{esm2015/localization/waterpolo-game-log-types.js → esm2020/localization/waterpolo-game-log-types.mjs} +3 -3
- package/esm2020/models/achievement.mjs +18 -0
- package/esm2020/models/base-statistic.mjs +4 -0
- package/esm2020/models/basketball-game-config.mjs +18 -0
- package/esm2020/models/basketball-game-log.mjs +158 -0
- package/esm2020/models/basketball-game-statistic.mjs +47 -0
- package/esm2020/models/basketball-game-team-statistic.mjs +15 -0
- package/esm2020/models/basketball-profile.mjs +27 -0
- package/esm2020/models/basketball-statistic.mjs +62 -0
- package/esm2020/models/city.mjs +9 -0
- package/esm2020/models/feedback.mjs +14 -0
- package/esm2020/models/file.mjs +31 -0
- package/esm2020/models/football-game-config.mjs +22 -0
- package/esm2020/models/football-game-log.mjs +83 -0
- package/esm2020/models/football-game-statistic.mjs +93 -0
- package/esm2020/models/football-game-team-statistic.mjs +15 -0
- package/esm2020/models/football-profile.mjs +27 -0
- package/esm2020/models/football-statistic.mjs +76 -0
- package/esm2020/models/game-bill.mjs +30 -0
- package/esm2020/models/game-config-base.mjs +4 -0
- package/esm2020/models/game-invite.mjs +22 -0
- package/esm2020/models/game-log-base.mjs +4 -0
- package/esm2020/models/game-statistic-base.mjs +7 -0
- package/{esm2015/models/game-team-statistic-base.js → esm2020/models/game-team-statistic-base.mjs} +0 -0
- package/esm2020/models/game-timeline-stages.mjs +19 -0
- package/esm2020/models/game-user-disqualification.mjs +14 -0
- package/esm2020/models/game-user-limitation.mjs +19 -0
- package/esm2020/models/game-user.mjs +20 -0
- package/esm2020/models/game.mjs +188 -0
- package/esm2020/models/handball-game-config.mjs +16 -0
- package/esm2020/models/handball-game-log.mjs +71 -0
- package/esm2020/models/handball-game-statistic.mjs +67 -0
- package/esm2020/models/handball-game-team-statistic.mjs +15 -0
- package/esm2020/models/handball-profile.mjs +23 -0
- package/esm2020/models/handball-statistic.mjs +37 -0
- package/esm2020/models/hockey-game-config.mjs +25 -0
- package/esm2020/models/hockey-game-log.mjs +102 -0
- package/esm2020/models/hockey-game-statistic.mjs +101 -0
- package/esm2020/models/hockey-game-team-statistic.mjs +15 -0
- package/esm2020/models/hockey-penalty-types.mjs +6 -0
- package/esm2020/models/hockey-profile.mjs +25 -0
- package/esm2020/models/hockey-statistic.mjs +49 -0
- package/esm2020/models/league-banner.mjs +21 -0
- package/esm2020/models/league-court.mjs +9 -0
- package/esm2020/models/league-document.mjs +14 -0
- package/esm2020/models/league-news.mjs +25 -0
- package/esm2020/models/league-partner.mjs +14 -0
- package/esm2020/models/league-player.mjs +81 -0
- package/esm2020/models/league-playlist.mjs +14 -0
- package/esm2020/models/league-user.mjs +38 -0
- package/esm2020/models/league.mjs +38 -0
- package/esm2020/models/media-item.mjs +20 -0
- package/esm2020/models/notification-settings.mjs +20 -0
- package/esm2020/models/notification.mjs +105 -0
- package/esm2020/models/organization-bill.mjs +31 -0
- package/esm2020/models/organization-statistic.mjs +9 -0
- package/esm2020/models/organization-tariff.mjs +16 -0
- package/esm2020/models/organization.mjs +21 -0
- package/esm2020/models/playoff.mjs +56 -0
- package/esm2020/models/poll.mjs +83 -0
- package/esm2020/models/public-api.mjs +110 -0
- package/esm2020/models/rugby-foul-type.mjs +39 -0
- package/esm2020/models/rugby-game-config.mjs +23 -0
- package/esm2020/models/rugby-game-log.mjs +120 -0
- package/esm2020/models/rugby-game-statistic.mjs +29 -0
- package/esm2020/models/rugby-game-team-statistic.mjs +15 -0
- package/esm2020/models/rugby-profile.mjs +22 -0
- package/esm2020/models/rugby-statistic.mjs +37 -0
- package/esm2020/models/season-tournament.mjs +9 -0
- package/esm2020/models/sport.mjs +96 -0
- package/esm2020/models/team-access.mjs +14 -0
- package/esm2020/models/team-achievement.mjs +18 -0
- package/esm2020/models/team-event-invite.mjs +18 -0
- package/{esm2015/models/team-event-type.js → esm2020/models/team-event-type.mjs} +0 -0
- package/esm2020/models/team-event.mjs +27 -0
- package/esm2020/models/team-invite-external.mjs +9 -0
- package/esm2020/models/team-invite.mjs +18 -0
- package/esm2020/models/team-permission.mjs +23 -0
- package/esm2020/models/team-user.mjs +30 -0
- package/esm2020/models/team.mjs +46 -0
- package/esm2020/models/teams-and-users.mjs +20 -0
- package/esm2020/models/tournament-disqualification.mjs +14 -0
- package/esm2020/models/tournament-division.mjs +14 -0
- package/esm2020/models/tournament-event.mjs +28 -0
- package/esm2020/models/tournament-group.mjs +9 -0
- package/esm2020/models/tournament-invite.mjs +21 -0
- package/esm2020/models/tournament-join-team.mjs +27 -0
- package/esm2020/models/tournament-join1x1-data.mjs +15 -0
- package/esm2020/models/tournament-news.mjs +17 -0
- package/esm2020/models/tournament-round-team.mjs +40 -0
- package/esm2020/models/tournament-round.mjs +22 -0
- package/esm2020/models/tournament-season.mjs +25 -0
- package/esm2020/models/tournament-stage-team.mjs +22 -0
- package/esm2020/models/tournament-stage.mjs +20 -0
- package/esm2020/models/tournament-team-user-invite.mjs +14 -0
- package/esm2020/models/tournament-team-user.mjs +20 -0
- package/esm2020/models/tournament-team.mjs +35 -0
- package/esm2020/models/tournament.mjs +153 -0
- package/esm2020/models/user-access.mjs +9 -0
- package/esm2020/models/user-permission.mjs +23 -0
- package/esm2020/models/user-profile.mjs +9 -0
- package/esm2020/models/user.mjs +55 -0
- package/esm2020/models/util.mjs +143 -0
- package/esm2020/models/volleyball-game-config.mjs +27 -0
- package/esm2020/models/volleyball-game-log.mjs +124 -0
- package/esm2020/models/volleyball-game-statistic.mjs +34 -0
- package/esm2020/models/volleyball-game-team-statistic.mjs +15 -0
- package/esm2020/models/volleyball-profile.mjs +27 -0
- package/esm2020/models/volleyball-statistic.mjs +44 -0
- package/esm2020/models/waterpolo-game-config.mjs +25 -0
- package/esm2020/models/waterpolo-game-log.mjs +142 -0
- package/esm2020/models/waterpolo-game-statistic.mjs +472 -0
- package/esm2020/models/waterpolo-game-team-statistic.mjs +15 -0
- package/esm2020/models/waterpolo-profile.mjs +26 -0
- package/esm2020/models/waterpolo-statistic.mjs +57 -0
- package/{esm2015/mtgame-core.js → esm2020/mtgame-core.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +2 -1
- package/esm2020/services/base.controller.mjs +19 -0
- package/esm2020/services/base.service.mjs +18 -0
- package/esm2020/services/centrifugo.service.mjs +105 -0
- package/esm2020/services/config.service.mjs +44 -0
- package/{esm2015/services/public-api.js → esm2020/services/public-api.mjs} +2 -1
- package/esm2020/storage/local-storage-engine.mjs +18 -0
- package/esm2020/storage/new.mjs +46 -0
- package/esm2020/storage/old-local-storage-engine.mjs +18 -0
- package/esm2020/storage/old-storage-engine.mjs +49 -0
- package/esm2020/storage/public-api.mjs +7 -0
- package/esm2020/storage/storage-engine.mjs +47 -0
- package/{esm2015/storage/store.js → esm2020/storage/store.mjs} +1 -1
- package/{esm2015/utils/array.js → esm2020/utils/array.mjs} +0 -0
- package/esm2020/utils/component-destroyed.mjs +27 -0
- package/{esm2015/utils/cookie.js → esm2020/utils/cookie.mjs} +0 -0
- package/esm2020/utils/data.mjs +164 -0
- package/{esm2015/utils/date.js → esm2020/utils/date.mjs} +0 -0
- package/{esm2015/utils/device.js → esm2020/utils/device.mjs} +0 -0
- package/{esm2015/utils/enum.js → esm2020/utils/enum.mjs} +0 -0
- package/{esm2015/utils/errors.js → esm2020/utils/errors.mjs} +2 -4
- package/{esm2015/utils/favicon.js → esm2020/utils/favicon.mjs} +0 -0
- package/{esm2015/utils/form.js → esm2020/utils/form.mjs} +0 -0
- package/{esm2015/utils/public-api.js → esm2020/utils/public-api.mjs} +0 -0
- package/{esm2015/utils/validators.js → esm2020/utils/validators.mjs} +0 -0
- package/esm2020/websocket/game.websocket.mjs +61 -0
- package/esm2020/websocket/public-api.mjs +2 -0
- package/fesm2015/{mtgame-core.js → mtgame-core.mjs} +1667 -4844
- package/fesm2015/mtgame-core.mjs.map +1 -0
- package/fesm2020/mtgame-core.mjs +7276 -0
- package/fesm2020/mtgame-core.mjs.map +1 -0
- package/http-cookie.interceptor.d.ts +3 -0
- package/localization/basketball-game-sub-log-types.d.ts +0 -3
- package/localization/football-game-log-types.d.ts +29 -29
- package/localization/hockey-game-log-types.d.ts +0 -3
- package/localization/hockey-penalty-types.d.ts +2 -5
- package/models/achievement.d.ts +0 -2
- package/models/base-statistic.d.ts +2 -1
- package/models/basketball-game-config.d.ts +2 -4
- package/models/basketball-game-log.d.ts +2 -9
- package/models/basketball-game-statistic.d.ts +1 -4
- package/models/basketball-game-team-statistic.d.ts +0 -2
- package/models/basketball-profile.d.ts +0 -2
- package/models/basketball-statistic.d.ts +1 -4
- package/models/city.d.ts +0 -2
- package/models/feedback.d.ts +2 -3
- package/models/file.d.ts +2 -3
- package/models/football-game-config.d.ts +2 -4
- package/models/football-game-log.d.ts +30 -33
- package/models/football-game-statistic.d.ts +1 -4
- package/models/football-game-team-statistic.d.ts +0 -2
- package/models/football-profile.d.ts +0 -2
- package/models/football-statistic.d.ts +1 -4
- package/models/game-bill.d.ts +0 -2
- package/models/game-config-base.d.ts +3 -0
- package/models/game-invite.d.ts +0 -2
- package/models/game-log-base.d.ts +3 -2
- package/models/game-statistic-base.d.ts +3 -1
- package/models/game-timeline-stages.d.ts +1 -5
- package/models/game-user-disqualification.d.ts +0 -2
- package/models/game-user-limitation.d.ts +0 -4
- package/models/game-user.d.ts +0 -2
- package/models/game.d.ts +10 -21
- package/models/handball-game-config.d.ts +2 -4
- package/models/handball-game-log.d.ts +1 -4
- package/models/handball-game-statistic.d.ts +1 -4
- package/models/handball-game-team-statistic.d.ts +0 -2
- package/models/handball-profile.d.ts +0 -2
- package/models/handball-statistic.d.ts +1 -4
- package/models/hockey-game-config.d.ts +2 -4
- package/models/hockey-game-log.d.ts +4 -15
- package/models/hockey-game-statistic.d.ts +1 -18
- package/models/hockey-game-team-statistic.d.ts +0 -2
- package/models/hockey-penalty-types.d.ts +7 -0
- package/models/hockey-profile.d.ts +0 -2
- package/models/hockey-statistic.d.ts +1 -18
- package/models/league-banner.d.ts +0 -2
- package/models/league-court.d.ts +0 -2
- package/models/league-document.d.ts +0 -2
- package/models/league-news.d.ts +0 -2
- package/models/league-partner.d.ts +0 -2
- package/models/league-player.d.ts +2 -13
- package/models/league-playlist.d.ts +0 -2
- package/models/league-user.d.ts +0 -2
- package/models/league.d.ts +1 -6
- package/models/media-item.d.ts +0 -2
- package/models/notification-settings.d.ts +0 -2
- package/models/notification.d.ts +0 -2
- package/models/organization-bill.d.ts +0 -2
- package/models/organization-statistic.d.ts +0 -2
- package/models/organization-tariff.d.ts +0 -2
- package/models/organization.d.ts +0 -2
- package/models/playoff.d.ts +0 -4
- package/models/poll.d.ts +0 -6
- package/models/public-api.d.ts +0 -6
- package/models/rugby-foul-type.d.ts +0 -2
- package/models/rugby-game-config.d.ts +2 -4
- package/models/rugby-game-log.d.ts +1 -4
- package/models/rugby-game-statistic.d.ts +7 -10
- package/models/rugby-game-team-statistic.d.ts +0 -2
- package/models/rugby-profile.d.ts +0 -2
- package/models/rugby-statistic.d.ts +1 -4
- package/models/season-tournament.d.ts +0 -2
- package/models/sport.d.ts +0 -2
- package/models/team-access.d.ts +0 -2
- package/models/team-achievement.d.ts +0 -2
- package/models/team-event-invite.d.ts +2 -3
- package/models/team-event.d.ts +0 -2
- package/models/team-invite-external.d.ts +0 -2
- package/models/team-invite.d.ts +0 -2
- package/models/team-permission.d.ts +0 -2
- package/models/team-user.d.ts +0 -2
- package/models/team.d.ts +0 -2
- package/models/teams-and-users.d.ts +0 -2
- package/models/tournament-disqualification.d.ts +0 -2
- package/models/tournament-division.d.ts +0 -2
- package/models/tournament-event.d.ts +0 -2
- package/models/tournament-group.d.ts +0 -2
- package/models/tournament-invite.d.ts +0 -2
- package/models/tournament-join-team.d.ts +0 -4
- package/models/tournament-join1x1-data.d.ts +0 -2
- package/models/tournament-news.d.ts +0 -2
- package/models/tournament-round-team.d.ts +4 -14
- package/models/tournament-round.d.ts +0 -2
- package/models/tournament-season.d.ts +0 -2
- package/models/tournament-stage-team.d.ts +0 -2
- package/models/tournament-stage.d.ts +0 -2
- package/models/tournament-team-user-invite.d.ts +0 -2
- package/models/tournament-team-user.d.ts +0 -5
- package/models/tournament-team.d.ts +2 -13
- package/models/tournament.d.ts +5 -21
- package/models/user-access.d.ts +0 -2
- package/models/user-permission.d.ts +0 -2
- package/models/user-profile.d.ts +2 -3
- package/models/user.d.ts +2 -6
- package/models/util.d.ts +22 -46
- package/models/volleyball-game-config.d.ts +2 -4
- package/models/volleyball-game-log.d.ts +1 -4
- package/models/volleyball-game-statistic.d.ts +1 -4
- package/models/volleyball-game-team-statistic.d.ts +0 -2
- package/models/volleyball-profile.d.ts +0 -2
- package/models/volleyball-statistic.d.ts +1 -4
- package/models/waterpolo-game-config.d.ts +2 -4
- package/models/waterpolo-game-log.d.ts +1 -4
- package/models/waterpolo-game-statistic.d.ts +1 -4
- package/models/waterpolo-game-team-statistic.d.ts +0 -2
- package/models/waterpolo-profile.d.ts +0 -2
- package/models/waterpolo-statistic.d.ts +1 -4
- package/mtgame-core.d.ts +1 -0
- package/package.json +23 -10
- package/public-api.d.ts +1 -0
- package/services/base.controller.d.ts +12 -0
- package/services/base.service.d.ts +3 -0
- package/services/centrifugo.service.d.ts +6 -4
- package/services/config.service.d.ts +3 -0
- package/services/public-api.d.ts +1 -0
- package/storage/local-storage-engine.d.ts +2 -2
- package/storage/new.d.ts +17 -0
- package/storage/old-local-storage-engine.d.ts +6 -0
- package/storage/old-storage-engine.d.ts +24 -0
- package/storage/public-api.d.ts +5 -2
- package/storage/storage-engine.d.ts +25 -18
- package/storage/store.d.ts +3 -3
- package/utils/component-destroyed.d.ts +1 -1
- package/utils/data.d.ts +36 -6
- package/websocket/game.websocket.d.ts +24 -0
- package/websocket/public-api.d.ts +1 -0
- package/bundles/mtgame-core.umd.js +0 -14010
- package/bundles/mtgame-core.umd.js.map +0 -1
- package/esm2015/api/basketball-game-api.js +0 -61
- package/esm2015/api/feedback-api.js +0 -38
- package/esm2015/api/file-api.js +0 -49
- package/esm2015/api/football-game-api.js +0 -65
- package/esm2015/api/game-base-api.js +0 -54
- package/esm2015/api/handball-game-api.js +0 -65
- package/esm2015/api/hockey-game-api.js +0 -65
- package/esm2015/api/league-api.js +0 -151
- package/esm2015/api/league-news-api.js +0 -71
- package/esm2015/api/league-player-api.js +0 -34
- package/esm2015/api/media-api.js +0 -131
- package/esm2015/api/notification-api.js +0 -16
- package/esm2015/api/notification-base-api.js +0 -82
- package/esm2015/api/org-notification-api.js +0 -16
- package/esm2015/api/public-team-api.js +0 -41
- package/esm2015/api/public-user-api.js +0 -41
- package/esm2015/api/reference-api.js +0 -39
- package/esm2015/api/rugby-game-api.js +0 -63
- package/esm2015/api/team-api.js +0 -393
- package/esm2015/api/team-event-api.js +0 -80
- package/esm2015/api/tournament-api.js +0 -471
- package/esm2015/api/tournament-join-api.js +0 -72
- package/esm2015/api/tournament-round-api.js +0 -71
- package/esm2015/api/tournament-season-api.js +0 -112
- package/esm2015/api/tournament-stage-api.js +0 -63
- package/esm2015/api/user-api.js +0 -283
- package/esm2015/api/volleyball-game-api.js +0 -73
- package/esm2015/api/waterpolo-game-api.js +0 -65
- package/esm2015/http-cookie.interceptor.js +0 -37
- package/esm2015/localization/hockey-penalty-types.js +0 -50
- package/esm2015/models/achievement.js +0 -33
- package/esm2015/models/base-statistic.js +0 -2
- package/esm2015/models/basketball-game-config.js +0 -41
- package/esm2015/models/basketball-game-log.js +0 -192
- package/esm2015/models/basketball-game-statistic.js +0 -81
- package/esm2015/models/basketball-game-team-statistic.js +0 -27
- package/esm2015/models/basketball-profile.js +0 -43
- package/esm2015/models/basketball-statistic.js +0 -114
- package/esm2015/models/city.js +0 -22
- package/esm2015/models/feedback.js +0 -34
- package/esm2015/models/file.js +0 -54
- package/esm2015/models/football-game-config.js +0 -44
- package/esm2015/models/football-game-log.js +0 -104
- package/esm2015/models/football-game-statistic.js +0 -137
- package/esm2015/models/football-game-team-statistic.js +0 -27
- package/esm2015/models/football-profile.js +0 -43
- package/esm2015/models/football-statistic.js +0 -150
- package/esm2015/models/game-bill.js +0 -47
- package/esm2015/models/game-invite.js +0 -37
- package/esm2015/models/game-log-base.js +0 -2
- package/esm2015/models/game-statistic-base.js +0 -2
- package/esm2015/models/game-timeline-stages.js +0 -53
- package/esm2015/models/game-user-disqualification.js +0 -28
- package/esm2015/models/game-user-limitation.js +0 -51
- package/esm2015/models/game-user.js +0 -37
- package/esm2015/models/game.js +0 -281
- package/esm2015/models/handball-game-config.js +0 -34
- package/esm2015/models/handball-game-log.js +0 -92
- package/esm2015/models/handball-game-statistic.js +0 -101
- package/esm2015/models/handball-game-team-statistic.js +0 -27
- package/esm2015/models/handball-profile.js +0 -39
- package/esm2015/models/handball-statistic.js +0 -95
- package/esm2015/models/hockey-game-config.js +0 -48
- package/esm2015/models/hockey-game-log.js +0 -128
- package/esm2015/models/hockey-game-statistic.js +0 -159
- package/esm2015/models/hockey-game-team-statistic.js +0 -27
- package/esm2015/models/hockey-profile.js +0 -41
- package/esm2015/models/hockey-statistic.js +0 -143
- package/esm2015/models/league-banner.js +0 -39
- package/esm2015/models/league-court.js +0 -25
- package/esm2015/models/league-document.js +0 -26
- package/esm2015/models/league-field-base-value.js +0 -4
- package/esm2015/models/league-field-base.js +0 -25
- package/esm2015/models/league-news.js +0 -50
- package/esm2015/models/league-partner.js +0 -29
- package/esm2015/models/league-player-field-value.js +0 -32
- package/esm2015/models/league-player-field.js +0 -30
- package/esm2015/models/league-player.js +0 -116
- package/esm2015/models/league-playlist.js +0 -28
- package/esm2015/models/league-team-field.js +0 -30
- package/esm2015/models/league-user.js +0 -52
- package/esm2015/models/league.js +0 -71
- package/esm2015/models/media-item.js +0 -41
- package/esm2015/models/notification-settings.js +0 -35
- package/esm2015/models/notification.js +0 -134
- package/esm2015/models/organization-bill.js +0 -50
- package/esm2015/models/organization-statistic.js +0 -26
- package/esm2015/models/organization-tariff.js +0 -30
- package/esm2015/models/organization.js +0 -40
- package/esm2015/models/playoff.js +0 -91
- package/esm2015/models/poll.js +0 -132
- package/esm2015/models/public-api.js +0 -116
- package/esm2015/models/rugby-foul-type.js +0 -53
- package/esm2015/models/rugby-game-config.js +0 -42
- package/esm2015/models/rugby-game-log.js +0 -144
- package/esm2015/models/rugby-game-statistic.js +0 -89
- package/esm2015/models/rugby-game-team-statistic.js +0 -27
- package/esm2015/models/rugby-profile.js +0 -37
- package/esm2015/models/rugby-statistic.js +0 -123
- package/esm2015/models/season-tournament.js +0 -22
- package/esm2015/models/sport.js +0 -115
- package/esm2015/models/team-access.js +0 -45
- package/esm2015/models/team-achievement.js +0 -34
- package/esm2015/models/team-event-invite.js +0 -32
- package/esm2015/models/team-event.js +0 -45
- package/esm2015/models/team-invite-external.js +0 -25
- package/esm2015/models/team-invite.js +0 -41
- package/esm2015/models/team-permission.js +0 -38
- package/esm2015/models/team-user.js +0 -48
- package/esm2015/models/team.js +0 -71
- package/esm2015/models/teams-and-users.js +0 -32
- package/esm2015/models/tournament-disqualification.js +0 -30
- package/esm2015/models/tournament-division.js +0 -27
- package/esm2015/models/tournament-event.js +0 -45
- package/esm2015/models/tournament-group.js +0 -26
- package/esm2015/models/tournament-invite.js +0 -39
- package/esm2015/models/tournament-join-team.js +0 -55
- package/esm2015/models/tournament-join1x1-data.js +0 -32
- package/esm2015/models/tournament-news.js +0 -33
- package/esm2015/models/tournament-round-team.js +0 -95
- package/esm2015/models/tournament-round.js +0 -36
- package/esm2015/models/tournament-season.js +0 -45
- package/esm2015/models/tournament-stage-team.js +0 -47
- package/esm2015/models/tournament-stage.js +0 -35
- package/esm2015/models/tournament-team-field-value.js +0 -32
- package/esm2015/models/tournament-team-user-invite.js +0 -29
- package/esm2015/models/tournament-team-user.js +0 -39
- package/esm2015/models/tournament-team.js +0 -103
- package/esm2015/models/tournament.js +0 -266
- package/esm2015/models/user-access.js +0 -25
- package/esm2015/models/user-permission.js +0 -38
- package/esm2015/models/user-profile.js +0 -24
- package/esm2015/models/user.js +0 -91
- package/esm2015/models/util.js +0 -237
- package/esm2015/models/volleyball-game-config.js +0 -44
- package/esm2015/models/volleyball-game-log.js +0 -145
- package/esm2015/models/volleyball-game-statistic.js +0 -64
- package/esm2015/models/volleyball-game-team-statistic.js +0 -27
- package/esm2015/models/volleyball-profile.js +0 -43
- package/esm2015/models/volleyball-statistic.js +0 -92
- package/esm2015/models/waterpolo-game-config.js +0 -45
- package/esm2015/models/waterpolo-game-log.js +0 -167
- package/esm2015/models/waterpolo-game-statistic.js +0 -641
- package/esm2015/models/waterpolo-game-team-statistic.js +0 -27
- package/esm2015/models/waterpolo-profile.js +0 -42
- package/esm2015/models/waterpolo-statistic.js +0 -336
- package/esm2015/services/base.service.js +0 -16
- package/esm2015/services/centrifugo.service.js +0 -123
- package/esm2015/services/config.service.js +0 -37
- package/esm2015/storage/local-storage-engine.js +0 -18
- package/esm2015/storage/public-api.js +0 -4
- package/esm2015/storage/storage-engine.js +0 -61
- package/esm2015/utils/component-destroyed.js +0 -26
- package/esm2015/utils/data.js +0 -75
- package/fesm2015/mtgame-core.js.map +0 -1
- package/models/league-field-base-value.d.ts +0 -7
- package/models/league-field-base.d.ts +0 -24
- package/models/league-player-field-value.d.ts +0 -8
- package/models/league-player-field.d.ts +0 -5
- package/models/league-team-field.d.ts +0 -5
- package/models/tournament-team-field-value.d.ts +0 -8
- package/mtgame-core.metadata.json +0 -1
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
|
+
import { MediaItem } from '../models/media-item';
|
|
4
|
+
import { Game, GameStatuses } from '../models/game';
|
|
5
|
+
import { map } from 'rxjs/operators';
|
|
6
|
+
import { applyGamesFilters } from './tournament-api';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common/http";
|
|
9
|
+
import * as i2 from "../services/config.service";
|
|
10
|
+
export class MediaApi {
|
|
11
|
+
constructor(httpClient, configService) {
|
|
12
|
+
this.httpClient = httpClient;
|
|
13
|
+
this.configService = configService;
|
|
14
|
+
}
|
|
15
|
+
async getMedia(mediaId) {
|
|
16
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/`).pipe(map(result => new MediaItem(result))).toPromise();
|
|
17
|
+
}
|
|
18
|
+
async getTournamentGameMedia(tournamentId, page, size, filters) {
|
|
19
|
+
let params = new HttpParams().set('page', page.toString()).set('size', size.toString());
|
|
20
|
+
params = applyGameMediaFilters(filters, params);
|
|
21
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/game_media/`, { observe: 'response', params }).pipe(map(response => {
|
|
22
|
+
return {
|
|
23
|
+
total: +response.headers.get('X-Page-Count'),
|
|
24
|
+
data: response.body.map(item => new Game(item)),
|
|
25
|
+
};
|
|
26
|
+
})).toPromise();
|
|
27
|
+
}
|
|
28
|
+
async getLeagueGameMedia(leagueId, page, size, filters) {
|
|
29
|
+
let params = new HttpParams().set('page', page.toString()).set('size', size.toString());
|
|
30
|
+
params = applyGameMediaFilters(filters, params);
|
|
31
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/game_media/`, { observe: 'response', params }).pipe(map(response => {
|
|
32
|
+
return {
|
|
33
|
+
total: +response.headers.get('X-Page-Count'),
|
|
34
|
+
data: response.body.map(item => new Game(item)),
|
|
35
|
+
};
|
|
36
|
+
})).toPromise();
|
|
37
|
+
}
|
|
38
|
+
async getLeagueMedia(leagueId, page, size, filters = {}) {
|
|
39
|
+
let params = new HttpParams().set('page', page.toString()).set('size', size.toString());
|
|
40
|
+
if (filters.mediaType) {
|
|
41
|
+
params = params.set('media_type', filters.mediaType);
|
|
42
|
+
}
|
|
43
|
+
if (filters.sort) {
|
|
44
|
+
params = params.set('sort', filters.sort);
|
|
45
|
+
}
|
|
46
|
+
if (filters.teamId) {
|
|
47
|
+
params = params.set('team_id', filters.teamId.toString());
|
|
48
|
+
}
|
|
49
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/media/`, { params, observe: 'response' })
|
|
50
|
+
.pipe(map(response => ({
|
|
51
|
+
total: +response.headers.get('X-Page-Count'),
|
|
52
|
+
data: response.body.map(item => new MediaItem(item)),
|
|
53
|
+
}))).toPromise();
|
|
54
|
+
}
|
|
55
|
+
async getTournamentMedia(tournamentId, page, size, filters = {}) {
|
|
56
|
+
let params = new HttpParams().set('page', page.toString()).set('size', size.toString());
|
|
57
|
+
if (filters.mediaType) {
|
|
58
|
+
params = params.set('media_type', filters.mediaType);
|
|
59
|
+
}
|
|
60
|
+
if (filters.sort) {
|
|
61
|
+
params = params.set('sort', filters.sort);
|
|
62
|
+
}
|
|
63
|
+
if (filters.teamId) {
|
|
64
|
+
params = params.set('team_id', filters.teamId.toString());
|
|
65
|
+
}
|
|
66
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/media/`, { params, observe: 'response' })
|
|
67
|
+
.pipe(map(response => ({
|
|
68
|
+
total: +response.headers.get('X-Page-Count'),
|
|
69
|
+
data: response.body.map(item => new MediaItem(item)),
|
|
70
|
+
}))).toPromise();
|
|
71
|
+
}
|
|
72
|
+
async getGameMediaById(gameId) {
|
|
73
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/game_media/${gameId}/`).pipe(map(result => new Game(result))).toPromise();
|
|
74
|
+
}
|
|
75
|
+
async getGameMedia(gameId) {
|
|
76
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/media/?size=1000`).pipe(map(result => result.map(item => new MediaItem(item)))).toPromise();
|
|
77
|
+
}
|
|
78
|
+
async createZip(mediaIds) {
|
|
79
|
+
return this.httpClient
|
|
80
|
+
.post(`${this.configService.get('apiUrl')}/api/v1/media/zip/`, mediaIds, { responseType: 'blob' })
|
|
81
|
+
.toPromise();
|
|
82
|
+
}
|
|
83
|
+
async downloadMedia(mediaId) {
|
|
84
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/download/`, { responseType: 'blob' })
|
|
85
|
+
.toPromise();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
MediaApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MediaApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
89
|
+
MediaApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MediaApi, providedIn: 'root' });
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MediaApi, decorators: [{
|
|
91
|
+
type: Injectable,
|
|
92
|
+
args: [{ providedIn: 'root' }]
|
|
93
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
|
|
94
|
+
export function applyGameMediaFilters(filters, params) {
|
|
95
|
+
if (filters) {
|
|
96
|
+
params = applyGamesFilters(filters, params);
|
|
97
|
+
if (filters.tournamentTour) {
|
|
98
|
+
params = params.set('tournament_tour', filters.tournamentTour.toString());
|
|
99
|
+
}
|
|
100
|
+
if (filters.teamId) {
|
|
101
|
+
params = params.set('team_id', filters.teamId.toString());
|
|
102
|
+
}
|
|
103
|
+
if (filters.tournamentStageId) {
|
|
104
|
+
params = params.set('tournament_stage_id', filters.tournamentStageId.toString());
|
|
105
|
+
}
|
|
106
|
+
if (filters.playoffId) {
|
|
107
|
+
params = params.set('playoff_id', filters.playoffId.toString());
|
|
108
|
+
}
|
|
109
|
+
if (filters.playoffStage) {
|
|
110
|
+
params = params.set('playoff_stage', filters.playoffStage.toString());
|
|
111
|
+
}
|
|
112
|
+
if (filters.playoffRound) {
|
|
113
|
+
params = params.set('playoff_round', filters.playoffRound.toString());
|
|
114
|
+
}
|
|
115
|
+
if (filters.status) {
|
|
116
|
+
params = params.set('status', GameStatuses[filters.status]);
|
|
117
|
+
}
|
|
118
|
+
if (filters.mediaCount) {
|
|
119
|
+
params = params.set('media_count', filters.mediaCount.toString());
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return params;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvYXBpL21lZGlhLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLGlCQUFpQixFQUEwQixNQUFNLGtCQUFrQixDQUFDOzs7O0FBYTdFLE1BQU0sT0FBTyxRQUFRO0lBQ25CLFlBQ1UsVUFBc0IsRUFDdEIsYUFBNEI7UUFENUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUV0QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFlO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUM3RixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUNyQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsc0JBQXNCLENBQzFCLFlBQW9CLEVBQUUsSUFBWSxFQUFFLElBQVksRUFDaEQsT0FBMEI7UUFFMUIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEYsTUFBTSxHQUFHLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVoRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN4QixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsWUFBWSxjQUFjLEVBQ25GLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUMsQ0FDOUIsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2IsT0FBTztnQkFDTCxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7Z0JBQzVDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2hELENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxJQUFZLEVBQUUsSUFBWSxFQUFFLE9BQTBCO1FBQy9GLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFaEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLFFBQVEsY0FBYyxFQUMzRSxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQzlCLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNiLE9BQU87Z0JBQ0wsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO2dCQUM1QyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNoRCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFnQixFQUFFLElBQVksRUFBRSxJQUFZLEVBQUUsVUFBd0IsRUFBRTtRQUMzRixJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN4RixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0RDtRQUNELElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDM0Q7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN4QixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsUUFBUSxTQUFTLEVBQ3RFLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FDOUI7YUFDRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQixLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7WUFDNUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFlBQW9CLEVBQUUsSUFBWSxFQUFFLElBQVksRUFBRSxVQUF3QixFQUFFO1FBQ25HLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNyQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2hCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0M7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMzRDtRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3hCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHNCQUFzQixZQUFZLFNBQVMsRUFDOUUsRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUM5QjthQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztZQUM1QyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBYztRQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHNCQUFzQixNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDakcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDaEMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFjO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLE1BQU0sbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQ2hJLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ3ZELENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO2FBQ2pHLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQWU7UUFDakMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsT0FBTyxZQUFZLEVBQUUsRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFDLENBQUM7YUFDeEgsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7c0dBakhVLFFBQVE7MEdBQVIsUUFBUSxjQURJLE1BQU07NEZBQ2xCLFFBQVE7a0JBRHBCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOztBQXFIaEMsTUFBTSxVQUFVLHFCQUFxQixDQUFDLE9BQXlCLEVBQUUsTUFBa0I7SUFDakYsSUFBSSxPQUFPLEVBQUU7UUFDWCxNQUFNLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRTtZQUMxQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDM0U7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMzRDtRQUNELElBQUksT0FBTyxDQUFDLGlCQUFpQixFQUFFO1lBQzdCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ2xGO1FBQ0QsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3JCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDakU7UUFDRCxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUN2RTtRQUNELElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN4QixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDN0Q7UUFDRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDdEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNuRTtLQUNGO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBNZWRpYUl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvbWVkaWEtaXRlbSc7XG5pbXBvcnQgeyBHYW1lLCBHYW1lU3RhdHVzZXMgfSBmcm9tICcuLi9tb2RlbHMvZ2FtZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQYWdpbmF0ZWRSZXNwb25zZSB9IGZyb20gJy4vcGFnaW5hdGVkLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgYXBwbHlHYW1lc0ZpbHRlcnMsIFRvdXJuYW1lbnRHYW1lc0ZpbHRlcnMgfSBmcm9tICcuL3RvdXJuYW1lbnQtYXBpJztcblxuZXhwb3J0IGludGVyZmFjZSBHYW1lTWVkaWFGaWx0ZXJzIGV4dGVuZHMgVG91cm5hbWVudEdhbWVzRmlsdGVycyB7XG4gIG1lZGlhQ291bnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFGaWx0ZXJzIHtcbiAgbWVkaWFUeXBlPzogJ3Bob3RvJyB8ICd2aWRlbycgfCAnbGl2ZV92aWRlbyc7XG4gIHNvcnQ/OiBzdHJpbmc7XG4gIHRlYW1JZD86IG51bWJlcjtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTWVkaWFBcGkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIGFzeW5jIGdldE1lZGlhKG1lZGlhSWQ6IG51bWJlcik6IFByb21pc2U8TWVkaWFJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9tZWRpYS8ke21lZGlhSWR9L2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IG5ldyBNZWRpYUl0ZW0ocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG91cm5hbWVudEdhbWVNZWRpYShcbiAgICB0b3VybmFtZW50SWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsXG4gICAgZmlsdGVycz86IEdhbWVNZWRpYUZpbHRlcnNcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxHYW1lW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKS5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIHBhcmFtcyA9IGFwcGx5R2FtZU1lZGlhRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KFxuICAgICAgYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9nYW1lX21lZGlhL2AsXG4gICAgICB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJywgcGFyYW1zfVxuICAgICkucGlwZShcbiAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdG90YWw6ICtyZXNwb25zZS5oZWFkZXJzLmdldCgnWC1QYWdlLUNvdW50JyksXG4gICAgICAgICAgZGF0YTogcmVzcG9uc2UuYm9keS5tYXAoaXRlbSA9PiBuZXcgR2FtZShpdGVtKSksXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRMZWFndWVHYW1lTWVkaWEobGVhZ3VlSWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM/OiBHYW1lTWVkaWFGaWx0ZXJzKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxHYW1lW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKS5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIHBhcmFtcyA9IGFwcGx5R2FtZU1lZGlhRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KFxuICAgICAgYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9sZWFndWUvJHtsZWFndWVJZH0vZ2FtZV9tZWRpYS9gLFxuICAgICAge29ic2VydmU6ICdyZXNwb25zZScsIHBhcmFtc31cbiAgICApLnBpcGUoXG4gICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHRvdGFsOiArcmVzcG9uc2UuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICAgIGRhdGE6IHJlc3BvbnNlLmJvZHkubWFwKGl0ZW0gPT4gbmV3IEdhbWUoaXRlbSkpLFxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0TGVhZ3VlTWVkaWEobGVhZ3VlSWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM6IE1lZGlhRmlsdGVycyA9IHt9KTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxNZWRpYUl0ZW1bXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3BhZ2UnLCBwYWdlLnRvU3RyaW5nKCkpLnNldCgnc2l6ZScsIHNpemUudG9TdHJpbmcoKSk7XG4gICAgaWYgKGZpbHRlcnMubWVkaWFUeXBlKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdtZWRpYV90eXBlJywgZmlsdGVycy5tZWRpYVR5cGUpO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy5zb3J0KSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzb3J0JywgZmlsdGVycy5zb3J0KTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMudGVhbUlkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0ZWFtX2lkJywgZmlsdGVycy50ZWFtSWQudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PG9iamVjdFtdPihcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvbGVhZ3VlLyR7bGVhZ3VlSWR9L21lZGlhL2AsXG4gICAgICB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfVxuICAgIClcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiAoe1xuICAgICAgICB0b3RhbDogK3Jlc3BvbnNlLmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogcmVzcG9uc2UuYm9keS5tYXAoaXRlbSA9PiBuZXcgTWVkaWFJdGVtKGl0ZW0pKSxcbiAgICAgIH0pKSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUb3VybmFtZW50TWVkaWEodG91cm5hbWVudElkOiBudW1iZXIsIHBhZ2U6IG51bWJlciwgc2l6ZTogbnVtYmVyLCBmaWx0ZXJzOiBNZWRpYUZpbHRlcnMgPSB7fSk6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8TWVkaWFJdGVtW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKS5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIGlmIChmaWx0ZXJzLm1lZGlhVHlwZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbWVkaWFfdHlwZScsIGZpbHRlcnMubWVkaWFUeXBlKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMuc29ydCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc29ydCcsIGZpbHRlcnMuc29ydCk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnRlYW1JZCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndGVhbV9pZCcsIGZpbHRlcnMudGVhbUlkLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L21lZGlhL2AsXG4gICAgICB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfVxuICAgIClcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiAoe1xuICAgICAgICB0b3RhbDogK3Jlc3BvbnNlLmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogcmVzcG9uc2UuYm9keS5tYXAoaXRlbSA9PiBuZXcgTWVkaWFJdGVtKGl0ZW0pKSxcbiAgICAgIH0pKSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHYW1lTWVkaWFCeUlkKGdhbWVJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9nYW1lX21lZGlhLyR7Z2FtZUlkfS9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgR2FtZShyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHYW1lTWVkaWEoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPE1lZGlhSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9nYW1lLyR7Z2FtZUlkfS9tZWRpYS8/c2l6ZT0xMDAwYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0Lm1hcChpdGVtID0+IG5ldyBNZWRpYUl0ZW0oaXRlbSkpKSxcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlWmlwKG1lZGlhSWRzOiBudW1iZXJbXSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3QoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9tZWRpYS96aXAvYCwgbWVkaWFJZHMsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGRvd25sb2FkTWVkaWEobWVkaWFJZDogbnVtYmVyKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL21lZGlhLyR7bWVkaWFJZH0vZG93bmxvYWQvYCwge3Jlc3BvbnNlVHlwZTogJ2Jsb2InfSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlHYW1lTWVkaWFGaWx0ZXJzKGZpbHRlcnM6IEdhbWVNZWRpYUZpbHRlcnMsIHBhcmFtczogSHR0cFBhcmFtcywgKTogSHR0cFBhcmFtcyB7XG4gIGlmIChmaWx0ZXJzKSB7XG4gICAgcGFyYW1zID0gYXBwbHlHYW1lc0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcbiAgICBpZiAoZmlsdGVycy50b3VybmFtZW50VG91cikge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndG91cm5hbWVudF90b3VyJywgZmlsdGVycy50b3VybmFtZW50VG91ci50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMudGVhbUlkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0ZWFtX2lkJywgZmlsdGVycy50ZWFtSWQudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnRvdXJuYW1lbnRTdGFnZUlkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b3VybmFtZW50X3N0YWdlX2lkJywgZmlsdGVycy50b3VybmFtZW50U3RhZ2VJZC50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMucGxheW9mZklkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwbGF5b2ZmX2lkJywgZmlsdGVycy5wbGF5b2ZmSWQudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnBsYXlvZmZTdGFnZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGxheW9mZl9zdGFnZScsIGZpbHRlcnMucGxheW9mZlN0YWdlLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy5wbGF5b2ZmUm91bmQpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BsYXlvZmZfcm91bmQnLCBmaWx0ZXJzLnBsYXlvZmZSb3VuZC50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMuc3RhdHVzKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzdGF0dXMnLCBHYW1lU3RhdHVzZXNbZmlsdGVycy5zdGF0dXNdKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMubWVkaWFDb3VudCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbWVkaWFfY291bnQnLCBmaWx0ZXJzLm1lZGlhQ291bnQudG9TdHJpbmcoKSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBwYXJhbXM7XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { NotificationBaseApi } from './notification-base-api';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class NotificationApi extends NotificationBaseApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.apiUrl = '/api/v1';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
NotificationApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
+
NotificationApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationApi, providedIn: 'root' });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationApi, decorators: [{
|
|
13
|
+
type: Injectable,
|
|
14
|
+
args: [{ providedIn: 'root' }]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2FwaS9ub3RpZmljYXRpb24tYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRzlELE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUR4RDs7UUFFWSxXQUFNLEdBQUcsU0FBUyxDQUFDO0tBQzlCOzs2R0FGWSxlQUFlO2lIQUFmLGVBQWUsY0FESCxNQUFNOzRGQUNsQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkJhc2VBcGkgfSBmcm9tICcuL25vdGlmaWNhdGlvbi1iYXNlLWFwaSc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkFwaSBleHRlbmRzIE5vdGlmaWNhdGlvbkJhc2VBcGkge1xuICBwcm90ZWN0ZWQgYXBpVXJsID0gJy9hcGkvdjEnO1xufVxuIl19
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { Notification } from '../models/notification';
|
|
5
|
+
import { NotificationSettings } from '../models/notification-settings';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
import * as i2 from "../services/config.service";
|
|
9
|
+
export class NotificationBaseApi {
|
|
10
|
+
constructor(httpClient, configService) {
|
|
11
|
+
this.httpClient = httpClient;
|
|
12
|
+
this.configService = configService;
|
|
13
|
+
}
|
|
14
|
+
async getCount() {
|
|
15
|
+
return this.httpClient
|
|
16
|
+
.get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/count/`)
|
|
17
|
+
.pipe(map(data => +data))
|
|
18
|
+
.toPromise();
|
|
19
|
+
}
|
|
20
|
+
async getList(page, size, filters = {}) {
|
|
21
|
+
let params = new HttpParams()
|
|
22
|
+
.set('page', page.toString())
|
|
23
|
+
.set('size', size.toString());
|
|
24
|
+
for (const key of Object.keys(filters)) {
|
|
25
|
+
params = params.set(key, filters[key]);
|
|
26
|
+
}
|
|
27
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/`, { params, observe: 'response' })
|
|
28
|
+
.pipe(map(response => ({
|
|
29
|
+
total: +response.headers.get('x-page-count'),
|
|
30
|
+
data: response.body.map(item => new Notification(item)),
|
|
31
|
+
}))).toPromise();
|
|
32
|
+
}
|
|
33
|
+
async markViewed(notificationId, viewed) {
|
|
34
|
+
return this.httpClient
|
|
35
|
+
.post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/${notificationId}/viewed/`, { viewed })
|
|
36
|
+
.pipe(map(data => new Notification(data)))
|
|
37
|
+
.toPromise();
|
|
38
|
+
}
|
|
39
|
+
async markAllViewed() {
|
|
40
|
+
return this.httpClient
|
|
41
|
+
.post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/viewed/`, {})
|
|
42
|
+
.pipe(map(data => data.map(item => new Notification(item))))
|
|
43
|
+
.toPromise();
|
|
44
|
+
}
|
|
45
|
+
async getNotificationSettings() {
|
|
46
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification_settings/`)
|
|
47
|
+
.pipe(map(data => new NotificationSettings(data)))
|
|
48
|
+
.toPromise();
|
|
49
|
+
}
|
|
50
|
+
async updateNotificationSettings(data) {
|
|
51
|
+
return this.httpClient.post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification_settings/`, data.json())
|
|
52
|
+
.pipe(map(result => new NotificationSettings(result)))
|
|
53
|
+
.toPromise();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
NotificationBaseApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationBaseApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
57
|
+
NotificationBaseApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationBaseApi, providedIn: 'root' });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationBaseApi, decorators: [{
|
|
59
|
+
type: Injectable,
|
|
60
|
+
args: [{ providedIn: 'root' }]
|
|
61
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWJhc2UtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvYXBpL25vdGlmaWNhdGlvbi1iYXNlLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBV3ZFLE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsWUFDVSxVQUFzQixFQUN0QixhQUE0QjtRQUQ1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ25DLENBQUM7SUFFSixLQUFLLENBQUMsUUFBUTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sc0JBQXNCLENBQUM7YUFDNUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEIsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxVQUErQixFQUFFO1FBQ3pFLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFO2FBQzFCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQzVCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDaEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN4QztRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3hCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sZ0JBQWdCLEVBQ2pFLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FDOUI7YUFDRSxJQUFJLENBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNmLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztZQUM1QyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4RCxDQUFDLENBQUMsQ0FDSixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLGNBQXNCLEVBQUUsTUFBZTtRQUN0RCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLGlCQUFpQixjQUFjLFVBQVUsRUFBRSxFQUFDLE1BQU0sRUFBQyxDQUFDO2FBQzFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLElBQUksQ0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLHVCQUF1QixFQUFFLEVBQUUsQ0FBQzthQUM1RixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzRCxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLHVCQUF1QjtRQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0seUJBQXlCLENBQUM7YUFDbkcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUNqRCxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLDBCQUEwQixDQUFDLElBQTBCO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3pCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0seUJBQXlCLEVBQzFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FDWjthQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDckQsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7aUhBOURVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRFAsTUFBTTs0RkFDbEIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNldHRpbmdzIH0gZnJvbSAnLi4vbW9kZWxzL25vdGlmaWNhdGlvbi1zZXR0aW5ncyc7XG5pbXBvcnQgeyBQYWdpbmF0ZWRSZXNwb25zZSB9IGZyb20gJy4vcGFnaW5hdGVkLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkZpbHRlcnMge1xuICBwcm90ZWN0ZWQ/OiBib29sZWFuO1xuICBub3Rfdmlld2VkPzogYm9vbGVhbjtcbiAgaW1wb3J0YW50PzogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uQmFzZUFwaSB7XG4gIHByb3RlY3RlZCBhcGlVcmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICApIHt9XG5cbiAgYXN5bmMgZ2V0Q291bnQoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfSR7dGhpcy5hcGlVcmx9L25vdGlmaWNhdGlvbi9jb3VudC9gKVxuICAgICAgLnBpcGUobWFwKGRhdGEgPT4gK2RhdGEpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0TGlzdChwYWdlOiBudW1iZXIsIHNpemU6IG51bWJlciwgZmlsdGVyczogTm90aWZpY2F0aW9uRmlsdGVycyA9IHt9KTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxOb3RpZmljYXRpb25bXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgLnNldCgncGFnZScsIHBhZ2UudG9TdHJpbmcoKSlcbiAgICAgIC5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZpbHRlcnMpKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGtleSwgZmlsdGVyc1trZXldKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0ke3RoaXMuYXBpVXJsfS9ub3RpZmljYXRpb24vYCxcbiAgICAgIHtwYXJhbXMsIG9ic2VydmU6ICdyZXNwb25zZSd9XG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiAoe1xuICAgICAgICAgIHRvdGFsOiArcmVzcG9uc2UuaGVhZGVycy5nZXQoJ3gtcGFnZS1jb3VudCcpLFxuICAgICAgICAgIGRhdGE6IHJlc3BvbnNlLmJvZHkubWFwKGl0ZW0gPT4gbmV3IE5vdGlmaWNhdGlvbihpdGVtKSksXG4gICAgICAgIH0pKSxcbiAgICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBtYXJrVmlld2VkKG5vdGlmaWNhdGlvbklkOiBudW1iZXIsIHZpZXdlZDogYm9vbGVhbik6IFByb21pc2U8Tm90aWZpY2F0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3QoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9JHt0aGlzLmFwaVVybH0vbm90aWZpY2F0aW9uLyR7bm90aWZpY2F0aW9uSWR9L3ZpZXdlZC9gLCB7dmlld2VkfSlcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IG5ldyBOb3RpZmljYXRpb24oZGF0YSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgbWFya0FsbFZpZXdlZCgpOiBQcm9taXNlPE5vdGlmaWNhdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3Q8b2JqZWN0W10+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfSR7dGhpcy5hcGlVcmx9L25vdGlmaWNhdGlvbi92aWV3ZWQvYCwge30pXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBkYXRhLm1hcChpdGVtID0+IG5ldyBOb3RpZmljYXRpb24oaXRlbSkpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldE5vdGlmaWNhdGlvblNldHRpbmdzKCk6IFByb21pc2U8Tm90aWZpY2F0aW9uU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0ke3RoaXMuYXBpVXJsfS9ub3RpZmljYXRpb25fc2V0dGluZ3MvYClcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IG5ldyBOb3RpZmljYXRpb25TZXR0aW5ncyhkYXRhKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVOb3RpZmljYXRpb25TZXR0aW5ncyhkYXRhOiBOb3RpZmljYXRpb25TZXR0aW5ncyk6IFByb21pc2U8Tm90aWZpY2F0aW9uU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0ke3RoaXMuYXBpVXJsfS9ub3RpZmljYXRpb25fc2V0dGluZ3MvYCxcbiAgICAgIGRhdGEuanNvbigpXG4gICAgKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBuZXcgTm90aWZpY2F0aW9uU2V0dGluZ3MocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { NotificationBaseApi } from './notification-base-api';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class OrgNotificationApi extends NotificationBaseApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.apiUrl = '/org/api/v1';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
OrgNotificationApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OrgNotificationApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
+
OrgNotificationApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OrgNotificationApi, providedIn: 'root' });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OrgNotificationApi, decorators: [{
|
|
13
|
+
type: Injectable,
|
|
14
|
+
args: [{ providedIn: 'root' }]
|
|
15
|
+
}] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLW5vdGlmaWNhdGlvbi1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9hcGkvb3JnLW5vdGlmaWNhdGlvbi1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHOUQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQUQzRDs7UUFFWSxXQUFNLEdBQUcsYUFBYSxDQUFDO0tBQ2xDOztnSEFGWSxrQkFBa0I7b0hBQWxCLGtCQUFrQixjQUROLE1BQU07NEZBQ2xCLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25CYXNlQXBpIH0gZnJvbSAnLi9ub3RpZmljYXRpb24tYmFzZS1hcGknO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBPcmdOb3RpZmljYXRpb25BcGkgZXh0ZW5kcyBOb3RpZmljYXRpb25CYXNlQXBpIHtcbiAgcHJvdGVjdGVkIGFwaVVybCA9ICcvb3JnL2FwaS92MSc7XG59XG4iXX0=
|
package/{esm2015/api/paginated-response.interface.js → esm2020/api/paginated-response.interface.mjs}
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
|
+
import { Team } from '../models/team';
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
5
|
+
import { TournamentTeam } from '../models/tournament-team';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
import * as i2 from "../services/config.service";
|
|
9
|
+
export class PublicTeamApi {
|
|
10
|
+
constructor(httpClient, configService) {
|
|
11
|
+
this.httpClient = httpClient;
|
|
12
|
+
this.configService = configService;
|
|
13
|
+
}
|
|
14
|
+
getById(teamId) {
|
|
15
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_team/${teamId}/`).pipe(map(result => new Team(result))).toPromise();
|
|
16
|
+
}
|
|
17
|
+
getTournamentTeams(teamId, leagueId) {
|
|
18
|
+
const params = new HttpParams().set('league_id', leagueId.toString());
|
|
19
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_team/${teamId}/tournament_teams/`, { params }).pipe(map(result => result.map(item => new TournamentTeam(item)))).toPromise();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
PublicTeamApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PublicTeamApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23
|
+
PublicTeamApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PublicTeamApi, providedIn: 'root' });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PublicTeamApi, decorators: [{
|
|
25
|
+
type: Injectable,
|
|
26
|
+
args: [{ providedIn: 'root' }]
|
|
27
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLXRlYW0tYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvYXBpL3B1YmxpYy10ZWFtLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUczRCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUNVLFVBQXNCLEVBQ3RCLGFBQTRCO1FBRDVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFdEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFjO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUNsRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUNoQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7UUFDakQsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3hCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHVCQUF1QixNQUFNLG9CQUFvQixFQUNwRixFQUFDLE1BQU0sRUFBQyxDQUNULENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQzVELENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7MkdBckJVLGFBQWE7K0dBQWIsYUFBYSxjQURELE1BQU07NEZBQ2xCLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBUZWFtIH0gZnJvbSAnLi4vbW9kZWxzL3RlYW0nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVG91cm5hbWVudFRlYW0gfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC10ZWFtJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUHVibGljVGVhbUFwaSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgZ2V0QnlJZCh0ZWFtSWQ6IG51bWJlcik6IFByb21pc2U8VGVhbT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvcHVibGljX3RlYW0vJHt0ZWFtSWR9L2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IG5ldyBUZWFtKHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGdldFRvdXJuYW1lbnRUZWFtcyh0ZWFtSWQ6IG51bWJlciwgbGVhZ3VlSWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFRlYW1bXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsZWFndWVfaWQnLCBsZWFndWVJZC50b1N0cmluZygpKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3B1YmxpY190ZWFtLyR7dGVhbUlkfS90b3VybmFtZW50X3RlYW1zL2AsXG4gICAgICB7cGFyYW1zfVxuICAgICkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0Lm1hcChpdGVtID0+IG5ldyBUb3VybmFtZW50VGVhbShpdGVtKSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
|
+
import { User } from '../models/user';
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
5
|
+
import { Tournament } from '../models/tournament';
|
|
6
|
+
import { TournamentTeamUser } from '../models/tournament-team-user';
|
|
7
|
+
import { LeaguePlayer } from '../models/league-player';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common/http";
|
|
10
|
+
import * as i2 from "../services/config.service";
|
|
11
|
+
export class PublicUserApi {
|
|
12
|
+
constructor(httpClient, configService) {
|
|
13
|
+
this.httpClient = httpClient;
|
|
14
|
+
this.configService = configService;
|
|
15
|
+
}
|
|
16
|
+
getById(userId) {
|
|
17
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/`).pipe(map(result => new User(result))).toPromise();
|
|
18
|
+
}
|
|
19
|
+
getTournaments(userId, leagueId) {
|
|
20
|
+
const params = new HttpParams().set('league_id', leagueId.toString());
|
|
21
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/tournaments/`, { params }).pipe(map(result => result.map(item => new Tournament(item)))).toPromise();
|
|
22
|
+
}
|
|
23
|
+
getTournamentUser(userId, seasonId) {
|
|
24
|
+
const params = new HttpParams().set('season_id', seasonId.toString());
|
|
25
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/tournament_user/`, { params }).pipe(map(result => new TournamentTeamUser(result))).toPromise();
|
|
26
|
+
}
|
|
27
|
+
getLeaguePlayer(userId, leagueId) {
|
|
28
|
+
const params = new HttpParams().set('league_id', leagueId.toString());
|
|
29
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/league_player/`, { params }).pipe(map(result => new LeaguePlayer(result))).toPromise();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
PublicUserApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PublicUserApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
+
PublicUserApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PublicUserApi, providedIn: 'root' });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PublicUserApi, decorators: [{
|
|
35
|
+
type: Injectable,
|
|
36
|
+
args: [{ providedIn: 'root' }]
|
|
37
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLXVzZXItYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvYXBpL3B1YmxpYy11c2VyLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFHdkQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFDVSxVQUFzQixFQUN0QixhQUE0QjtRQUQ1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBRXRDLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBYztRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHVCQUF1QixNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDbEcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDaEMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWMsRUFBRSxRQUFnQjtRQUM3QyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLE1BQU0sZUFBZSxFQUMvRSxFQUFDLE1BQU0sRUFBQyxDQUNULENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ3hELENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQWMsRUFBRSxRQUFnQjtRQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLE1BQU0sbUJBQW1CLEVBQ25GLEVBQUMsTUFBTSxFQUFDLENBQ1QsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUM5QyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBYyxFQUFFLFFBQWdCO1FBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN0RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN4QixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsTUFBTSxpQkFBaUIsRUFDakYsRUFBQyxNQUFNLEVBQUMsQ0FDVCxDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN4QyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7OzJHQXpDVSxhQUFhOytHQUFiLGFBQWEsY0FERCxNQUFNOzRGQUNsQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL21vZGVscy91c2VyJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvdXJuYW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudCc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC10ZWFtLXVzZXInO1xuaW1wb3J0IHsgTGVhZ3VlUGxheWVyIH0gZnJvbSAnLi4vbW9kZWxzL2xlYWd1ZS1wbGF5ZXInO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBQdWJsaWNVc2VyQXBpIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgKSB7XG4gIH1cblxuICBnZXRCeUlkKHVzZXJJZDogbnVtYmVyKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9wdWJsaWNfdXNlci8ke3VzZXJJZH0vYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFVzZXIocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgZ2V0VG91cm5hbWVudHModXNlcklkOiBudW1iZXIsIGxlYWd1ZUlkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRbXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsZWFndWVfaWQnLCBsZWFndWVJZC50b1N0cmluZygpKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3B1YmxpY191c2VyLyR7dXNlcklkfS90b3VybmFtZW50cy9gLFxuICAgICAge3BhcmFtc31cbiAgICApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5tYXAoaXRlbSA9PiBuZXcgVG91cm5hbWVudChpdGVtKSkpLFxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBnZXRUb3VybmFtZW50VXNlcih1c2VySWQ6IG51bWJlciwgc2Vhc29uSWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFRlYW1Vc2VyPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3NlYXNvbl9pZCcsIHNlYXNvbklkLnRvU3RyaW5nKCkpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KFxuICAgICAgYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9wdWJsaWNfdXNlci8ke3VzZXJJZH0vdG91cm5hbWVudF91c2VyL2AsXG4gICAgICB7cGFyYW1zfVxuICAgICkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFRvdXJuYW1lbnRUZWFtVXNlcihyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBnZXRMZWFndWVQbGF5ZXIodXNlcklkOiBudW1iZXIsIGxlYWd1ZUlkOiBudW1iZXIpOiBQcm9taXNlPExlYWd1ZVBsYXllcj4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsZWFndWVfaWQnLCBsZWFndWVJZC50b1N0cmluZygpKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvcHVibGljX3VzZXIvJHt1c2VySWR9L2xlYWd1ZV9wbGF5ZXIvYCxcbiAgICAgIHtwYXJhbXN9XG4gICAgKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgTGVhZ3VlUGxheWVyKHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { City } from '../models/city';
|
|
4
|
+
import { Sport } from '../models/sport';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
import * as i2 from "../services/config.service";
|
|
8
|
+
export class ReferenceApi {
|
|
9
|
+
constructor(httpClient, configService) {
|
|
10
|
+
this.httpClient = httpClient;
|
|
11
|
+
this.configService = configService;
|
|
12
|
+
}
|
|
13
|
+
async getCities() {
|
|
14
|
+
return this.httpClient
|
|
15
|
+
.get(`${this.configService.get('apiUrl')}/api/v1/reference/cities/`)
|
|
16
|
+
.pipe(map(data => data.map(item => new City(item)))).toPromise();
|
|
17
|
+
}
|
|
18
|
+
async getSports() {
|
|
19
|
+
return this.httpClient
|
|
20
|
+
.get(`${this.configService.get('apiUrl')}/api/v1/sport/`)
|
|
21
|
+
.pipe(map(data => data.map(item => new Sport(item)))).toPromise();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
ReferenceApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ReferenceApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
ReferenceApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ReferenceApi, providedIn: 'root' });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ReferenceApi, decorators: [{
|
|
27
|
+
type: Injectable,
|
|
28
|
+
args: [{ providedIn: 'root' }]
|
|
29
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2FwaS9yZWZlcmVuY2UtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFHeEMsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDVSxVQUFzQixFQUN0QixhQUE0QjtRQUQ1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ25DLENBQUM7SUFFSixLQUFLLENBQUMsU0FBUztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsR0FBRyxDQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDO2FBQzdFLElBQUksQ0FDSCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUM5QyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsR0FBRyxDQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO2FBQ2xFLElBQUksQ0FDSCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUMvQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7OzBHQXBCVSxZQUFZOzhHQUFaLFlBQVksY0FEQSxNQUFNOzRGQUNsQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2l0eSB9IGZyb20gJy4uL21vZGVscy9jaXR5JztcbmltcG9ydCB7IFNwb3J0IH0gZnJvbSAnLi4vbW9kZWxzL3Nwb3J0JztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUmVmZXJlbmNlQXBpIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgKSB7fVxuXG4gIGFzeW5jIGdldENpdGllcygpOiBQcm9taXNlPENpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8b2JqZWN0W10+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvcmVmZXJlbmNlL2NpdGllcy9gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChkYXRhID0+IGRhdGEubWFwKGl0ZW0gPT4gbmV3IENpdHkoaXRlbSkpKVxuICAgICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFNwb3J0cygpOiBQcm9taXNlPFNwb3J0W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PG9iamVjdFtdPihgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3Nwb3J0L2ApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGRhdGEgPT4gZGF0YS5tYXAoaXRlbSA9PiBuZXcgU3BvcnQoaXRlbSkpKVxuICAgICAgKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { Game } from '../models/game';
|
|
5
|
+
import { GameBaseApi } from './game-base-api';
|
|
6
|
+
import { RugbyGameTeamStatistic } from '../models/rugby-game-team-statistic';
|
|
7
|
+
import { RugbyGameStatistic } from '../models/rugby-game-statistic';
|
|
8
|
+
import { RugbyGameLog } from '../models/rugby-game-log';
|
|
9
|
+
import { RugbyFoulType } from '../models/rugby-foul-type';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/common/http";
|
|
12
|
+
import * as i2 from "../services/config.service";
|
|
13
|
+
export class RugbyGameApi extends GameBaseApi {
|
|
14
|
+
constructor(httpClient, configService) {
|
|
15
|
+
super(httpClient, configService);
|
|
16
|
+
this.httpClient = httpClient;
|
|
17
|
+
this.configService = configService;
|
|
18
|
+
}
|
|
19
|
+
async getById(gameId) {
|
|
20
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/`).pipe(map(result => new Game(result))).toPromise();
|
|
21
|
+
}
|
|
22
|
+
async getTeamStatistic(gameId) {
|
|
23
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/team_statistic/`).pipe(map(result => new RugbyGameTeamStatistic(result))).toPromise();
|
|
24
|
+
}
|
|
25
|
+
async getUserStatistic(gameId) {
|
|
26
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/user_statistic/`).pipe(map(result => result.map(item => new RugbyGameStatistic(item)))).toPromise();
|
|
27
|
+
}
|
|
28
|
+
async getLogs(gameId) {
|
|
29
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/logs/`).pipe(map(result => result.map(item => new RugbyGameLog(item)))).toPromise();
|
|
30
|
+
}
|
|
31
|
+
async getFoulTypes() {
|
|
32
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/foul_types/`).pipe(map(result => new RugbyFoulType(result))).toPromise();
|
|
33
|
+
}
|
|
34
|
+
async downloadProtocol(gameId) {
|
|
35
|
+
return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/game_protocol/`, {
|
|
36
|
+
params: new HttpParams().set('file_type', 'pdf'),
|
|
37
|
+
responseType: 'blob'
|
|
38
|
+
}).toPromise();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
RugbyGameApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RugbyGameApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
|
+
RugbyGameApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RugbyGameApi, providedIn: 'root' });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RugbyGameApi, decorators: [{
|
|
44
|
+
type: Injectable,
|
|
45
|
+
args: [{ providedIn: 'root' }]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVnYnktZ2FtZS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9hcGkvcnVnYnktZ2FtZS1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUcxRCxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUFDM0MsWUFDWSxVQUFzQixFQUN0QixhQUE0QjtRQUV0QyxLQUFLLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBSHZCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFHeEMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBYztRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGlDQUFpQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDNUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDaEMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQWM7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxpQ0FBaUMsTUFBTSxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDM0gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUNsRCxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBYztRQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGlDQUFpQyxNQUFNLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUNySSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ2hFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBYztRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGlDQUFpQyxNQUFNLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDM0gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDMUQsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDLElBQUksQ0FDN0csR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDekMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQWM7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxpQ0FBaUMsTUFBTSxpQkFBaUIsRUFBRTtZQUN0SCxNQUFNLEVBQUUsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztZQUNoRCxZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7MEdBM0NVLFlBQVk7OEdBQVosWUFBWSxjQURBLE1BQU07NEZBQ2xCLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdhbWUgfSBmcm9tICcuLi9tb2RlbHMvZ2FtZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2FtZUJhc2VBcGkgfSBmcm9tICcuL2dhbWUtYmFzZS1hcGknO1xuaW1wb3J0IHsgUnVnYnlHYW1lVGVhbVN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9ydWdieS1nYW1lLXRlYW0tc3RhdGlzdGljJztcbmltcG9ydCB7IFJ1Z2J5R2FtZVN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9ydWdieS1nYW1lLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBSdWdieUdhbWVMb2cgfSBmcm9tICcuLi9tb2RlbHMvcnVnYnktZ2FtZS1sb2cnO1xuaW1wb3J0IHsgUnVnYnlGb3VsVHlwZSB9IGZyb20gJy4uL21vZGVscy9ydWdieS1mb3VsLXR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBSdWdieUdhbWVBcGkgZXh0ZW5kcyBHYW1lQmFzZUFwaSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHBDbGllbnQsIGNvbmZpZ1NlcnZpY2UpO1xuICB9XG5cbiAgYXN5bmMgZ2V0QnlJZChnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8R2FtZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ydWdieV9nYW1lLyR7Z2FtZUlkfS9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgR2FtZShyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUZWFtU3RhdGlzdGljKGdhbWVJZDogbnVtYmVyKTogUHJvbWlzZTxSdWdieUdhbWVUZWFtU3RhdGlzdGljPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3J1Z2J5X2dhbWUvJHtnYW1lSWR9L3RlYW1fc3RhdGlzdGljL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IG5ldyBSdWdieUdhbWVUZWFtU3RhdGlzdGljKHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJTdGF0aXN0aWMoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPFJ1Z2J5R2FtZVN0YXRpc3RpY1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ydWdieV9nYW1lLyR7Z2FtZUlkfS91c2VyX3N0YXRpc3RpYy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQubWFwKGl0ZW0gPT4gbmV3IFJ1Z2J5R2FtZVN0YXRpc3RpYyhpdGVtKSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldExvZ3MoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPFJ1Z2J5R2FtZUxvZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ydWdieV9nYW1lLyR7Z2FtZUlkfS9sb2dzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5tYXAoaXRlbSA9PiBuZXcgUnVnYnlHYW1lTG9nKGl0ZW0pKSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Rm91bFR5cGVzKCk6IFByb21pc2U8UnVnYnlGb3VsVHlwZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ydWdieV9nYW1lL2ZvdWxfdHlwZXMvYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFJ1Z2J5Rm91bFR5cGUocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZG93bmxvYWRQcm90b2NvbChnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3J1Z2J5X2dhbWUvJHtnYW1lSWR9L2dhbWVfcHJvdG9jb2wvYCwge1xuICAgICAgcGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnZmlsZV90eXBlJywgJ3BkZicpLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcbiAgICB9KS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
|