|
| 1 | +import os |
1 | 2 | from socketdev.core.api import API |
2 | 3 | from socketdev.dependencies import Dependencies |
3 | 4 | from socketdev.diffscans import DiffScans |
|
26 | 27 | from socketdev.alerttypes import AlertTypes |
27 | 28 | from socketdev.basics import Basics |
28 | 29 | from socketdev.uploadmanifests import UploadManifests |
| 30 | +from socketdev.alertfullscansearch import AlertFullScanSearch |
| 31 | +from socketdev.alerts import Alerts |
| 32 | +from socketdev.fixes import Fixes |
| 33 | +from socketdev.supportedfiles import SupportedFiles |
| 34 | +from socketdev.webhooks import Webhooks |
| 35 | +from socketdev.telemetry import Telemetry |
29 | 36 | from socketdev.log import log |
| 37 | +from typing import Optional |
30 | 38 |
|
31 | 39 | __author__ = "socket.dev" |
32 | 40 | __version__ = __version__ |
|
44 | 52 |
|
45 | 53 |
|
46 | 54 | class socketdev: |
47 | | - def __init__(self, token: str, timeout: int = 1200, allow_unverified: bool = False): |
| 55 | + def __init__(self, token: Optional[str] = None, timeout: int = 1200, allow_unverified: bool = False): |
| 56 | + # Try to get token from environment variables if not provided |
| 57 | + if token is None: |
| 58 | + token = ( |
| 59 | + os.getenv("SOCKET_SECURITY_API_TOKEN") or |
| 60 | + os.getenv("SOCKET_SECURITY_API_KEY") or |
| 61 | + os.getenv("SOCKET_API_KEY") or |
| 62 | + os.getenv("SOCKET_API_TOKEN") |
| 63 | + ) |
| 64 | + |
| 65 | + if token is None: |
| 66 | + raise ValueError( |
| 67 | + "API token is required. Provide it as a parameter or set one of these environment variables: " |
| 68 | + "SOCKET_SECURITY_API_TOKEN, SOCKET_SECURITY_API_KEY, SOCKET_API_KEY, SOCKET_API_TOKEN" |
| 69 | + ) |
| 70 | + |
48 | 71 | self.api = API() |
49 | 72 | self.token = token + ":" |
50 | 73 | self.api.encode_key(self.token) |
@@ -77,6 +100,12 @@ def __init__(self, token: str, timeout: int = 1200, allow_unverified: bool = Fal |
77 | 100 | self.alerttypes = AlertTypes(self.api) |
78 | 101 | self.basics = Basics(self.api) |
79 | 102 | self.uploadmanifests = UploadManifests(self.api) |
| 103 | + self.alertfullscansearch = AlertFullScanSearch(self.api) |
| 104 | + self.alerts = Alerts(self.api) |
| 105 | + self.fixes = Fixes(self.api) |
| 106 | + self.supportedfiles = SupportedFiles(self.api) |
| 107 | + self.webhooks = Webhooks(self.api) |
| 108 | + self.telemetry = Telemetry(self.api) |
80 | 109 |
|
81 | 110 | @staticmethod |
82 | 111 | def set_timeout(timeout: int): |
|
0 commit comments