mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-31 02:57:57 +00:00 
			
		
		
		
	feat: Add a feature flag for Audit Log UI (#7035)
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
This commit is contained in:
		| @@ -157,6 +157,7 @@ const settings = accountId => ({ | ||||
|       hasSubMenu: false, | ||||
|       toState: frontendURL(`accounts/${accountId}/settings/audit-log/list`), | ||||
|       toStateName: 'auditlogs_list', | ||||
|       featureFlag: FEATURE_FLAGS.AUDIT_LOGS, | ||||
|       beta: true, | ||||
|     }, | ||||
|   ], | ||||
|   | ||||
| @@ -15,4 +15,5 @@ export const FEATURE_FLAGS = { | ||||
|   REPORTS: 'reports', | ||||
|   TEAM_MANAGEMENT: 'team_management', | ||||
|   VOICE_RECORDER: 'voice_recorder', | ||||
|   AUDIT_LOGS: 'audit_logs', | ||||
| }; | ||||
|   | ||||
| @@ -53,3 +53,5 @@ | ||||
|   enabled: false | ||||
| - name: custom_reply_domain | ||||
|   enabled: false | ||||
| - name: audit_logs | ||||
|   enabled: false | ||||
|   | ||||
| @@ -21,6 +21,14 @@ class Api::V1::Accounts::AuditLogsController < Api::V1::Accounts::BaseController | ||||
|   private | ||||
|  | ||||
|   def fetch_audit | ||||
|     @audit_logs = Current.account.associated_audits.order(created_at: :desc) | ||||
|     @audit_logs = if audit_logs_enabled? | ||||
|                     Current.account.associated_audits.order(created_at: :desc) | ||||
|                   else | ||||
|                     Current.account.associated_audits.none | ||||
|                   end | ||||
|   end | ||||
|  | ||||
|   def audit_logs_enabled? | ||||
|     Current.account.feature_enabled?(:audit_logs) | ||||
|   end | ||||
| end | ||||
|   | ||||
| @@ -27,7 +27,20 @@ RSpec.describe 'Enterprise Audit API', type: :request do | ||||
|  | ||||
|     # check for response in parse | ||||
|     context 'when it is an authenticated admin user' do | ||||
|       it 'returns empty array if feature is not enabled' do | ||||
|         get "/api/v1/accounts/#{account.id}/audit_logs", | ||||
|             headers: admin.create_new_auth_token, | ||||
|             as: :json | ||||
|  | ||||
|         expect(response).to have_http_status(:success) | ||||
|         json_response = JSON.parse(response.body) | ||||
|         expect(json_response['audit_logs']).to eql([]) | ||||
|       end | ||||
|  | ||||
|       it 'fetches audit logs associated with the account' do | ||||
|         account.enable_features(:audit_logs) | ||||
|         account.save! | ||||
|  | ||||
|         get "/api/v1/accounts/#{account.id}/audit_logs", | ||||
|             headers: admin.create_new_auth_token, | ||||
|             as: :json | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Shivam Mishra
					Shivam Mishra