;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*- (declaim (optimize (speed 0) (safety 3) (debug 3))) (in-package :resume) (defclass resume-pkg (record-pkg) () (:documentation "")) ;; resumes (defmethod get-all-resumes ((resume-pkg resume-pkg) (user user)) (let ((resume (make-instance 'resume :user_id (id user)))) (get-records resume-pkg resume "name asc"))) (defmethod get-resume ((resume-pkg resume-pkg) (resume resume)) (get-record resume-pkg resume)) (defmethod insert-resume ((resume-pkg resume-pkg) (resume resume)) (setf (*table resume) (format nil "resume.insert_resume(~a, '~a')" (user_id resume) (name resume))) (caar (call-pg-function resume-pkg resume))) (defmethod update-resume ((resume-pkg resume-pkg) (resume resume)) (update-record resume-pkg resume)) (defmethod delete-resume ((resume-pkg resume-pkg) (resume resume)) (setf (*table resume) (format nil "resume.delete_resume(~a)" (id resume))) (caar (call-pg-function resume-pkg resume))) ;; contactinfo (defmethod get-all-contactinfo ((resume-pkg resume-pkg) (user user)) (let ((contactinfo-v (make-instance 'contactinfo-v :user_id (id user)))) (get-records resume-pkg contactinfo-v "state_name asc, city asc, address asc, email asc, phone asc, visastatus asc"))) (defmethod get-contactinfo ((resume-pkg resume-pkg) (contactinfo-v contactinfo-v)) (get-record resume-pkg contactinfo-v)) (defmethod insert-contactinfo ((resume-pkg resume-pkg) (contactinfo contactinfo)) (setf (*table contactinfo) (format nil "resume.insert_contactinfo(~a, ~a, ~a, '~a', '~a', '~a', '~a')" (user_id contactinfo) (state_id contactinfo) (visastatus_id contactinfo) (address contactinfo) (city contactinfo) (phone contactinfo) (email contactinfo))) (caar (call-pg-function resume-pkg contactinfo))) (defmethod update-contactinfo ((resume-pkg resume-pkg) (contactinfo contactinfo)) (update-record resume-pkg contactinfo)) (defmethod delete-contactinfo ((resume-pkg resume-pkg) (contactinfo contactinfo)) (delete-record resume-pkg contactinfo)) ;; education ;; language ;; job