64 lines
1.5 KiB
JavaScript
64 lines
1.5 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
*/
|
|
|
|
import ApplicationAdapter from './application';
|
|
import { encodePath } from 'vault/utils/path-encoding-helpers';
|
|
|
|
export default ApplicationAdapter.extend({
|
|
revokePrefix(prefix) {
|
|
let url = this.buildURL() + '/leases/revoke-prefix/' + encodePath(prefix);
|
|
url = url.replace(/\/$/, '');
|
|
return this.ajax(url, 'PUT');
|
|
},
|
|
|
|
forceRevokePrefix(prefix) {
|
|
let url = this.buildURL() + '/leases/revoke-force/' + encodePath(prefix);
|
|
url = url.replace(/\/$/, '');
|
|
return this.ajax(url, 'PUT');
|
|
},
|
|
|
|
renew(lease_id, increment) {
|
|
const url = this.buildURL() + '/leases/renew';
|
|
return this.ajax(url, 'PUT', {
|
|
data: {
|
|
lease_id,
|
|
increment,
|
|
},
|
|
});
|
|
},
|
|
|
|
deleteRecord(store, type, snapshot) {
|
|
const lease_id = snapshot.id;
|
|
return this.ajax(this.buildURL() + '/leases/revoke', 'PUT', {
|
|
data: {
|
|
lease_id,
|
|
},
|
|
});
|
|
},
|
|
|
|
queryRecord(store, type, query) {
|
|
const { lease_id } = query;
|
|
return this.ajax(this.buildURL() + '/leases/lookup', 'PUT', {
|
|
data: {
|
|
lease_id,
|
|
},
|
|
});
|
|
},
|
|
|
|
query(store, type, query) {
|
|
const prefix = query.prefix || '';
|
|
return this.ajax(this.buildURL() + '/leases/lookup/' + encodePath(prefix), 'GET', {
|
|
data: {
|
|
list: true,
|
|
},
|
|
}).then((resp) => {
|
|
if (prefix) {
|
|
resp.prefix = prefix;
|
|
}
|
|
return resp;
|
|
});
|
|
},
|
|
});
|