forked from arti/doors
		
	Add kdoorpi api endpoint
This commit is contained in:
		| @@ -145,6 +145,9 @@ class DB: | ||||
|         ) | ||||
|         return cur.fetchone() | ||||
|  | ||||
|     def add_keycard(self, user_id, card_uid, name): | ||||
|         self.add_keycards([(user_id, card_uid, name)]) | ||||
|  | ||||
|     def add_keycards(self, keycards): | ||||
|         self.db.executemany(""" | ||||
|                     insert into keycards(user_id, card_uid, name) | ||||
| @@ -156,6 +159,24 @@ class DB: | ||||
|         cur = self.db.execute("select id, name, created, disabled from keycards where user_id = ?", (user_id,)) | ||||
|         return cur.fetchall() | ||||
|  | ||||
|     def list_all_keycards(self): | ||||
|         cur = self.db.execute(""" | ||||
|             select | ||||
|                 users.id as user_id, | ||||
|                 users.user as user, | ||||
|                 users.full_name as full_name, | ||||
|                 k.id as card_id, | ||||
|                 k.card_uid as card_uid | ||||
|             from users | ||||
|             join | ||||
|                 keycards k on users.id = k.user_id | ||||
|             where | ||||
|                 (users.disabled = 0 or users.disabled is null) | ||||
|             and | ||||
|                 (k.disabled is 0 or k.disabled is null) | ||||
|         """) | ||||
|         return cur.fetchall() | ||||
|  | ||||
|     @staticmethod | ||||
|     def import_ad(json_file): | ||||
|         with open(json_file) as fp: | ||||
|   | ||||
| @@ -152,3 +152,9 @@ def log(db): | ||||
| @view("doors.html") | ||||
| def doors(db): | ||||
|     return {"doors":[]} | ||||
|  | ||||
|  | ||||
| # FIXME: Add door api auth | ||||
| @app.route("/api/v1/cards", skip=[check_auth]) | ||||
| def api_list_cards(db): | ||||
|     return {"keycards":[dict(card) for card in db.list_all_keycards()]} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user