summaryrefslogtreecommitdiff
path: root/service/inetorg-delete-service.lisp
blob: 1bcac653f324186087c66552ee76bc7af8fe11d8 (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
27
28
;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
(declaim (optimize (speed 0) (safety 3) (debug 3)))

(in-package #:ldapadmin)

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

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

(defclass inetorg-delete-submit (auth-service)
  ()
  (:documentation ""))

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