The system SHALL define a TypeScript interface SessionInfo to standardize session information passed in API requests.
userID: string - User unique identifieruserCode: string - User login codeuserName: string - User display namelocID: string - Current location/department IDlocDesc: string - Current location/department descriptiongroupID: string - User group IDgroupDesc: string - User group descriptionhospID: string - Hospital IDhospCode: string - Hospital codehospDesc: string - Hospital descriptionlangID: number - Language ID (default: 1)langDesc: string - Language descriptionchangeFlag: string - Change flag indicatorchangeDesc: string - Change descriptiondefaultMenuType: string - Default menu typemainInterface: string - Main interface identifierpath: string - Current pathsessionID: string - Session unique identifierThe system SHALL provide a getDefaultSession function to retrieve session information from localStorage or return default empty values.
getDefaultSession is called and localStorage contains valid session datagetDefaultSession is called and localStorage has no session datagetDefaultSession is called and localStorage contains invalid JSONThe system SHALL include session information as a required field in all API request bodies.
invoke functionsession field as an array containing one SessionInfo object{ code: string, params: any[], session: [SessionInfo], pagination?: [Pagination] }The system SHALL update the invoke function signature to accept session and pagination as separate optional parameters.
invoke function(code: string, params?: any[], session?: SessionInfo, pagination?: any)invoke without pagination (e.g., save/delete operations)code and params parametersinvoke for paginated queriesundefined as the session parameter to use defaultpagination: [paginationObject]