| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- /*
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
- var solrAdminServices = angular.module('solrAdminServices', ['ngResource']);
- solrAdminServices.factory('System',
- ['$resource', function($resource) {
- return $resource('admin/info/system', {"wt":"json", "nodes": "@nodes", "_":Date.now()});
- }])
- .factory('Metrics',
- ['$resource', function($resource) {
- return $resource('admin/metrics', {"wt":"json", "nodes": "@nodes", "prefix":"@prefix", "_":Date.now()});
- }])
- .factory('Collections',
- ['$resource', function($resource) {
- return $resource('admin/collections',
- {'wt':'json', '_':Date.now()}, {
- "list": {params:{action: "LIST"}},
- "status": {params:{action: "CLUSTERSTATUS"}},
- "add": {params:{action: "CREATE"}},
- "delete": {params:{action: "DELETE"}},
- "rename": {params:{action: "RENAME"}},
- "createAlias": {params:{action: "CREATEALIAS"}},
- "deleteAlias": {params:{action: "DELETEALIAS"}},
- "deleteReplica": {params:{action: "DELETEREPLICA"}},
- "addReplica": {params:{action: "ADDREPLICA"}},
- "deleteShard": {params:{action: "DELETESHARD"}},
- "reload": {method: "GET", params:{action:"RELOAD", core: "@core"}}
- });
- }])
- .factory('Cores',
- ['$resource', function($resource) {
- return $resource('admin/cores',
- {'wt':'json', '_':Date.now()}, {
- "query": {},
- "list": {params:{indexInfo: false}},
- "add": {params:{action: "CREATE"}},
- "unload": {params:{action: "UNLOAD", core: "@core"}},
- "rename": {params:{action: "RENAME"}},
- "swap": {params:{action: "SWAP"}},
- "reload": {method: "GET", params:{action:"RELOAD", core: "@core"}, headers:{doNotIntercept: "true"}}
- });
- }])
- .factory('Logging',
- ['$resource', function($resource) {
- return $resource('admin/info/logging', {'wt':'json', '_':Date.now()}, {
- "events": {params: {since:'0'}},
- "levels": {},
- "setLevel": {}
- });
- }])
- .factory('Zookeeper',
- ['$resource', function($resource) {
- return $resource('admin/zookeeper', {wt:'json', _:Date.now()}, {
- "simple": {},
- "liveNodes": {params: {path: '/live_nodes'}},
- "clusterState": {params: {detail: "true", path: "/clusterstate.json"}},
- "detail": {params: {detail: "true", path: "@path"}},
- "configs": {params: {detail:false, path: "/configs/"}},
- "aliases": {params: {detail: "true", path: "/aliases.json"}, transformResponse:function(data) {
- var znode = $.parseJSON(data).znode;
- if (znode.data) {
- return {aliases: $.parseJSON(znode.data).collection};
- } else {
- return {aliases: {}};
- }
- }}
- });
- }])
- .factory('ZookeeperStatus',
- ['$resource', function($resource) {
- return $resource('admin/zookeeper/status', {wt:'json', _:Date.now()}, {
- "monitor": {}
- });
- }])
- .factory('Properties',
- ['$resource', function($resource) {
- return $resource('admin/info/properties', {'wt':'json', '_':Date.now()});
- }])
- .factory('Threads',
- ['$resource', function($resource) {
- return $resource('admin/info/threads', {'wt':'json', '_':Date.now()});
- }])
- .factory('Properties',
- ['$resource', function($resource) {
- return $resource('admin/info/properties', {'wt':'json', '_':Date.now()});
- }])
- .factory('Replication',
- ['$resource', function($resource) {
- return $resource(':core/replication', {'wt':'json', core: "@core", '_':Date.now()}, {
- "details": {params: {command: "details"}},
- "command": {params: {}}
- });
- }])
- .factory('CoreSystem',
- ['$resource', function($resource) {
- return $resource(':core/admin/system', {wt:'json', core: "@core", _:Date.now()});
- }])
- .factory('Update',
- ['$resource', function($resource) {
- return $resource(':core/:handler', {core: '@core', wt:'json', _:Date.now(), handler:'update'}, {
- "commit": {params: {commit: "true"}},
- "post": {headers: {'Content-type': 'application/json'}, method: "POST", params: {handler: '@handler'}},
- "postJson": {headers: {'Content-type': 'application/json'}, method: "POST", params: {handler: '@handler'}},
- "postXml": {headers: {'Content-type': 'text/xml'}, method: "POST", params: {handler: '@handler'}},
- "postCsv": {headers: {'Content-type': 'application/csv'}, method: "POST", params: {handler: '@handler'}}
- });
- }])
- .service('FileUpload', function ($http) {
- this.upload = function(params, file, success, error){
- var url = "" + params.core + "/" + params.handler + "?";
- raw = params.raw;
- delete params.core;
- delete params.handler;
- delete params.raw;
- url += $.param(params);
- if (raw && raw.length>0) {
- if (raw[0] != "&") raw = "&" + raw;
- url += raw;
- }
- var fd = new FormData();
- fd.append('file', file);
- $http.post(url, fd, {
- transformRequest: angular.identity,
- headers: {'Content-Type': undefined}
- }).success(success).error(error);
- }
- })
- .factory('Luke',
- ['$resource', function($resource) {
- return $resource(':core/admin/luke', {core: '@core', wt:'json', _:Date.now()}, {
- "index": {params: {numTerms: 0, show: 'index'}},
- "raw": {params: {numTerms: 0}},
- "schema": {params: {show:'schema'}},
- "field": {},
- "fields": {params: {show:'schema'}, interceptor: {
- response: function(response) {
- var fieldsAndTypes = [];
- for (var field in response.data.schema.fields) {
- fieldsAndTypes.push({group: "Fields", label: field, value: "fieldname=" + field});
- }
- for (var type in response.data.schema.types) {
- fieldsAndTypes.push({group: "Types", label: type, value: "fieldtype=" + type});
- }
- return fieldsAndTypes;
- }
- }}
- });
- }])
- .factory('Analysis',
- ['$resource', function($resource) {
- return $resource(':core/analysis/field', {core: '@core', wt:'json', _:Date.now()}, {
- "field": {params: {"analysis.showmatch": true}}
- });
- }])
- .factory('DataImport',
- ['$resource', function($resource) {
- return $resource(':core/:name', {core: '@core', name: '@name', indent:'on', wt:'json', _:Date.now()}, {
- "config": {params: {command: "show-config"}, headers: {doNotIntercept: "true"},
- transformResponse: function(data) {
- return {config: data};
- }
- },
- "status": {params: {command: "status"}, headers: {doNotIntercept: "true"}},
- "reload": {params: {command: "reload-config"}},
- "post": {method: "POST",
- headers: {'Content-type': 'application/x-www-form-urlencoded'},
- transformRequest: function(data) { return $.param(data) }}
- });
- }])
- .factory('Ping',
- ['$resource', function($resource) {
- return $resource(':core/admin/ping', {wt:'json', core: '@core', ts:Date.now(), _:Date.now()}, {
- "ping": {},
- "status": {params:{action:"status"}, headers: {doNotIntercept: "true"}
- }});
- }])
- .factory('Mbeans',
- ['$resource', function($resource) {
- return $resource(':core/admin/mbeans', {'wt':'json', core: '@core', '_':Date.now()}, {
- stats: {params: {stats: true}},
- info: {},
- reference: {
- params: {wt: "xml", stats: true}, transformResponse: function (data) {
- return {reference: data}
- }
- },
- delta: {method: "POST",
- params: {stats: true, diff:true},
- headers: {'Content-type': 'application/x-www-form-urlencoded'},
- transformRequest: function(data) {
- return "stream.body=" + encodeURIComponent(data);
- }
- }
- });
- }])
- .factory('Files',
- ['$resource', function($resource) {
- return $resource(':core/admin/file', {'wt':'json', core: '@core', '_':Date.now()}, {
- "list": {},
- "get": {method: "GET", interceptor: {
- response: function(config) {return config;}
- }, transformResponse: function(data) {
- return data;
- }}
- });
- }])
- .factory('Query',
- ['$resource', function($resource) {
- var resource = $resource(':core/:handler', {core: '@core', handler: '@handler', '_':Date.now()}, {
- "query": {
- method: "GET",
- transformResponse: function (data) {
- return {data: data}
- },
- headers: {doNotIntercept: "true"}
- }
- });
- resource.url = function(params) {
- var qs = [];
- for (key in params) {
- if (key != "core" && key != "handler") {
- for (var i in params[key]) {
- qs.push(key + "=" + encodeURIComponent(params[key][i]));
- }
- }
- }
- return "" + params.core + "/" + params.handler + "?" + qs.sort().join("&");
- }
- return resource;
- }])
- .factory('Segments',
- ['$resource', function($resource) {
- return $resource(':core/admin/segments', {'wt':'json', core: '@core', _:Date.now()}, {
- get: {}
- });
- }])
- .factory('Schema',
- ['$resource', function($resource) {
- return $resource(':core/schema', {wt: 'json', core: '@core', _:Date.now()}, {
- get: {method: "GET"},
- check: {method: "GET", headers: {doNotIntercept: "true"}},
- post: {method: "POST"}
- });
- }])
- .factory('Config',
- ['$resource', function($resource) {
- return $resource(':core/config', {wt: 'json', core: '@core', _:Date.now()}, {
- get: {method: "GET"}
- })
- }])
- .factory('AuthenticationService',
- ['base64', function (base64) {
- var service = {};
- service.SetCredentials = function (username, password) {
- var authdata = base64.encode(username + ':' + password);
- sessionStorage.setItem("auth.header", "Basic " + authdata);
- sessionStorage.setItem("auth.username", username);
- };
- service.ClearCredentials = function () {
- sessionStorage.removeItem("auth.header");
- sessionStorage.removeItem("auth.scheme");
- sessionStorage.removeItem("auth.realm");
- sessionStorage.removeItem("auth.username");
- sessionStorage.removeItem("auth.wwwAuthHeader");
- sessionStorage.removeItem("auth.statusText");
- };
- return service;
- }]);
|