From 4384b353d9df4d9ab7b958b8081fccf3d9f5aacb Mon Sep 17 00:00:00 2001 From: Colin Okay Date: Thu, 27 Oct 2022 16:00:26 -0500 Subject: Add: user invite features --- model.lisp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'model.lisp') diff --git a/model.lisp b/model.lisp index 42142ed..a866088 100644 --- a/model.lisp +++ b/model.lisp @@ -2,6 +2,8 @@ (in-package :vampire) +;;; CLASSES + (defclass/bknr keyed () ((key :r :std (nuid) :index-type string-unique-index @@ -16,7 +18,9 @@ (pwhash :with))) (defclass/bknr invite (keyed) - ((maker :r :std nil) + ((maker :ri :std nil + :index-type hash-index + :index-reader invites-by-maker) (uses-remaining :std nil))) (defclass/bknr playlist (keyed) @@ -106,6 +110,14 @@ (hash-string pw (user-pwsalt user))) user)))) +(defun destroy-invite (invite) + (with-transaction () + (bknr.datastore:delete-object invite))) + +(defun make-invite (user &optional uses) + (with-transaction () + (make-instance 'invite :maker user :uses-remaining uses))) + (defun append-track (pl tr) (with-transaction () (add-track tr pl))) -- cgit v1.2.3