summaryrefslogtreecommitdiff
path: root/lisp/sql
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/sql')
-rw-r--r--lisp/sql/contactinfo.lisp17
-rw-r--r--lisp/sql/resume-pkg.lisp43
-rw-r--r--lisp/sql/visastatus.lisp6
3 files changed, 62 insertions, 4 deletions
diff --git a/lisp/sql/contactinfo.lisp b/lisp/sql/contactinfo.lisp
index 83c271d..efaed37 100644
--- a/lisp/sql/contactinfo.lisp
+++ b/lisp/sql/contactinfo.lisp
@@ -7,6 +7,9 @@
((id :initarg :id
:initform nil
:accessor id)
+ (user_id :initarg :user_id
+ :initform nil
+ :accessor user_id)
(address :initarg :address
:initform nil
:accessor address)
@@ -28,3 +31,17 @@
(*table :initform "resume.contactinfo")
(*where-expression :initform "id = ~a"))
(:documentation "Holds the data for a resume.contactinfo record."))
+
+(defclass contactinfo-v (contactinfo)
+ ((state_name :initarg :state_name
+ :initform nil
+ :accessor state_name)
+ (state_abbr :initarg :state_abbr
+ :initform nil
+ :accessor state_abbr)
+ (visastatus :initarg :visastatus
+ :initform nil
+ :accessor visastatus)
+ (*table :initform "resume.contactinfo_v")
+ (*where-expression :initform "id = ~a"))
+ (:documentation "Holds the data for a resume.contactinfo_v record."))
diff --git a/lisp/sql/resume-pkg.lisp b/lisp/sql/resume-pkg.lisp
index 8a7b0fa..a0fc3d2 100644
--- a/lisp/sql/resume-pkg.lisp
+++ b/lisp/sql/resume-pkg.lisp
@@ -7,7 +7,9 @@
()
(:documentation ""))
-(defmethod get-all-resumes-for-user ((resume-pkg resume-pkg) (user user))
+;; 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")))
@@ -29,3 +31,42 @@
"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
+
+
diff --git a/lisp/sql/visastatus.lisp b/lisp/sql/visastatus.lisp
index 3f6293c..a4c6744 100644
--- a/lisp/sql/visastatus.lisp
+++ b/lisp/sql/visastatus.lisp
@@ -7,9 +7,9 @@
((id :initarg :id
:initform nil
:accessor id)
- (visastatus :initarg :visastatus
- :initform nil
- :accessor visastatus)
+ (status :initarg :status
+ :initform nil
+ :accessor status)
(*table :initform "resume.visastatus")
(*where-expression :initform "id = ~a"))
(:documentation "Holds the data for a resume.visastatus record."))