Coverage for auth/lib_stat_usage.py: 69%
35 statements
« prev ^ index » next coverage.py v7.9.1, created at 2026-02-10 01:10 +0100
« prev ^ index » next coverage.py v7.9.1, created at 2026-02-10 01:10 +0100
1# -*- coding: utf-8 -*-
2__author__ = 'moilerat'
3#
4# # Safia copyright 2022-2023 VR - LICENSETOBEDEFINED : on premise treatment custom
5#
6#! Stat for usage in airtable from apia (mail send)
7#! stat connexion utilisateur dans colonne misc_info de type jsonb dans mtruser.validated_ip
8#
10def get_usage(lpgss, mtr_user_id, ipv4 = None, nb_day = None, type = None,
11 limit =0, offset = 0):
13 # TODO VR rename record or retrieve
14 data = lpgss.get_usage_connection_ip_info(mtr_user_id, ipv4, type, nb_day,
15 limit = limit, offset = offset)
17 return data
19def record_usage(mtr_user_id, ipv4, type, info_message = "default", lpgss = None):
21 try:
22 id_ipv4 = lpgss.record_ip_2fa(mtr_user_id, ipv4)
23 except Exception as e:
24 print("ERROR RECORD USAGE")
25 info = {"message": info_message}
27 if type == "link_reset_password":
28 pass
29 elif type == "code_validation_2fa":
30 pass
31 elif type == "try_connect":
32 pass
33 elif type == "link_validate_email":
34 pass
35 elif type == "usage_datou":
36 pass
38 try:
39 lpgss.record_connection_ip_info(id_ipv4, type, info)
40 except Exception as e:
41 print("ERROR RECORD record_connection_ip_info")
43 return True
48# CA c'est plutot deprecetad au 4/2/25
49class StatUsageAPIA():
51 def __init__(self, lib_at = None):
52 if lib_at != None:
53 self.connect = lib_at
54 self.connector_type = "airtable"
55 else :
56 self.connector_type = "NONE"
58 def record_usage(self,
59 mail,
60 cost,
61 input = "",
62 output = ""):
64 if self.connector_type == "airtable" :
65 return self.connect.record_usage(mail, cost, input, output)
66 else :
67 return None