Compare commits
3 Commits
enable-goi
...
gracefully
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
848c02d88f | ||
|
|
56b66bbf67 | ||
|
|
8951667e61 |
@@ -60,10 +60,16 @@ class StreamNotificationsController < ApplicationController
|
|||||||
def set_broadcast
|
def set_broadcast
|
||||||
if notification_type == "video.asset.static_renditions.ready"
|
if notification_type == "video.asset.static_renditions.ready"
|
||||||
live_stream_id = notification.dig(:stream_notification, :data, :live_stream_id)
|
live_stream_id = notification.dig(:stream_notification, :data, :live_stream_id)
|
||||||
@broadcast = Broadcast.find_by!(stream_uid: live_stream_id)
|
@broadcast = Broadcast.find_by(stream_uid: live_stream_id)
|
||||||
else
|
else
|
||||||
@broadcast = Broadcast.find_by!(stream_uid: notification_object_id)
|
@broadcast = Broadcast.find_by(stream_uid: notification_object_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if @broadcast.nil?
|
||||||
|
logger.info "Ignoring broadcast from other environment. Type = #{notification_type}. Id = #{live_stream_id} / #{notification_object_id}"
|
||||||
|
head :ok
|
||||||
|
end
|
||||||
|
head :ok if @broadcast.nil?
|
||||||
end
|
end
|
||||||
|
|
||||||
def notify_users
|
def notify_users
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class AcquiredMediaReleasePolicy < ApplicationPolicy
|
|||||||
end
|
end
|
||||||
|
|
||||||
def destroy?
|
def destroy?
|
||||||
true
|
user.manager? || user.account_manager?
|
||||||
end
|
end
|
||||||
|
|
||||||
def tag_multiple?
|
def tag_multiple?
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class AppearanceReleasePolicy < ReleasePolicy
|
|||||||
end
|
end
|
||||||
|
|
||||||
def destroy?
|
def destroy?
|
||||||
true
|
user.manager? || user.account_manager?
|
||||||
end
|
end
|
||||||
|
|
||||||
def tag_multiple?
|
def tag_multiple?
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class LocationReleasePolicy < ReleasePolicy
|
|||||||
end
|
end
|
||||||
|
|
||||||
def destroy?
|
def destroy?
|
||||||
true
|
user.manager? || user.account_manager?
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit_photos?
|
def edit_photos?
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class MaterialReleasePolicy < ReleasePolicy
|
|||||||
end
|
end
|
||||||
|
|
||||||
def destroy?
|
def destroy?
|
||||||
true
|
user.manager? || user.account_manager?
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit_photos?
|
def edit_photos?
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class MedicalReleasePolicy < ReleasePolicy
|
|||||||
end
|
end
|
||||||
|
|
||||||
def destroy?
|
def destroy?
|
||||||
true
|
user.manager? || user.account_manager?
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit_photos?
|
def edit_photos?
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class MiscReleasePolicy < ReleasePolicy
|
|||||||
end
|
end
|
||||||
|
|
||||||
def destroy?
|
def destroy?
|
||||||
true
|
user.manager? || user.account_manager?
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit_photos?
|
def edit_photos?
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class MusicReleasePolicy < ReleasePolicy
|
|||||||
end
|
end
|
||||||
|
|
||||||
def destroy?
|
def destroy?
|
||||||
true
|
user.manager? || user.account_manager?
|
||||||
end
|
end
|
||||||
|
|
||||||
def tag_multiple?
|
def tag_multiple?
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class TalentReleasePolicy < ReleasePolicy
|
|||||||
end
|
end
|
||||||
|
|
||||||
def destroy?
|
def destroy?
|
||||||
true
|
user.manager? || user.account_manager?
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit_photos?
|
def edit_photos?
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ RSpec.describe StreamNotificationsController, type: :controller do
|
|||||||
let(:active_status) { {type: "video.live_stream.active", object: { id: "mux_stream" }} }
|
let(:active_status) { {type: "video.live_stream.active", object: { id: "mux_stream" }} }
|
||||||
let(:disconnected_status) { {type: "video.live_stream.disconnected", object: { id: "mux_stream" }} }
|
let(:disconnected_status) { {type: "video.live_stream.disconnected", object: { id: "mux_stream" }} }
|
||||||
let(:idle_status) { {type: "video.live_stream.idle", object: { id: "mux_stream" }} }
|
let(:idle_status) { {type: "video.live_stream.idle", object: { id: "mux_stream" }} }
|
||||||
|
let(:idle_status_for_unknown_broadcast) { {type: "video.live_stream.idle", object: { id: "unknown-id" }} }
|
||||||
let(:asset_ready) { {
|
let(:asset_ready) { {
|
||||||
type: "video.asset.static_renditions.ready",
|
type: "video.asset.static_renditions.ready",
|
||||||
object: { id: "asset_uid" },
|
object: { id: "asset_uid" },
|
||||||
@@ -59,6 +60,12 @@ RSpec.describe StreamNotificationsController, type: :controller do
|
|||||||
|
|
||||||
expect(BroadcastsChannel).to have_received(:stream_recording_ready)
|
expect(BroadcastsChannel).to have_received(:stream_recording_ready)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "returns OK response even for non-existing broadcast" do
|
||||||
|
post :create, params: idle_status_for_unknown_broadcast
|
||||||
|
|
||||||
|
expect(response).to be_successful
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
after do
|
after do
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
require "rails_helper"
|
require "rails_helper"
|
||||||
|
|
||||||
describe AcquiredMediaReleasePolicy do
|
describe AcquiredMediaReleasePolicy do
|
||||||
let(:user_context) { build(:user_context) }
|
let(:user) { create(:user, :manager) }
|
||||||
|
let(:user_context) { build(:user_context, user: user, account: user.primary_account) }
|
||||||
|
|
||||||
subject { described_class }
|
subject { described_class }
|
||||||
|
|
||||||
@@ -24,6 +25,14 @@ describe AcquiredMediaReleasePolicy do
|
|||||||
end
|
end
|
||||||
|
|
||||||
permissions :destroy? do
|
permissions :destroy? do
|
||||||
it { is_expected.to permit(:destroy) }
|
it { is_expected.to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "for an associate" do
|
||||||
|
let(:user) { create(:user, :associate) }
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.not_to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
require "rails_helper"
|
require "rails_helper"
|
||||||
|
|
||||||
describe AppearanceReleasePolicy do
|
describe AppearanceReleasePolicy do
|
||||||
let(:user_context) { build(:user_context) }
|
let(:user) { create(:user, :manager) }
|
||||||
|
let(:user_context) { build(:user_context, user: user, account: user.primary_account) }
|
||||||
|
|
||||||
subject { described_class }
|
subject { described_class }
|
||||||
|
|
||||||
@@ -24,6 +25,14 @@ describe AppearanceReleasePolicy do
|
|||||||
end
|
end
|
||||||
|
|
||||||
permissions :destroy? do
|
permissions :destroy? do
|
||||||
it { is_expected.to permit(:destroy) }
|
it { is_expected.to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "for an associate" do
|
||||||
|
let(:user) { create(:user, :associate) }
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.not_to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
require "rails_helper"
|
require "rails_helper"
|
||||||
|
|
||||||
describe LocationReleasePolicy do
|
describe LocationReleasePolicy do
|
||||||
let(:user_context) { build(:user_context) }
|
let(:user) { create(:user, :manager) }
|
||||||
|
let(:user_context) { build(:user_context, user: user, account: user.primary_account) }
|
||||||
|
|
||||||
subject { described_class }
|
subject { described_class }
|
||||||
|
|
||||||
@@ -23,10 +24,6 @@ describe LocationReleasePolicy do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
permissions :destroy? do
|
|
||||||
it { is_expected.to permit(:destroy) }
|
|
||||||
end
|
|
||||||
|
|
||||||
permissions :edit_photos? do
|
permissions :edit_photos? do
|
||||||
it { is_expected.to permit(:edit_photos) }
|
it { is_expected.to permit(:edit_photos) }
|
||||||
end
|
end
|
||||||
@@ -34,4 +31,16 @@ describe LocationReleasePolicy do
|
|||||||
permissions :update_photos? do
|
permissions :update_photos? do
|
||||||
it { is_expected.to permit(:update_photos) }
|
it { is_expected.to permit(:update_photos) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "for an associate" do
|
||||||
|
let(:user) { create(:user, :associate) }
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.not_to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
require "rails_helper"
|
require "rails_helper"
|
||||||
|
|
||||||
describe MaterialReleasePolicy do
|
describe MaterialReleasePolicy do
|
||||||
let(:user_context) { build(:user_context) }
|
let(:user) { create(:user, :manager) }
|
||||||
|
let(:user_context) { build(:user_context, user: user, account: user.primary_account) }
|
||||||
|
|
||||||
subject { described_class }
|
subject { described_class }
|
||||||
|
|
||||||
@@ -23,10 +24,6 @@ describe MaterialReleasePolicy do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
permissions :destroy? do
|
|
||||||
it { is_expected.to permit(:destroy) }
|
|
||||||
end
|
|
||||||
|
|
||||||
permissions :edit_photos? do
|
permissions :edit_photos? do
|
||||||
it { is_expected.to permit(:edit_photos) }
|
it { is_expected.to permit(:edit_photos) }
|
||||||
end
|
end
|
||||||
@@ -34,4 +31,16 @@ describe MaterialReleasePolicy do
|
|||||||
permissions :update_photos? do
|
permissions :update_photos? do
|
||||||
it { is_expected.to permit(:update_photos) }
|
it { is_expected.to permit(:update_photos) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "for an associate" do
|
||||||
|
let(:user) { create(:user, :associate) }
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.not_to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
require "rails_helper"
|
require "rails_helper"
|
||||||
|
|
||||||
describe MedicalReleasePolicy do
|
describe MedicalReleasePolicy do
|
||||||
let(:user_context) { build(:user_context) }
|
let(:user) { create(:user, :manager) }
|
||||||
|
let(:user_context) { build(:user_context, user: user, account: user.primary_account) }
|
||||||
|
|
||||||
subject { described_class }
|
subject { described_class }
|
||||||
|
|
||||||
@@ -23,10 +24,6 @@ describe MedicalReleasePolicy do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
permissions :destroy? do
|
|
||||||
it { is_expected.to permit(:destroy) }
|
|
||||||
end
|
|
||||||
|
|
||||||
permissions :edit_photos? do
|
permissions :edit_photos? do
|
||||||
it { is_expected.to permit(:edit_photos) }
|
it { is_expected.to permit(:edit_photos) }
|
||||||
end
|
end
|
||||||
@@ -34,4 +31,16 @@ describe MedicalReleasePolicy do
|
|||||||
permissions :update_photos? do
|
permissions :update_photos? do
|
||||||
it { is_expected.to permit(:update_photos) }
|
it { is_expected.to permit(:update_photos) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "for an associate" do
|
||||||
|
let(:user) { create(:user, :associate) }
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.not_to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
require "rails_helper"
|
require "rails_helper"
|
||||||
|
|
||||||
describe MiscReleasePolicy do
|
describe MiscReleasePolicy do
|
||||||
let(:user_context) { build(:user_context) }
|
let(:user) { create(:user, :manager) }
|
||||||
|
let(:user_context) { build(:user_context, user: user, account: user.primary_account) }
|
||||||
|
|
||||||
subject { described_class }
|
subject { described_class }
|
||||||
|
|
||||||
@@ -19,10 +20,6 @@ describe MiscReleasePolicy do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
permissions :destroy? do
|
|
||||||
it { is_expected.to permit(:destroy) }
|
|
||||||
end
|
|
||||||
|
|
||||||
permissions :edit_photos? do
|
permissions :edit_photos? do
|
||||||
it { is_expected.to permit(:edit_photos) }
|
it { is_expected.to permit(:edit_photos) }
|
||||||
end
|
end
|
||||||
@@ -30,4 +27,16 @@ describe MiscReleasePolicy do
|
|||||||
permissions :update_photos? do
|
permissions :update_photos? do
|
||||||
it { is_expected.to permit(:update_photos) }
|
it { is_expected.to permit(:update_photos) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "for an associate" do
|
||||||
|
let(:user) { create(:user, :associate) }
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.not_to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
require "rails_helper"
|
require "rails_helper"
|
||||||
|
|
||||||
RSpec.describe MusicReleasePolicy do
|
RSpec.describe MusicReleasePolicy do
|
||||||
let(:user_context) { build(:user_context) }
|
let(:user) { create(:user, :manager) }
|
||||||
|
let(:user_context) { build(:user_context, user: user, account: user.primary_account) }
|
||||||
|
|
||||||
subject { described_class }
|
subject { described_class }
|
||||||
|
|
||||||
@@ -18,6 +19,14 @@ RSpec.describe MusicReleasePolicy do
|
|||||||
end
|
end
|
||||||
|
|
||||||
permissions :destroy? do
|
permissions :destroy? do
|
||||||
it { is_expected.to permit(:destroy) }
|
it { is_expected.to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "for an associate" do
|
||||||
|
let(:user) { create(:user, :associate) }
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.not_to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
require "rails_helper"
|
require "rails_helper"
|
||||||
|
|
||||||
describe TalentReleasePolicy do
|
describe TalentReleasePolicy do
|
||||||
let(:user_context) { build(:user_context) }
|
let(:user) { create(:user, :manager) }
|
||||||
|
let(:user_context) { build(:user_context, user: user, account: user.primary_account) }
|
||||||
|
|
||||||
subject { described_class }
|
subject { described_class }
|
||||||
|
|
||||||
@@ -23,10 +24,6 @@ describe TalentReleasePolicy do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
permissions :destroy? do
|
|
||||||
it { is_expected.to permit(:destroy) }
|
|
||||||
end
|
|
||||||
|
|
||||||
permissions :edit_photos? do
|
permissions :edit_photos? do
|
||||||
it { is_expected.to permit(:edit_photos) }
|
it { is_expected.to permit(:edit_photos) }
|
||||||
end
|
end
|
||||||
@@ -34,4 +31,16 @@ describe TalentReleasePolicy do
|
|||||||
permissions :update_photos? do
|
permissions :update_photos? do
|
||||||
it { is_expected.to permit(:update_photos) }
|
it { is_expected.to permit(:update_photos) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "for an associate" do
|
||||||
|
let(:user) { create(:user, :associate) }
|
||||||
|
|
||||||
|
permissions :destroy? do
|
||||||
|
it { is_expected.not_to permit(user_context, :destroy) }
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user