{ "modules": [ { "name": "Profile", "methods": [ { "name": "get", "description": "Get current user profile", "return": "User", "accessLevel": "Guest", "params": [] }, { "name": "save", "description": "edit current user profile", "return": "boolean", "accessLevel": "User", "params": [ { "name": "login", "type": "string", "description": "User login. Have to be unique", "optional": false }, { "name": "name", "type": "string", "description": "User display name", "optional": false }, { "name": "password", "type": "string", "description": "Change user password if defined", "optional": true }, { "name": "values", "type": "object", "description": "User custom values", "optional": false } ] } ] }, { "name": "Auth", "methods": [ { "name": "generateToken", "description": "Generates a new API token and returns its details", "return": "ApiToken", "accessLevel": "User", "params": [ { "name": "permanent", "type": "boolean", "description": "If true, creates a token that never expires", "optional": true }, { "name": "name", "type": "string", "description": "Display name for the token. If not provided, the User-Agent header will be used", "optional": true } ] }, { "name": "authenticateByToken", "description": "Authenticates a user using an API token. Returns true if authentication is successful.", "return": "boolean", "accessLevel": "Guest", "params": [ { "name": "token", "type": "string", "description": "API token string for authentication", "optional": false } ] }, { "name": "logout", "description": "Logs out the current user. Returns true if logout is successful, false if the user is not logged in", "return": "boolean", "accessLevel": "User", "params": [] }, { "name": "authenticateByPassword", "description": "Authenticates a user using login and password. Returns true if authentication is successful.", "return": "boolean", "accessLevel": "Guest", "params": [ { "name": "login", "type": "string", "description": "User's login name", "optional": false }, { "name": "password", "type": "string", "description": "User's password", "optional": false } ] }, { "name": "getTokens", "description": "Retrieves all API tokens associated with the current user", "return": "ApiToken[]", "accessLevel": "User", "params": [] } ] }, { "name": "Users", "methods": [ { "name": "getById", "description": "Load user object by ID", "return": "User", "accessLevel": "Admin", "params": [ { "name": "id", "type": "number", "description": "User id", "optional": false } ] }, { "name": "remove", "description": "Remove user by ID", "return": "boolean", "accessLevel": "Admin", "params": [ { "name": "id", "type": "number", "description": "User id", "optional": false } ] }, { "name": "save", "description": "Save user data", "return": "User", "accessLevel": "Admin", "params": [ { "name": "user", "type": "User", "description": "User object to save", "optional": false } ] }, { "name": "getAll", "description": "Get all users as list", "return": "User[]", "accessLevel": "Admin", "params": [] } ] } ], "types": [ { "name": "ApiToken", "type": "class", "fields": [ { "name": "expirationDate", "type": "Date" }, { "name": "user", "type": "PersistenceEntity" }, { "name": "name", "type": "string" }, { "name": "uuid", "type": "UUID" }, { "name": "id", "type": "number" } ] }, { "name": "User", "type": "class", "fields": [ { "name": "login", "type": "string" }, { "name": "name", "type": "string" }, { "name": "values", "type": "object" }, { "name": "role", "type": "UserRole" }, { "name": "uuid", "type": "UUID" }, { "name": "id", "type": "number" } ] }, { "name": "UserRole", "type": "enum", "values": [ "Guest", "User", "Operator", "Admin" ] } ] }