104 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
@extends('layouts.admin')
 | 
						|
 | 
						|
@section('title')
 | 
						|
    Application API
 | 
						|
@endsection
 | 
						|
 | 
						|
@section('content-header')
 | 
						|
    <h1>Application API<small>Control access credentials for managing this Panel via the API.</small></h1>
 | 
						|
    <ol class="breadcrumb">
 | 
						|
        <li><a href="{{ route('admin.index') }}">Admin</a></li>
 | 
						|
        <li class="active">Application API</li>
 | 
						|
    </ol>
 | 
						|
@endsection
 | 
						|
 | 
						|
@section('content')
 | 
						|
    <div class="row">
 | 
						|
        <div class="col-xs-12">
 | 
						|
            <div class="box box-primary">
 | 
						|
                <div class="box-header with-border">
 | 
						|
                    <h3 class="box-title">Credentials List</h3>
 | 
						|
                    <div class="box-tools">
 | 
						|
                        <a href="{{ route('admin.api.new') }}" class="btn btn-sm btn-primary">Create New</a>
 | 
						|
                    </div>
 | 
						|
                </div>
 | 
						|
                <div class="box-body table-responsive no-padding">
 | 
						|
                    <table class="table table-hover">
 | 
						|
                        <tr>
 | 
						|
                            <th>Key</th>
 | 
						|
                            <th>Memo</th>
 | 
						|
                            <th>Last Used</th>
 | 
						|
                            <th>Created</th>
 | 
						|
                            <th></th>
 | 
						|
                        </tr>
 | 
						|
                        @foreach($keys as $key)
 | 
						|
                            <tr>
 | 
						|
                                <td><code>{{ $key->identifier }}{{ decrypt($key->token) }}</code></td>
 | 
						|
                                <td>{{ $key->memo }}</td>
 | 
						|
                                <td>
 | 
						|
                                    @if(!is_null($key->last_used_at))
 | 
						|
                                        @datetimeHuman($key->last_used_at)
 | 
						|
                                    @else
 | 
						|
                                        —
 | 
						|
                                    @endif
 | 
						|
                                </td>
 | 
						|
                                <td>@datetimeHuman($key->created_at)</td>
 | 
						|
                                <td>
 | 
						|
                                    <a href="#" data-action="revoke-key" data-attr="{{ $key->identifier }}">
 | 
						|
                                        <i class="fa fa-trash-o text-danger"></i>
 | 
						|
                                    </a>
 | 
						|
                                </td>
 | 
						|
                            </tr>
 | 
						|
                        @endforeach
 | 
						|
                    </table>
 | 
						|
                </div>
 | 
						|
            </div>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
@endsection
 | 
						|
 | 
						|
@section('footer-scripts')
 | 
						|
    @parent
 | 
						|
    <script>
 | 
						|
        $(document).ready(function() {
 | 
						|
            $('[data-action="revoke-key"]').click(function (event) {
 | 
						|
                var self = $(this);
 | 
						|
                event.preventDefault();
 | 
						|
                swal({
 | 
						|
                    type: 'error',
 | 
						|
                    title: 'Revoke API Key',
 | 
						|
                    text: 'Once this API key is revoked any applications currently using it will stop working.',
 | 
						|
                    showCancelButton: true,
 | 
						|
                    allowOutsideClick: true,
 | 
						|
                    closeOnConfirm: false,
 | 
						|
                    confirmButtonText: 'Revoke',
 | 
						|
                    confirmButtonColor: '#d9534f',
 | 
						|
                    showLoaderOnConfirm: true
 | 
						|
                }, function () {
 | 
						|
                    $.ajax({
 | 
						|
                        method: 'DELETE',
 | 
						|
                        url: '/admin/api/revoke/' + self.data('attr'),
 | 
						|
                        headers: {
 | 
						|
                            'X-CSRF-TOKEN': '{{ csrf_token() }}'
 | 
						|
                        }
 | 
						|
                    }).done(function () {
 | 
						|
                        swal({
 | 
						|
                            type: 'success',
 | 
						|
                            title: '',
 | 
						|
                            text: 'API Key has been revoked.'
 | 
						|
                        });
 | 
						|
                        self.parent().parent().slideUp();
 | 
						|
                    }).fail(function (jqXHR) {
 | 
						|
                        console.error(jqXHR);
 | 
						|
                        swal({
 | 
						|
                            type: 'error',
 | 
						|
                            title: 'Whoops!',
 | 
						|
                            text: 'An error occurred while attempting to revoke this key.'
 | 
						|
                        });
 | 
						|
                    });
 | 
						|
                });
 | 
						|
            });
 | 
						|
        });
 | 
						|
    </script>
 | 
						|
@endsection
 |