use of org.codelibs.fess.app.web.api.ApiResult.ApiUpdateResponse in project fess by codelibs.
the class ApiAdminFileconfigAction method put$setting.
// PUT /api/admin/fileconfig/setting
@Execute
public JsonResponse<ApiResult> put$setting(final CreateBody body) {
validateApi(body, messages -> {
});
body.crudMode = CrudMode.CREATE;
final FileConfig fileConfig = getFileConfig(body).map(entity -> {
try {
fileConfigService.store(entity);
} catch (final Exception e) {
throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
}
return entity;
}).orElseGet(() -> {
throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL));
return null;
});
return asJson(new ApiUpdateResponse().id(fileConfig.getId()).created(true).status(Status.OK).result());
}
use of org.codelibs.fess.app.web.api.ApiResult.ApiUpdateResponse in project fess by codelibs.
the class ApiAdminSearchlistAction method put$doc.
// PUT /api/admin/searchlist/doc
@Execute
public JsonResponse<ApiResult> put$doc(final CreateBody body) {
validateApi(body, messages -> {
});
validateCreateFields(body, v -> throwValidationErrorApi(v));
body.crudMode = CrudMode.CREATE;
final Map<String, Object> doc = getDoc(body).map(entity -> {
try {
entity.putAll(fessConfig.convertToStorableDoc(body.doc));
final String newId = ComponentUtil.getCrawlingInfoHelper().generateId(entity);
entity.put(fessConfig.getIndexFieldId(), newId);
final String index = fessConfig.getIndexDocumentUpdateIndex();
final String type = fessConfig.getIndexDocumentType();
fessEsClient.store(index, type, entity);
saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to add " + entity, e);
throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
}
return entity;
}).orElseGet(() -> {
throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateInstance(GLOBAL));
return null;
});
return asJson(new ApiUpdateResponse().id(doc.get(fessConfig.getIndexFieldDocId()).toString()).created(true).status(Status.OK).result());
}
use of org.codelibs.fess.app.web.api.ApiResult.ApiUpdateResponse in project fess by codelibs.
the class ApiAdminSearchlistAction method post$doc.
// POST /api/admin/searchlist/doc
@Execute
public JsonResponse<ApiResult> post$doc(final EditBody body) {
validateApi(body, messages -> {
});
validateUpdateFields(body, v -> throwValidationErrorApi(v));
body.crudMode = CrudMode.EDIT;
final Map<String, Object> doc = getDoc(body).map(entity -> {
try {
entity.putAll(fessConfig.convertToStorableDoc(body.doc));
final String newId = ComponentUtil.getCrawlingInfoHelper().generateId(entity);
String oldId = null;
if (newId.equals(body.id)) {
entity.put(fessConfig.getIndexFieldId(), body.id);
entity.put(fessConfig.getIndexFieldVersion(), body.version);
} else {
oldId = body.id;
entity.put(fessConfig.getIndexFieldId(), newId);
entity.remove(fessConfig.getIndexFieldVersion());
}
final String index = fessConfig.getIndexDocumentUpdateIndex();
final String type = fessConfig.getIndexDocumentType();
fessEsClient.store(index, type, entity);
if (oldId != null) {
fessEsClient.delete(index, type, oldId, body.version);
}
saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
} catch (final Exception e) {
logger.error("Failed to update " + entity, e);
throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
}
return entity;
}).orElseGet(() -> {
throwValidationErrorApi(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, body.id));
return null;
});
return asJson(new ApiUpdateResponse().id(doc.get(fessConfig.getIndexFieldDocId()).toString()).created(false).status(Status.OK).result());
}
use of org.codelibs.fess.app.web.api.ApiResult.ApiUpdateResponse in project fess by codelibs.
the class ApiAdminWebauthAction method post$setting.
// POST /api/admin/webauth/setting
@Execute
public JsonResponse<ApiResult> post$setting(final EditBody body) {
validateApi(body, messages -> {
});
body.crudMode = CrudMode.EDIT;
final WebAuthentication webAuth = getWebAuthentication(body).map(entity -> {
try {
webAuthService.store(entity);
} catch (final Exception e) {
throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
}
return entity;
}).orElseGet(() -> {
throwValidationErrorApi(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, body.id));
return null;
});
return asJson(new ApiUpdateResponse().id(webAuth.getId()).created(false).status(Status.OK).result());
}
use of org.codelibs.fess.app.web.api.ApiResult.ApiUpdateResponse in project fess by codelibs.
the class ApiAdminWebconfigAction method post$setting.
// POST /api/admin/webconfig/setting
@Execute
public JsonResponse<ApiResult> post$setting(final EditBody body) {
validateApi(body, messages -> {
});
body.crudMode = CrudMode.EDIT;
final WebConfig webConfig = getWebConfig(body).map(entity -> {
try {
webConfigService.store(entity);
} catch (final Exception e) {
throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
}
return entity;
}).orElseGet(() -> {
throwValidationErrorApi(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, body.id));
return null;
});
return asJson(new ApiUpdateResponse().id(webConfig.getId()).created(false).status(Status.OK).result());
}
Aggregations