mirror of
https://github.com/lingble/chatwoot.git
synced 2025-10-29 18:22:53 +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