mirror of
https://github.com/MikroWizard/mikrofront.git
synced 2025-07-24 21:05:05 +02:00
665 lines
19 KiB
TypeScript
665 lines
19 KiB
TypeScript
import { Injectable } from '@angular/core';
|
|
import { HttpClient } from '@angular/common/http';
|
|
// import { MikroWizardrpcProvider } from '../MikroWizardrpc/MikroWizardrpc';
|
|
import { MikroWizardProvider } from './provider';
|
|
|
|
|
|
import { User } from './user';
|
|
|
|
@Injectable()
|
|
export class dataProvider {
|
|
|
|
// public serverUrl: string = "/api";
|
|
public serverUrl: string = "http://192.168.1.26:3000";
|
|
private db: string = "NothingImportant";
|
|
private apiUrl: string = "/api";
|
|
|
|
constructor(
|
|
// private http: HTTP,
|
|
// public MikroWizardRPC: MikroWizardrpcProvider,
|
|
public MikroWizardRPC: MikroWizardProvider,
|
|
private http: HttpClient
|
|
) {
|
|
this.MikroWizardRPC.init({
|
|
MikroWizard_server: this.serverUrl
|
|
});
|
|
}
|
|
|
|
isLoggedIn() {
|
|
return this.MikroWizardRPC.isLoggedIn();
|
|
}
|
|
|
|
login(username: string = "", password: string = "", ga: string = "") {
|
|
var _self = this;
|
|
this.MikroWizardRPC.clearCookeis();
|
|
return this.MikroWizardRPC.login(this.db, username, password, ga).then(res => {
|
|
if ('uid' in res && res['uid']) {
|
|
let usr: User = new User(
|
|
res.name,
|
|
res.username,
|
|
res.partner_id,
|
|
res.uid,
|
|
res.first_name,
|
|
res.last_name,
|
|
res.role,
|
|
res.perms,
|
|
res.tz,
|
|
);
|
|
localStorage.setItem('current_user', JSON.stringify(usr));
|
|
}
|
|
return res;
|
|
});
|
|
}
|
|
|
|
logout() {
|
|
var _self = this;
|
|
_self.MikroWizardRPC.clearCookeis();
|
|
this.MikroWizardRPC.setNewSession('', '');
|
|
localStorage.removeItem('current_user');
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/logout", {});
|
|
}
|
|
|
|
////
|
|
//// MikroWizard API
|
|
////
|
|
get_front_version(){
|
|
return this.MikroWizardRPC.sendHttpGetRequest("/api/frontver/");
|
|
}
|
|
change_password(oldpass:string,newpass:string){
|
|
var data={
|
|
'oldpass':oldpass,
|
|
'newpass':newpass
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/user/change_password", data);
|
|
}
|
|
dashboard_stats(versioncheck:boolean,front_version:string){
|
|
var data={
|
|
'versioncheck':versioncheck,
|
|
'front_version':front_version
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dashboard/stats", data);
|
|
}
|
|
monitoring_devices_events(page:number,textfilter:string=''){
|
|
var data={
|
|
'page':page,
|
|
'textfilter':textfilter
|
|
}
|
|
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/monitoring/devs/get", data);
|
|
}
|
|
|
|
monitoring_events_fix(event_id:number){
|
|
var data={
|
|
'event_id':event_id
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/monitoring/events/fix", data);
|
|
}
|
|
|
|
monitoring_all_events(devid:number,page:number){
|
|
var data={
|
|
'devid':devid,
|
|
'page':page
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/monitoring/events/get", data);
|
|
}
|
|
monitoring_unfixed_events(devid:number){
|
|
var data={
|
|
'devid':devid
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/monitoring/eventunfixed/get", data);
|
|
}
|
|
dashboard_traffic(delta:string){
|
|
var data={
|
|
'delta':delta
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dashboard/traffic", data);
|
|
}
|
|
|
|
get_dev_list(data:any) {
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dev/list", data);
|
|
}
|
|
|
|
get_devgroup_list() {
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/devgroup/list", {});
|
|
}
|
|
|
|
get_devgroup_members(gid:number) {
|
|
var data={
|
|
'gid':gid
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/devgroup/members", data);
|
|
}
|
|
delete_group(id:number){
|
|
var data={
|
|
'gid':id
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/devgroup/delete", data);
|
|
}
|
|
|
|
delete_devices(devids:any){
|
|
var data = {
|
|
'devids':devids
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dev/delete", data);
|
|
}
|
|
|
|
get_dev_info(id: number) {
|
|
var data={
|
|
'devid':id
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dev/info", data);
|
|
}
|
|
|
|
get_editform(id: number) {
|
|
var data={
|
|
'devid':id
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dev/get_editform", data);
|
|
}
|
|
save_editform(data:any){
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dev/save_editform", data);
|
|
}
|
|
get_dev_sensors(id: number,delta:string="5m",total_type:string="bps") {
|
|
var data={
|
|
'devid':id,
|
|
'delta':delta,
|
|
'total':total_type
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dev/sensors", data);
|
|
}
|
|
get_dev_radio_sensors(id: number, delta:string="5m"){
|
|
var data={
|
|
'devid':id,
|
|
'delta':delta
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dev/radio/sensors", data);
|
|
}
|
|
get_dev_dhcp_info(id: number){
|
|
var data={
|
|
'devid':id,
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dev/dhcp-server/get", data);
|
|
}
|
|
get_dev_ifstat(id: number,delta:string="5m",iface:string="ether1",type:string="bps") {
|
|
var data={
|
|
'devid':id,
|
|
'delta':delta,
|
|
'type':type,
|
|
'interface':iface
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dev/ifstat", data);
|
|
}
|
|
totp(action:string,userid:string){
|
|
var data={
|
|
'userid':userid,
|
|
'action':action
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/user/totp", data);
|
|
}
|
|
|
|
get_user_restrictions(uid:string){
|
|
var data={
|
|
'uid':uid
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/user/restrictions", data);
|
|
}
|
|
save_user_restrictions(uid:string,restrictions:any){
|
|
var data={
|
|
'uid':uid,
|
|
'restrictions':restrictions
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/user/save_restrictions", data);
|
|
}
|
|
|
|
mytotp(action:string,otp:any=false){
|
|
var data={
|
|
'action':action,
|
|
'otp':otp
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/user/mytotp", data);
|
|
}
|
|
|
|
get_auth_logs(filters:any) {
|
|
var data=filters;
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/auth/list", data);
|
|
}
|
|
|
|
get_account_logs(filters:any) {
|
|
var data=filters;
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/account/list", data);
|
|
}
|
|
|
|
get_dev_logs(filters:any) {
|
|
var data=filters;
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/devlogs/list", data);
|
|
}
|
|
|
|
get_syslog(filters:any) {
|
|
var data=filters;
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/syslog/list", data);
|
|
}
|
|
get_details_grouped(devid:number=0){
|
|
var data={
|
|
'devid':devid
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/devlogs/details/list", data);
|
|
}
|
|
|
|
scan_devs(type:string,info:any){
|
|
var data: any={
|
|
'type':type
|
|
}
|
|
if(type=="ip"){
|
|
data = Object.assign(data, info);
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/scanner/scan", data);
|
|
}
|
|
|
|
scan_results(){
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/scanner/results", {});
|
|
}
|
|
|
|
get_groups(searchstr:string=""){
|
|
var data={
|
|
'searchstr':searchstr
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/search/groups", data);
|
|
}
|
|
|
|
get_devices(searchstr:string=""){
|
|
var data={
|
|
'searchstr':searchstr
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/search/devices", data);
|
|
}
|
|
|
|
update_save_group(group:any){
|
|
var data={
|
|
...group
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/devgroup/update_save_group", data);
|
|
}
|
|
|
|
get_snippets(name:string,desc:string,content:string,page:number=0,size:number=1000){
|
|
var data={
|
|
'name':name,
|
|
'description':desc,
|
|
'content':content,
|
|
'page':page,
|
|
'size':size
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/snippet/list", data);
|
|
}
|
|
|
|
save_snippet(data:any){
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/snippet/save", {...data});
|
|
}
|
|
|
|
Exec_snipet(data:any,members:any) {
|
|
data['members']=members;
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/snippet/exec", data);
|
|
}
|
|
|
|
delete_snippet(id:number){
|
|
var data={
|
|
'id':id
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/snippet/delete", data);
|
|
}
|
|
|
|
get_executed_snipet(id:number){
|
|
var data={
|
|
'id':id
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/snippet/executed", data);
|
|
}
|
|
|
|
get_user_task_list() {
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/user_tasks/list", {});
|
|
}
|
|
|
|
Add_task(data:any,members:any) {
|
|
data['members']=members;
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/user_tasks/create", data);
|
|
}
|
|
|
|
Delete_task(taskid:Number) {
|
|
var data={
|
|
'taskid':taskid,
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/user_tasks/delete", data);
|
|
}
|
|
|
|
Edit_task(data:any,members:any) {
|
|
data['members']=members;
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/user_tasks/edit", data);
|
|
}
|
|
|
|
get_task_members(taskid:Number) {
|
|
var data={
|
|
'taskid':taskid,
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/taskmember/details", data);
|
|
}
|
|
|
|
get_users(page:Number,size:Number,search:string) {
|
|
var data={
|
|
'page':page,
|
|
'size':size,
|
|
'search':search
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/users/list", data);
|
|
}
|
|
|
|
get_perms(page:Number,size:Number,search:string) {
|
|
var data={
|
|
'page':page,
|
|
'size':size,
|
|
'search':search
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/perms/list", data);
|
|
}
|
|
|
|
create_perm(name:string,perms:any) {
|
|
var data={
|
|
'name':name,
|
|
'perms':perms
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/perms/create", data);
|
|
}
|
|
|
|
edit_perm(id:Number,name:string,perms:any) {
|
|
|
|
var data = {
|
|
'id':id,
|
|
'name':name,
|
|
'perms':perms
|
|
}
|
|
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/perms/edit", data);
|
|
}
|
|
|
|
delete_perm(id:number){
|
|
var data={
|
|
'id':id
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/perms/delete", data);
|
|
}
|
|
|
|
get_vault_setting(){
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/pssvault/get", {});
|
|
}
|
|
|
|
vault_task(data:any){
|
|
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/pssvault/task", data);
|
|
}
|
|
vault_history(){
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/pssvault/history", {});
|
|
}
|
|
exec_vault(){
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/pssvault/execute", {});
|
|
}
|
|
reveal_password(devid:number,username:string){
|
|
var data={
|
|
'devid':devid,
|
|
'username':username
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/pssvault/reveal", data);
|
|
}
|
|
|
|
get_passwords(data:any){
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/pssvault/get_passwords", data);
|
|
}
|
|
get_device_pass(devid:number){
|
|
var data={
|
|
'devid':devid
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/pssvault/get_device_pass", data);
|
|
}
|
|
user_perms(uid:string) {
|
|
|
|
var data = {
|
|
'uid':uid,
|
|
}
|
|
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/userperms/list", data);
|
|
}
|
|
|
|
Add_user_perm(uid:Number,permid:Number,devgroupid:Number){
|
|
|
|
var data = {
|
|
'uid':uid,
|
|
'pid':permid,
|
|
'gid':devgroupid
|
|
}
|
|
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/userperms/create", data);
|
|
}
|
|
Delete_user_perm(id:number){
|
|
var data={
|
|
'id':id
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/userperms/delete", data);
|
|
}
|
|
edit_user(data:any) {
|
|
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/user/edit", data);
|
|
}
|
|
|
|
create_user(data:any) {
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/user/create", data);
|
|
}
|
|
delete_user(id:number){
|
|
var data={
|
|
'uid':id
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/user/delete", data);
|
|
}
|
|
check_firmware(devids:any) {
|
|
var data = {
|
|
'devids':devids
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/firmware/check_firmware_update", data);
|
|
}
|
|
|
|
get_firms(page:Number,size:Number,search:any) {
|
|
var data = {
|
|
'page':page,
|
|
'size':size,
|
|
'search':search
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/firmware/get_firms", data);
|
|
}
|
|
|
|
delete_firm(id:number){
|
|
var data={
|
|
'id':id
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/firmware/delete_from_repository", data);
|
|
}
|
|
|
|
get_backups(data:any) {
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/backup/list", data);
|
|
}
|
|
|
|
get_backup(id:number){
|
|
var data = {
|
|
'id':id
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/backup/get", data);
|
|
}
|
|
restore_backup(id:number){
|
|
var data = {
|
|
'backupid':id
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/backup/restore", data);
|
|
}
|
|
|
|
get_downloadable_firms() {
|
|
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/firmware/get_downloadable_firms", {});
|
|
}
|
|
|
|
download_firmware_to_repository(version:string){
|
|
var data = {
|
|
'version':version
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/firmware/download_firmware_to_repository", data);
|
|
}
|
|
|
|
save_firmware_setting(updatebehavior:string,firmwaretoinstall:string,firmwaretoinstallv6:string){
|
|
var data = {
|
|
'updatebehavior':updatebehavior,
|
|
'firmwaretoinstall':firmwaretoinstall,
|
|
'firmwaretoinstallv6':firmwaretoinstallv6
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/firmware/update_firmware_settings", data);
|
|
}
|
|
|
|
update_firmware(devids:string){
|
|
var data = {
|
|
'devids':devids
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/firmware/update_firmware", data);
|
|
}
|
|
|
|
upgrade_firmware(devids:string){
|
|
var data = {
|
|
'devids':devids
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/firmware/upgrade_firmware", data);
|
|
}
|
|
|
|
reboot_devices(devids:string){
|
|
var data = {
|
|
'devids':devids
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/firmware/reboot_devices", data);
|
|
}
|
|
|
|
get_settings(){
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/sysconfig/get_all", {});
|
|
}
|
|
|
|
save_sys_setting(data:any){
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/sysconfig/save_all", data);
|
|
}
|
|
|
|
get_running_tasks(){
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/tasks/list", {});
|
|
}
|
|
stop_task(signal:number){
|
|
var data={
|
|
'signal':signal
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/tasks/stop", data);
|
|
}
|
|
apply_update(action:string){
|
|
var data={
|
|
'action':action
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/sysconfig/apply_update", data);
|
|
}
|
|
|
|
|
|
get_cloner_list() {
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/cloner/list", {});
|
|
}
|
|
|
|
Add_cloner(data:any,members:any) {
|
|
data['members']=members;
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/cloner/create", data);
|
|
}
|
|
|
|
Delete_cloner(clonerid:number) {
|
|
var data={
|
|
'clonerid':clonerid,
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/cloner/delete", data);
|
|
}
|
|
|
|
Edit_cloner(data:any,members:any) {
|
|
data['members']=members;
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/cloner/edit", data);
|
|
}
|
|
|
|
get_cloner_members(clonerid:number) {
|
|
var data={
|
|
'clonerid':clonerid,
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/cloner/memberdetails", data);
|
|
}
|
|
killSession(devid:number,item:any){
|
|
var data={
|
|
'devid':devid,
|
|
'item':item
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dev/kill_session", data);
|
|
}
|
|
getDhcpHistory(item:any){
|
|
var data={
|
|
'item':item
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/dhcp-history/get", data);
|
|
}
|
|
////
|
|
//// End api funcs
|
|
////
|
|
setupSession(context: any, session: any) {
|
|
this.MikroWizardRPC.clearCookeis();
|
|
this.MikroWizardRPC.setNewSession(context, session);
|
|
}
|
|
|
|
checkSessionExpired(error: any) {
|
|
console.log(error);
|
|
if ('title' in error && error.title == "session_expired")
|
|
this.logout();
|
|
return Promise.reject(error.message || error);
|
|
}
|
|
|
|
|
|
setSession(context: any, session_id: any) {
|
|
this.MikroWizardRPC.setNewSession(context, session_id);
|
|
}
|
|
|
|
getSessionInfo() {
|
|
return this.MikroWizardRPC.getSessionInfo();
|
|
}
|
|
|
|
getFullUrl(url: any) {
|
|
return this.serverUrl + url;
|
|
}
|
|
|
|
signup(username: string, organization: string, email: string, password: string) {
|
|
var data = {
|
|
'username': username,
|
|
'organization': organization,
|
|
'email': email,
|
|
'password': password
|
|
}
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/signup", data);
|
|
}
|
|
|
|
async loginWithOffice365(tokenClaims: any): Promise<any> {
|
|
try {
|
|
const data = {
|
|
tokenClaims: tokenClaims
|
|
};
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/auth/office365", data);
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
async loginWithApple(appleResponse: any): Promise<any> {
|
|
try {
|
|
const data = {
|
|
appleResponse: appleResponse
|
|
};
|
|
return this.MikroWizardRPC.sendJsonRequest("/api/auth/apple", data);
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
}
|