mirror of
https://github.com/kanidm/kanidm.git
synced 2025-02-23 12:37:00 +01:00
Wire in delete and modify to front end (unimplemented)
This commit is contained in:
parent
c090021fdf
commit
f22562a0ba
|
@ -11,10 +11,10 @@ use futures::{future, Future, Stream};
|
|||
use super::config::Configuration;
|
||||
|
||||
// SearchResult
|
||||
use super::event::{CreateEvent, SearchEvent, AuthEvent};
|
||||
use super::event::{DeleteEvent, ModifyEvent, CreateEvent, SearchEvent, AuthEvent};
|
||||
use super::filter::Filter;
|
||||
use super::log;
|
||||
use super::proto_v1::{CreateRequest, SearchRequest, AuthRequest, AuthResponse};
|
||||
use super::proto_v1::{DeleteRequest, ModifyRequest, CreateRequest, SearchRequest, AuthRequest, AuthResponse};
|
||||
use super::server;
|
||||
|
||||
struct AppState {
|
||||
|
@ -91,6 +91,18 @@ fn create(
|
|||
json_event_decode!(req, state, CreateEvent, Response, CreateRequest)
|
||||
}
|
||||
|
||||
fn modify(
|
||||
(req, state): (HttpRequest<AppState>, State<AppState>),
|
||||
) -> impl Future<Item = HttpResponse, Error = Error> {
|
||||
json_event_decode!(req, state, ModifyEvent, Response, ModifyRequest)
|
||||
}
|
||||
|
||||
fn delete(
|
||||
(req, state): (HttpRequest<AppState>, State<AppState>),
|
||||
) -> impl Future<Item = HttpResponse, Error = Error> {
|
||||
json_event_decode!(req, state, DeleteEvent, Response, DeleteRequest)
|
||||
}
|
||||
|
||||
fn search(
|
||||
(req, state): (HttpRequest<AppState>, State<AppState>),
|
||||
) -> impl Future<Item = HttpResponse, Error = Error> {
|
||||
|
@ -241,6 +253,13 @@ pub fn create_server_core(config: Configuration) {
|
|||
.resource("/v1/create", |r| {
|
||||
r.method(http::Method::POST).with_async(create)
|
||||
})
|
||||
// Should these actually be different method types?
|
||||
.resource("/v1/modify", |r| {
|
||||
r.method(http::Method::POST).with_async(modify)
|
||||
})
|
||||
.resource("/v1/delete", |r| {
|
||||
r.method(http::Method::POST).with_async(delete)
|
||||
})
|
||||
// curl --header "Content-Type: application/json" --request POST --data '{ "filter" : { "Eq": ["class", "user"] }}' http://127.0.0.1:8080/v1/search
|
||||
.resource("/v1/search", |r| {
|
||||
r.method(http::Method::POST).with_async(search)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use super::filter::Filter;
|
||||
use super::proto_v1::Entry as ProtoEntry;
|
||||
use super::proto_v1::{CreateRequest, Response, SearchRequest, SearchResponse, AuthRequest, AuthResponse, AuthStatus};
|
||||
use super::proto_v1::{CreateRequest, Response, SearchRequest, SearchResponse, AuthRequest, AuthResponse, AuthStatus, DeleteRequest, ModifyRequest};
|
||||
use actix::prelude::*;
|
||||
use entry::{Entry, EntryCommitted, EntryInvalid, EntryNew, EntryValid};
|
||||
use error::OperationError;
|
||||
|
@ -157,6 +157,10 @@ impl Message for DeleteEvent {
|
|||
}
|
||||
|
||||
impl DeleteEvent {
|
||||
pub fn from_request(request: DeleteRequest) -> Self {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
pub fn new_internal(filter: Filter) -> Self {
|
||||
DeleteEvent {
|
||||
filter: filter,
|
||||
|
@ -177,6 +181,10 @@ impl Message for ModifyEvent {
|
|||
}
|
||||
|
||||
impl ModifyEvent {
|
||||
pub fn from_request(request: ModifyRequest) -> Self {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
pub fn new_internal(filter: Filter, modlist: ModifyList) -> Self {
|
||||
ModifyEvent {
|
||||
filter: filter,
|
||||
|
|
|
@ -63,6 +63,22 @@ impl CreateRequest {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct DeleteRequest {
|
||||
pub filter: Filter,
|
||||
}
|
||||
|
||||
impl DeleteRequest {
|
||||
pub fn new(filter: Filter) -> Self {
|
||||
DeleteRequest { filter: filter }
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
pub struct ModifyRequest {
|
||||
// Probably needs a modlist?
|
||||
}
|
||||
|
||||
// Login is a multi-step process potentially. First the client says who they
|
||||
// want to request
|
||||
//
|
||||
|
|
|
@ -696,6 +696,22 @@ impl Handler<CreateEvent> for QueryServer {
|
|||
}
|
||||
}
|
||||
|
||||
impl Handler<ModifyEvent> for QueryServer {
|
||||
type Result = Result<OpResult, OperationError>;
|
||||
|
||||
fn handle(&mut self, msg: ModifyEvent, _: &mut Self::Context) -> Self::Result {
|
||||
unimplemented!()
|
||||
}
|
||||
}
|
||||
|
||||
impl Handler<DeleteEvent> for QueryServer {
|
||||
type Result = Result<OpResult, OperationError>;
|
||||
|
||||
fn handle(&mut self, msg: DeleteEvent, _: &mut Self::Context) -> Self::Result {
|
||||
unimplemented!()
|
||||
}
|
||||
}
|
||||
|
||||
impl Handler<AuthEvent> for QueryServer {
|
||||
type Result = Result<AuthResult, OperationError>;
|
||||
|
||||
|
|
Loading…
Reference in a new issue