1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess.app.web.api.admin.general;
17
18 import javax.annotation.Resource;
19
20 import org.codelibs.core.beans.util.BeanUtil;
21 import org.codelibs.core.beans.util.CopyOptions;
22 import org.codelibs.core.misc.DynamicProperties;
23 import org.codelibs.fess.app.web.admin.general.AdminGeneralAction;
24 import org.codelibs.fess.app.web.api.ApiResult;
25 import org.codelibs.fess.app.web.api.ApiResult.ApiConfigResponse;
26 import org.codelibs.fess.app.web.api.ApiResult.ApiResponse;
27 import org.codelibs.fess.app.web.api.ApiResult.Status;
28 import org.codelibs.fess.app.web.api.admin.FessApiAdminAction;
29 import org.lastaflute.web.Execute;
30 import org.lastaflute.web.response.JsonResponse;
31
32
33
34
35 public class ApiAdminGeneralAction extends FessApiAdminAction {
36
37
38
39
40 @Resource
41 protected DynamicProperties systemProperties;
42
43
44
45
46
47 @Execute
48 public JsonResponse<ApiResult> get$index() {
49 final EditBody form = new EditBody();
50 AdminGeneralAction.updateForm(fessConfig, form);
51 form.ldapAdminSecurityCredentials = null;
52 return asJson(new ApiConfigResponse().setting(form).status(Status.OK).result());
53 }
54
55
56 @Execute
57 public JsonResponse<ApiResult> post$index(final EditBody body) {
58 validateApi(body, messages -> {});
59 final EditBody newBody = new EditBody();
60 AdminGeneralAction.updateForm(fessConfig, newBody);
61 BeanUtil.copyBeanToBean(body, newBody, CopyOptions::excludeNull);
62 AdminGeneralAction.updateConfig(fessConfig, newBody);
63 return asJson(new ApiResponse().status(Status.OK).result());
64 }
65
66 }