diff --git a/.github/workflows/changerawr-sync.yml b/.github/workflows/changerawr-sync.yml index c4cdaed8..364b2dac 100644 --- a/.github/workflows/changerawr-sync.yml +++ b/.github/workflows/changerawr-sync.yml @@ -2,6 +2,7 @@ permissions: contents: read issues: write + pull-requests: read on: pull_request: @@ -17,30 +18,111 @@ jobs: runs-on: ubuntu-latest steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 10 + + - name: Extract and prepare release notes + id: prepare_notes + env: + GH_TOKEN: ${{ github.token }} + run: | + set -eo pipefail + + # Function to extract release notes from PR body + extract_release_notes() { + local body="$1" + + # Remove "Summary by CodeRabbit" section and auto-generated comment line + local cleaned_body="$(printf '%s\n' "$body" \ + | grep -v '' \ + | awk ' + BEGIN { skip=0 } + /^## Summary by CodeRabbit/ { skip=1; next } + /^## / && skip==1 { skip=0 } + skip==0 { print } + ')" + + # Try to extract content under "## Release Notes" heading + local notes="$(printf '%s\n' "$cleaned_body" \ + | awk 'f && /^## /{exit} /^## Release Notes/{f=1; next} f')" + + # If no specific section found, use the entire cleaned body + if [ -z "$notes" ]; then + notes="$cleaned_body" + fi + + printf '%s\n' "$notes" + } + + echo "Fetching PR #${{ github.event.pull_request.number }} details..." + + # Fetch the PR body using GitHub CLI + PR_BODY=$(gh pr view "${{ github.event.pull_request.number }}" --json body --jq '.body' 2>/dev/null || echo "") + + NOTES="" + if [ -n "$PR_BODY" ]; then + echo "PR body found, extracting release notes..." + NOTES="$(extract_release_notes "$PR_BODY")" + fi + + # Fallback to PR title and recent commits if no body found + if [ -z "$NOTES" ] || [ "$NOTES" = "" ]; then + echo "No PR body found, using PR title and commits..." + NOTES="## ${{ github.event.pull_request.title }}" + NOTES="$NOTES"$'\n\n'"$(git log -n 5 --pretty=format:'- %s')" + fi + + # Save to file and environment + echo "$NOTES" > release_notes.txt + + # For multiline output, use delimiter + { + echo 'RELEASE_NOTES<> "$GITHUB_OUTPUT" + + echo "Release notes prepared:" + cat release_notes.txt + - name: Post to Changerawr API uses: actions/github-script@v7 env: CHANGERAWR_API_KEY: ${{ secrets.CHANGERAWR_API_KEY }} CHANGERAWR_PROJECT_ID: ${{ secrets.CHANGERAWR_PROJECT_ID }} + RELEASE_NOTES: ${{ steps.prepare_notes.outputs.RELEASE_NOTES }} with: script: | - const prBody = context.payload.pull_request.body || ''; const prNumber = context.payload.pull_request.number; const prTitle = context.payload.pull_request.title; const prUrl = context.payload.pull_request.html_url; + const releaseNotes = process.env.RELEASE_NOTES || ''; + + // Check if required secrets are set + if (!process.env.CHANGERAWR_API_KEY || !process.env.CHANGERAWR_PROJECT_ID) { + console.log('⚠️ Changerawr API credentials not configured, skipping release notes submission'); + return; + } // Prepare the payload for Changerawr API const payload = { - notes: prBody, + title: prTitle, + content: releaseNotes, metadata: { pr_number: prNumber, pr_title: prTitle, pr_url: prUrl, merged_at: context.payload.pull_request.merged_at, - merged_by: context.payload.pull_request.merged_by?.login || 'unknown' + merged_by: context.payload.pull_request.merged_by?.login || 'unknown', + commit_sha: context.payload.pull_request.merge_commit_sha } }; + console.log('Sending release notes to Changerawr...'); + console.log('Payload:', JSON.stringify(payload, null, 2)); + try { const response = await fetch( `https://clog.resgrid.com/api/projects/${process.env.CHANGERAWR_PROJECT_ID}/changelog`, @@ -54,23 +136,36 @@ jobs: } ); + const responseText = await response.text(); + if (!response.ok) { - const errorText = await response.text(); - throw new Error(`Changerawr API request failed: ${response.status} - ${errorText}`); + console.warn(`⚠️ Changerawr API request failed: ${response.status} - ${responseText}`); + // Don't fail the workflow, just log the error + return; } - const result = await response.json(); - console.log('Successfully posted to Changerawr:', result); + let result; + try { + result = JSON.parse(responseText); + } catch (e) { + result = responseText; + } + + console.log('✅ Successfully posted to Changerawr:', result); // Optionally, comment on the PR with confirmation - await github.rest.issues.createComment({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: prNumber, - body: '✅ Change notes have been posted to Changerawr.' - }); + try { + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: prNumber, + body: '✅ Change notes have been posted to Changerawr.' + }); + } catch (commentError) { + console.log('Could not post comment to PR:', commentError.message); + } } catch (error) { - console.error('Error posting to Changerawr:', error); - core.setFailed(`Failed to post to Changerawr: ${error.message}`); + console.error('⚠️ Error posting to Changerawr:', error); + // Don't fail the workflow } diff --git a/Core/Resgrid.Services/PushService.cs b/Core/Resgrid.Services/PushService.cs index a64bd17d..f5a1cede 100644 --- a/Core/Resgrid.Services/PushService.cs +++ b/Core/Resgrid.Services/PushService.cs @@ -1,14 +1,9 @@ -using DnsClient; -using FirebaseAdmin.Messaging; -using Resgrid.Model; +using Resgrid.Model; using Resgrid.Model.Messages; using Resgrid.Model.Providers; using Resgrid.Model.Services; using System; -using System.Collections.Generic; -using System.Drawing; using System.IO; -using System.Linq; using System.Reflection; using System.Threading.Tasks; @@ -113,7 +108,7 @@ public async Task PushMessage(StandardPushMessage message, string userId, try { if (!string.IsNullOrWhiteSpace(message.DepartmentCode)) - await _novuProvider.SendUserMessage(message.Title, message.SubTitle, userId, message.DepartmentCode, string.Format("M{0}", message.MessageId), null); + await _novuProvider.SendUserMessage(message.Title, message.SubTitle, userId, message.DepartmentCode, string.Format("M{0}", message.MessageId), ((int)PushSoundTypes.Message).ToString()); } catch (Exception ex) { @@ -145,7 +140,7 @@ public async Task PushNotification(StandardPushMessage message, string use try { if (!string.IsNullOrWhiteSpace(message.DepartmentCode)) - await _novuProvider.SendUserNotification(message.Title, message.SubTitle, userId, message.DepartmentCode, string.Format("N{0}", message.MessageId), null); + await _novuProvider.SendUserNotification(message.Title, message.SubTitle, userId, message.DepartmentCode, string.Format("N{0}", message.MessageId), ((int)PushSoundTypes.Notifiation).ToString()); } catch (Exception ex) { diff --git a/Core/Resgrid.Services/Resgrid.Services.csproj b/Core/Resgrid.Services/Resgrid.Services.csproj index 8173d1f4..b213dcb8 100644 --- a/Core/Resgrid.Services/Resgrid.Services.csproj +++ b/Core/Resgrid.Services/Resgrid.Services.csproj @@ -20,7 +20,6 @@ - diff --git a/Providers/Resgrid.Providers.Email/Resgrid.Providers.Email.csproj b/Providers/Resgrid.Providers.Email/Resgrid.Providers.Email.csproj index 8982cde6..34067f74 100644 --- a/Providers/Resgrid.Providers.Email/Resgrid.Providers.Email.csproj +++ b/Providers/Resgrid.Providers.Email/Resgrid.Providers.Email.csproj @@ -42,6 +42,5 @@ - \ No newline at end of file diff --git a/Providers/Resgrid.Providers.Firebase/FirebaseAuthProvider.cs b/Providers/Resgrid.Providers.Firebase/FirebaseAuthProvider.cs deleted file mode 100644 index 33eb7db7..00000000 --- a/Providers/Resgrid.Providers.Firebase/FirebaseAuthProvider.cs +++ /dev/null @@ -1,59 +0,0 @@ -using FirebaseAdmin; -using FirebaseAdmin.Auth; -using Google.Apis.Auth.OAuth2; -using Resgrid.Config; -using Resgrid.Model.Providers; -using System.Collections.Generic; -using System.Threading.Tasks; - -namespace Resgrid.Providers.Firebase -{ - public class FirebaseAuthProvider : IFirebaseAuthProvider - { - private const string _appName = "ResponderAppFirebase"; - private static FirebaseApp _responderFirebaseApp; - - public async Task CreateResponderCustomAuthToken(string userId, Dictionary claims = null) - { - CreateResponderInstance(); - - if (_responderFirebaseApp != null) - { - string customToken = await FirebaseAuth.GetAuth(_responderFirebaseApp).CreateCustomTokenAsync(userId, claims); - return customToken; - } - - return ""; - } - - private void CreateResponderInstance() - { - // Try getting the app first - if (_responderFirebaseApp == null) - { - _responderFirebaseApp = FirebaseApp.GetInstance(_appName); - } - - // If it still doesn't exist create it - if (_responderFirebaseApp == null) - { - try - { - AppOptions options = new AppOptions(); - options.ProjectId = FirebaseConfig.ResponderProjectId; - options.ServiceAccountId = FirebaseConfig.ResponderProjectEmail; - options.Credential = GoogleCredential.FromJson(FirebaseConfig.ResponderJsonFile); - - _responderFirebaseApp = FirebaseApp.GetInstance(_appName); - - //if (_responderFirebaseApp == null) - // _responderFirebaseApp = FirebaseApp.Create(options, _appName); - } - catch (System.ArgumentException aex) - { - _responderFirebaseApp = FirebaseApp.GetInstance(_appName); - } - } - } - } -} diff --git a/Providers/Resgrid.Providers.Firebase/FirebaseProviderModule.cs b/Providers/Resgrid.Providers.Firebase/FirebaseProviderModule.cs deleted file mode 100644 index ca9419b4..00000000 --- a/Providers/Resgrid.Providers.Firebase/FirebaseProviderModule.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Autofac; -using Resgrid.Model.Providers; - -namespace Resgrid.Providers.Firebase -{ - public class FirebaseProviderModule : Module - { - protected override void Load(ContainerBuilder builder) - { - builder.RegisterType().As().SingleInstance(); - } - } -} diff --git a/Providers/Resgrid.Providers.Firebase/Resgrid.Providers.Firebase.csproj b/Providers/Resgrid.Providers.Firebase/Resgrid.Providers.Firebase.csproj deleted file mode 100644 index c2f749c9..00000000 --- a/Providers/Resgrid.Providers.Firebase/Resgrid.Providers.Firebase.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - net9.0 - Debug;Release;Docker - - - - - - - - - - - \ No newline at end of file diff --git a/Providers/Resgrid.Providers.Firebase/app.config b/Providers/Resgrid.Providers.Firebase/app.config deleted file mode 100644 index 37789e8f..00000000 --- a/Providers/Resgrid.Providers.Firebase/app.config +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/Providers/Resgrid.Providers.Firebase/packages.config b/Providers/Resgrid.Providers.Firebase/packages.config deleted file mode 100644 index d2b45dc4..00000000 --- a/Providers/Resgrid.Providers.Firebase/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/Providers/Resgrid.Providers.Messaging/NovuProvider.cs b/Providers/Resgrid.Providers.Messaging/NovuProvider.cs index 948b3857..6ef9c843 100644 --- a/Providers/Resgrid.Providers.Messaging/NovuProvider.cs +++ b/Providers/Resgrid.Providers.Messaging/NovuProvider.cs @@ -211,7 +211,7 @@ public async Task UpdateUnitSubscriberApns(int unitId, string code, string } private async Task SendNotification(string title, string body, string recipientId, string eventCode, - string type, bool enableCustomSounds, int count, string color, string workflowIdentifier) + string type, bool enableCustomSounds, int count, string color, string workflowIdentifier, string sound) { try { @@ -231,7 +231,10 @@ private async Task SendNotification(string title, string body, string reci { subject = title, body = body, - id = eventCode + eventId = eventCode, + eventCode = eventCode, + type = type, + sound = sound, }, overrides = new { @@ -253,24 +256,24 @@ private async Task SendNotification(string title, string body, string reci title = title, message = body, eventCode = eventCode, - type = type + type = type, } }, }, - apns = new + apns = new Dictionary + { + ["badge"] = count, + ["sound"] = new { - badge = count, - sound = new - { - name = GetSoundFileNameFromType(Platforms.iOS, type), - critical = channelName == "calls" ? 1 : 0, - volume = 1.0f - }, - type = type, - category = channelName, - eventCode = eventCode, + name = sound, + critical = channelName == "calls" ? 1 : 0, + volume = 1.0f }, - + ["type"] = type, + ["category"] = channelName, + ["eventCode"] = eventCode, + ["gcm.message_id"] = "123" + }, }, to = new[]{ new { @@ -298,27 +301,27 @@ private async Task SendNotification(string title, string body, string reci public async Task SendUnitDispatch(string title, string body, int unitId, string depCode, string eventCode, string type, bool enableCustomSounds, int count, string color) { - return await SendNotification(title, body, $"{depCode}_Unit_{unitId}", eventCode, type, enableCustomSounds, count, color, ChatConfig.NovuDispatchUnitWorkflowId); + return await SendNotification(title, body, $"{depCode}_Unit_{unitId}", eventCode, type, enableCustomSounds, count, color, ChatConfig.NovuDispatchUnitWorkflowId, GetSoundFileNameFromType(type)); } public async Task SendUserDispatch(string title, string body, string userId, string depCode, string eventCode, string type, bool enableCustomSounds, int count, string color) { - return await SendNotification(title, body, $"{depCode}_User_{userId}", eventCode, type, enableCustomSounds, count, color, ChatConfig.NovuDispatchUserWorkflowId); + return await SendNotification(title, body, $"{depCode}_User_{userId}", eventCode, type, enableCustomSounds, count, color, ChatConfig.NovuDispatchUserWorkflowId, GetSoundFileNameFromType(type)); } public async Task SendUserMessage(string title, string body, string userId, string depCode, string eventCode, string type) { - return await SendNotification(title, body, $"{depCode}_User_{userId}", eventCode, type, false, 0, null, ChatConfig.NovuMessageUserWorkflowId); + return await SendNotification(title, body, $"{depCode}_User_{userId}", eventCode, type, false, 0, null, ChatConfig.NovuMessageUserWorkflowId, GetSoundFileNameFromType(type)); } public async Task SendUserNotification(string title, string body, string userId, string depCode, string eventCode, string type) { - return await SendNotification(title, body, $"{depCode}_User_{userId}", eventCode, type, false, 0, null, ChatConfig.NovuNotificationUserWorkflowId); + return await SendNotification(title, body, $"{depCode}_User_{userId}", eventCode, type, false, 0, null, ChatConfig.NovuNotificationUserWorkflowId, GetSoundFileNameFromType(type)); } #region Private Push Helpers - private string GetSoundFileNameFromType(Platforms platform, string type) + private string GetSoundFileNameFromType(string type) { if (type == ((int)PushSoundTypes.CallEmergency).ToString()) { @@ -384,7 +387,7 @@ private JObject CreateAndroidNotification(string title, string subTitle, string if (count == 0) count = 1; - string soundFilename = FormatForAndroidNativePush(GetSoundFileNameFromType(Platforms.Android, type)); + string soundFilename = FormatForAndroidNativePush(GetSoundFileNameFromType(type)); dynamic pushNotification = new JObject(); @@ -453,7 +456,7 @@ private string CreateAppleNotification(string title, string subTitle, string typ category = category, sound = new ApnsSound { - name = GetSoundFileNameFromType(Platforms.iOS, type), + name = GetSoundFileNameFromType(type), critical = category == "calls" ? 1 : 0, volume = 1.0f } diff --git a/Resgrid.sln b/Resgrid.sln index 3009260c..ec6b3c02 100644 --- a/Resgrid.sln +++ b/Resgrid.sln @@ -50,8 +50,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resgrid.Providers.Cache", " EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resgrid.Providers.Claims", "Providers\Resgrid.Providers.Claims\Resgrid.Providers.Claims.csproj", "{69FC3B6C-801F-4D98-BE3E-9BC47C42F874}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resgrid.Providers.Firebase", "Providers\Resgrid.Providers.Firebase\Resgrid.Providers.Firebase.csproj", "{90F3A016-478E-49C7-AF5A-79777B89C92A}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resgrid.Providers.Geo", "Providers\Resgrid.Providers.Geo\Resgrid.Providers.Geo.csproj", "{C81FD7A4-B8CD-4D6A-88D7-DABC4D092043}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Resgrid.Providers.Email", "Providers\Resgrid.Providers.Email\Resgrid.Providers.Email.csproj", "{6016D92A-C9E2-4501-A526-611D47790B6D}" @@ -374,30 +372,6 @@ Global {69FC3B6C-801F-4D98-BE3E-9BC47C42F874}.Staging|Any CPU.Build.0 = Debug|Any CPU {69FC3B6C-801F-4D98-BE3E-9BC47C42F874}.Staging|x86.ActiveCfg = Debug|Any CPU {69FC3B6C-801F-4D98-BE3E-9BC47C42F874}.Staging|x86.Build.0 = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Azure|Any CPU.ActiveCfg = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Azure|Any CPU.Build.0 = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Azure|x86.ActiveCfg = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Azure|x86.Build.0 = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Cloud|Any CPU.ActiveCfg = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Cloud|Any CPU.Build.0 = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Cloud|x86.ActiveCfg = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Cloud|x86.Build.0 = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Debug|x86.ActiveCfg = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Debug|x86.Build.0 = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Docker|Any CPU.ActiveCfg = Docker|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Docker|Any CPU.Build.0 = Docker|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Docker|x86.ActiveCfg = Docker|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Docker|x86.Build.0 = Docker|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Release|Any CPU.Build.0 = Release|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Release|x86.ActiveCfg = Release|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Release|x86.Build.0 = Release|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Staging|Any CPU.ActiveCfg = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Staging|Any CPU.Build.0 = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Staging|x86.ActiveCfg = Debug|Any CPU - {90F3A016-478E-49C7-AF5A-79777B89C92A}.Staging|x86.Build.0 = Debug|Any CPU {C81FD7A4-B8CD-4D6A-88D7-DABC4D092043}.Azure|Any CPU.ActiveCfg = Debug|Any CPU {C81FD7A4-B8CD-4D6A-88D7-DABC4D092043}.Azure|Any CPU.Build.0 = Debug|Any CPU {C81FD7A4-B8CD-4D6A-88D7-DABC4D092043}.Azure|x86.ActiveCfg = Debug|Any CPU @@ -894,7 +868,6 @@ Global {506F9CFB-7C67-4036-920D-A85639B02544} = {F06D475C-635C-4DE4-82BA-C49A90BA8FCD} {5565BF04-1056-4B2B-AB1A-E3AD9C433283} = {F06D475C-635C-4DE4-82BA-C49A90BA8FCD} {69FC3B6C-801F-4D98-BE3E-9BC47C42F874} = {F06D475C-635C-4DE4-82BA-C49A90BA8FCD} - {90F3A016-478E-49C7-AF5A-79777B89C92A} = {F06D475C-635C-4DE4-82BA-C49A90BA8FCD} {C81FD7A4-B8CD-4D6A-88D7-DABC4D092043} = {F06D475C-635C-4DE4-82BA-C49A90BA8FCD} {6016D92A-C9E2-4501-A526-611D47790B6D} = {F06D475C-635C-4DE4-82BA-C49A90BA8FCD} {34AC4E74-A259-4FBC-8E3C-BCFD85346693} = {F06D475C-635C-4DE4-82BA-C49A90BA8FCD} @@ -918,9 +891,9 @@ Global {744B3BB7-B5F6-4002-93E2-FC0821D41963} = {89331D76-C527-479D-8F30-8033A04C625F} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {156116FF-243E-45E8-8717-DB72E95F56AF} - EnterpriseLibraryConfigurationToolBinariesPathV6 = packages\EnterpriseLibrary.Common.6.0.1304.0\lib\NET45 EnterpriseLibraryConfigurationToolBinariesPath = packages\Unity.2.1.505.2\lib\NET35;packages\Unity.Interception.2.1.505.2\lib\NET35;packages\EnterpriseLibrary.Common.5.0.505.0\lib\NET35;packages\TransientFaultHandling.Core.5.1.1209.1\lib\NET4;packages\EnterpriseLibrary.WindowsAzure.TransientFaultHandling.5.1.1212.0\lib\NET4;packages\EnterpriseLibrary.WindowsAzure.TransientFaultHandling.5.1.1212.0\DesignTime + EnterpriseLibraryConfigurationToolBinariesPathV6 = packages\EnterpriseLibrary.Common.6.0.1304.0\lib\NET45 + SolutionGuid = {156116FF-243E-45E8-8717-DB72E95F56AF} EndGlobalSection GlobalSection(CodealikeProperties) = postSolution SolutionGuid = 73e3ec62-fcea-43a4-b9ac-380e73a81ae7 diff --git a/Tests/Resgrid.Intergration.Tests/Resgrid.Intergration.Tests.csproj b/Tests/Resgrid.Intergration.Tests/Resgrid.Intergration.Tests.csproj index d0c98784..b4486c56 100644 --- a/Tests/Resgrid.Intergration.Tests/Resgrid.Intergration.Tests.csproj +++ b/Tests/Resgrid.Intergration.Tests/Resgrid.Intergration.Tests.csproj @@ -24,7 +24,6 @@ - diff --git a/Tests/Resgrid.Tests/Bootstrapper.cs b/Tests/Resgrid.Tests/Bootstrapper.cs index d806969b..d57b0613 100644 --- a/Tests/Resgrid.Tests/Bootstrapper.cs +++ b/Tests/Resgrid.Tests/Bootstrapper.cs @@ -3,7 +3,6 @@ using Resgrid.Providers.Bus; using Resgrid.Providers.Cache; using Resgrid.Providers.EmailProvider; -using Resgrid.Providers.Firebase; using Resgrid.Providers.GeoLocationProvider; using Resgrid.Providers.Marketing; using Resgrid.Providers.NumberProvider; @@ -32,8 +31,6 @@ public static void Initialize() builder.RegisterModule(new NumbersProviderModule()); builder.RegisterModule(new CacheProviderModule()); builder.RegisterModule(new MarketingModule()); - builder.RegisterModule(new FirebaseProviderModule()); - _container = builder.Build(); } diff --git a/Tests/Resgrid.Tests/Resgrid.Tests.csproj b/Tests/Resgrid.Tests/Resgrid.Tests.csproj index 868dba0e..a48f4e38 100644 --- a/Tests/Resgrid.Tests/Resgrid.Tests.csproj +++ b/Tests/Resgrid.Tests/Resgrid.Tests.csproj @@ -44,7 +44,6 @@ - diff --git a/Tools/Resgrid.Console/Program.cs b/Tools/Resgrid.Console/Program.cs index 4876b3e4..a86db302 100644 --- a/Tools/Resgrid.Console/Program.cs +++ b/Tools/Resgrid.Console/Program.cs @@ -24,7 +24,6 @@ using Resgrid.Providers.Cache; using Resgrid.Providers.Claims; using Resgrid.Providers.EmailProvider; -using Resgrid.Providers.Firebase; using Resgrid.Providers.GeoLocationProvider; using Resgrid.Providers.Marketing; using Resgrid.Providers.Messaging; @@ -165,7 +164,6 @@ static async Task Main(string[] args) builder.RegisterModule(new CacheProviderModule()); builder.RegisterModule(new MarketingModule()); builder.RegisterModule(new PdfProviderModule()); - builder.RegisterModule(new FirebaseProviderModule()); builder.RegisterModule(new VoipProviderModule()); builder.RegisterModule(new MessagingProviderModule()); diff --git a/Tools/Resgrid.Console/Resgrid.Console.csproj b/Tools/Resgrid.Console/Resgrid.Console.csproj index 371c1dba..67f17683 100644 --- a/Tools/Resgrid.Console/Resgrid.Console.csproj +++ b/Tools/Resgrid.Console/Resgrid.Console.csproj @@ -50,7 +50,6 @@ - diff --git a/Web/Resgrid.Web.Eventing/Resgrid.Web.Eventing.csproj b/Web/Resgrid.Web.Eventing/Resgrid.Web.Eventing.csproj index 5bce7527..93df6deb 100644 --- a/Web/Resgrid.Web.Eventing/Resgrid.Web.Eventing.csproj +++ b/Web/Resgrid.Web.Eventing/Resgrid.Web.Eventing.csproj @@ -62,7 +62,6 @@ - diff --git a/Web/Resgrid.Web.Eventing/Startup.cs b/Web/Resgrid.Web.Eventing/Startup.cs index dc753354..cc4d307e 100644 --- a/Web/Resgrid.Web.Eventing/Startup.cs +++ b/Web/Resgrid.Web.Eventing/Startup.cs @@ -27,7 +27,6 @@ using Resgrid.Providers.Bus.Rabbit; using Resgrid.Providers.Cache; using Resgrid.Providers.EmailProvider; -using Resgrid.Providers.Firebase; using Resgrid.Providers.GeoLocationProvider; using Resgrid.Providers.Marketing; using Resgrid.Providers.NumberProvider; @@ -35,18 +34,13 @@ using Resgrid.Repositories.DataRepository; using Resgrid.Services; using Resgrid.Web.Eventing.Hubs; -using System.Security.Claims; -using OpenIddict.Validation; using static OpenIddict.Abstractions.OpenIddictConstants; using System.Security.Cryptography.X509Certificates; using Resgrid.Web.Services.Models; using Microsoft.AspNetCore.Authentication.JwtBearer; using System.Threading.Tasks; -using OpenIddict.Server.AspNetCore; using Microsoft.IdentityModel.Logging; -using OpenIddict.Validation; using Microsoft.IdentityModel.Tokens; -using Org.BouncyCastle.Asn1.Ess; using IPNetwork = Microsoft.AspNetCore.HttpOverrides.IPNetwork; using System.Net.Http; using Resgrid.Providers.Messaging; @@ -337,7 +331,6 @@ public void ConfigureContainer(ContainerBuilder builder) builder.RegisterModule(new CacheProviderModule()); builder.RegisterModule(new MarketingModule()); builder.RegisterModule(new PdfProviderModule()); - builder.RegisterModule(new FirebaseProviderModule()); builder.RegisterModule(new MessagingProviderModule()); builder.RegisterType().As>().InstancePerLifetimeScope(); diff --git a/Web/Resgrid.Web.Services/Resgrid.Web.Services.csproj b/Web/Resgrid.Web.Services/Resgrid.Web.Services.csproj index 5e02304d..2acf3443 100644 --- a/Web/Resgrid.Web.Services/Resgrid.Web.Services.csproj +++ b/Web/Resgrid.Web.Services/Resgrid.Web.Services.csproj @@ -127,7 +127,6 @@ - diff --git a/Web/Resgrid.Web.Services/Startup.cs b/Web/Resgrid.Web.Services/Startup.cs index 5975bdc7..03071a22 100644 --- a/Web/Resgrid.Web.Services/Startup.cs +++ b/Web/Resgrid.Web.Services/Startup.cs @@ -32,7 +32,6 @@ using Resgrid.Providers.Bus.Rabbit; using Resgrid.Providers.Cache; using Resgrid.Providers.EmailProvider; -using Resgrid.Providers.Firebase; using Resgrid.Providers.GeoLocationProvider; using Resgrid.Providers.Marketing; using Resgrid.Providers.NumberProvider; @@ -594,7 +593,6 @@ public void ConfigureContainer(ContainerBuilder builder) builder.RegisterModule(new CacheProviderModule()); builder.RegisterModule(new MarketingModule()); builder.RegisterModule(new PdfProviderModule()); - builder.RegisterModule(new FirebaseProviderModule()); builder.RegisterModule(new VoipProviderModule()); builder.RegisterModule(new MessagingProviderModule()); diff --git a/Web/Resgrid.Web/Areas/User/Controllers/ContactsController.cs b/Web/Resgrid.Web/Areas/User/Controllers/ContactsController.cs index 8253aa47..54d09725 100644 --- a/Web/Resgrid.Web/Areas/User/Controllers/ContactsController.cs +++ b/Web/Resgrid.Web/Areas/User/Controllers/ContactsController.cs @@ -1,46 +1,24 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Net; -using System.Text; using System.Threading; -using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Rendering; -using Microsoft.Extensions.Options; using Resgrid.Model; using Resgrid.Model.Providers; using Resgrid.Model.Services; using Resgrid.Providers.Claims; -using Resgrid.Web.Areas.User.Models; -using Resgrid.Web.Areas.User.Models.Home; using Resgrid.Web.Helpers; -using RestSharp; using Resgrid.Framework; using Resgrid.Model.Events; -using Resgrid.Providers.Bus; -using Resgrid.Web.Options; using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Identity; using System.Threading.Tasks; -using Newtonsoft.Json; using Resgrid.Model.Helpers; -using Resgrid.Web.Areas.User.Models.BigBoardX; -using Resgrid.Model.Identity; -using IdentityUser = Resgrid.Model.Identity.IdentityUser; -using Microsoft.Extensions.Localization; -using System.Reflection; using Resgrid.Localization; -using Microsoft.AspNetCore.Localization; -using System.Web; -using Google.Api.Gax.Rest; using Resgrid.Web.Areas.User.Models.Contacts; using Resgrid.WebCore.Areas.User.Models; using Resgrid.WebCore.Areas.User.Models.Contacts; -using SharpKml.Dom.Atom; -using SharpKml.Dom; using IAuthorizationService = Resgrid.Model.Services.IAuthorizationService; -using Resgrid.WebCore.Areas.User.Models.Voice; namespace Resgrid.Web.Areas.User.Controllers { diff --git a/Web/Resgrid.Web/Areas/User/Controllers/TypesController.cs b/Web/Resgrid.Web/Areas/User/Controllers/TypesController.cs index 989baff0..421ac696 100644 --- a/Web/Resgrid.Web/Areas/User/Controllers/TypesController.cs +++ b/Web/Resgrid.Web/Areas/User/Controllers/TypesController.cs @@ -15,14 +15,9 @@ using Resgrid.Framework; using Resgrid.Providers.Claims; using Resgrid.Web.Helpers; -using Resgrid.Web.Areas.User.Models.Departments; using Microsoft.AspNetCore.Authorization; using CallType = Resgrid.Model.CallType; using IAuthorizationService = Resgrid.Model.Services.IAuthorizationService; -using SharpKml.Dom; -using FirebaseAdmin.Messaging; -using Resgrid.Web.Areas.User.Models.Departments.UnitSettings; -using Resgrid.Services; namespace Resgrid.Web.Areas.User.Controllers { diff --git a/Web/Resgrid.Web/Resgrid.Web.csproj b/Web/Resgrid.Web/Resgrid.Web.csproj index cfb943c7..8d68fe99 100644 --- a/Web/Resgrid.Web/Resgrid.Web.csproj +++ b/Web/Resgrid.Web/Resgrid.Web.csproj @@ -168,7 +168,6 @@ - diff --git a/Web/Resgrid.Web/Startup.cs b/Web/Resgrid.Web/Startup.cs index c7b7d330..6e6be519 100644 --- a/Web/Resgrid.Web/Startup.cs +++ b/Web/Resgrid.Web/Startup.cs @@ -40,7 +40,6 @@ using Resgrid.Providers.Cache; using Resgrid.Providers.Claims; using Resgrid.Providers.EmailProvider; -using Resgrid.Providers.Firebase; using Resgrid.Providers.GeoLocationProvider; using Resgrid.Providers.Marketing; using Resgrid.Providers.Messaging; @@ -491,7 +490,6 @@ public void ConfigureContainer(ContainerBuilder builder) builder.RegisterModule(new CacheProviderModule()); builder.RegisterModule(new MarketingModule()); builder.RegisterModule(new PdfProviderModule()); - builder.RegisterModule(new FirebaseProviderModule()); builder.RegisterModule(new VoipProviderModule()); builder.RegisterModule(new MessagingProviderModule()); diff --git a/Web/Resgrid.Web/WebBootstrapper.cs b/Web/Resgrid.Web/WebBootstrapper.cs index 293bcc33..811f9659 100644 --- a/Web/Resgrid.Web/WebBootstrapper.cs +++ b/Web/Resgrid.Web/WebBootstrapper.cs @@ -10,7 +10,6 @@ using Resgrid.Providers.Bus.Rabbit; using Resgrid.Providers.Cache; using Resgrid.Providers.EmailProvider; -using Resgrid.Providers.Firebase; using Resgrid.Providers.GeoLocationProvider; using Resgrid.Providers.Marketing; using Resgrid.Providers.Messaging; @@ -45,7 +44,6 @@ public static void Initialize(IServiceCollection services) builder.RegisterModule(new CacheProviderModule()); builder.RegisterModule(new MarketingModule()); builder.RegisterModule(new PdfProviderModule()); - builder.RegisterModule(new FirebaseProviderModule()); builder.RegisterModule(new VoipProviderModule()); builder.RegisterModule(new MessagingProviderModule()); diff --git a/Workers/Resgrid.Workers.Console/Resgrid.Workers.Console.csproj b/Workers/Resgrid.Workers.Console/Resgrid.Workers.Console.csproj index bd1bcd36..679fcfce 100644 --- a/Workers/Resgrid.Workers.Console/Resgrid.Workers.Console.csproj +++ b/Workers/Resgrid.Workers.Console/Resgrid.Workers.Console.csproj @@ -48,7 +48,6 @@ - diff --git a/Workers/Resgrid.Workers.Framework/Bootstrapper.cs b/Workers/Resgrid.Workers.Framework/Bootstrapper.cs index a92c3d08..00290ebf 100644 --- a/Workers/Resgrid.Workers.Framework/Bootstrapper.cs +++ b/Workers/Resgrid.Workers.Framework/Bootstrapper.cs @@ -2,13 +2,11 @@ using Autofac; using Autofac.Extras.CommonServiceLocator; using CommonServiceLocator; -using Microsoft.Extensions.DependencyInjection; using Resgrid.Providers.AddressVerification; using Resgrid.Providers.Bus; using Resgrid.Providers.Bus.Rabbit; using Resgrid.Providers.Cache; using Resgrid.Providers.EmailProvider; -using Resgrid.Providers.Firebase; using Resgrid.Providers.GeoLocationProvider; using Resgrid.Providers.Marketing; using Resgrid.Providers.Messaging; @@ -46,7 +44,6 @@ public static void Initialize() builder.RegisterModule(new CacheProviderModule()); builder.RegisterModule(new MarketingModule()); builder.RegisterModule(new PdfProviderModule()); - builder.RegisterModule(new FirebaseProviderModule()); builder.RegisterModule(new VoipProviderModule()); builder.RegisterModule(new MessagingProviderModule()); diff --git a/Workers/Resgrid.Workers.Framework/Resgrid.Workers.Framework.csproj b/Workers/Resgrid.Workers.Framework/Resgrid.Workers.Framework.csproj index 5b0e3e9f..31336260 100644 --- a/Workers/Resgrid.Workers.Framework/Resgrid.Workers.Framework.csproj +++ b/Workers/Resgrid.Workers.Framework/Resgrid.Workers.Framework.csproj @@ -20,7 +20,6 @@ -