2016-10-18 19:20:51 -07:00
|
|
|
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
|
|
|
|
//
|
|
|
|
// This software (Documize Community Edition) is licensed under
|
|
|
|
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
|
|
|
|
//
|
|
|
|
// You can operate outside the AGPL restrictions by purchasing
|
|
|
|
// Documize Enterprise Edition and obtaining a commercial license
|
|
|
|
// by contacting <sales@documize.com>.
|
|
|
|
//
|
|
|
|
// https://documize.com
|
|
|
|
|
2017-11-16 13:28:05 +00:00
|
|
|
import Service, { inject as service } from '@ember/service';
|
2016-10-18 19:20:51 -07:00
|
|
|
|
2017-11-16 13:28:05 +00:00
|
|
|
export default Service.extend({
|
2016-10-18 19:20:51 -07:00
|
|
|
sessionService: service('session'),
|
|
|
|
ajax: service(),
|
|
|
|
appMeta: service(),
|
|
|
|
store: service(),
|
|
|
|
|
2017-02-22 20:03:40 -08:00
|
|
|
// Returns SMTP configuration.
|
|
|
|
getSMTPConfig() {
|
2016-10-18 19:20:51 -07:00
|
|
|
if(this.get('sessionService.isGlobalAdmin')) {
|
2017-02-22 20:03:40 -08:00
|
|
|
return this.get('ajax').request(`global/smtp`, {
|
2016-10-18 19:20:51 -07:00
|
|
|
method: 'GET'
|
|
|
|
}).then((response) => {
|
|
|
|
return response;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2017-02-22 20:03:40 -08:00
|
|
|
// Saves SMTP configuration.
|
|
|
|
saveSMTPConfig(config) {
|
2016-10-18 19:20:51 -07:00
|
|
|
if(this.get('sessionService.isGlobalAdmin')) {
|
2017-02-22 20:03:40 -08:00
|
|
|
return this.get('ajax').request(`global/smtp`, {
|
2016-10-18 19:20:51 -07:00
|
|
|
method: 'PUT',
|
|
|
|
data: JSON.stringify(config)
|
|
|
|
});
|
|
|
|
}
|
2017-02-22 20:03:40 -08:00
|
|
|
},
|
|
|
|
|
|
|
|
// Returns product license.
|
|
|
|
getLicense() {
|
|
|
|
if(this.get('sessionService.isGlobalAdmin')) {
|
|
|
|
return this.get('ajax').request(`global/license`, {
|
|
|
|
method: 'GET',
|
|
|
|
dataType: "text"
|
|
|
|
}).then((response) => {
|
|
|
|
return response;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2017-02-23 16:39:23 -08:00
|
|
|
// Saves product license.
|
2017-02-22 20:03:40 -08:00
|
|
|
saveLicense(license) {
|
|
|
|
if(this.get('sessionService.isGlobalAdmin')) {
|
|
|
|
return this.get('ajax').request(`global/license`, {
|
|
|
|
method: 'PUT',
|
|
|
|
dataType: 'text',
|
|
|
|
data: license
|
|
|
|
});
|
|
|
|
}
|
2017-03-14 17:19:53 +00:00
|
|
|
},
|
|
|
|
|
2017-04-13 16:22:19 +01:00
|
|
|
// Returns auth config for Documize instance.
|
|
|
|
getAuthConfig() {
|
|
|
|
if(this.get('sessionService.isGlobalAdmin')) {
|
|
|
|
return this.get('ajax').request(`global/auth`, {
|
|
|
|
method: 'GET'
|
|
|
|
}).then((response) => {
|
|
|
|
return response;
|
|
|
|
});
|
|
|
|
}
|
2018-03-29 12:23:09 +01:00
|
|
|
},
|
2017-04-13 16:22:19 +01:00
|
|
|
|
2017-03-14 17:19:53 +00:00
|
|
|
// Saves auth config for Documize instance.
|
|
|
|
saveAuthConfig(config) {
|
|
|
|
if(this.get('sessionService.isGlobalAdmin')) {
|
|
|
|
return this.get('ajax').request(`global/auth`, {
|
|
|
|
method: 'PUT',
|
|
|
|
data: JSON.stringify(config)
|
|
|
|
});
|
|
|
|
}
|
2017-03-19 14:25:21 +00:00
|
|
|
},
|
|
|
|
|
2018-08-28 10:19:22 +01:00
|
|
|
syncKeycloak() {
|
2017-04-27 12:43:11 +01:00
|
|
|
if(this.get('sessionService.isAdmin')) {
|
2018-08-28 10:19:22 +01:00
|
|
|
return this.get('ajax').request(`global/sync/keycloak`, {
|
|
|
|
method: 'GET'
|
|
|
|
}).then((response) => {
|
|
|
|
return response;
|
|
|
|
}).catch((error) => {
|
|
|
|
return error;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
syncLDAP() {
|
|
|
|
if(this.get('sessionService.isAdmin')) {
|
|
|
|
return this.get('ajax').request(`global/sync/ldap`, {
|
2017-03-19 14:25:21 +00:00
|
|
|
method: 'GET'
|
|
|
|
}).then((response) => {
|
|
|
|
return response;
|
2017-03-28 10:25:32 +01:00
|
|
|
}).catch((error) => {
|
|
|
|
return error;
|
2017-03-19 14:25:21 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
2018-03-29 12:23:09 +01:00
|
|
|
|
2018-09-03 17:36:54 +01:00
|
|
|
previewLDAP(config) {
|
|
|
|
if(this.get('sessionService.isAdmin')) {
|
|
|
|
return this.get('ajax').request(`global/sync/ldap/preview`, {
|
|
|
|
method: 'POST',
|
|
|
|
data: JSON.stringify(config)
|
|
|
|
}).then((response) => {
|
|
|
|
return response;
|
|
|
|
}).catch((error) => {
|
|
|
|
return error;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2018-03-29 12:23:09 +01:00
|
|
|
// Returns product license.
|
|
|
|
searchStatus() {
|
|
|
|
if (this.get('sessionService.isGlobalAdmin')) {
|
|
|
|
return this.get('ajax').request(`global/search/status`, {
|
|
|
|
method: 'GET',
|
|
|
|
}).then((response) => {
|
|
|
|
return response;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
// Saves product license.
|
|
|
|
reindex() {
|
|
|
|
if (this.get('sessionService.isGlobalAdmin')) {
|
|
|
|
return this.get('ajax').request(`global/search/reindex`, {
|
|
|
|
method: 'POST',
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
2016-10-18 19:20:51 -07:00
|
|
|
});
|