243 lines
5.9 KiB
JSON
243 lines
5.9 KiB
JSON
{
|
|
"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"
|
|
]
|
|
}
|
|
]
|
|
} |