summaryrefslogtreecommitdiff
path: root/service/inetorg-delete-service.lisp
blob: 7c27480ac28461491f3fc1305c74a4a684d2f78f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
(declaim (optimize (speed 0) (safety 3) (debug 3)))

(in-package :ldapadmin)

(defclass inetorg-delete-service (auth-service)
  ((cn :initarg :cn
       :initform nil
       :accessor cn)
   (location-p :initform nil))
  (:documentation ""))

(defun inetorg-delete-json (cn)
  (with-auth (instance inetorg-delete-service)
    (setf (cn instance) cn)))

(defclass inetorg-delete-submit-service (auth-service)
  ((location-p :initform nil))
  (:documentation ""))

(defun inetorg-delete-submit-json (cn)
  (with-auth (instance inetorg-delete-submit-service)
    (with-ldap (ldap)
      (let ((ldap-user (get-ldap-user ldap cn)))
        (delete-ldap-user ldap-user ldap)
        (setf (session-value :message) "InetOrg entry deleted successfully.")))))