@@ -390,10 +390,15 @@ function setDescriptionView($cell, raw) {
390390 $ (' #remove_token_form' ).attr (' action' , baseUrl + ' /' + token_id);
391391 });
392392
393- var v1FormUrl = " {{ url (' ajax_form.php' ) } }" ;
394-
395- function v1Post (type , data ) {
396- return $ .post (v1FormUrl, $ .extend ({ type: type }, data), null , ' json' );
393+ function v1FailMessage (xhr , fallback ) {
394+ var j = xhr .responseJSON ;
395+ if (j && j .errors ) {
396+ return Object .values (j .errors )[0 ][0 ];
397+ }
398+ if (j && j .message ) {
399+ return j .message ;
400+ }
401+ return fallback;
397402 }
398403
399404 function v1ToastError (msg ) {
@@ -411,12 +416,16 @@ function v1EscapeHtml(s) {
411416 $ (' #v1-create-token-form' ).on (' submit' , function (e ) {
412417 e .preventDefault ();
413418 var $form = $ (this );
414- v1Post (' v1-token-item-create' , {
415- token_name: $form .find (' [name=token_name]' ).val (),
416- expires_in: $form .find (' [name=expires_in]' ).val ()
419+ $ .ajax ({
420+ type: ' POST' ,
421+ url: baseUrl + ' /v1' ,
422+ contentType: ' application/json' ,
423+ data: JSON .stringify ({
424+ token_name: $form .find (' [name=token_name]' ).val (),
425+ expires_in: $form .find (' [name=expires_in]' ).val ()
426+ }),
427+ dataType: ' json'
417428 }).done (function (data ) {
418- if (data .status !== ' ok' ) { v1ToastError (data .message || ' Error' ); return ; }
419-
420429 $ (' #v1-tokens-empty' ).remove ();
421430 $ (' #v1-tokens-table tbody' ).append (
422431 ' <tr id="v1-token-row-' + data .token_id + ' ">' +
@@ -433,8 +442,8 @@ function v1EscapeHtml(s) {
433442 $ (' #v1-token-plain-alert' ).removeClass (' hidden' );
434443 $ (' #v1-create-token' ).modal (' hide' );
435444 $form[0 ].reset ();
436- }).fail (function () {
437- v1ToastError (@json (__ (' Could not create token.' ) ));
445+ }).fail (function (xhr ) {
446+ v1ToastError (v1FailMessage (xhr, @json (__ (' Could not create token.' ) )));
438447 });
439448 });
440449
@@ -446,15 +455,19 @@ function v1EscapeHtml(s) {
446455 e .preventDefault ();
447456 var $form = $ (this );
448457 var tokenId = $form .find (' [name=v1_token_id]' ).val ();
449- v1Post (' v1-token-item-renew' , {
450- v1_token_id: tokenId,
451- extend_days: $form .find (' [name=extend_days]' ).val ()
458+ $ .ajax ({
459+ type: ' PATCH' ,
460+ url: baseUrl + ' /v1/' + tokenId + ' /renew' ,
461+ contentType: ' application/json' ,
462+ data: JSON .stringify ({
463+ extend_days: $form .find (' [name=extend_days]' ).val ()
464+ }),
465+ dataType: ' json'
452466 }).done (function (data ) {
453- if (data .status !== ' ok' ) { v1ToastError (data .message || ' Error' ); return ; }
454467 $ (' #v1-token-row-' + tokenId).find (' .v1-token-expires' ).text (data .expires_at );
455468 $ (' #v1-renew-token' ).modal (' hide' );
456- }).fail (function () {
457- v1ToastError (@json (__ (' Could not renew token.' ) ));
469+ }).fail (function (xhr ) {
470+ v1ToastError (v1FailMessage (xhr, @json (__ (' Could not renew token.' ) )));
458471 });
459472 });
460473
@@ -466,18 +479,18 @@ function v1EscapeHtml(s) {
466479 e .preventDefault ();
467480 var $form = $ (this );
468481 var tokenId = $form .find (' [name=v1_token_id]' ).val ();
469- v1Post ( ' v1-token-item-remove ' , {
470- v1_token_id : tokenId ,
471- confirm : ' yes '
472- }). done ( function ( data ) {
473- if ( data . status !== ' ok ' ) { v1ToastError ( data . message || ' Error ' ); return ; }
482+ $ . ajax ( {
483+ type : ' DELETE ' ,
484+ url : baseUrl + ' /v1/ ' + tokenId,
485+ dataType : ' json '
486+ }). done ( function () {
474487 $ (' #v1-token-row-' + tokenId).remove ();
475488 if ($ (' #v1-tokens-table tbody tr' ).length === 0 ) {
476489 $ (' #v1-tokens-table tbody' ).append (' <tr id="v1-tokens-empty"><td colspan="6">' + @json (__ (' No v1 API tokens yet.' ) ) + ' </td></tr>' );
477490 }
478491 $ (' #v1-confirm-delete' ).modal (' hide' );
479- }).fail (function () {
480- v1ToastError (@json (__ (' Could not delete token.' ) ));
492+ }).fail (function (xhr ) {
493+ v1ToastError (v1FailMessage (xhr, @json (__ (' Could not delete token.' ) )));
481494 });
482495 });
483496 })();
0 commit comments