Commit 1579baf8 authored by Elian Kraja's avatar Elian Kraja
Browse files

Package management for mm3

parent d8c1634b
Loading
Loading
Loading
Loading
+937 −0

File added.

Preview size limit exceeded, changes collapsed.

+8 −0
Original line number Original line Diff line number Diff line
module MepmPkgm_Pics {
  
  /**
   * @desc Does the IUT support LocationAPI?
   */
  modulepar boolean PICS_PKGMGMT_API_SUPPORTED := true;
  
} // End of module LocationAPI_Pics 
+52 −0
Original line number Original line Diff line number Diff line
module MepmPkgm_Pixits {
  
  // JSON
  import from JSON all;

  // LibMec/LocationAPI
  import from MepmPkgm_TypesAndValues all;
  
  modulepar JSON.String PX_APP_PKG_NAME := "APP_PKG_NAME"

  modulepar JSON.String PX_APP_PKG_VERSION := "APP_PKG_VERSION"

  modulepar JSON.String PX_CHECKSUM := "CHECKSUM"

  modulepar JSON.String PX_APP_PKG_PATH := "APP_PKG_PATH"
  
  modulepar OperationalState PX_OPERATIONAL_STATE := ENABLED 
  
  modulepar UsageState PX_USAGE_STATE := NOT_IN_USE
  
  modulepar JSON.String PX_ON_BOARDED_APP_PKG_ID := "5abe4782-2c70-4e47-9a4e-0ee3a1a0fd1f"
  
  modulepar JSON.String PX_NON_EXISTENT_APP_PKG_ID := "NON_EXISTENT_APP_PKG_ID"
  
  modulepar JSON.AnyURI PX_CALLBACK_URI := "http://127.0.0.1/callback"
  
  modulepar SubscriptionType PX_SUBSCRIPTION_TYPE := ON_BOARDING
  
  modulepar SubscriptionTypeWithError PX_SUBSCRIPTION_TYPE_WITH_ERROR := ONBOARDING
  
  modulepar JSON.String PX_SUBSCRIPTION_ID := "e0deee2b-6e50-4f33-ab09-8bf0585025d3"

  modulepar JSON.String PX_NON_EXISTENT_SUBSCRIPTION_ID := "NON_EXISTENT_SUBSCRIPTION_ID"
  
  modulepar NotificationType PX_NOTIFICATION_TYPE := ON_BOARDING

  modulepar JSON.String PX_APP_D_ID := "5lkj4782-2c70-4e47-9a4e-0ee3a1a0fd1f"


//  modulepar JSON.String PX_APP_MOBILITY_SERVICE_ID := "KtRGymNQ84dG3mQfRepa"
//  
//  
//  modulepar SubscriptionType PX_SUBSCRIPTION_TYPE := MobilityProcedureSubscription
//  
//  
//  
//  modulepar JSON.String PX_CALLBACK_REFERENCE :=	"http://127.0.0.1/callback"
//  
//   
//  modulepar JSON.String PX_MEP_ID := "";
  
} // End of module LocationAPI_Pixits 
+95 −0
Original line number Original line Diff line number Diff line
module MepmPkgm_Templates {
  
  // JSON
  import from JSON all;
  
  // LibCommon
  import from LibCommon_BasicTypesAndValues all;
  
  import from MepmPkgm_TypesAndValues all;
  import from MepmPkgm_Pixits all;
  
  template AppPkg m_package_management (
  	in String p_appPkgName,
  	in String p_appPkgVersion,
  	in String p_checksum,
  	in String p_appPkgPath
  ) := {
    appPkgName := p_appPkgName,
    appPkgVersion := p_appPkgVersion,
    checksum := p_checksum,
    appPkgPath := p_appPkgPath
  }


  template AppPkgWithError m_package_management_with_error (
  	in String p_appPkgVersion,
  	in String p_checksum,
  	in String p_appPkgPath
  ) := {
    appPkgVersion := p_appPkgVersion,
    checksum := p_checksum,
    appPkgPath := p_appPkgPath
  }

  template (present) OnboardedAppPkgInfo mw_package_management (
    in template (present) String p_appPkgId := ?,
  	in template (present) String p_appName  := ?,
  	in template (present) String p_appDId  := ?,
  	in template (present) String p_appDVersion  := ?,
  	in template (present) String p_checksum  := ?,
  	in template (present) OperationalState p_operationalState  := ?,
  	in template (present) UsageState p_usageState  := ?
  ) := {
    appPkgId := p_appPkgId ,
    appName := p_appName,
    appDId := p_appDId ,
    appDVersion := p_appDVersion,
    checksum := p_checksum ,
    operationalState := p_operationalState,
    usageState := p_usageState 
    
  }


  template (omit) AppPkgSubscription m_app_package_subscription (
  	in template (omit) AnyURI p_callbackUri := omit,
  	in template(omit) SubscriptionType p_subscription_type := omit 
  ) := {
    callbackUri := p_callbackUri,
    subscriptionType := p_subscription_type
  }

  template (omit) AppPkgSubscriptionWithError m_app_package_subscription_with_error (
  	in template (omit) AnyURI p_callbackUri := omit,
  	in template(omit) SubscriptionTypeWithError p_subscription_type := omit 
  ) := {
    callbackUri := p_callbackUri,
    subscriptionType := p_subscription_type
  }

   
  template (present) AppPkgSubscriptionInfo mw_app_package_subscription_info (
  	in template (present) String p_subscriptionId := ?,
  	in template (present) SubscriptionType p_subscription_type := ?,
  	in template (present) AnyURI p_callbackUri	:= ?
  ) := {
    subscriptionId := p_subscriptionId ifpresent,
    subscriptionType  := p_subscription_type,
    callbackUri	:= p_callbackUri
  }

  template (present) AppPkgNotification mw_app_package_notification (
  	in template (present) String p_notificationId := ?,
  	in template (present) NotificationType p_notificationType := ?,
  	in template (present) String p_subscriptionId := ?,
  	in template (present) AnyURI p_links := ?
  ) := {
    notificationType := p_notificationType,
    subscriptionId	:= p_subscriptionId,
    links := p_links
  }
  
  
  
} // End of module LocationAPI_Templates
+259 −0
Original line number Original line Diff line number Diff line
module MepmPkgm_TypesAndValues {

// JSON
import from JSON all;

// LibCommon
import from LibCommon_BasicTypesAndValues all;


type record AppPkg {
  JSON.String appPkgName,
  JSON.String appPkgVersion,
  JSON.String checksum,
  JSON.String appPkgPath
}

type record AppPkgWithError {
  JSON.String appPkgVersion,
  JSON.String checksum,
  JSON.String appPkgPath
}

type record of OnboardedAppPkgInfo OnboardedAppPkgInfoList;
type record OnboardedAppPkgInfo {
  JSON.String appPkgId,
  JSON.String appDId,
  JSON.String appName,
  JSON.String appDVersion,
  JSON.String checksum,
  OperationalState operationalState,
  UsageState usageState
}

type enumerated AppPkgOperation {
  DISABLE,
  ENABLE,
  ABORT
}

type enumerated OperationalState {
  ENABLED,
  DISABLED,
  DELETION_PENDING
}

type enumerated UsageState {
  IN_USE,
  NOT_IN_USE
}


type enumerated SubscriptionType {
  ON_BOARDING,
  OP_CHANGE
}

type enumerated SubscriptionTypeWithError {
    ONBOARDING,
  	OP_CHANGE
}


type record of AppPkgSubscriptionInfo AppPkgSubscriptionInfoList;
type record AppPkgSubscriptionInfo {
  JSON.String subscriptionId,
  SubscriptionType subscriptionType,
  JSON.AnyURI callbackUri
}

type record AppPkgSubscription {
  JSON.AnyURI callbackUri,
  SubscriptionType subscriptionType  
}

type record AppPkgSubscriptionWithError {
  JSON.AnyURI callbackUri,
  SubscriptionTypeWithError subscriptionType  
}


type enumerated NotificationType {
  ON_BOARDING,
  OP_CHANGE
}


type record AppPkgNotification {
  NotificationType notificationType,
  JSON.String subscriptionId,
  //@TODO: links should be named _links but getting error. 
  //@TODO: links shuld be a record, but cannot contain self cause self is a key for ttnc
  JSON.AnyURI links
}


//
//
//type record of AppMobilityServiceInfo AppMobilityServiceInfos;
//type record AppMobilityServiceInfo {
//  RegistrationInfos registeredAppMobilityService ,
//  String appMobilityServiceId
//}
//
//type record of RegistrationInfo RegistrationInfos;
//type record RegistrationInfo {
//  ServiceConsumerId serviceConsumerId,
//  DeviceInformations deviceInformation optional,
//  UInt32 expiryTime optional
//}
//
//
//
//
//
//type record of ServiceConsumerId ServiceConsumerIds;
//type record ServiceConsumerId {
//  String appInstanceId optional,
//  String mepId optional
//}
//
//// Erroneous parameter: appInstance should be appInstanceId
//type record of ServiceConsumer ServiceConsumers;
//type record ServiceConsumer {
//  String appInstance optional,
//  String mepId optional
//}
//
//type record of DeviceInformation DeviceInformations;
//type record DeviceInformation {
//  String associateId
//}
//
//
//type JSON.AnyURI links;
//
//type enumerated SubscriptionType {
//	MobilityProcedureSubscription,
//	AdjacentAppInfoSubscription
//}
//
//type record Subscription {
//  JSON.AnyURI href,
//  SubscriptionType subscriptionType
//}
//
//
//type record of AmsSubscriptionLinkList AmsSubscriptionLinkLists;
//type record AmsSubscriptionLinkList {
//  JSON.AnyURI links,
//  Subscription subscription
//}
//
//
//type record MobilityProcedureSubscriptionError {
//  SubscriptionType subscriptionType,
//  JSON.AnyURI callbackReference,
//  JSON.AnyURI links optional,
//  FilterCriteria filterCriteria,
//  TimeStamp expiryDeadline optional 
//}
//
//
//
//
//type record of MobilityProcedureSubscription MobilityProcedureSubscriptions;
//type record MobilityProcedureSubscription {
//  SubscriptionType subscriptionType,
//  JSON.AnyURI callbackReference,
//  JSON.AnyURI links optional,
//  FilterCriteria filterCriteria,
//  TimeStamp expiryDeadline optional 
//}
//
//type enumerated MobilityStatusType {
//	INTERHOST_MOVEOUT_TRIGGERED,
//	TARGET_APPINST_CONFIRMED,
//	TARGET_TRAFFIC_RULE_ACTIVATED,
//	INTERHOST_MOVEOUT_COMPLETED,
//	INTERHOST_MOVEOUT_FAILED
//}
//
//type record AssociateIdList {
//  String associateId
//}
//
//type record of FilterCriteria FilterCriterias;
//type record FilterCriteria {
//	String appInstanceId optional,
//	AssociateIdList	associateId optional, 
//	MobilityStatusType mobilityStatus	
//}
//
//
//
//type record AdjacentFilterCriteria {
//	String appInstanceId optional
//}
//
//
//type record of ExpiryNotification ExpiryNotifications;
//type record ExpiryNotification {
//  TimeStamp timeStamp,
//  JSON.AnyURI links optional,
//  TimeStamp expiryDeadline
//}
//
//type record of AdjacentAppInfoSubscription  AdjacentAppInfoSubscriptions;
//type record AdjacentAppInfoSubscription {
//  SubscriptionType subscriptionType,
//  JSON.AnyURI callbackReference,
//  JSON.AnyURI links optional,
//  AdjacentFilterCriteria filterCriteria,
//  TimeStamp expiryDeadline optional
//}

  /**
   * @desc
   * @member seconds The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
   * @member nanoSeconds The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
   */
  type record TimeStamp {
    Seconds seconds,
    NanoSeconds nanoSeconds
  }
  

  /**
   * @desc The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
   */
  type UInt32 Seconds;

  /**
   * @desc The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
   */
  type UInt32 NanoSeconds;

/**
* @desc Problem Details for HTTP APIs
* @member type_ A URI reference according to IETF RFC 3986 that identifies the problem type
* @member title A short, human-readable summary of the problem type
* @member status The HTTP status code for this occurrence of the problem
* @member detail A human-readable explanation specific to this occurrence of the problem
* @member instance A URI reference that identifies the specific occurrence of the problem
* @see IETF RFC 7807 Clause 3.  The Problem Details JSON Object
*/
type record ProblemDetails {
  JSON.String type_,
  JSON.String title,
  UInt32 status,
  JSON.String detail,
  JSON.String instance
} with {
  variant (type_) "name as 'type'";
}


} with {
encode "JSON"
}
Loading