| Requires the role: | Admin | Requires the permission: | ReadData |
| GET | /stig/summary |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StigStreakView:
current_weeks: Optional[int] = None
longest_weeks: Optional[int] = None
total_scan_weeks: Optional[int] = None
total_scans: Optional[int] = None
current_week_key: Optional[str] = None
last_scan_week_key: Optional[str] = None
last_scan_utc: Optional[datetime.datetime] = None
current_streak_start_utc: Optional[datetime.datetime] = None
scanned_this_week: Optional[bool] = None
at_risk: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StigLadderView:
rungs: Optional[List[int]] = None
rungs_reached: Optional[int] = None
next_rung: Optional[int] = None
stig_to_next_rung: Optional[int] = None
progress_basis_points: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StigSummaryResult:
full_phone_number: Optional[str] = None
known: Optional[bool] = None
excluded: Optional[bool] = None
balance: Optional[int] = None
held_stig: Optional[int] = None
available: Optional[int] = None
lifetime_earned: Optional[int] = None
updated_utc: Optional[datetime.datetime] = None
streak: Optional[StigStreakView] = None
ladder: Optional[StigLadderView] = None
status_code: Optional[int] = None
message: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StigSummaryRequest:
full_phone_number: Optional[str] = None
Python StigSummaryRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /stig/summary HTTP/1.1 Host: stubbur-app.azurewebsites.net Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
fullPhoneNumber: String,
known: False,
excluded: False,
balance: 0,
heldStig: 0,
available: 0,
lifetimeEarned: 0,
updatedUtc: 0001-01-01,
streak:
{
currentWeeks: 0,
longestWeeks: 0,
totalScanWeeks: 0,
totalScans: 0,
currentWeekKey: String,
lastScanWeekKey: String,
lastScanUtc: 0001-01-01,
currentStreakStartUtc: 0001-01-01,
scannedThisWeek: False,
atRisk: False
},
ladder:
{
rungs:
[
0
],
rungsReached: 0,
nextRung: 0,
stigToNextRung: 0,
progressBasisPoints: 0
},
statusCode: 0,
message: String
}