create or replace package object_vault_restapi as
/*
Copyright 2014 - 2021 by AsterionDB Inc, All rights reserved.
Database front-end package for the REST API.
Introduction:
-----------------------------------------------------------------------------------------------------------------------------------
Most of the functions and procedures that are contained within this package accept the following parameter values embedded within
the p_json_parameters parameter:
sessionId The sessionID of the restAPI client
clientAddress The IP address of the restAPI client
userAgent The restAPI client's user-agent
Here is an example of a basic JSON parameter string:
{"sessionId":"9YAZOHVGXQ0MFKCXYJWJZT5X61Z5O8LL", "clientAddress":"127.0.0.1", "userAgent":"..."}
Any exceptions to this general rule are noted within a specific function or procedure.
Each embedded parameter value is required unless noted otherwise.
JSON value keys are case sensitive.
Exception Handling:
-----------------------------------------------------------------------------------------------------------------------------------
Functions and procedures may return an exception upon detecting an error. It is the caller's responsibility to handle the
exception in accordance to the expectations of the client. While some clients may be able to process the exception directly, others
will expect an HTTP conformant error.
The error code value associated with the exception may be Oracle specific or AsterionDB specific. Valid AsterionDB error code
values are between -20000 and -20999.
AsterionDB specific errors are raised and logged directly by the data-layer logic. Oracle specific errors are not caught by
data layer logic. For Oracle specific errors it is the caller's responsibility to call object_vault_restapi.restapi_error in
order to log the error information to the AsterionDB error log. The data returned by restapi_error will contain a properly
formatted error message.
There is a setting in the AsterionDB profile that enables extended error information. Enabling this option is very useful in
development and debugging situations.
*/
SECONDS_PER_DAY constant pls_integer := 86400;
WRITE_ACCESS constant varchar2(1) := 'W';
READ_ACCESS constant varchar2(1) := 'R';
READ_WRITE_ACCESS constant varchar2(1) := 'U';
UNLIMITED constant pls_integer := -1;
OPTION_ENABLED constant varchar2(1) := 'Y';
OPTION_DISABLED constant varchar2(1) := 'N';
BLOB_OBJECT_TYPE constant varchar2(4) := 'BLOB';
CLOB_OBJECT_TYPE constant varchar2(4) := 'CLOB';
STREAM_CONTENT constant varchar2(6) := 'STREAM';
DOWNLOAD_CONTENT constant varchar2(8) := 'DOWNLOAD';
WEBAPP_CLIENT constant varchar2(12) := 'webAppClient';
API_CLIENT constant varchar2(9) := 'apiClient';
FILE_UPLOAD_CLIENT constant varchar2(16) := 'fileUploadClient';
VALID_FOR_AN_HOUR constant varchar2(6) := '1 Hour';
VALID_FOR_A_DAY constant varchar2(5) := '1 Day';
NO_EXPIRATION constant varchar2(14) := 'No Expiration';
ALL_SHARED_OBJECTS constant varchar2(18) := 'All Shared Objects';
SHARED_WITH_PUBLIC constant varchar2(18) := 'Shared With Public';
SHARED_WITH_USER constant varchar2(14) := 'Shared With Me';
-- Keyword Value Types...
KVT_CHARACTER constant varchar2(9) := 'character';
KVT_DATE constant varchar2(4) := 'date';
KVT_TIMESTAMP constant varchar2(9) := 'timestamp';
KVT_FLOAT constant varchar2(14) := 'floating point';
KVT_INTEGER constant varchar2(7) := 'integer';
KVT_JSON constant varchar2(4) := 'json';
KVT_TEXT_AREA constant varchar2(9) := 'text area';
KVT_TIME constant varchar2(4) := 'time';
KVT_TRUE_FALSE constant varchar2(13) := 'true or false';
KVT_YES_NO constant varchar2(9) := 'yes or no';
-- Session Status
SS_ACTIVE constant varchar2(6) := 'active';
SS_SESSION_LIMIT constant varchar2(13) := 'session limit';
SS_CHANGE_PASSWORD constant varchar2(15) := 'change password';
SS_TERMINATED constant varchar2(10) := 'terminated';
-- Session Disposition
SD_TIMEOUT constant varchar2(7) := 'timeout';
SD_LOGOUT constant varchar2(6) := 'logout';
SD_CANCELED constant varchar2(8) := 'canceled';
SD_ERROR constant varchar2(5) := 'error';
-- Account Types
AT_USER constant varchar2(4) := 'user';
AT_EVALUATOR constant varchar2(9) := 'evaluator';
AT_OWNER constant varchar2(5) := 'owner';
-- User Input Handling
UIH_NO_SUGGESTIONS constant varchar2(14) := 'no suggestions';
UIH_STATIC_LIST constant varchar2(11) := 'static list';
UIH_DYNAMIC_LIST constant varchar2(12) := 'dynamic list';
-- Object View Types
OVT_CATALOGED constant varchar2(9) := 'cataloged';
OVT_DELETED constant varchar2(7) := 'deleted';
OVT_UNCATALOGED constant varchar2(11) := 'uncataloged';
OVT_SHARED constant varchar2(6) := 'shared';
-- Account Status Values
AS_ACTIVE constant varchar2(6) := 'active';
AS_LOCKED constant varchar2(6) := 'locked';
AS_UNCONFIRMED constant varchar2(11) := 'unconfirmed';
AS_CHANGE_PASSWORD constant varchar2(15) := 'change password';
-- Share Status
SHS_SHARE_WITH_ALL constant varchar2(20) := 'Share With All Users';
SHS_SHARE_WITH_USERS constant varchar2(16) := 'Share With Users';
SHS_NOT_SHARED constant varchar2(10) := 'Not Shared';
SHS_VIEW_SHARED_OBJECTS constant varchar2(19) := 'View Shared Objects';
/*
procedure abandon_for_current_session
The abandon_session_for_another procedure allows a user application to abandon an active session for the current session which is
blocked due to a session limit exception.
This procedure can only be called by a session that is currently blocked due to a session limit exception.
The user application will have to call object_vault_restapi.get_active_sessions in order to present a list to the user of sessions
that can be terminated.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
sessionToTerminate The session_id of the session to terminate in favor of the current session.
Possible exceptions thrown:
error_logging_pkg.UNABLE_TO_TERMINATE
error_logging_pkg.UNBLOCK_SESSION_FAILED
*/
procedure abandon_for_current_session
(
p_json_parameters clob
);
/*
function activate_blocked_session
The activate_blocked_session function is called by a blocked session that is requesting activation after the user has terminated
an active session (i.e. on another browser/computer).
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
sessionStatus Returned value, Active or Blocked, indicates the session status.
*/
function activate_blocked_session
(
p_json_parameters clob
)
return clob;
/*
procedure assign_keyword
The assign_keyword procedure will assign a keyword/value pair to a set of objects.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordInGroupId The keyword_in_group_id value for the keyword to be associated with the object(s)
keywordValue The corresponding keyword value
objectIds An array of object_id values indicating the objects to be associated with the keyword/value pair
*/
procedure assign_keyword
(
p_json_parameters clob
);
/*
procedure associate_keyword_and_group
The associate_keyword_and_group procedure will associate a keyword with a keyword group.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordId The keyword_id value of the keyword to be associated with the keyword group
keywordGroupId The keyword_group_id value of the corresponding keyword group
*/
procedure associate_keyword_and_group
(
p_json_parameters clob
);
/*
function change_password
The change_password function allows a user to change their password. The calling application can also indicate that the user
has accepted the terms of use.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
currentPassword The user's current password
newPassword The user's new password
termsAccepted An optional value indicating that the user has accepted the terms of use. Valid values are 'Y'
or 'N'.
Embedded values in the returned JSON string value:
sessionStatus The resulting session status - 'Active' or 'Blocked'
Possible exceptions returned:
error_logging_pkg.CHANGE_PASSWORD_FAILED
error_logging_pkg.NEW_OLD_PASSWORDS_MATCH
*/
function change_password
(
p_json_parameters clob
)
return clob;
/*
function check_gmail_authorization_status
The check_gmail_authorization_status allows a restAPI client to determine the whether AsterionDB has been authorized as a GMail
SMTP client.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
authorized 'Y' or 'N'
*/
function check_gmail_authorization_status
(
p_json_parameters clob
)
return clob;
/*
function check_shared_user_equivalence
The check_shared_user_equivalence function call allows a restAPI client to determine if the set of objects have been shared with
the same group of users.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectIds An array of object_id values that identify the set of objects to be check for shared user equivalence
Embedded values in the returned JSON string value:
sharedUserEquivalence 'true' or 'false'
*/
function check_shared_user_equivalence
(
p_json_parameters clob
)
return clob;
/*
function confirm_user_registration
The confirm_user_registration function is the last step in the process of user registration. Users can self-register for access
to AsterionDB (if enabled) or be invited to register an account by the system administrator. Upon registration, the user is sent
a weblink to their primary email address. This weblink will take them to a confirmation webpage that will require the user to
log into the system in order to finalize their registration.
New user registration is initiated by calling the register_new_user procedure.
The confirmationToken can be checked for validity by calling the validate_confirmation_token procedure.
This procedure is to be called after successfully establishing a session by calling create_user_session. The user session will
be blocked and can be unblocked by calling this procedure.
Embedded parameter values:
clientAddress See introduction
userAgent See introduction
username The username of the AsterionDB user whose enrollment is to be confirmed
confirmationToken The system generated confirmation_token value associated with the new user.
Embedded values in the returned JSON string value:
accountStatus The user account status. Possible values are:
object_vault_restapi.AS_ACTIVE
object_vault_restapi.AS_LOCKED
Possible exceptions returned:
error_logging_pkg.INVALID_CONFIRMATION_DATA
*/
function confirm_user_registration
(
p_json_parameters clob
)
return clob;
/*
function create_an_object
The create_an_object function allows a client to create an object in AsterionDB. This is akin to pre-creating an output file
so that you can write data to it. The create_an_object function will return a output file name.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
source The original source path for the file. This value is required and at a minimum must be a valid
filename with an extension - path information is optional.
creationDate If specified, the original creation date of the source file. This is useful when you want to record
the creation date of the original file. This value maps to object_versions.ingested_file_cdate.
This value is specified as a unix timestamp value.
modificationDate If specified, the original modification date of the source file. This is useful when you want to
record the modification date of the original file. This value maps to
object_versions.ingested_file_mdate. This value is specified as a unix timestamp value.
accessDate If specified, the date that the original file was last accessed. This is useful when you want to
record when the original file, in the context of it's origin, was last accessed. This value maps
to object_versions.ingested_file_adate. This value is specified as a unix timestamp value.
programName If specified, the name of the program that will be used to write the object to AsterionDB.
versionedObject The create_an_object function will, by default, create an object that is unversioned. To create a
versioned object, set the versionedObject parameter to object_vault_restapi.OPTION_ENABLED.
gatewayName The DbObscura gateway that will be used to convey the file data into AsterionDB.
accessMode This value must be specified. Use the constant values object_vault_restapi.WRITE_ACCESS or
object_vault_restapi.READ_WRITE_ACCESS as appropriate for your needs.
validUntil This value, if specified, allows you to set the date at which the filename returned by this function
will expire. This value is specified using the constants object_vault_restapi.VALID_FOR_AN_HOUR,
object_vault_restapi.VALID_FOR_A_DAY or as a unix timestamp value.
accessLimit The create_an_object function will, by default, return a filename that will allow the object to be
opened once. To increase the number of times the filename can be used to open the 'file', set the
accessLimit value accordingly. Use object_vault_restapi.UNLIMITED to disable the
access limit.
enforcePidSecurity Setting enforcePidSecurity to object_vault_restapi.OPTION_ENABLED instructs the DbObscura
gateway to require that the process id of the program accessing the gateway to match, or be a
descendent of the process that called create_an_object.
enforceSidSecurity Setting enforceSidSecurity to object_vault_restapi.OPTION_ENABLED instructs the DbObscura
gateway to require that the database session that called create_an_object to still be active.
enforceIpSecurity Setting enforceIpSecurity to object_vault_restapi.OPTION_ENABLED instructs the DbObscura
gateway to require that the IP address of the DbObscura gateway match the IP address of the
host machine used to call create_an_object.
Embedded values in the returned JSON string value:
filename The filename to be used to access the object.
objectId The object_id of the newly created object.
*/
function create_an_object
(
p_json_parameters clob
)
return clob;
/*
function create_api_client_token
The create_api_client_token function will create a token that a client application can use to access the Object Vault RESTAPI.
The client token is to be used by PL/SQL based logic that will be accessing a user account within an instance of AsterionDB
that has been installed upon a common database.
Refer to the DbTwig React Example Application for an example of using an API client token.
Client tokens do not expire but can be replaced by calling create_api_client_token.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
apiClientToken The user's API client token value.
*/
function create_api_client_token
(
p_json_parameters clob
)
return clob;
/*
procedure create_group_and_keyword_and_set_value
The create_group_and_keyword_and_set_value allows a client application to create a keyword group, a keyword and set the keyword's
value using a single API call.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectId The objectId parameter value allows you to specify the object_id when uploading a new version of an
object.
keywordGroup The keyword group to be created.
keywordValueType The type of value the keyword accepts. Use the following constants to set the keyword value type:
object_vault_restapi.KVT_CHARACTER
object_vault_restapi.KVT_DATE
object_vault_restapi.KVT_TIMESTAMP
object_vault_restapi.KVT_FLOAT
object_vault_restapi.KVT_INTEGER
object_vault_restapi.KVT_JSON
object_vault_restapi.KVT_TEXT_AREA
object_vault_restapi.KVT_TIME
object_vault_restapi.KVT_TRUE_FALSE
object_vault_restapi.KVT_YES_NO
*/
procedure create_group_and_keyword_and_set_value
(
p_json_parameters clob
);
/*
function create_object_type
The create_object_type function creates a new object type in AsterionDB. This function can only be called by a system
administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectType The object type to be created (e.g. 'Video Files', 'DICOM Images').
tablespace The tablespace within which to create the SecureFiles object storage.
tableName The name of the table that will store the objects (e.g. video_files, dicom_images).
columnName The name of the column that will be used to store the object data (e.g. video_data, dicom_image).
dataType The data type (i.e. blob, clob) that will be used to store the object data. Use the constants
object_vault_restapi.BLOB_OBJECT_TYPE or object_vault_restapi.CLOB_OBJECT_TYPE to specify the data
type.
description An optional value that describes the object type.
gatewayIngestionEnabled The gatewayIngestionEnabled parameter allows you to determine whether the object can be ingested by a
DbObscura gateway drop directory. Use the constant object_vault_restapi.OPTION_ENABLED
or object_vault_restapi.OPTION_DISABLED to specify this value.
adminAccessOnly The adminAccessOnly parameter allows you to specify that the object type is for internal use only.
The object type will not appear as a operational type at the user level but can be accessed by
the system administrator.
htmlAcceptValue The htmlAcceptValue parameter allows you to specify the accept attribute value for a specific
object. This value is used to limit the types of files that can be uploaded. Search the web for
HTML attribute:accept for further information.
fileExensions The fileExensions parameter is a JSON array of JSON objects containing file extension information.
Each array element has the following attributes:
extensionId The extension_id of the file extension. Set this value to null to insert a new file extension row.
fileExtension The file extension (e.g. txt, pdf). This value is required.
mimeType The associated mime-type, if any. This value can be set to null.
htmlElement The HTML element (e.g. ) used to display the object, if any. This value can be set to null.
Embedded values in the returned JSON string value:
objectTypeId The object_type_id of the newly created object type.
*/
function create_object_type
(
p_json_parameters clob
)
return clob;
/*
procedure create_keyword
The create_keyword procedure creates a new keyword and associates it with a keyword group.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keyword The keyword to be created.
keywordValueType The type of value the keyword accepts. Use the following constants to set the keyword value type:
object_vault_restapi.KVT_CHARACTER
object_vault_restapi.KVT_DATE
object_vault_restapi.KVT_TIMESTAMP
object_vault_restapi.KVT_FLOAT
object_vault_restapi.KVT_INTEGER
object_vault_restapi.KVT_JSON
object_vault_restapi.KVT_TEXT_AREA
object_vault_restapi.KVT_TIME
object_vault_restapi.KVT_TRUE_FALSE
object_vault_restapi.KVT_YES_NO
Possible exceptions returned:
error_logging_pkg.DUPLICATE_KEYWORD
*/
procedure create_keyword
(
p_json_parameters clob
);
/*
procedure create_keyword_group
The create_keyword_group procedure creates a new keyword group.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordGroup The keyword group to be created. This value maps to keyword_groups.keyword_group.
description The keyword group's description. This value can be set to null.
objectTypeIds The objectTypeIds parameter is an embedded JSON array of object_type_id values. This parameter is
used to specify the object types that this keyword group will be restricted to.
*/
procedure create_keyword_group
(
p_json_parameters clob
);
/*
function create_suggested_keyword_value
The create_suggested_keyword_value function creates a new suggested keyword value.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordInGroupId The keyword_in_group_id value that corresponds to the keyword that a new suggested value will be
created for.
keywordValue The suggested keyword value.
Embedded values in the returned JSON string value:
valueId The suggested_keywords.value_id value of the newly created suggested keyword value.
Possible exceptions returned:
error_logging_pkg.DUPLICATE_SUGGESTED_VALUE
error_logging_pkg.NO_SUGGESTED_VALUE
*/
function create_suggested_keyword_value
(
p_json_parameters clob
)
return clob;
/*
function create_uploaded_object
The create_uploaded_object function is to be called by a middle-tier component that will be uploading a file to AsterionDB. The
caller typically responds to a web-application's initiation of an upload request. This function will return a filename that
can be used to write/stream the uploaded data.
This function will upload a new file or a new version of an object as determined by the newVersion parameter.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
sourcePath The source path of the original file. This parameter must be specified and the filename must end
with a valid file extension.
creationDate If specified, the original creation date of the source file. This is useful when you want to record
the creation date of the original file. This value maps to object_versions.ingested_file_cdate.
This value is specified as a unix timestamp value.
modificationDate If specified, the original modification date of the source file. This is useful when you want to
record the modification date of the original file. This value maps to
object_versions.ingested_file_mdate. This value is specified as a unix timestamp value.
accessDate If specified, the date that the original file was last accessed. This is useful when you want to
record when the original file, in the context of it's origin, was last accessed. This value maps
to object_versions.ingested_file_adate. This value is specified as a unix timestamp value.
gatewayName If specified, the name of the DbObscura gateway that will be used to convey the file data into
AsterionDB.
programName If specified, the name of the program that will be used to write the object to AsterionDB.
filesize The size of the file that is being uploaded. Specify a value of zero for streamed content.
newVersion The newVersion parameter causes the create_uploaded_file function to either create a new object or to
create a new version of an object. Use the constant object_vault_restapi.OPTION_ENABLED to signify
that the uploaded file will be a new version of an object.
objectId The objectId parameter value allows you to specify the object_id when uploading a new version of an
object.
Embedded values in the returned JSON string value:
filename The filename to be used to access the object.
objectId If you are uploading a new, unversioned object, the objectId item will contain the object_id of the
new object.
Possible exceptions returned:
error_logging_pkg.INVALID_FILE_TYPE
error_logging_pkg.GATEWAY_OFFLINE
error_logging_pkg.OBJECT_NOT_FOUND
error_logging_pkg.IMMUTABLE_OBJECT
error_logging_pkg.DELETED_OBJECT
*/
function create_uploaded_object
(
p_json_parameters clob
)
return clob;
/*
function create_user_session
The create_user_session function creates a user session which is synonymous to logging in. This function must be called before
making any calls that require a sessionId. This is for interactive applications only (e.g. web client, file upload client).
This function is not to be called by integrated applications that utilize an Client API Token.
Embedded parameter values:
clientAddress See introduction
userAgent See introduction
username The username.
password The user's password.
clientType The application client type. Use the constants object_vault_restapi.WEBAPP_CLIENT or
object_vault_restapi.FILE_UPLOAD_CLIENT to set this parameter value.
Embedded values in the returned JSON string value:
The embedded values returned in the JSON string are dependent upon the client type.
For a WEBAPP_CLIENT the values returned are:
sessionId The user's session_id value.
sessionStatus The user session's status. Possible values are:
object_vault_restapi.SS_ACTIVE - all API features available
object_vault_restapi.SS_SESSION_LIMIT - logon successful but restricted due to session limit
object_vault_restapi.SS_CHANGE_PASSWORD - logon successful but user is required to change their
password
For a session that is restricted due to a session limit, the client application should issue calls to
object_vault_restapi.get_active_sessions to get a list of active sessions and then call
object_vault_restapi.activate_blocked_session or object_vault_restapi.terminate_session depending
upon the action to be taken.
For a session that is restricted due to a password reset requirement, the client application must
present a screen, collect the appropriate input values and call object_vault_restapi.change_password.
apiUserId An externally accessible ID value that identifies the user.
username The logged in user's name.
firstName The user's first name.
middleName The user's middle name/initial.
lastName The user's last name.
emailAddress The user's primary email address.
accountType The account type. Valid values are:
object_vault_restapi.AT_USER
object_vault_restapi.AT_EVALUATOR
object_vault_restapi.AT_OWNER
autoQueryEnabled The value of the autoQueryEnabled, which maps to object_vault_users.auto_query_enabled.
defaultTimezone The user's default timezone (e.g. America/Los_Angeles).
grantedPermissions The grantedPermissions value is a JSON array containing the following elements:
permission The permission granted to the user.
permissionClass The class/group of permissions that the permission is a part of.
termsAccepted A flag indicating whether the user has affirmatively checked the 'terms accepted' checkbox.
For a FILE_UPLOAD_CLIENT the returned values are:
sessionId The user's session_id value.
sessionStatus The user session's status. Possible values are:
object_vault_restapi.SS_ACTIVE - all API features available
object_vault_restapi.SS_CHANGE_PASSWORD - logon successful but user is required to change their
password
firstName The user's first name.
middleName The user's middle name/initial.
lastName The user's last name.
Possible exceptions returned:
error_logging_pkg.USER_OR_PASSWORD
error_logging_pkg.ACCOUNT_LOCKED
*/
function create_user_session
(
p_json_parameters clob
)
return clob;
/*
procedure delete_keyword_group
The delete_keyword_group procedure deletes a keyword group, including references. The references in the following tables will be
deleted:
object_type_keyword_groups
suggested_keyword_values
keyword_object_map
keyword_values
keywords_in_a_group
keywords (note: if a keyword that was in the group is no longer referenced by any other keyword group, it will be deleted)
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordGroupId The keyword_groups.keyword_group_id of the keyword group to be deleted.
*/
procedure delete_keyword_group
(
p_json_parameters clob
);
/*
procedure delete_objects
Thus delete_objects procedure will delete one or more specified objects. Deleting an object merely moves it to the 'recycle
bin'. For an object to be truly deleted, one must call object_vault_restapi.purge_deleted_objects.
Any object specified for deletion must be marked as a mutable object.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectIds The objectIds value is a JSON array containing the objectIds of the objects you want to mark as
deleted.
Possible exceptions returned:
error_logging_pkg.IMMUTABLE_OBJECT
*/
procedure delete_objects
(
p_json_parameters clob
);
/*
procedure delete_suggested_keyword_value
The delete_suggested_keyword_value procedure deletes a suggested keyword value from the suggested_keyword_values table.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
valueId The value_id of the row in suggested_keyword_values to be deleted.
*/
procedure delete_suggested_keyword_value
(
p_json_parameters clob
);
/*
procedure disable_drop_directory
The disable_drop_directory procedure call disables the AsterionDB drop directory within the DbObscura Gateway's mount point.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
gatewayName The name of the DbObscura Gateway host machine.
Possible exceptions returned:
error_logging_pkg.GATEWAY_OFFLINE
*/
procedure disable_drop_directory
(
p_json_parameters clob
);
/*
procedure disable_smtp
The disable_smtp procedure disables the sending of email from AsterionDB.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
*/
procedure disable_smtp
(
p_json_parameters clob
);
/*
procedure enable_drop_directory
The enable_drop_directory procedure call enables the AsterionDB drop directory within the DbObscura Gateway's mount point.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
gatewayName The name of the DbObscura Gateway host machine.
Possible exceptions returned:
error_logging_pkg.GATEWAY_OFFLINE
*/
function enable_drop_directory
(
p_json_parameters clob
)
return clob;
/*
procedure enable_object_type
The enable_object_type procedure will create the supporting data structures to store and manage the specified object type.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectTypeId The object_types.object_type_id value of the object type to be enabled.
tablespaceName The name of the tablespace to store the object data (using Oracle SecureFiles).
Possible exceptions returned:
error_logging_pkg.INVALID_PARAMETERS
error_logging_pkg.INVALID_FILE_TYPE
error_logging_pkg.INVALID_FILE_TYPE_ID
error_logging_pkg.SUCCESS_WITH_INFO
*/
procedure enable_object_type
(
p_json_parameters clob
);
/*
function enroll_new_user
The enroll_new_user function allows a system administrator to enroll a user into AsterionDB. This function returns a temporary
password that must be communicated to the user. Upon initially logging in the new user will have to change their password.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
username The new user's username.
firstName The new user's first name.
middleName The new user's middle name.
lastName The new user's last name.
emailAddress The new user's email address.
defaultTimezone The new user's default timezone (e.g. America/Los_Angeles).
Embedded values in the returned JSON string value:
temporaryPassword The new user's temporary password.
Possible exceptions returned:
error_logging_pkg.PASSWORD_REQUIRED
error_logging_pkg.NEW_USERS_NOT_ALLOWED
error_logging_pkg.RESTRICTED_TO_DOMAIN
error_logging_pkg.OWNER_ALREADY_EXISTS
error_logging_pkg.USERNAME_TAKEN
error_logging_pkg.EMAIL_ADDRESS_EXISTS
*/
function enroll_new_user
(
p_json_parameters clob
)
return clob;
/*
function find_dbobscura_gateway
The find_dbobscura_gateway function allows a client to locate it's associated DbObscura Gateway. This function operates in three
modes:
Searching for a specified gateway by name.
Searching for a gateway based on the HTTP server's name. If you do not specify a gateway name and the client's IP address
evaluates to the loopback address (i.e. 127.0.0.1) this function will attempt to find a gateway that matches the HTTP host
server name.
Searching for a gateway based on the client's IP address. If you do not specify a gateway name and the client's IP address
does not evaluate to the loopback address (i.e. 127.0.0.1) this function will attempt to find a gateway that matches the
client's IP address.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
gatewayName The name of the gateway to search for. This parameter can be set to null.
httpHost The name of the HTTP server. This should be filled in directly by the middle-tier listener - do not
depend upon the client to truthfully tell you their HTTP server name.
Embedded values in the returned JSON string value:
gatewayName The name of the DbObscura Gateway that was found by this function.
Possible exceptions returned:
error_logging_pkg.GATEWAY_OFFLINE
*/
function find_dbobscura_gateway
(
p_json_parameters clob
)
return clob;
/*
Proof of Concept code. Move to an isolated package.
*/
function generate_app_specific_filename
(
p_json_parameters clob
)
return clob;
/*
function generate_object_filename
The generate_object_filename will generate a filename for an object thus allowing you to access the object as if it were a file.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectId The object_id of the object that you want to generate a filename for.
gatewayName The DbObscura gateway that will be used to convey the file data into AsterionDB.
accessMode This value must be specified. Use the constant values object_vault_restapi.WRITE_ACCESS or
object_vault_restapi.READ_WRITE_ACCESS as appropriate for your needs.
validUntil This value, if specified, allows you to set the date at which the filename returned by this function
will expire. This value is specified using the constants object_vault_restapi.VALID_FOR_AN_HOUR,
object_vault_restapi.VALID_FOR_A_DAY or as a unix timestamp value.
accessLimit The create_an_object function will, by default, return a filename that will allow the object to be
opened once. To increase the number of times the filename can be used to open the 'file', set the
accessLimit value accordingly. Use object_vault_restapi.UNLIMITED to disable the
access limit.
enforcePidSecurity Setting enforcePidSecurity to object_vault_restapi.OPTION_ENABLED instructs the DbObscura
gateway to require that the process id of the program accessing the gateway to match, or be a
descendent of the process that called create_an_object.
enforceSidSecurity Setting enforceSidSecurity to object_vault_restapi.OPTION_ENABLED instructs the DbObscura
gateway to require that the database session that called create_an_object to still be active.
enforceIpSecurity Setting enforceIpSecurity to object_vault_restapi.OPTION_ENABLED instructs the DbObscura
gateway to require that the IP address of the DbObscura gateway match the IP address of the
host machine used to call create_an_object.
Embedded values in the returned JSON string value:
filename A filename that can be used to access the object.
Possible exceptions returned:
error_logging_pkg.OBJECT_NOT_FOUND
error_logging_pkg.DELETED_OBJECT
error_logging_pkg.IMMUTABLE_OBJECT
error_logging_pkg.VERSIONED_OBJECT
error_logging_pkg.GATEWAY_OFFLINE
error_logging_pkg.SHARING_VIOLATION
*/
function generate_object_filename
(
p_json_parameters clob
)
return clob;
/*
function generate_object_weblink
The generate_object_weblink function generates a weblink that can be used to access an object. Unlike the
generate_secure_weblink function, the weblink generated by this function will not expire and will always be valid
provided that the object has not been deleted.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectId The object_id of the object that you want to generate a weblink for.
contentDisposition Use object_vault_restapi.STREAM_CONTENT or object_vault_restapi.DOWNLOAD_CONTENT to specify the
whether the weblink can be used to stream or download the object. The default value is
object_vault_restapi.STREAM_CONTENT.
Embedded values in the returned JSON string value:
objectWeblink A weblink that can be used to access the object.
Possible exceptions returned:
error_logging_pkg.INVALID_CONTENT_DISPOSITION
error_logging_pkg.DELETED_OBJECT
*/
function generate_object_weblink
(
p_json_parameters clob
)
return clob;
/*
procedure generate_password_reset_token
The generate_password_reset_token procedure allows a client application to generate a unique weblink that will allow an
unauthenticated user (i.e. not logged in) to recover their password. This function requires outbound SMTP email support to
be enabled. The AsterionDB system will send an email to the user with a weblink that can be used to access a password reset
page.
This procedure is callable by unauthenticated users. It supports password recovery when the user has forgotten their password.
The application calling this procedure should communicate to the user that a password reset email will be sent to the specified email
address.
Note that if the email address is not registered in the system, a reset email will not be sent. This procedure will not
inform the caller if the email address is valid or not.
The calling application should indicate to the user that an email will be sent to the specified address if it is valid.
Embedded parameter values:
emailAddress The user's email address.
clientAddress The IP address of the client machine used to generate a password reset token.
*/
procedure generate_password_reset_token
(
p_json_parameters clob
);
/*
function generate_secure_weblink
The generate_secure_weblink function will return a weblink that will expire based upon specified conditions and parameters.
Unlike the generate_object_weblink function, the weblink returned by this function may expire and become invalid.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectId The object_id of the object that you want to generate a weblink for.
contentDisposition Use object_vault_restapi.STREAM_CONTENT or object_vault_restapi.DOWNLOAD_CONTENT to specify the
whether the weblink can be used to stream or download the object. The default value is
object_vault_restapi.STREAM_CONTENT.
validUntil This value, if specified, allows you to set the date at which the filename returned by this function
will expire. This value is specified using the constants object_vault_restapi.VALID_FOR_AN_HOUR,
object_vault_restapi.VALID_FOR_A_DAY, object_vault_restapi.NO_EXPIRATION or as a unix timestamp value.
accessLimit The create_an_object function will, by default, return a filename that will allow the object to be
opened once. To increase the number of times the filename can be used to open the 'file', set the
accessLimit value accordingly. Use object_vault_restapi.UNLIMITED to disable the
access limit.
enforceIpSecurity Setting enforceIpSecurity to object_vault_restapi.OPTION_ENABLED instructs the DbObscura
gateway to require that the IP address of the DbObscura gateway match the IP address of the
host machine used to call create_an_object.
weblinkPassword If a value is specified for weblinkPassword, the user will be required to enter a password in order
to access the weblnk and corresponding object. This can be a user specified value or one that is
generated by calling the object_vault_restapi.generate_weblink_password function.
Embedded values in the returned JSON string value:
secureWeblink A weblink that can be used to securely access the object.
Possible exceptions returned:
error_logging_pkg.INVALID_CONTENT_DISPOSITION
error_logging_pkg.DELETED_OBJECT
error_logging_pkg.SHARING_VIOLATION
*/
function generate_secure_weblink
(
p_json_parameters clob
)
return clob;
/*
function generate_temporary_password
The generate_temporary_password function allows a system administrator to reset and generate a temporary password for a user.
This function can only be called by a user session that has been created by a system administrator.
It is the client application's responsiblity to communicate the new, temporary password to the end user.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
username The username of the user whose password will be reset and set to a temporary value.
Embedded values in the returned JSON string value:
temporaryPassword The user's new, temporary password.
*/
function generate_temporary_password
(
p_json_parameters clob
)
return clob;
/*
function generate_weblink_password
The generate_weblink_password function allows a client application to generate a password that a user will have to enter in order
to access the content referenced by a secure weblink.
It is the client application's and the end user's responsibility to communicate the weblink password to those that receive the
weblink.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
weblinkPassword A password that can be used when calling the object_vault_restapi.generate_secure_weblink function.
*/
function generate_weblink_password
(
p_json_parameters clob
)
return clob;
/*
function get_acceptable_object_types
The get_acceptable_object_types function allows a client application to determine the acceptable object types when uploading
files to AsterionDB. The returned information contains JSON arrays that provides the file extensions and HTML accept values
that will be allowed when a web application employs the HTML tag in order to upload a file.
See the following link for more information:
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept
Note that only the file extensions and HTML accept values for the object types that are actually enabled for use in an
installation of AsterionDB will be returned by this function.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
htmlAcceptValues This is a JSON array of file-type group specifiers (i.e. audio/*, image/*, video/*) which allow a web
application to specify a group of file types (e.g. all audio files) as acceptable files for upload.
fileExtensions This is a JSON array of specific file extensions that will be accepted when a file is uploaded.
*/
function get_acceptable_object_types
(
p_json_parameters clob
)
return clob;
/*
function get_active_sessions
The get_active_sessions function allows a blocked Web Application session to obtain information about other active sessions for
the blocked user. This information can be used by the end user to make a determination of how to activate a blocked session
(i.e. terminate another session).
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of objects with information pertaining to active sessions that are
blocking the calling session. The embedded values in each array element contsins the following attributes:
lastActivity A UNIX timestamp value indicating the date and time of last activity for a session.
sessionId The session_id value of a user's active session.
clientAddress The IP address of the client machine.
sessionCreated A UNIX timestamp value indicating the date and time that the active session was created.
userAgent The active session's user-agent.
*/
function get_active_sessions
(
p_json_parameters clob
)
return clob;
/*
function get_addable_keywords_for_group
The get_addable_keyword_for_group will return the keywords that can be added to a keyword group. The returned set of data will
not include any keywords that have already been assigned to the group.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordGroupId The keyword_groups.keyword_group_id value of the keyword group that the set of keywords can be added
to.
Embedded values in the returned JSON string value:
The JSON string returned by this function contains a array of objects describing the keywords that can be added to the
specified group. Each array object has the following properties:
keyword The keywords.keyword value of the keyword that can be added to the keyword group.
keywordId The keywords.keyword_id value of the keyword that can be added to the keyword group.
*/
function get_addable_keywords_for_group
(
p_json_parameters clob
)
return clob;
/*
function get_all_active_sessions
The get_all_active_sessions function will return information pertaining to all of the active sessions in AsterionDB.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of objects with information pertaining to active sessions in
AsterionDB. The embedded values in each array element contsins the following attributes:
username The AsterionDB user's username.
lastActivity A UNIX timestamp value indicating the date and time of last activity for a session.
sessionId The session_id value of a user's active session.
clientAddress The IP address of the client machine.
sessionCreated A UNIX timestamp value indicating the date and time that the active session was created.
userAgent The active session's user-agent.
function get_all_active_sessions
(
p_json_parameters clob
)
return clob;
*/
/*
function get_api_error_log
The get_api_error_log function allows a system administrator to retrieve all of the errors logged in AsterionDB.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of entries from the api_errors table.
errorTimestamp A Unix timestamp value indicating the date and time that the error was logged.
errorId A system generated error identifier.
username The username associated with the error.
errorCode An Oracle generated error code. Note, values between 20,000 and 20,999 are AsterionDB specific error
codes.
errorMessage The error message.
scriptFilename The filename of the program/script that issued the middle-tier call.
requestUri The URI, if available, of the call that generated the error.
*/
function get_api_error_log
(
p_json_parameters clob
)
return clob;
/*
function get_assignable_keywords
The get_assignable_keywords function returns a list of keywords that can be applied to the selected object(s). Note that the set
of keywords returned depends upon the types of objects selected. When the objects are all of one type, the keywords selected are
those that apply to all object types and those that are specific to the object type. When more than one object type is selected,
the set of returned keywords is restricted to those that apply to all object types and those that apply to the group of selected
object types.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectTypeIds This is a JSON array of selected object_type_id values.
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of assignable keywords with the following properties:
keywordGroup The keyword_groups.keyword_group value.
description The keyword_groups.description value.
keyword The assignable keyword. Value derives from the keywords.keyword table.
userInputHandling The userInputHandling value governs how the client interface is to handle user input for this keyword
value. Possible values are:
object_vault_restapi.UIH_NO_SUGGESTIONS
object_vault_restapi.UIH_STATIC_LIST
object_vault_restapi.UIH_DYNAMIC_LIST
keywordGroupId The keyword_groups.keyword_group_id value.
keywordId The keyword.keyword_id value.
keywordInGroupId The keywords_in_a_group.keyword_in_group_id value.
keywordValueType The type of value the keyword accepts. Possible values are:
object_vault_restapi.KVT_CHARACTER
object_vault_restapi.KVT_DATE
object_vault_restapi.KVT_FLOAT
object_vault_restapi.KVT_INTEGER
object_vault_restapi.KVT_JSON
object_vault_restapi.KVT_TEXT_AREA
object_vault_restapi.KVT_TIME
object_vault_restapi.KVT_TIMESTAMP
object_vault_restapi.KVT_TRUE_FALSE
object_vault_restapi.KVT_YES_NO
*/
function get_assignable_keywords
(
p_json_parameters clob
)
return clob;
/*
function get_assigned_keywords
The get_assigned_keywords function returns the keywords that are assigned to an object or a group of objects. Note that when
more than one object is specified, the set of returned keywords is the intersection of all keywords assigned to the group of
objects (i.e. the keywords in common).
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectTypeIds This is a JSON array of selected object_type_id values.
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of assigned keywords with the following properties:
keyword The keywords.keyword value of the assigned keyword.
keywordInGroupId The keywords_in_a_group.keyword_in_group_id value of the assigned keyword.
keywordValueType The type of value the keyword accepts. Possible values are:
object_vault_restapi.KVT_CHARACTER
object_vault_restapi.KVT_DATE
object_vault_restapi.KVT_TIMESTAMP
object_vault_restapi.KVT_FLOAT
object_vault_restapi.KVT_INTEGER
object_vault_restapi.KVT_JSON
object_vault_restapi.KVT_TEXT_AREA
object_vault_restapi.KVT_TIME
object_vault_restapi.KVT_TRUE_FALSE
object_vault_restapi.KVT_YES_NO
characterValue The corresponding character value for assigned keyword where the keywordValueType value is
object_vault_restapi.KVT_CHARACTER
object_vault_restapi.KVT_TRUE_FALSE
object_vault_restapi.KVT_YES_NO
integerValue The corresponding integer value for the assigned keyword.
floatingPointValue The corresponding floating point value for the assigned keyword.
dateValue The corresponding date value for the assigned keyword as a Unix timestamp.
timestampValue The corresponding timestamp value for the assigned keyword as a Unix timestamp.
userInputHandling The userInputHandling value governs how the client interface is to handle user input for this keyword
value. Possible values are:
object_vault_restapi.UIH_NO_SUGGESTIONS
object_vault_restapi.UIH_STATIC_LIST
object_vault_restapi.UIH_DYNAMIC_LIST
valueId The keyword_values.value_id value of the assigned keyword.
keywordGroupId The keyword_groups.keyword_group_id value of the assigned keyword.
keywordGroup The keyword_groups.keyword_group value of the assigned keyword.
*/
function get_assigned_keywords
(
p_json_parameters clob
)
return clob;
/*
function get_email_config
The get_email_config function returns the outbound SMTP email configuration.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
smtpEmailSender The outbound SMTP email sender's address.
gmailClientId The Gmail Client ID of the Google Gmail user that has authorized access to AsterionDB for outbound
SMTP email access.
gmailClientSecret The Gmail Client Secret of the Google Gmail user that has authorized access to AsterionDB for
outbound SMTP email access.
*/
function get_email_config
(
p_json_parameters clob
)
return clob;
/*
function get_enabled_object_types
The get_enabled_object_types function allows a client application to determine the types of objects that have been enabled for
storage in AsterionDB.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of enabled object types with the following properties:
objectType The object_types.object_type value of the object type that has been enabled in AsterionDB.
objectTypeId The object_types.object_id value of the object type that has been enabled in AsterionDB.
*/
function get_enabled_object_types
(
p_json_parameters clob
)
return clob;
/*
function get_file_extensions
The get_file_extensions function allows a client application to determine the file extensions associated with an object type.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectTypeId The object_types.object_type_id of the object associated with the returned file extensions.
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of file extensions with the following properties:
fileExtension The file_extensions.file_extension value.
mimeType The file_extensions.mime_type value.
htmlElement The file_extensions.html_element value.
extensionId The file_extensions.extension_id value.
*/
function get_file_extensions
(
p_json_parameters clob
)
return clob;
/*
function get_filename_generator
POC code. Move to a dedicated package.
*/
function get_filename_generator
(
p_json_parameters clob
)
return clob;
/*
function get_framework_status
The get_framework_status function allows a client application to determine the status of the underlying AsterionDB services -
DbObscura, DbPluginServer and DbStreamer.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
The returned JSON string contains three properties:
gatewayStatus
pluginServerStatus
streamingServerStatus
Each of these properties contains a JSON array of entries describing the status of each component.
The entries for gatewayStatus contain the following properties:
gatewayName The name of the DbObscura gateway.
gatewayStatus The DbObscura gateway's status.
version The DbOBscura gateway's version number.
The entries for pluginServerStatus contain the following properties:
pluginName The name of the DbPluginServer.
version The DbPluginServer's version number.
The entries for streamingServerStatus contain the following properties:
serverName The name of the DbStreamer server.
serverStatus The DbStreamer server's status.
version The DbStreamer server's version number.
*/
function get_framework_status
(
p_json_parameters clob
)
return clob;
/*
function get_gmail_access_token_params
The get_gmail_access_token_params function allows a middle-tier client to retrieve the parameters required to obtain a GMail
access token. The middle-tier client must implement the required handshake in order to obtain the GMail access token. See the
Google documentation on OAuth for further information:
https://developers.google.com/identity/protocols/oauth2/web-server
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
getAccessTokenUrl The URL to POST the OAuth request to.
getAccessTokenData The data to include in the OAuth request.
*/
function get_gmail_access_token_params
(
p_json_parameters clob
)
return clob;
/*
function get_gmail_signin_url
The get_gmail_signin_url function allows a client application to determine the URL the user will be redirected to in order to
complete the GMail OAuth signin process. See the following link for further information:
https://developers.google.com/identity/protocols/oauth2/web-server
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
gmailSigninUrl The URL that the user will be redirected to.
*/
function get_gmail_signin_url
(
p_json_parameters clob
)
return clob;
/*
function get_keyword_groups
The get_keyword_groups function allows a client application to retrieve a user's keyword groups.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of keyword groups with the following properties:
keywordGroup The keyword group's name.
keywordGroupId The keyword group's ID value.
description A description of the keyword group.
*/
function get_keyword_groups
(
p_json_parameters clob
)
return clob;
/*
function get_keyword_value_types
The get_keyword_value_types function allows a client application to determine the types of values a keyword can accept. This
function is utilized to allow the user to pick from a list of value types when creating a new keyword.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of keyword value types with the following property:
keywordValueType The keyword value type. Possible values are:
object_vault_restapi.KVT_CHARACTER
object_vault_restapi.KVT_DATE
object_vault_restapi.KVT_TIMESTAMP
object_vault_restapi.KVT_FLOAT
object_vault_restapi.KVT_INTEGER
object_vault_restapi.KVT_JSON
object_vault_restapi.KVT_TEXT_AREA
object_vault_restapi.KVT_TIME
object_vault_restapi.KVT_TRUE_FALSE
object_vault_restapi.KVT_YES_NO
*/
function get_keyword_value_types
(
p_json_parameters clob
)
return clob;
/*
function get_keyword_values
The get_keyword_values function allows a client application to determine, based upon previous keyword value selections, the set
of keywords values available for a given keyword. Consider the following situation of three objects with keywords and values.
1. color/green ; finish/glossy
2. color/blue ; finish/satin
3. color/green ; finish/matte
If the client application has selected for objects with a keyword combination of color/green the resulting keyword value set for
the keyword finish will include matte and glossy and exclude satin.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
viewType The type of object view to query. Possible values are:
object_vault_restapi.OVT_CATALOGED
object_vault_restapi.OVT_DELETED
object_vault_restapi.OVT_SHARED
keywordInGroupId The keyword_groups.keyword_in_group_id value of the keyword that the resulting set of keyword values
will be for.
selectedKeywordValues The selectedKeywordValues parameter is a JSON array of keyword_values.value_id values that specify
the keyword values that have been previously selected.
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of keyword values with the following properties:
keywordValue The keyword value.
valueId The keyword value's ID.
*/
function get_keyword_values
(
p_json_parameters clob
)
return clob;
/*
function get_keywords_in_a_group
The get_keywords_in_a_group function allows a client application to retrieve the keywords that have been assigned to a keyword
group.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordGroupId The keyword_groups.keyword_group_id value which specifies the keyword group of interest.
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of keywords with the following properties:
keyword The keywords.keyword value.
keywordInGroupId The keywords_in_a_group.keyword_in_group_id value.
keywordGroupId The keyword_groups.keyword_group_id value.
keywordId The keywords.keyword_id value.
userInputHandling The keywords.user_input_handling value.
keywordValueType The type of value the keyword accepts. Possible values are:
object_vault_restapi.KVT_CHARACTER
object_vault_restapi.KVT_DATE
object_vault_restapi.KVT_TIMESTAMP
object_vault_restapi.KVT_FLOAT
object_vault_restapi.KVT_INTEGER
object_vault_restapi.KVT_JSON
object_vault_restapi.KVT_TEXT_AREA
object_vault_restapi.KVT_TIME
object_vault_restapi.KVT_TRUE_FALSE
object_vault_restapi.KVT_YES_NO
*/
function get_keywords_in_a_group
(
p_json_parameters clob
)
return clob;
/*
function get_login_history
The get_login_history function allows a user to retrieve their login history.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of login history entries with the following properties:
sessionCreated A Unix timestamp value indicating the date and time that the session was created.
clientAddress The client's IP address.
sessionStatus The present status of the session. Possible values are:
object_vault_restapi.SS_ACTIVE
object_vault_restapi.SS_SESSION_LIMIT
object_vault_restapi.SS_CHANGE_PASSWORD
object_vault_restapi.SS_TERMINATED
sessionDisposition The session's disposition upon termination. Possible values are:
object_vault_restapi.SD_TIMEOUT
object_vault_restapi.SD_LOGOUT
object_vault_restapi.SD_CANCELED
object_vault_restapi.SD_ERROR
userAgent The user agent (browser) associated with the session.
sessionEnded A Unix timestamp value indicating the date and time that the session was terminated.
lastActivity A Unix timestamp value indicating the date and time of the last session activity. This value is used
to determine if a session has timed-out.
terminatedBy The terminatedBy value conveys the user that terminated a session - if termination was by user
intervention.
*/
function get_login_history
(
p_json_parameters clob
)
return clob;
/*
function get_login_history_for_user
The get_login_history_for_user function allows a system administrator to retrieve a user's login history.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
username The user whose login history will be retrieved.
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of login history entries with the following properties:
sessionCreated A Unix timestamp value indicating the date and time that the session was created.
clientAddress The client's IP address.
sessionStatus The present status of the session. Possible values are:
object_vault_restapi.SS_ACTIVE
object_vault_restapi.SS_SESSION_LIMIT
object_vault_restapi.SS_CHANGE_PASSWORD
object_vault_restapi.SS_TERMINATED
sessionDisposition The session's disposition upon termination. Possible values are:
object_vault_restapi.SD_TIMEOUT
object_vault_restapi.SD_LOGOUT
object_vault_restapi.SD_CANCELED
object_vault_restapi.SD_ERROR
userAgent The user agent (browser) associated with the session.
sessionEnded A Unix timestamp value indicating the date and time that the session was terminated.
lastActivity A Unix timestamp value indicating the date and time of the last session activity. This value is used
to determine if a session has timed-out.
terminatedBy The terminatedBy value conveys the user that terminated a session - if termination was by user
intervention.
*/
function get_login_history_for_user
(
p_json_parameters clob
)
return clob;
/*
function get_login_page_info
The get_login_page_info allows a web client to retrieve the information required to construct a valid login page.
The get_login_page_info does not require any parameters.
Embedded values in the returned JSON string value:
signupPageEnabled The object_vault_profile.signup_page_enabled value. Possible values are:
object_vault_profile.OPTION_ENABLED
object_vault_profile.OPTION_DISAABLED
*/
function get_login_page_info
(
p_json_parameters clob
)
return clob;
/*
function get_metadata_classifications
The get_metadata_classfications function allows a client application to determine the types of metadata classifications
supported by the system. This function allows the client application to determine the values that can be used when
setting the value of metadataClassification in the create_object_type and update_object_type procedures.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of metadata classifications with the following property:
metadataClassification The metadata classification.
*/
function get_metadata_classifications
(
p_json_parameters clob
)
return clob;
/*
function get_object_data
The get_object_data function allows a client application to directly access an object's data without having to utlize a weblink
or generate a dynamic filename.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectId The object ID of the object to retrieve.
Embedded values in the returned JSON string value:
dataType The object's data type. Possible values are:
object_vault_restapi.CLOB_OBJECT_TYPE
object_vault_restapi.BLOB_OBJECT_TYPE
mimeType The object's mime-type.
data The object's data.
Possible exceptions returned:
error_logging_pkg.OBJECT_NOT_FOUND
*/
function get_object_data
(
p_json_parameters clob
)
return clob;
/*
function get_object_streaming_history
The get_object_streaming_history function allows a client application to retrieve an object's streaming history.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectId The object's ID.
The JSON string returned by this function contains an array of log entries with the following properties:
startTime The date and time the streaming operation started, in Unix timestamp format.
endTime The date and time the streaming operation ended, in Unix timestamp format.
serverName The name of the DbStreamer server that performed the streaming operation.
weblinkToken The AsterionDB Secure Weblink Token, if one was used, to access the content.
userAgent The browser's user-agent value.
bytesTransmitted The number of bytes transmitted.
forwardedFor The IP address of the browser that initiated the request.
referer The webpage, if one was used, to access the content.
*/
function get_object_streaming_history
(
p_json_parameters clob
)
return clob;
/*
function get_object_type_restrictions
The get_object_type_restrictions function allows a client application to determine the types of objects that a keyword group is
restricted to.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordGroupId The keyword_groups.keyword_group_id of the keyword group associated with the returned set of object
type restrictions.
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of object types with the following properties:
objectType The object_types.object_type value of the object type that is restricted to the specified keyword
group.
objectTypeId The object_types.object_type_id value of the object type that is restricted to the specified keyword
group.
*/
function get_object_type_restrictions
(
p_json_parameters clob
)
return clob;
/*
function get_object_types
The get_object_types function allows a client application to determine the types of objects supported by AsterionDB.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of supported object types with the following properties:
objectType The object_types.object_type value.
objectTypeId The object_types.object_type_id value.
tableName The object_types.table_name value. This is the table that is used to store the objects.
columnName The object_types.column_name value. This is the name of the column that is used to store the object
data.
dataType The object_types.data_type value.
description The object_types.description value.
gatewayIngestionEnabled The object_types.gateway_ingestion_enabled value. This value indicates whether the object type can
be ingested through the DbObscura Gateway.
adminAccessOnly The object_types.admin_access_only value. This value indicates whether the object type is available
for use by system administrator's only or by all user's of AsterionDB.
enabled The object_types.enabled value.
htmlAcceptValue The htmlAcceptValue parameter allows you to specify the accept attribute value for a specific
object. This value is used to limit the types of files that can be uploaded. Search the web for
HTML attribute:accept for further information.
metadataClassification The metadata classification associated with the data type. This value is used for metadata analysis
functions.
*/
function get_object_types
(
p_json_parameters clob
)
return clob;
/*
function get_object_vault_profile
The get_object_vault_profile allows a client application to determine the AsterionDB SecureObject Vault profile. Client
applications use the profile information to determine the features to enable in the user interface.
There are no required JSON parameters for this function call.
The JSON string returned by this function will contain the following properties:
allowNewUsers If enabled, new users can be created
sharingEnabled If enabled, sharing of objects among users is allowed.
usersGuideLink A link to the AsterionDB Converged Computing Platform User's Guide.
installationGuideLink A link to the AsterionDB Converged Computing Platform Installation and Configuraiton Guide.
signupPageEnabled If enabled, new user's can sign up on the login page.
smtpEnabled If enabled, the AsterionDB platform can utilize outbound SMTP Email capabilities.
automationOptionEnabled If enabled, process automation is supported.
metadataOptionEnabled If enabled, metadata analysis (audio, video, image) is supported.
dicomOptionEnabled if enabled, advanced processing for DICOM images is supported.
*/
function get_object_vault_profile
(
p_json_parameters clob
)
return clob;
/*
function get_query_keywords
The get_query_keywords function allows a client application to retrieve the currently valid set of keywords that can be used to
search for objects. This function takes into consideration the previously selected keyword/value pairs when determining the
valid set of keywords to be returned. Consider the following situation of three objects with keywords and values.
1. color/green ; finish/glossy ; texture/smooth
2. color/blue ; finish/satin ; texture/rough ; final-approval/yes
3. color/green ; finish/matte ; texture/smooth
If the client application has selected for objects with a keyword combination of color/blue the resulting set of keywords
will be finish, texture and final-approval.
Returned keywords are also restricted such that only those keyword groups that are not associated with any object types and
keyword groups that are specifically associated with the selected object types are returned.
When retrieving shared objects, the returned set can be restricted by the setting of sharedOption.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
viewType The type of object view to query. Possible values are:
object_vault_restapi.OVT_CATALOGED
object_vault_restapi.OVT_DELETED
object_vault_restapi.OVT_SHARED
selectedKeywords An array of selected keyword_in_group_id values.
selectedKeywordValues An array of value_id values.
objectTypeIds An array of selected object_type_id values.
sharedOption The sharedOption limits the returned set of shared objects. Possible values are:
object_vault_restapi.ALL_SHARED_OBJECTS
object_vault_restapi.SHARED_WITH_PUBLIC
object_vault_restapi.SHARED_WITH_USER
The sharedOption value is only evaluated when querying the shared object view. Setting the value of
sharedOption to null is equivalent to object_vault_restapi.ALL_SHARED_OBJECTS.
The JSON string returned by this function contains an array of keyword entries with the following properties:
lastName The lastName value is only provided when querying for shared objects. It is the last name of the
owner of the object that is associated with the returned keyword.
firstName The firstName value is only provided when querying for shared objects. It is the first name of the
owner of the object that is associated with the returned keyword.
keywordGroup The keyword group that the returned keyword is a part of.
keyword The returned keyword.
keywordGroupId The keyword_group.keyword_group_id value.
keywordId The keyword.keyword_id value.
keywordInGroupId The keywords_in_a_group.keyword_in_group_id value.
keywordValueType The keywords.keyword_value_type value.
*/
function get_query_keywords
(
p_json_parameters clob
)
return clob;
/*
function get_resource_utilization_data
The get_resource_utlization_data function allows a client application to retrieve the user's resource utilization data.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
The JSON string returned by this function contains an object with three items:
totalUtilization The totalUtilization item is a JSON object with the following properties:
itemCount The total number of items owned by the user.
totalUtilization The total net storage amount (not a gross storage value).
existingObjects The existingObjects item is a JSON array with the following properties:
objectType The object type.
itemCount The total number of items of this object type.
byteTotal The total net byte total of all items (not a gross storage value).
deletedObjects The deletedObjects item is a JSON array with the following properties:
objectType The object type.
itemCount The total number of items of this object type.
byteTotal The total net byte total of all items (not a gross storage value).
*/
function get_resource_utilization_data
(
p_json_parameters clob
)
return clob;
/*
function get_secure_weblink_info
The get_secure_weblink_info allows a client application to retrieve the information needed in order to process a secure
weblink generated by a call to object_vault_restapi.generate_secure_weblink.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
weblinkToken The secure weblink token.
The JSON string returned by this function contains the following properties:
objectName The name of the object.
fileExtension The object's file extension.
objectId The object id.
accessCount The number of times the object has been accessed by the secure weblink.
accessLimit The limit on the number of times the object can be accessed by the secure weblink. A value of
object_vault_restapi.UNLIMITED indicates that there is no limit.
validUntil If not null, the value of validUntil indicates that date and time that the secure weblink will expire.
firstName The object owner's first name.
lastName The object owner's last name.
passwordRequired If a password is required before access to the secure content can be granted, the value of
passwordRequired will be set to object_vault_restapi.OPTION_ENABLED.
contentDisposition The contentDisposition value indicates how the browser is to handle the content (e.g. stream vs.
download). The value of content disposition will be object_vault_restapi.STREAM_CONTENT or
object_vault_restapi.DOWNLOAD_CONTENT.
htmlElement The value of htmlElement indicates the HTML element to be used to display/interpret the object.
mimeType The object's mime type.
secureStream If access to the secure content does not require a password then the value of secureStream contains
a link to the content.
*/
function get_secure_weblink_info
(
p_json_parameters clob
)
return clob;
/*
function get_session_info
The get_session_info allows a client application to retrieve it's session information.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
The JSON string returned by this function for Web and API clients contains the following properties:
sessionId The session ID.
sessionStatus The present status of the session. Possible values are:
object_vault_restapi.SS_ACTIVE
object_vault_restapi.SS_SESSION_LIMIT
object_vault_restapi.SS_CHANGE_PASSWORD
object_vault_restapi.SS_TERMINATED
apiUserId The RestAPI bound user-id.
username The username associated with the session.
firstName The user's first name.
middleName The user's middle name.
lastName The user's last name.
emailAddress The user's email address.
accountType The account type. Valid values are:
object_vault_restapi.AT_USER
object_vault_restapi.AT_EVALUATOR
object_vault_restapi.AT_OWNER
autoQueryEnabled The value of the autoQueryEnabled, which maps to object_vault_users.auto_query_enabled.
defaultTimezone The user's default timezone (e.g. America/Los_Angeles).
concurrentFileUploads The number of files that can be uploaded concurrently via the web interface. Default value is 1.
grantedPermissions The grantedPermissions value is a JSON array containing the following elements:
permission The permission granted to the user.
permissionClass The class/group of permissions that the permission is a part of.
termsAccepted A flag indicating whether the user has affirmatively checked the 'terms accepted' checkbox.
The JSON string returned by this function for a file transfer client contains the following properties:
sessionId The session ID.
sessionStatus The present status of the session. Possible values are:
object_vault_restapi.SS_ACTIVE
object_vault_restapi.SS_SESSION_LIMIT
object_vault_restapi.SS_CHANGE_PASSWORD
object_vault_restapi.SS_TERMINATED
firstName The user's first name.
middleName The user's middle name.
lastName The user's last name.
*/
function get_session_info
(
p_json_parameters clob
)
return clob;
/*
function get_shared_keyword_values
The get_shared_keyword_values function allows a client application to determine, based upon previous keyword value selections,
the set of shared objects with keywords values available for a given keyword. Consider the following situation of three objects
with owners, keywords and values.
1. user1 ; color/green ; finish/glossy
2. user1 ; color/blue ; finish/satin
3. user2 ; color/green ; finish/matte
If the client application has selected for objects from user1 with a keyword combination of color/green the resulting keyword
value set for the keyword finish will contain glossy only.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordInGroupId The keyword_groups.keyword_in_group_id value of the keyword that the resulting set of keyword values
will be for.
selectedKeywords The selectedKeywords parameter is a JSON array of selected keyword_object_map.keyword_in_group_id
values. Each selectedKeyword array entry must have a corresponding selectedKeywordValue entry.
selectedKeywordValues The selectedKeywordValues parameter is a JSON array of keyword_values.value_id values that specify
the keyword values that have been previously selected.
Embedded values in the returned JSON string value:
The JSON string returned by this function contains an array of keyword values with the following properties:
keywordValue The keyword value.
valueId The keyword value's ID.
*/
function get_shared_keyword_values
(
p_json_parameters clob
)
return clob;
/*
function get_static_suggestion_list
The get_static_suggestion_list allows a client application to retrieve the static set of suggested keyword values for a specified
keyword in a group.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordInGroupId The static set of suggested keyword values will be returned for the keyword in a group specified by
keywordInGroupId.
The JSON string returned by this function contains an array of suggested keyword value entries with the following properties:
keywordValue The suggested keyword value.
keywordValueType The keyword value type. Possible values are:
object_vault_restapi.KVT_CHARACTER
object_vault_restapi.KVT_DATE
object_vault_restapi.KVT_FLOAT
object_vault_restapi.KVT_INTEGER
object_vault_restapi.KVT_JSON
object_vault_restapi.KVT_TEXT_AREA
object_vault_restapi.KVT_TIME
object_vault_restapi.KVT_TIMESTAMP
valueId The suggested keyword value's value_id.
*/
function get_static_suggestion_list
(
p_json_parameters clob
)
return clob;
/*
function get_suggestions
The get_suggestions function allows a client application to retrieve the static or dynamic list of suggested keyword values for
a specified keyword in a group.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordInGroupId The set of suggested keyword values will be returned for the keyword in a group specified by
keywordInGroupId.
The JSON string returned by this function contains an array of suggested keyword value entries with the following properties:
keywordValue The suggested keyword value.
*/
function get_suggestions
(
p_json_parameters clob
)
return clob;
/*
function get_support_info
The get_support_info function allows a client application to retrieve relevant support and version information from AsterionDB.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
The returned JSON string contains the following properties:
profileName The name of the AsterionDB installation.
schemaVersion The AsterionDB schema version number.
databaseVersion The Oracle database version number.
databaseClientVersion The Oracle client version number.
dbTwigVersion The DbTwig version number.
*/
function get_support_info
(
p_json_parameters clob
)
return clob;
/*
function get_system_permissions
The get_system_permissions function allows a system administrator to determine the system permissions supported by AsterionDB.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
The JSON string returned by this function contains an array of system permission objects with the following properties:
permission The system permission supported by AsterionDB. The set of permissions returned by this function
varies based on the options supported by AsterionDB.
permissionId The system permission_id value.
grantedByDefault A flag indicating if the system permission is granted by default. Possible values are
object_vault_restapi.OPTION_ENABLED and object_vault_restapi.OPTION_DISABLED.
*/
function get_system_permissions
(
p_json_parameters clob
)
return clob;
/*
function get_system_settings
The get_system_settings function allows a system administrator to retrieve the AsterionDB system options and settings.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Embedded values in the returned JSON string value:
profileName The AsterionDB system profile name.
websiteRootAddress The AsterionDB website root address (i.e. asteriondb.yoursite.com)
streamProxyPrefix The prefix value to be applied to streaming weblinks built for processing by a proxy server. See the
AsterionDB Configuration and Installation Guide for more information.
downloadProxyPrefix The prefix value to be applied to download weblinks built for processing by a proxy server. See the
AsterionDB Configuration and Installation Guide for more information.
usersGuideLink The usersGuideLink value provides the URL that a client application can use to link to the AsterionDB
User's Guide. This value can be a location resolved by your local HTTP server through a redirect, a
direct link to the content or point to a Cloud based resource. The default value is:
https://cloud-eval.asteriondb.com/objectVault/usersGuide
installationGuideLink The installationGuideLink value provides the URL that a client application can use to link to the
AsterionDB Installation and Configuration Guide. This value can be a location resolved by your local
HTTP server through a redirect, a direct link to the content or point to a Cloud based resource.
The default value is:
https://cloud-eval.asteriondb.com/objectVault/installationGuide
sslEnabled If enabled SSL enabled weblinks will be generated (e.g. https://...). Use the constants
object_vault_restapi.OPTION_ENABLED and object_vault_restapi.OPTION_DISABLED to set this value.
allowNewUsers If enabled new users can be created. User creation can be accomlished by enrollment, self-enrollment
or invitation. Use the constants object_vault_restapi.OPTION_ENABLED and
object_vault_restapi.OPTION_DISABLED to set this value.
signupPageEnabled If enabled new users can self register by accessing an appropriate link on the login page. Use the
constants object_vault_restapi.OPTION_ENABLED and object_vault_restapi.OPTION_DISABLED to set this
value.
defaultLobTablespace The tablespace that will be used by default to store LOB (unstructured) data.
sharingEnabled Use the constant object_vault_restapi.OPTION_ENABLED to enable sharing of objects.
secureWeblinkWebpage The value of secureWeblinkWebpage is used when constructing links for secure content. The URL will
be in the following format:
http(s)://you.server.com/secureWeblinkWebpage
extraErrorInfoEnabled If enabled extra error information will be emitted by the data layer. This option should not be
enabled in production environments. Use the constant object_vault_restapi.OPTION_ENABLED to enable
this option.
metadataAnalysisEnabled Use the constant object_vault_restapi.OPTION_ENABLED to enable metadata analysis.
metadataAnalysisInterval The metadataAnalysisInterval is the amount of time the automated metadata analysis job will sleep
in between invocations.
*/
function get_system_settings
(
p_json_parameters clob
)
return clob;
/*
function get_tablespace_list
The get_tablespace_list function allows a client application to determine the tablespaces available to AsterionDB.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
The JSON string returned by this function contains an array of tablespace entries with the following properties:
tablespaceName The tablespace name.
*/
function get_tablespace_list
(
p_json_parameters clob
)
return clob;
/*
function get_user_list
The get_user_list function allows a client application to retrieve a list of user's of the AsterionDB system.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
The JSON string returned by this function contains an array of user entries with the following properties:
username The username.
firstName The user's first name.
middleName The user's middle name.
lastName The user's last name.
emailAddress The user's email address.
accountType The account type. Valid values are:
object_vault_restapi.AT_USER
object_vault_restapi.AT_EVALUATOR
object_vault_restapi.AT_OWNER
accountStatus The user account status. Possible values are:
object_vault_restapi.AS_ACTIVE
object_vault_restapi.AS_LOCKED
object_vault_restapi.AS_UNCONFIRMED
object_vault_restapi.AS_CHANGE_PASSWORD
creationDate The date the user was created in the system. Expressed as a Unix timestamp value.
activeSessionCount The number of active sessions for the user in the system.
lastActivity The date and time of last activity. Expressed as a Unix timestamp value.
usageByUser The userByUser value is a JSON object with the following properties:
itemCount The number of items owned by ther user.
totalUsage The total amount of bytes used by the user.
*/
function get_user_list
(
p_json_parameters clob
)
return clob;
/*
function get_user_permissions
The get_user_permissions function allows a client application to retrieve the permissions supported by AsterionDB and determine
which permissions have been granted to a user.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
username The user whose granted permissions are to be retrieved.
The JSON string returned by this function contains an array of system permissions with the following properties:
permission The system permission supported by AsterionDB. The set of permissions returned by this function
varies based on the options supported by AsterionDB.
permissionClass The class of permissions that this specific permission is a part of.
granted A flag indicating whether this system permission has been granted to the user. Possible values are:
object_vault_restapi.OPTION_ENABLED
object_vault_restapi.OPTION_DISABLED
*/
function get_user_permissions
(
p_json_parameters clob
)
return clob;
/*
function get_user_settings
The get_user_settings allows a client application to retrieve the user's settings.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
The JSON string returned by this function contains the following properties:
username The user's username.
firstName The user's first name.
middleName The user's middle name.
lastName The user's last name.
emailAddress The user's email address.
accountType The account type. Valid values are:
object_vault_restapi.AT_USER
object_vault_restapi.AT_EVALUATOR
object_vault_restapi.AT_OWNER
sessionInactivityLimit The inactivity limit, expressed in seconds. A user session that exceedes the inactivity limit will
be terminated.
sessionLimit The limit on the number of concurrently active sessions the user may create.
autoQueryEnabled The value of autoQueryEnabled, which defaults to object_vault_restapi.OPTION_ENABLED, determines
whether the web client application should query for objects automatically. Setting this value
to object_vault_restapi.OPTION_DISABLED is advised when working with large data sets.
rowLimit The limit on the number of rows returned by when querying for objects. The default limit is 9,999
rows.
defaultTimezone The user's default timezone (e.g. America/Los_Angeles).
accountStatus The user account status. Possible values are:
object_vault_restapi.AS_ACTIVE
object_vault_restapi.AS_LOCKED
object_vault_restapi.AS_UNCONFIRMED
object_vault_restapi.AS_CHANGE_PASSWORD
apiClientToken The user's API Client Token.
*/
function get_user_settings
(
p_json_parameters clob
)
return clob;
/*
function get_user_streaming_history
The get_user_streaming_history function allows a client application to retrieve the user's streaming history.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
The JSON string returned by this function contains an array of streaming log entries the following properties:
startTime The date and time the streaming operation started, in Unix timestamp format.
endTime The date and time the streaming operation ended, in Unix timestamp format.
serverName The name of the DbStreamer server that performed the streaming operation.
objectName The object name.
weblinkToken The AsterionDB Secure Weblink Token, if one was used, to access the content.
userAgent The browser's user-agent value.
bytesTransmitted The number of bytes transmitted.
forwardedFor The IP address of the browser that initiated the request.
referer The webpage, if one was used, to access the content.
*/
function get_user_streaming_history
(
p_json_parameters clob
)
return clob;
/*
function get_users_object_is_shared_with
The get_users_object_is_shared_with function allows a client application to determine the users that an object is shared with.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectId The object ID value.
The JSON string returned by this function contains an array of user entries the following properties:
name The user's name. A concatenation of the user's first and last name.
apiUserId The API exposed user ID.
*/
function get_users_object_is_shared_with
(
p_json_parameters clob
)
return clob;
/*
function get_users_with_view_shared_priv
The get_users_with_view_shared_priv function allows a client application to determine the user's that are allowed to view shared
objects. The returned set is used to build a pick list to allow the user to share an object with other users.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
The JSON string returned by this function contains an array of user entries the following properties:
name The user's name. A concatenation of the user's first and last name.
apiUserId The API exposed user ID.
*/
function get_users_with_view_shared_priv
(
p_json_parameters clob
)
return clob;
/*
function get_vault_objects
The get_vault_objects allows a client application to retrieve objects from AsterionDB.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
viewType The type of object view to query. Possible values are:
object_vault_restapi.OVT_CATALOGED
object_vault_restapi.OVT_UNCATALOGED
object_vault_restapi.OVT_DELETED
object_vault_restapi.OVT_SHARED
selectedKeywords An array of selected keyword_in_group_id values.
selectedKeywordValues An array of selected value_id values. Note that in the case of one keyword being selected the
corresponding selectedKeywordValue is not required. Similarly, when more than one keywords has been
selected, the corresponding selectedKeywordValue is not required for the last keyword. This allows
the get_vault_objects function to match for objects that are associated with the keyword without
regard to the corresponding keyword value.
objectTypeIds An array of selected object_type_id values.
sharedOption The sharedOption limits the returned set of shared objects. Possible values are:
object_vault_restapi.ALL_SHARED_OBJECTS
object_vault_restapi.SHARED_WITH_PUBLIC
object_vault_restapi.SHARED_WITH_USER
The sharedOption value is only evaluated when querying the shared object view. Setting the value of
sharedOption to null is equivalent to object_vault_restapi.ALL_SHARED_OBJECTS.
The JSON string returned by this function contains an array of objects with the following properties:
sourcePath The object's source path.
objectType The object type.
objectId The object id.
fileExtension The object's file extension.
creationMethod The method used to create the object.
gateway The DbObscura Gateway server associated with the object, if any.
shareStatus The sharing status for the object.
programUsedToCreate The program used to create the object, if known.
mimeType The object's mime type.
metadataAvailable A flag indicating whether metadata is available for the object. The constant value
object_vault_restapi.OPTION_ENABLED indicates that metadata is available.
htmlElement The HTML element used to display/interact with the object.
objectTypeId The object_type_id value.
objectName The object's name.
contentLength The actual content length.
extensionId The object's file extension id.
versionedObject A flag indicating whether the object is versioned. The constant value
object_vault_restapi.OPTION_ENABLED indicates that the object is versioned.
keywordList A concatenated string of keyword/value pairs associated with the object, if any.
immutableObject A flag indicating whether the object is immutable. An immutable object can not be changed in any
way. The constant value object_vault_restapi.OPTION_ENABLED indicates that the object is immutable.
ownerName For shared objects, the owner name is a concatenation of object owner's "last_name, first_name".
creationDate The date the object was created. Expressed in Unix timestamp format.
modificationDate The date the object was last modified. Expressed in Unix timestamp format.
lastAccessDate The date the object was accessed last. Expressed in Unix timestamp format.
lastMetadataChangeDate The date the object's was last modified. Expressed in Unix timestamp format.
ingestedFileCDate If available from the source file system, the object's creation date. Expressed in Unix timestamp
format.
ingestedFileMDate If available from the source file system, the object's modification date. Expressed in Unix timestamp
format.
ingestedFileADate If available from the source file system, the date the object was last accessed. Expressed in Unix
timestamp format.
*/
function get_vault_objects
(
p_json_parameters clob
)
return clob;
/*
function get_version_data
The get_version_data function allows a client application to retrieve an object's underlying version information.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectId The object ID value.
The JSON string returned by this function contains an array of user entries the following properties:
versionNumber The version number.
itemId The item id - object_versions.item_id.
versionDate The date the version was created. Expressed in Unix timestamp format.
sourcePath The source path value for the versioned item.
*/
function get_version_data
(
p_json_parameters clob
)
return clob;
/*
procedure grant_user_permission
The grant_user_permission procedure allows a system administrator to grant permissions to a user.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
username The user to be granted permission.
permission The permission to be granted.
*/
procedure grant_user_permission
(
p_json_parameters clob
);
/*
procedure new_user_signup
The new_user_signup procedure allows a web client to process a self-registration request from a new user.
Embedded parameter values:
username The username.
password The user's password.
firstName The user's first name.
middleName The user's middle name/initial.
lastName The user's last name.
emailAddress The user's primary email address.
defaultTimezone The user's default timezone (e.g. America/Los_Angeles).
accountType The account type. Valid values are:
object_vault_restapi.AT_USER
object_vault_restapi.AT_EVALUATOR
invitationToken If the user has been invited to regsiter an account by the system administrator, the email link will
contain a token. This token value is used to validate the user's attempt to self-register.
termsAccepted When self-registering, the user must actively select the checkbox indicating they have accepted the
terms of use. When calling new_user_signup, a termsAccepted parameter must be supplied with the
value set to object_vault_restapi.OPTION_ENABLED.
Possible exceptions returned:
error_logging_pkg.PASSWORD_REQUIRED
error_logging_pkg.NEW_USERS_NOT_ALLOWED
error_logging_pkg.OWNER_ALREADY_EXISTS
error_logging_pkg.USERNAME_TAKEN
error_logging_pkg.EMAIL_ADDRESS_EXISTS
error_logging_pkg.INVALID_INVITATION_TOKEN
error_logging_pkg.SELF_ENROLLMENT_DISABLED
*/
procedure new_user_signup
(
p_json_parameters clob
);
/*
procedure parse_source_path
The parse_source_path procedure allows a client application to parse source path information into keyword/value pairs.
Consider the following scenario. There is an object in AsterionDB with the following source path information:
/storage/dicom/images/series-0001/study-0001/image001.dcm
One can easily see that the file system organization implies that image001.dcm is part of the series 'series-0001' and the study
value is 'study-0001'. If you have a keyword group called DICOM Images with keywords 'series' and 'study', we can parse the file
system representation appropriately.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
viewType The type of object view to query. Possible values are:
object_vault_restapi.OVT_CATALOGED
object_vault_restapi.OVT_UNCATALOGED
searchString The search string to find within the source path. The source path is matched against the beginning
of the search string. In the above example, a search string of '/storage/dicom/images' would find
the corresponding DICOM images.
subdirectoryKeywords The subdirectoryKeywords value is a JSON array of keyword_in_group_id values that map each
subdirectory component to a keyword. The array should have as many elements in it as the maximum
subdirectory depth of paths returned by object_vault_restapi.search_source_path. Consider the
following source path:
/storage/dicom/images/series-0001/study-0001/image001.dcm
The maximum path depth is 5. The proper array for subdirectoryKeywords would thus contain 5 elements.
To map a subdirectory to a keyword, specify the appropriate keyword_in_group_id in the corresponding
array element. All other array elements shall be set to null.
filenameKeyword To map the filename, excluding the file extension, to a keyword specify the appropriate
keyword_in_group_id in the filenameKeyword value.
*/
procedure parse_source_path
(
p_json_parameters clob
);
/*
procedure purge_api_errors
The purge_api_errors allows a system administrator to clear the API error log.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
*/
procedure purge_api_errors
(
p_json_parameters clob
);
/*
procedure purge_deleted_objects
The purge_deleted_objects procedure allows a user to purge all of their deleted objects. Once purged, the deleted objects can not
be recovered.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
Possible exceptions returned:
error_logging_pkg.IMMUTABLE_OBJECT
*/
procedure purge_deleted_objects
(
p_json_parameters clob
);
/*
procedure recover_username
The recover_username procedure allows a user to submit a request to recover their username. If the email address supplied by the
user is registered in AsterionDB, a recovery email with the user's username will be sent.
This procedure requires outbound SMTP Email support to be enabled.
Embedded parameter values:
clientAddress See introduction
emailAddress The user's email address.
Possible exceptions returned:
error_logging_pkg.FEATURE_DISABLED
error_logging_pkg.INVALID_PARAMETERS
*/
procedure recover_username
(
p_json_parameters clob
);
/*
procedure remove_all_associated_keywords
The remove_all_associated_keywords procedure allows a client application to remove all of the keywords associated with a set of
objects. Removing all keywords will cause the objects to be 'uncataloged'.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectIds The objectIds value is a JSON array of object_id values. This is the set of objects for which all
keywords will be removed.
Possible exceptions returned:
error_logging_pkg.IMMUTABLE_OBJECT
*/
procedure remove_all_associated_keywords
(
p_json_parameters clob
);
/*
procedure remove_associated_keywords
The remove_associated_keywords procedure allows a client application to remove a set of keyword-value pairs from a set of objects.
Note that the removal of keyword-value pairs may render an object uncataloged.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectIds The objectIds value is a JSON array of object_id values. This specified keyword-value pairs will be
unassociated from this set of objects.
keywordValuePairs The set of keyword-value pairs to be removed from the specified set of objects.
Possible exceptions returned:
error_logging_pkg.IMMUTABLE_OBJECT
*/
procedure remove_associated_keywords
(
p_json_parameters clob
);
/*
procedure remove_keyword_from_group
The remove_keyword_from_group procedure allows a client application to remove a keyword from a group of keywords.
Removing a keyword from a group may result in objects that become uncataloged.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordInGroupId The keyword in a group to be removed.
Possible exceptions returned:
error_logging_pkg.IMMUTABLE_OBJECT
*/
procedure remove_keyword_from_group
(
p_json_parameters clob
);
/*
procedure reset_password
The reset_password procedure allows a client application to process a user's request to reset their password. This function is
called after the user has received a reset token from a call to object_vault_restapi.generate_password_reset_token.
Embedded parameter values:
clientAddress See introduction
confirmationToken The confirmation token generated by object_vault_restapi.generate_password_reset_token.
newPassword The user's new password.
*/
procedure reset_password
(
p_json_parameters clob
);
/*
function restapi_error
The restapi_error function allows the DbTwig middle-tier listener to process Oracle specific RestAPI errors. The AsterionDB
RestAPI will throw an exception upon encountering an Oracle specific error. The middle-tier listener intercepts these exceptions,
calls the service based RestAPI Error handler and sends the response to the client layer.
Please see the discussion of exceptions and error handling in the introduction.
Embedded parameter values:
sessionId See introduction. The session ID is specified if available. Note, a session ID is not always
available.
errorCode The Oracle specific error code that was caught by the middle-tier.
errorMessage The Oracle specific error message that was received by the middle-tier.
*/
function restapi_error
(
p_json_parameters clob
)
return clob;
/*
procedure restore_objects
The restore_objects function allows a client application to restore objects that have been deleted.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectIds The set of objects to be restored.
*/
procedure restore_objects
(
p_json_parameters clob
);
/*
procedure revoke_all_permissions
The revoke_all_permissions procedure allows a system administrator to revoke all permissions from a user.
This function can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
username The user that will have all privileges revoked.
*/
procedure revoke_all_permissions
(
p_json_parameters clob
);
/*
procedure revoke_user_permission
The revoke_user_permission procedure allows a system administrator to revoke a permission from a user.
This procedure can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
username The user that will have a privilege revoked.
permission The permission to be revoked. Possible permission values are found in the
system_permissions.permission table.
*/
procedure revoke_user_permission
(
p_json_parameters clob
);
/*
procedure save_oauth_reply
The save_oauth_reply procedure allows a middle-tier component to save the response received from an OAuth authorization handshake.
This procedure can only be called by a user session that has been created by a system administrator.
The OAuth handshake can only be initiated by a system administrator. As part of the handshake, the OAuth server receives a
redirect URI that will process the OAuth reply.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
The OAuth reply contains its own embedded parameters within a JSON object. These parameters are processed by the save_oauth_reply
procedure.
*/
procedure save_oauth_reply
(
p_json_parameters clob
);
/*
function search_source_path
The search_source_path function allows a client application to search a source path for matching objects. This function is used
by the AsterionDB path parsing functionality to provide a list of matching objects for a given source path. The list of matching
objects is aggregated by source path.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
viewType The type of object view to query. Possible values are:
object_vault_restapi.OVT_CATALOGED
object_vault_restapi.OVT_UNCATALOGED
The JSON string returned by this function contains an array with the following entries:
objectCount The number of objects found.
objectTypeIds A set of object_type_id values representing the types of objects found.
sourcePaths The source paths found - with the filename component parsed out.
*/
function search_source_path
(
p_json_parameters clob
)
return clob;
/*
procedure send_email_to_all_users
The send_email_to_all_users procedure sends an email to all users of the AsterionDB system.
This procedure can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
subject The email subject line.
emailText The text of the email to be sent.
Possible exceptions returned:
error_logging_pkg.FEATURE_DISABLED
error_logging_pkg.INVALID_PARAMETERS
*/
procedure send_email_to_all_users
(
p_json_parameters clob
);
/*
procedure send_invitation
The send_invitation procedure sends an email invitation to register as a user of the AsterionDB system.
This procedure can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
emailAddress The recipient's email address.
firstName The recipient's first name.
lastName The recipient's last name.
invitationNote A note to include with the invitation.
Possible exceptions returned:
error_logging_pkg.FEATURE_DISABLED
error_logging_pkg.INVALID_PARAMETERS
*/
procedure send_invitation
(
p_json_parameters clob
);
/*
procedure send_test_email
The send_test_email procedure sends a test email to the system administrator.
This procedure can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
subject The email subject line.
emailText The text of the email to be sent.
Possible exceptions returned:
error_logging_pkg.FEATURE_DISABLED
error_logging_pkg.INVALID_PARAMETERS
*/
procedure send_test_email
(
p_json_parameters clob
);
/*
procedure set_immutable_state
The set_immutable_state procedure allows a user application to set the immutable state for a group of objects.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
immutableObject A flag indicating whether the object is immutable. An immutable object can not be changed in any
way. The constant value object_vault_restapi.OPTION_ENABLED indicates that the object is immutable.
*/
procedure set_immutable_state
(
p_json_parameters clob
);
/*
procedure set_keyword_value
The set_keyword_value procedure allows a user application to set a keyword value for a group of objects.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectIds The group of objects to have a keyword value set for.
keywordInGroupId The keyword in a group that will have a value set.
keywordValue The keyword value.
oldValueId If this operation is to set the value of an existing keyword/value pair the prior keyword value id is
specified by the oldValueId parameter.
Possible exceptions returned:
error_logging_pkg.IMMUTABLE_OBJECT
*/
procedure set_keyword_value
(
p_json_parameters clob
);
/*
procedure set_share_status
The set_share_status procedure allows a user application to set the share status for a group of objects.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectIds The group of objects to have the share status set for.
shareStatus The share status that all specified objects will be set to. Possible values are:
object_vault_restapi.SHS_NOT_SHARED
object_vault_restapi.SHS_SHARE_WITH_ALL
object_vault_restapi.SHS_SHARE_WITH_USERS
Possible exceptions returned:
error_logging_pkg.PERMISSION_NOT_GRANTED
error_logging_pkg.OBJECT_NOT_FOUND
error_logging_pkg.SHARING_DISABLED
*/
procedure set_share_status
(
p_json_parameters clob
);
/*
procedure share_objects_with_users
The share_objects_with_users allows a user application to specify the users that a group of objects are to be shared with. This
function is called after setting the share status for the objects of concern to object_vault_restapi.SHS_SHARE_WITH_USERS.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectIds The group of objects to be shared.
apiUserIds The api_user_id values of the users that the objects will be shared with.
Possible exceptions returned:
error_logging_pkg.PERMISSION_NOT_GRANTED
error_logging_pkg.OBJECT_NOT_FOUND
error_logging_pkg.SHARING_DISABLED
*/
procedure share_objects_with_users
(
p_json_parameters clob
);
/*
POC feature. Document in dedicated package for DbObscura value added feature.
*/
procedure spawn_helper_application
(
p_json_parameters clob
);
/*
procedure terminate_user_session
The terminate_user_session procedure allows a user application to process a logout request.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
*/
procedure terminate_user_session
(
p_json_parameters clob
);
/*
procedure toggle_account_status
The toggle_account_status procedure allows a system administrator to toggel a user's account status between locked to unlocked.
This procedure can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
username The user whose account status will be toggled.
*/
procedure toggle_account_status
(
p_json_parameters clob
);
/*
procedure transform_to_versioned_object
The transform_to_versioned_object procedure allows a client application to enable version tracking for an object.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectId The object to be transformed into a versioned object.
Possible exceptions returned:
error_logging_pkg.IMMUTABLE_OBJECT
error_logging_pkg.UNABLE_TO_TRANSFORM
*/
procedure transform_to_versioned_object
(
p_json_parameters clob
);
/*
procedure update_email_config
The update_email_config procedure allows a system administrator to update the SMTP outbound email configuration information for
an AsterionDB installation.
This procedure can only be called by a user session that has been created by a system administrator.
This procedure required infromation that is generated as part of the Google GMail Oauth process. See the
Google documentation on OAuth for further information:
https://developers.google.com/identity/protocols/oauth2/web-server
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
smtpEmailSender The email address used to send outbound emails.
gmailClientId The GMail client ID.
gmailClientSecret The Gmail client secret.
*/
procedure update_email_config
(
p_json_parameters clob
);
/*
procedure update_file_extensions
The update_file_extensions procedure allows a system administrator to update the file extensions associated with an object type.
This procedure can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectTypeId The object_type_id of the type of object that will be assigned to the specified set of file
extensions.
fileExtensions The fileExtensions parameter is a JSON array with the following properties:
fileExtension The file extension.
mimeType The mime type associated with the file extension.
htmlElement The HTML element (e.g. ) used to display the object, if any. This value can be set to null.
*/
procedure update_file_extensions
(
p_json_parameters clob
);
/*
procedure update_keyword_group
The update_keyword_group procedure allows a client application to update a keyword group's settings.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordGroup The keyword group's name.
keywordGroupId The keyword group's ID value.
description A description of the keyword group.
objectTypeIds The objectTypeIds parameter is an embedded JSON array of object_type_id values. This parameter is
used to specify the object types that this keyword group will be restricted to.
*/
procedure update_keyword_group
(
p_json_parameters clob
);
/*
procedure update_keyword_in_a_group
The update_keyword_in_a_group procedure allows a client application to update the settings for a keyword that is part of a group.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
keywordInGroupId The keywords_in_a_group.keyword_in_group_id value.
userInputHandling The userInputHandling value governs how the client interface is to handle user input for this keyword
value. Possible values are:
object_vault_restapi.UIH_NO_SUGGESTIONS
object_vault_restapi.UIH_STATIC_LIST
object_vault_restapi.UIH_DYNAMIC_LIST
*/
procedure update_keyword_in_a_group
(
p_json_parameters clob
);
/*
procedure update_object_type
The update_object_type procedure allows a system administrator to update the settings for an object type.
This procedure can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectTypeId The object_types.object_type_id value.
objectType The object_types.object_type value.
tableName The object_types.table_name value. This is the table that is used to store the objects.
columnName The object_types.column_name value. This is the name of the column that is used to store the object
data.
dataType The object_types.data_type value.
description The object_types.description value.
gatewayIngestionEnabled The object_types.gateway_ingestion_enabled value. This value indicates whether the object type can
be ingested through the DbObscura Gateway.
adminAccessOnly The object_types.admin_access_only value. This value indicates whether the object type is available
for use by system administrator's only or by all user's of AsterionDB.
htmlAcceptValue The htmlAcceptValue parameter allows you to specify the accept attribute value for a specific
object. This value is used to limit the types of files that can be uploaded. Search the web for
HTML attribute:accept for further information.
metadataClassification The metadata classification for the object.
Possible exceptions returned:
error_logging_pkg.ACTION_DISALLOWED
*/
procedure update_object_type
(
p_json_parameters clob
);
/*
procedure update_object_vault_profile
The update_object_vault_profile procedure allows a system administrator to update the AsterionDB profile.
This procedure can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
profileName The AsterionDB system profile name.
websiteRootAddress The AsterionDB website root address (i.e. asteriondb.yoursite.com)
streamProxyPrefix The prefix value to be applied to streaming weblinks built for processing by a proxy server. See the
AsterionDB Configuration and Installation Guide for more information.
downloadProxyPrefix The prefix value to be applied to download weblinks built for processing by a proxy server. See the
AsterionDB Configuration and Installation Guide for more information.
usersGuideLink The usersGuideLink value provides the URL that a client application can use to link to the AsterionDB
User's Guide. This value can be a location resolved by your local HTTP server through a redirect, a
direct link to the content or point to a Cloud based resource. The default value is:
https://cloud-eval.asteriondb.com/objectVault/usersGuide
installationGuideLink The installationGuideLink value provides the URL that a client application can use to link to the
AsterionDB Installation and Configuration Guide. This value can be a location resolved by your local
HTTP server through a redirect, a direct link to the content or point to a Cloud based resource.
The default value is:
https://cloud-eval.asteriondb.com/objectVault/installationGuide
sslEnabled If enabled SSL enabled weblinks will be generated (e.g. https://...). Use the constants
object_vault_restapi.OPTION_ENABLED and object_vault_restapi.OPTION_DISABLED to set this value.
allowNewUsers If enabled new users can be created. User creation can be accomlished by enrollment, self-enrollment
or invitation. Use the constants object_vault_restapi.OPTION_ENABLED and
object_vault_restapi.OPTION_DISABLED to set this value.
signupPageEnabled If enabled new users can self register by accessing an appropriate link on the login page. Use the
constants object_vault_restapi.OPTION_ENABLED and object_vault_restapi.OPTION_DISABLED to set this
value.
defaultLobTablespace The tablespace that will be used by default to store LOB (unstructured) data.
sharingEnabled Use the constant object_vault_restapi.OPTION_ENABLED to enable sharing of objects.
secureWeblinkWebpage The value of secureWeblinkWebpage is used when constructing links for secure content. The URL will
be in the following format:
http(s)://you.server.com/secureWeblinkWebpage
extraErrorInfoEnabled If enabled extra error information will be emitted by the data layer. This option should not be
enabled in production environments. Use the constant object_vault_restapi.OPTION_ENABLED to enable
this option.
metadataAnalysisInterval The metadataAnalysisInterval is the amount of time the automated metadata analysis job will sleep
in between invocations.
Possible exceptions returned:
error_logging_pkg.FEATURE_DISABLED
*/
procedure update_object_vault_profile
(
p_json_parameters clob
);
/*
procedure update_system_permission
The update_system_permission procedure allows a system administrator to update a system permission's properties.
This procedure can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
permissionId The system permission_id value.
grantedByDefault A flag indicating if the system permission is granted by default. Possible values are
object_vault_restapi.OPTION_ENABLED and object_vault_restapi.OPTION_DISABLED.
*/
procedure update_system_permission
(
p_json_parameters clob
);
/*
procedure update_user_info
The update_user_info procedure allows a client application to update a user's information.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
firstName The user's first name.
middleName The user's middle name/initial.
lastName The user's last name.
*/
procedure update_user_info
(
p_json_parameters clob
);
/*
procedure update_user_preferences
The update_user_preferences procedure allows a client application to update a user's preferences.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
autoQueryEnabled The value of the autoQueryEnabled, which maps to object_vault_users.auto_query_enabled.
defaultTimezone The user's default timezone (e.g. America/Los_Angeles).
*/
procedure update_user_preferences
(
p_json_parameters clob
);
/*
procedure update_user_properties
The update_user_properties procedure allows a system administrator to update a user's properties.
This procedure can only be called by a user session that has been created by a system administrator.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
username The username of the AsterionDB user whose properties are to be updated.
sessionInactivityLimit The inactivity limit, expressed in seconds. A user session that exceedes the inactivity limit will
be terminated.
sessionLimit The limit on the number of concurrently active sessions the user may create.
*/
procedure update_user_properties
(
p_json_parameters clob
);
/*
procedure update_version_settings
The update_version_settings procedure allows a client application to update the versioning settings for an object.
Embedded parameter values:
sessionId See introduction
clientAddress See introduction
userAgent See introduction
objectId The object_id of the object to update.
versionsToRetain The number of versions to retain. Note that the data for trimmed versions is removed.
The associated metadata (links, access history) is retained. Set this value to
object_vault_restapi.UNLIMITED to allow for the retention of an unlimited number of
versions. The value can not be set to zero.
versionsHaveSameName This value determines whether a newly uploaded version's object name must match
the existing object's name. Use the constants object_vault_restapi.OPTION_ENABLED and
object_vault_restapi.OPTION_DISABLED to set this value.
*/
procedure update_version_settings
(
p_json_parameters clob
);
/*
procedure validate_confirmation_token
The validate_confirmation_token procedure allows a client application to validate a system generated confirmation token.
Confirmation tokens are generated as a step in various AsterionDB authorization workflows. The workflows that generate a
confirmation token are:
Enrolling a user.
User initiated password recovery.
Embedded parameter values:
confirmationToken The system generated confirmation token which was received in an email that was sent by the AsterionDB
system.
Possible exceptions returned:
error_logging_pkg.INVALID_CONFIRMATION_DATA
*/
procedure validate_confirmation_token
(
p_json_parameters clob
);
/*
function validate_invitation_token
The validate_invitation_token function allows a client application to validate a user enrollment invitation token. Enrollment
invitations are sent out by the system as an email and contain an invitation token within a link in the document. The validation
of this token, if successful, will return the information needed to allow the user to complete the enrollment process.
Embedded parameter values:
invitationToken The system generated invitation token which was received in an email that was sent by the AsterionDB
system.
The JSON string returned by this function contains the following properties:
firstName The invited user's first name.
lastName The invited user's last name.
emailAddress The invited user's email address.
Possible exceptions returned:
error_logging_pkg.INVALID_INVITATION_TOKEN
*/
function validate_invitation_token
(
p_json_parameters clob
)
return clob;
/*
procedure validate_new_email_address
The validate_new_email_address procedure allows a client application to validate a new user's email address as part of the self
enrollment or enrollment by invitation workflow. Validation will ensure that the email address does not already exist in the
system.
Embedded parameter values:
emailAddress The new user's email address.
Possible exceptions returned:
error_logging_pkg.EMAIL_ADDRESS_EXISTS
*/
procedure validate_new_email_address
(
p_json_parameters clob
);
/*
procedure validate_new_username
The validate_new_username procedure allows a new user's username to be validated as part of the workflow for user enrollment.
Validation will ensure that the username does not already exist in the system.
Embedded parameter values:
username The new user's username.
Possible exceptions returned:
error_logging_pkg.USERNAME_TAKEN
*/
procedure validate_new_username
(
p_json_parameters clob
);
/*
function validate_secure_weblink_password
The validate_secure_weblink_password function will validate a secure weblink that is being used to access content. The secure
weblink is generated by a call to object_vault_restapi.generate_secure_weblink.
Assigning a password to a secure weblink is an option that can be selected at the time that the weblink is generated. If a
password was assigned at the time the weblink was generated, the weblink and password must be validated upon use by calling this
function.
Embedded parameter values:
clientAddress See introduction
webliknkToken The weblink token generated by a call to object_vault_restapi.generate_secure_weblink.
weblinkPassword The weblink password.
The JSON string returned by this function contains the following properties:
secureStream The URL that is used to access the secure content.
Possible exceptions returned:
error_logging_pkg.INVALID_PASSWORD
*/
function validate_secure_weblink_password
(
p_json_parameters clob
)
return clob;
/*
procedure validate_session
This procedure is used by DbTwig to check session validation for every API call.
This procedure is not callable directly by client applications.
*/
procedure validate_session
(
p_object_type middle_tier_map.object_type%type,
p_object_name middle_tier_map.object_name%type,
p_json_parameters clob
);
end object_vault_restapi;