Get employee roles by employee number¶
Summary¶
Source repository:
jef-systems/jef-one-backendSource SHA:
17bfdeb6e2392d002fc1df2729566e852b315974Source run id:
32514171359Module:
OneLambda function:
jef-one-get-employee-role-by-employee-numberHTTP method:
GETInvocation mode:
syncPackage mode:
no-packageAPI category:
One Complex Sync No Package GET APIsAPI path:
/one/complex-sync-no-packages/jef-one-get-employee-role-by-employee-numberEndpoint URL:
https://api.jefoffice.com/one/complex-sync-no-packages/jef-one-get-employee-role-by-employee-numberDocumentation scope:
lambda-complex-sync-no-packages
Synchronous Lambda Complex Rule¶
This API is documented as a synchronous Lambda complex no-package API. API Gateway waits for the Lambda result and returns the final Lambda response.
Description¶
Retrieves current role assignments and role definitions through natural keys, using a strongly consistent base-table query and direct role reads.
Payload Example¶
{
"employee_number": "10000"
}
Payload Schema¶
{
"root": {
"type": "M",
"required": true,
"attributes": {
"employee_number": {
"type": "S",
"required": true,
"pattern": "^[0-9]{5}$",
"min_length": 5,
"max_length": 5
}
}
}
}
Response Schema¶
{
"root": {
"type": "M",
"required": true,
"attributes": {
"is_accepted": {
"type": "BOOL",
"required": true
},
"can_continue": {
"type": "BOOL",
"required": true
},
"message_type": {
"type": "S",
"required": true
},
"message": {
"type": "S",
"required": true
},
"next_action": {
"type": "S",
"required": true
},
"operation": {
"type": "S",
"required": true
},
"status_code": {
"type": "N",
"required": true,
"integer": true,
"minimum": 100,
"maximum": 599
},
"failure_code": {
"type": "S",
"required": false
},
"failure_reason": {
"type": "S",
"required": false
},
"is_found": {
"type": "BOOL",
"required": true
},
"employee_roles_found": {
"type": "BOOL",
"required": true
},
"has_active_roles": {
"type": "BOOL",
"required": true
},
"employee_number": {
"type": "S",
"required": false,
"pattern": "^[0-9]{5}$",
"min_length": 5,
"max_length": 5
},
"role_count": {
"type": "N",
"required": true,
"integer": true,
"minimum": 0,
"maximum": 2
},
"active_role_count": {
"type": "N",
"required": true,
"integer": true,
"minimum": 0,
"maximum": 2
},
"roles": {
"type": "L",
"required": true,
"max_items": 2,
"items": {
"type": "M",
"required": true,
"additional_properties": false,
"attributes": {
"employee_number": {
"type": "S",
"required": true,
"pattern": "^[0-9]{5}$",
"min_length": 5,
"max_length": 5
},
"role_name": {
"type": "S",
"required": true,
"pattern": "^(user|admin)$",
"enum": [
"user",
"admin"
]
},
"role_description": {
"type": "S",
"required": false,
"min_length": 1,
"max_length": 500
},
"assignment_is_active": {
"type": "BOOL",
"required": true
},
"role_is_active": {
"type": "BOOL",
"required": true
},
"is_active": {
"type": "BOOL",
"required": true
},
"created": {
"type": "S",
"required": true,
"format": "date-time"
},
"updated": {
"type": "S",
"required": true,
"format": "date-time"
}
}
}
}
}
}
}
CMD curl¶
curl.exe -X GET "https://api.jefoffice.com/one/complex-sync-no-packages/jef-one-get-employee-role-by-employee-number"
PowerShell curl¶
curl.exe -X GET "https://api.jefoffice.com/one/complex-sync-no-packages/jef-one-get-employee-role-by-employee-number"