import pathlib current = pathlib.Path(__file__).parent root = current.parent import sys sys.path.append(str(root)) import assets import assets import sqlmodel def drop_db() -> None: db = pathlib.Path("./008-application_secret.db") if db.is_file(): db.unlink() drop_db() connection = sqlmodel.create_engine("sqlite:///008-application_secret.db") user_app = assets.application_user(connection) secret_app = assets.application_secret(connection) sqlmodel.SQLModel.metadata.create_all(connection) user_app.register("test", "password") apikey = user_app.login("test", "password")["apikey"] print("Create test user, apikey: " + apikey) code_key = user_app.get(apikey)["code_key"] coder = assets.code_key_manager("password", code_key).coder coded = coder.encrypt("sample") secret_app.create(apikey, "sample", "https://xyz.com", coded) print() print("Created secret.") print("Result:") print(secret_app.get(apikey, "sample")) print() print("Decoding:") print(coder.decrypt(secret_app.get(apikey, "sample")["coded"])) drop_db()