mirror of
https://gitlab.com/TheOneWithTheBraid/dart_pkpass.git
synced 2025-07-06 05:18:47 +00:00
feat: implement web service
Signed-off-by: The one with the braid <info@braid.business>
This commit is contained in:
parent
44494eaa90
commit
6e7f19a764
26 changed files with 331 additions and 512 deletions
31
lib/pkpass/models/pass_web_service.dart
Normal file
31
lib/pkpass/models/pass_web_service.dart
Normal file
|
@ -0,0 +1,31 @@
|
|||
/// Metadata required for Pass Web Service
|
||||
///
|
||||
/// https://developer.apple.com/library/archive/documentation/PassKit/Reference/PassKit_WebService/WebService.html#//apple_ref/doc/uid/TP40011988
|
||||
class PassWebService {
|
||||
/// The authentication token to use with the web service.
|
||||
/// The token must be 16 characters or longer.
|
||||
final String authenticationToken;
|
||||
|
||||
/// The URL of a web service that conforms to the API described in PassKit Web Service Reference.
|
||||
final Uri webServiceURL;
|
||||
|
||||
const PassWebService({
|
||||
required this.authenticationToken,
|
||||
required this.webServiceURL,
|
||||
});
|
||||
|
||||
/// returns a [PassWebService] in case [authenticationToken] and
|
||||
/// [webServiceURL] are both valid values.
|
||||
static PassWebService? maybe({
|
||||
String? authenticationToken,
|
||||
String? webServiceURL,
|
||||
}) {
|
||||
if (authenticationToken == null || webServiceURL == null) return null;
|
||||
final uri = Uri.tryParse(webServiceURL);
|
||||
if (uri == null || uri.scheme != 'https') return null;
|
||||
return PassWebService(
|
||||
authenticationToken: authenticationToken,
|
||||
webServiceURL: uri,
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue