1397 lines
45 KiB
GDScript
1397 lines
45 KiB
GDScript
### Code generated by codegen/main.go. DO NOT EDIT. ###
|
|
|
|
extends RefCounted
|
|
class_name SatoriAPI
|
|
|
|
# Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user.
|
|
class ApiAuthenticateLogoutRequest extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"refresh_token": {"name": "_refresh_token", "type": TYPE_STRING, "required": false},
|
|
"token": {"name": "_token", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
# Refresh token to invalidate.
|
|
var _refresh_token
|
|
var refresh_token : String:
|
|
get:
|
|
return "" if not _refresh_token is String else String(_refresh_token)
|
|
|
|
# Session token to log out.
|
|
var _token
|
|
var token : String:
|
|
get:
|
|
return "" if not _token is String else String(_token)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiAuthenticateLogoutRequest:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiAuthenticateLogoutRequest", p_dict), ApiAuthenticateLogoutRequest) as ApiAuthenticateLogoutRequest
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "refresh_token: %s, " % _refresh_token
|
|
output += "token: %s, " % _token
|
|
output += map_string
|
|
return output
|
|
|
|
# Authenticate against the server with a refresh token.
|
|
class ApiAuthenticateRefreshRequest extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"refresh_token": {"name": "_refresh_token", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
# Refresh token.
|
|
var _refresh_token
|
|
var refresh_token : String:
|
|
get:
|
|
return "" if not _refresh_token is String else String(_refresh_token)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiAuthenticateRefreshRequest:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiAuthenticateRefreshRequest", p_dict), ApiAuthenticateRefreshRequest) as ApiAuthenticateRefreshRequest
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "refresh_token: %s, " % _refresh_token
|
|
output += map_string
|
|
return output
|
|
|
|
#
|
|
class ApiAuthenticateRequest extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"custom": {"name": "_custom", "type": TYPE_DICTIONARY, "required": false, "content": TYPE_STRING},
|
|
"default": {"name": "_default", "type": TYPE_DICTIONARY, "required": false, "content": TYPE_STRING},
|
|
"id": {"name": "_id", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
# Optional custom properties to update with this call.
|
|
# If not set, properties are left as they are on the server.
|
|
var _custom
|
|
var custom : Dictionary:
|
|
get:
|
|
return Dictionary() if not _custom is Dictionary else _custom.duplicate()
|
|
|
|
# Optional default properties to update with this call.
|
|
# If not set, properties are left as they are on the server.
|
|
var _default
|
|
var default : Dictionary:
|
|
get:
|
|
return Dictionary() if not _default is Dictionary else _default.duplicate()
|
|
|
|
# Identity ID. Must be between eight and 128 characters (inclusive).
|
|
# Must be an alphanumeric string with only underscores and hyphens allowed.
|
|
var _id
|
|
var id : String:
|
|
get:
|
|
return "" if not _id is String else String(_id)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiAuthenticateRequest:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiAuthenticateRequest", p_dict), ApiAuthenticateRequest) as ApiAuthenticateRequest
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
if typeof(_custom) == TYPE_DICTIONARY:
|
|
for k in _custom:
|
|
map_string += "{%s=%s}, " % [k, _custom[k]]
|
|
output += "custom: [%s], " % map_string
|
|
map_string = ""
|
|
if typeof(_default) == TYPE_DICTIONARY:
|
|
for k in _default:
|
|
map_string += "{%s=%s}, " % [k, _default[k]]
|
|
output += "default: [%s], " % map_string
|
|
map_string = ""
|
|
output += "id: %s, " % _id
|
|
output += map_string
|
|
return output
|
|
|
|
# A single event. Usually, but not necessarily, part of a batch.
|
|
class ApiEvent extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"id": {"name": "_id", "type": TYPE_STRING, "required": false},
|
|
"metadata": {"name": "_metadata", "type": TYPE_DICTIONARY, "required": false, "content": TYPE_STRING},
|
|
"name": {"name": "_name", "type": TYPE_STRING, "required": false},
|
|
"timestamp": {"name": "_timestamp", "type": TYPE_STRING, "required": false},
|
|
"value": {"name": "_value", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
# Optional event ID assigned by the client, used to de-duplicate in retransmission scenarios.
|
|
# If not supplied the server will assign a randomly generated unique event identifier.
|
|
var _id
|
|
var id : String:
|
|
get:
|
|
return "" if not _id is String else String(_id)
|
|
|
|
# Event metadata, if any.
|
|
var _metadata
|
|
var metadata : Dictionary:
|
|
get:
|
|
return Dictionary() if not _metadata is Dictionary else _metadata.duplicate()
|
|
|
|
# Event name.
|
|
var _name
|
|
var name : String:
|
|
get:
|
|
return "" if not _name is String else String(_name)
|
|
|
|
# The time when the event was triggered on the producer side.
|
|
var _timestamp
|
|
var timestamp : String:
|
|
get:
|
|
return "" if not _timestamp is String else String(_timestamp)
|
|
|
|
# Optional value.
|
|
var _value
|
|
var value : String:
|
|
get:
|
|
return "" if not _value is String else String(_value)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiEvent:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiEvent", p_dict), ApiEvent) as ApiEvent
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "id: %s, " % _id
|
|
if typeof(_metadata) == TYPE_DICTIONARY:
|
|
for k in _metadata:
|
|
map_string += "{%s=%s}, " % [k, _metadata[k]]
|
|
output += "metadata: [%s], " % map_string
|
|
map_string = ""
|
|
output += "name: %s, " % _name
|
|
output += "timestamp: %s, " % _timestamp
|
|
output += "value: %s, " % _value
|
|
output += map_string
|
|
return output
|
|
|
|
#
|
|
class ApiEventRequest extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"events": {"name": "_events", "type": TYPE_ARRAY, "required": false, "content": TYPE_DICTIONARY},
|
|
}
|
|
|
|
# Some number of events produced by a client.
|
|
var _events
|
|
var events : Array:
|
|
get:
|
|
return Array() if not _events is Array else Array(_events)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiEventRequest:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiEventRequest", p_dict), ApiEventRequest) as ApiEventRequest
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "events: %s, " % [_events]
|
|
output += map_string
|
|
return output
|
|
|
|
# An experiment that this user is partaking.
|
|
class ApiExperiment extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"name": {"name": "_name", "type": TYPE_STRING, "required": false},
|
|
"value": {"name": "_value", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
#
|
|
var _name
|
|
var name : String:
|
|
get:
|
|
return "" if not _name is String else String(_name)
|
|
|
|
# Value associated with this Experiment.
|
|
var _value
|
|
var value : String:
|
|
get:
|
|
return "" if not _value is String else String(_value)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiExperiment:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiExperiment", p_dict), ApiExperiment) as ApiExperiment
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "name: %s, " % _name
|
|
output += "value: %s, " % _value
|
|
output += map_string
|
|
return output
|
|
|
|
# All experiments that this identity is involved with.
|
|
class ApiExperimentList extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"experiments": {"name": "_experiments", "type": TYPE_ARRAY, "required": false, "content": TYPE_DICTIONARY},
|
|
}
|
|
|
|
# All experiments for this identity.
|
|
var _experiments
|
|
var experiments : Array:
|
|
get:
|
|
return Array() if not _experiments is Array else Array(_experiments)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiExperimentList:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiExperimentList", p_dict), ApiExperimentList) as ApiExperimentList
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "experiments: %s, " % [_experiments]
|
|
output += map_string
|
|
return output
|
|
|
|
# Feature flag available to the identity.
|
|
class ApiFlag extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"condition_changed": {"name": "_condition_changed", "type": TYPE_BOOL, "required": false},
|
|
"name": {"name": "_name", "type": TYPE_STRING, "required": false},
|
|
"value": {"name": "_value", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
# Whether the value for this flag has conditionally changed from the default state.
|
|
var _condition_changed
|
|
var condition_changed : bool:
|
|
get:
|
|
return false if not _condition_changed is bool else bool(_condition_changed)
|
|
|
|
#
|
|
var _name
|
|
var name : String:
|
|
get:
|
|
return "" if not _name is String else String(_name)
|
|
|
|
# Value associated with this flag.
|
|
var _value
|
|
var value : String:
|
|
get:
|
|
return "" if not _value is String else String(_value)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiFlag:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiFlag", p_dict), ApiFlag) as ApiFlag
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "condition_changed: %s, " % _condition_changed
|
|
output += "name: %s, " % _name
|
|
output += "value: %s, " % _value
|
|
output += map_string
|
|
return output
|
|
|
|
#
|
|
class ApiFlagList extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"flags": {"name": "_flags", "type": TYPE_ARRAY, "required": false, "content": TYPE_DICTIONARY},
|
|
}
|
|
|
|
#
|
|
var _flags
|
|
var flags : Array:
|
|
get:
|
|
return Array() if not _flags is Array else Array(_flags)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiFlagList:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiFlagList", p_dict), ApiFlagList) as ApiFlagList
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "flags: %s, " % [_flags]
|
|
output += map_string
|
|
return output
|
|
|
|
# A response containing all the messages for an identity.
|
|
class ApiGetMessageListResponse extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"cacheable_cursor": {"name": "_cacheable_cursor", "type": TYPE_STRING, "required": false},
|
|
"messages": {"name": "_messages", "type": TYPE_ARRAY, "required": false, "content": TYPE_DICTIONARY},
|
|
"next_cursor": {"name": "_next_cursor", "type": TYPE_STRING, "required": false},
|
|
"prev_cursor": {"name": "_prev_cursor", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
# Cacheable cursor to list newer messages. Durable and designed to be stored, unlike next/prev cursors.
|
|
var _cacheable_cursor
|
|
var cacheable_cursor : String:
|
|
get:
|
|
return "" if not _cacheable_cursor is String else String(_cacheable_cursor)
|
|
|
|
# The list of messages.
|
|
var _messages
|
|
var messages : Array:
|
|
get:
|
|
return Array() if not _messages is Array else Array(_messages)
|
|
|
|
# The cursor to send when retrieving the next page, if any.
|
|
var _next_cursor
|
|
var next_cursor : String:
|
|
get:
|
|
return "" if not _next_cursor is String else String(_next_cursor)
|
|
|
|
# The cursor to send when retrieving the previous page, if any.
|
|
var _prev_cursor
|
|
var prev_cursor : String:
|
|
get:
|
|
return "" if not _prev_cursor is String else String(_prev_cursor)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiGetMessageListResponse:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiGetMessageListResponse", p_dict), ApiGetMessageListResponse) as ApiGetMessageListResponse
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "cacheable_cursor: %s, " % _cacheable_cursor
|
|
output += "messages: %s, " % [_messages]
|
|
output += "next_cursor: %s, " % _next_cursor
|
|
output += "prev_cursor: %s, " % _prev_cursor
|
|
output += map_string
|
|
return output
|
|
|
|
# Enrich/replace the current session with a new ID.
|
|
class ApiIdentifyRequest extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"custom": {"name": "_custom", "type": TYPE_DICTIONARY, "required": false, "content": TYPE_STRING},
|
|
"default": {"name": "_default", "type": TYPE_DICTIONARY, "required": false, "content": TYPE_STRING},
|
|
"id": {"name": "_id", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
# Optional custom properties to update with this call.
|
|
# If not set, properties are left as they are on the server.
|
|
var _custom
|
|
var custom : Dictionary:
|
|
get:
|
|
return Dictionary() if not _custom is Dictionary else _custom.duplicate()
|
|
|
|
# Optional default properties to update with this call.
|
|
# If not set, properties are left as they are on the server.
|
|
var _default
|
|
var default : Dictionary:
|
|
get:
|
|
return Dictionary() if not _default is Dictionary else _default.duplicate()
|
|
|
|
# Identity ID to enrich the current session and return a new session. Old session will no longer be usable.
|
|
var _id
|
|
var id : String:
|
|
get:
|
|
return "" if not _id is String else String(_id)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiIdentifyRequest:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiIdentifyRequest", p_dict), ApiIdentifyRequest) as ApiIdentifyRequest
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
if typeof(_custom) == TYPE_DICTIONARY:
|
|
for k in _custom:
|
|
map_string += "{%s=%s}, " % [k, _custom[k]]
|
|
output += "custom: [%s], " % map_string
|
|
map_string = ""
|
|
if typeof(_default) == TYPE_DICTIONARY:
|
|
for k in _default:
|
|
map_string += "{%s=%s}, " % [k, _default[k]]
|
|
output += "default: [%s], " % map_string
|
|
map_string = ""
|
|
output += "id: %s, " % _id
|
|
output += map_string
|
|
return output
|
|
|
|
# A single live event.
|
|
class ApiLiveEvent extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"active_end_time_sec": {"name": "_active_end_time_sec", "type": TYPE_STRING, "required": false},
|
|
"active_start_time_sec": {"name": "_active_start_time_sec", "type": TYPE_STRING, "required": false},
|
|
"description": {"name": "_description", "type": TYPE_STRING, "required": false},
|
|
"id": {"name": "_id", "type": TYPE_STRING, "required": false},
|
|
"name": {"name": "_name", "type": TYPE_STRING, "required": false},
|
|
"value": {"name": "_value", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
# End time of current event run.
|
|
var _active_end_time_sec
|
|
var active_end_time_sec : String:
|
|
get:
|
|
return "" if not _active_end_time_sec is String else String(_active_end_time_sec)
|
|
|
|
# Start time of current event run.
|
|
var _active_start_time_sec
|
|
var active_start_time_sec : String:
|
|
get:
|
|
return "" if not _active_start_time_sec is String else String(_active_start_time_sec)
|
|
|
|
# Description.
|
|
var _description
|
|
var description : String:
|
|
get:
|
|
return "" if not _description is String else String(_description)
|
|
|
|
# The live event identifier.
|
|
var _id
|
|
var id : String:
|
|
get:
|
|
return "" if not _id is String else String(_id)
|
|
|
|
# Name.
|
|
var _name
|
|
var name : String:
|
|
get:
|
|
return "" if not _name is String else String(_name)
|
|
|
|
# Event value.
|
|
var _value
|
|
var value : String:
|
|
get:
|
|
return "" if not _value is String else String(_value)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiLiveEvent:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiLiveEvent", p_dict), ApiLiveEvent) as ApiLiveEvent
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "active_end_time_sec: %s, " % _active_end_time_sec
|
|
output += "active_start_time_sec: %s, " % _active_start_time_sec
|
|
output += "description: %s, " % _description
|
|
output += "id: %s, " % _id
|
|
output += "name: %s, " % _name
|
|
output += "value: %s, " % _value
|
|
output += map_string
|
|
return output
|
|
|
|
# List of Live events.
|
|
class ApiLiveEventList extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"live_events": {"name": "_live_events", "type": TYPE_ARRAY, "required": false, "content": TYPE_DICTIONARY},
|
|
}
|
|
|
|
# Live events.
|
|
var _live_events
|
|
var live_events : Array:
|
|
get:
|
|
return Array() if not _live_events is Array else Array(_live_events)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiLiveEventList:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiLiveEventList", p_dict), ApiLiveEventList) as ApiLiveEventList
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "live_events: %s, " % [_live_events]
|
|
output += map_string
|
|
return output
|
|
|
|
# A scheduled message.
|
|
class ApiMessage extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"consume_time": {"name": "_consume_time", "type": TYPE_STRING, "required": false},
|
|
"create_time": {"name": "_create_time", "type": TYPE_STRING, "required": false},
|
|
"metadata": {"name": "_metadata", "type": TYPE_DICTIONARY, "required": false, "content": TYPE_STRING},
|
|
"read_time": {"name": "_read_time", "type": TYPE_STRING, "required": false},
|
|
"schedule_id": {"name": "_schedule_id", "type": TYPE_STRING, "required": false},
|
|
"send_time": {"name": "_send_time", "type": TYPE_STRING, "required": false},
|
|
"text": {"name": "_text", "type": TYPE_STRING, "required": false},
|
|
"update_time": {"name": "_update_time", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
# The time the message was consumed by the identity.
|
|
var _consume_time
|
|
var consume_time : String:
|
|
get:
|
|
return "" if not _consume_time is String else String(_consume_time)
|
|
|
|
# The time the message was created.
|
|
var _create_time
|
|
var create_time : String:
|
|
get:
|
|
return "" if not _create_time is String else String(_create_time)
|
|
|
|
# A key-value pairs of metadata.
|
|
var _metadata
|
|
var metadata : Dictionary:
|
|
get:
|
|
return Dictionary() if not _metadata is Dictionary else _metadata.duplicate()
|
|
|
|
# The time the message was read by the client.
|
|
var _read_time
|
|
var read_time : String:
|
|
get:
|
|
return "" if not _read_time is String else String(_read_time)
|
|
|
|
# The identifier of the schedule.
|
|
var _schedule_id
|
|
var schedule_id : String:
|
|
get:
|
|
return "" if not _schedule_id is String else String(_schedule_id)
|
|
|
|
# The send time for the message.
|
|
var _send_time
|
|
var send_time : String:
|
|
get:
|
|
return "" if not _send_time is String else String(_send_time)
|
|
|
|
# The message's text.
|
|
var _text
|
|
var text : String:
|
|
get:
|
|
return "" if not _text is String else String(_text)
|
|
|
|
# The time the message was updated.
|
|
var _update_time
|
|
var update_time : String:
|
|
get:
|
|
return "" if not _update_time is String else String(_update_time)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiMessage:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiMessage", p_dict), ApiMessage) as ApiMessage
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "consume_time: %s, " % _consume_time
|
|
output += "create_time: %s, " % _create_time
|
|
if typeof(_metadata) == TYPE_DICTIONARY:
|
|
for k in _metadata:
|
|
map_string += "{%s=%s}, " % [k, _metadata[k]]
|
|
output += "metadata: [%s], " % map_string
|
|
map_string = ""
|
|
output += "read_time: %s, " % _read_time
|
|
output += "schedule_id: %s, " % _schedule_id
|
|
output += "send_time: %s, " % _send_time
|
|
output += "text: %s, " % _text
|
|
output += "update_time: %s, " % _update_time
|
|
output += map_string
|
|
return output
|
|
|
|
# Properties associated with an identity.
|
|
class ApiProperties extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"computed": {"name": "_computed", "type": TYPE_DICTIONARY, "required": false, "content": TYPE_STRING},
|
|
"custom": {"name": "_custom", "type": TYPE_DICTIONARY, "required": false, "content": TYPE_STRING},
|
|
"default": {"name": "_default", "type": TYPE_DICTIONARY, "required": false, "content": TYPE_STRING},
|
|
}
|
|
|
|
# Event computed properties.
|
|
var _computed
|
|
var computed : Dictionary:
|
|
get:
|
|
return Dictionary() if not _computed is Dictionary else _computed.duplicate()
|
|
|
|
# Event custom properties.
|
|
var _custom
|
|
var custom : Dictionary:
|
|
get:
|
|
return Dictionary() if not _custom is Dictionary else _custom.duplicate()
|
|
|
|
# Event default properties.
|
|
var _default
|
|
var default : Dictionary:
|
|
get:
|
|
return Dictionary() if not _default is Dictionary else _default.duplicate()
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiProperties:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiProperties", p_dict), ApiProperties) as ApiProperties
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
if typeof(_computed) == TYPE_DICTIONARY:
|
|
for k in _computed:
|
|
map_string += "{%s=%s}, " % [k, _computed[k]]
|
|
output += "computed: [%s], " % map_string
|
|
map_string = ""
|
|
if typeof(_custom) == TYPE_DICTIONARY:
|
|
for k in _custom:
|
|
map_string += "{%s=%s}, " % [k, _custom[k]]
|
|
output += "custom: [%s], " % map_string
|
|
map_string = ""
|
|
if typeof(_default) == TYPE_DICTIONARY:
|
|
for k in _default:
|
|
map_string += "{%s=%s}, " % [k, _default[k]]
|
|
output += "default: [%s], " % map_string
|
|
map_string = ""
|
|
output += map_string
|
|
return output
|
|
|
|
# A session.
|
|
class ApiSession extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"properties": {"name": "_properties", "type": "ApiProperties", "required": false},
|
|
"refresh_token": {"name": "_refresh_token", "type": TYPE_STRING, "required": false},
|
|
"token": {"name": "_token", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
# Properties associated with this identity.
|
|
var _properties
|
|
var properties : ApiProperties:
|
|
get:
|
|
return _properties as ApiProperties
|
|
|
|
# Refresh token.
|
|
var _refresh_token
|
|
var refresh_token : String:
|
|
get:
|
|
return "" if not _refresh_token is String else String(_refresh_token)
|
|
|
|
# Token credential.
|
|
var _token
|
|
var token : String:
|
|
get:
|
|
return "" if not _token is String else String(_token)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiSession:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiSession", p_dict), ApiSession) as ApiSession
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "properties: %s, " % _properties
|
|
output += "refresh_token: %s, " % _refresh_token
|
|
output += "token: %s, " % _token
|
|
output += map_string
|
|
return output
|
|
|
|
# Update Properties associated with this identity.
|
|
class ApiUpdatePropertiesRequest extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"custom": {"name": "_custom", "type": TYPE_DICTIONARY, "required": false, "content": TYPE_STRING},
|
|
"default": {"name": "_default", "type": TYPE_DICTIONARY, "required": false, "content": TYPE_STRING},
|
|
"recompute": {"name": "_recompute", "type": TYPE_BOOL, "required": false},
|
|
}
|
|
|
|
# Event custom properties.
|
|
var _custom
|
|
var custom : Dictionary:
|
|
get:
|
|
return Dictionary() if not _custom is Dictionary else _custom.duplicate()
|
|
|
|
# Event default properties.
|
|
var _default
|
|
var default : Dictionary:
|
|
get:
|
|
return Dictionary() if not _default is Dictionary else _default.duplicate()
|
|
|
|
# Informs the server to recompute the audience membership of the identity.
|
|
var _recompute
|
|
var recompute : bool:
|
|
get:
|
|
return false if not _recompute is bool else bool(_recompute)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ApiUpdatePropertiesRequest:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ApiUpdatePropertiesRequest", p_dict), ApiUpdatePropertiesRequest) as ApiUpdatePropertiesRequest
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
if typeof(_custom) == TYPE_DICTIONARY:
|
|
for k in _custom:
|
|
map_string += "{%s=%s}, " % [k, _custom[k]]
|
|
output += "custom: [%s], " % map_string
|
|
map_string = ""
|
|
if typeof(_default) == TYPE_DICTIONARY:
|
|
for k in _default:
|
|
map_string += "{%s=%s}, " % [k, _default[k]]
|
|
output += "default: [%s], " % map_string
|
|
map_string = ""
|
|
output += "recompute: %s, " % _recompute
|
|
output += map_string
|
|
return output
|
|
|
|
#
|
|
class ProtobufAny extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"type": {"name": "_type", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
#
|
|
var _type
|
|
var type : String:
|
|
get:
|
|
return "" if not _type is String else String(_type)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> ProtobufAny:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "ProtobufAny", p_dict), ProtobufAny) as ProtobufAny
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "type: %s, " % _type
|
|
output += map_string
|
|
return output
|
|
|
|
#
|
|
class RpcStatus extends SatoriAsyncResult:
|
|
|
|
const _SCHEMA = {
|
|
"code": {"name": "_code", "type": TYPE_INT, "required": false},
|
|
"details": {"name": "_details", "type": TYPE_ARRAY, "required": false, "content": TYPE_DICTIONARY},
|
|
"message": {"name": "_message", "type": TYPE_STRING, "required": false},
|
|
}
|
|
|
|
#
|
|
var _code
|
|
var code : int:
|
|
get:
|
|
return 0 if not _code is int else int(_code)
|
|
|
|
#
|
|
var _details
|
|
var details : Array:
|
|
get:
|
|
return Array() if not _details is Array else Array(_details)
|
|
|
|
#
|
|
var _message
|
|
var message : String:
|
|
get:
|
|
return "" if not _message is String else String(_message)
|
|
|
|
func _init(p_exception = null):
|
|
super(p_exception)
|
|
|
|
static func create(p_ns : GDScript, p_dict : Dictionary) -> RpcStatus:
|
|
return _safe_ret(SatoriSerializer.deserialize(p_ns, "RpcStatus", p_dict), RpcStatus) as RpcStatus
|
|
|
|
func serialize() -> Dictionary:
|
|
return SatoriSerializer.serialize(self)
|
|
|
|
func _to_string() -> String:
|
|
if is_exception():
|
|
return get_exception()._to_string()
|
|
var output : String = ""
|
|
var map_string : String = ""
|
|
output += "code: %s, " % _code
|
|
output += "details: %s, " % [_details]
|
|
output += "message: %s, " % _message
|
|
output += map_string
|
|
return output
|
|
|
|
# The low level client for the Satori API.
|
|
class ApiClient extends RefCounted:
|
|
|
|
var _base_uri : String
|
|
|
|
var _http_adapter
|
|
var _namespace : GDScript
|
|
var _server_key : String
|
|
var auto_refresh := true
|
|
var auto_refresh_time := 300
|
|
|
|
var auto_retry : bool:
|
|
set(p_value):
|
|
_http_adapter.auto_retry = p_value
|
|
get:
|
|
return _http_adapter.auto_retry
|
|
|
|
var auto_retry_count : int:
|
|
set(p_value):
|
|
_http_adapter.auto_retry_count = p_value
|
|
get:
|
|
return _http_adapter.auto_retry_count
|
|
|
|
var auto_retry_backoff_base : int:
|
|
set(p_value):
|
|
_http_adapter.auto_retry_backoff_base = p_value
|
|
get:
|
|
return _http_adapter.auto_retry_backoff_base
|
|
|
|
var last_cancel_token:
|
|
get:
|
|
return _http_adapter.get_last_token()
|
|
|
|
func _init(p_base_uri : String, p_http_adapter, p_namespace : GDScript, p_server_key : String, p_timeout : int = 10):
|
|
_base_uri = p_base_uri
|
|
_http_adapter = p_http_adapter
|
|
_http_adapter.timeout = p_timeout
|
|
_namespace = p_namespace
|
|
_server_key = p_server_key
|
|
|
|
|
|
func _refresh_session(p_session : SatoriSession):
|
|
if auto_refresh and p_session.is_valid() and p_session.refresh_token and not p_session.is_refresh_expired() and p_session.would_expire_in(auto_refresh_time):
|
|
var request = ApiAuthenticateRefreshRequest.new()
|
|
request._token = p_session.refresh_token
|
|
return await authenticate_refresh_async(_server_key, "", request)
|
|
return null
|
|
|
|
func cancel_request(p_token):
|
|
if p_token:
|
|
_http_adapter.cancel_request(p_token)
|
|
|
|
# A healthcheck which load balancers can use to check the service.
|
|
func healthcheck_async(
|
|
p_session : SatoriSession
|
|
) -> SatoriAsyncResult:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return SatoriAsyncResult.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/healthcheck"
|
|
var query_params = ""
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "GET"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return SatoriAsyncResult.new(result)
|
|
return SatoriAsyncResult.new()
|
|
|
|
# A readycheck which load balancers can use to check the service.
|
|
func readycheck_async(
|
|
p_session : SatoriSession
|
|
) -> SatoriAsyncResult:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return SatoriAsyncResult.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/readycheck"
|
|
var query_params = ""
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "GET"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return SatoriAsyncResult.new(result)
|
|
return SatoriAsyncResult.new()
|
|
|
|
# Authenticate against the server.
|
|
func authenticate_async(
|
|
p_basic_auth_username : String
|
|
, p_basic_auth_password : String
|
|
, p_body : ApiAuthenticateRequest
|
|
) -> ApiSession:
|
|
var urlpath : String = "/v1/authenticate"
|
|
var query_params = ""
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "POST"
|
|
var headers = {}
|
|
var credentials = Marshalls.utf8_to_base64(p_basic_auth_username + ":" + p_basic_auth_password)
|
|
var header = "Basic %s" % credentials
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
content = JSON.stringify(p_body.serialize()).to_utf8_buffer()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return ApiSession.new(result)
|
|
var out : ApiSession = SatoriSerializer.deserialize(_namespace, "ApiSession", result)
|
|
return out
|
|
|
|
# Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user.
|
|
func authenticate_logout_async(
|
|
p_session : SatoriSession
|
|
, p_body : ApiAuthenticateLogoutRequest
|
|
) -> SatoriAsyncResult:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return SatoriAsyncResult.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/v1/authenticate/logout"
|
|
var query_params = ""
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "POST"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
content = JSON.stringify(p_body.serialize()).to_utf8_buffer()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return SatoriAsyncResult.new(result)
|
|
return SatoriAsyncResult.new()
|
|
|
|
# Refresh a user's session using a refresh token retrieved from a previous authentication request.
|
|
func authenticate_refresh_async(
|
|
p_basic_auth_username : String
|
|
, p_basic_auth_password : String
|
|
, p_body : ApiAuthenticateRefreshRequest
|
|
) -> ApiSession:
|
|
var urlpath : String = "/v1/authenticate/refresh"
|
|
var query_params = ""
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "POST"
|
|
var headers = {}
|
|
var credentials = Marshalls.utf8_to_base64(p_basic_auth_username + ":" + p_basic_auth_password)
|
|
var header = "Basic %s" % credentials
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
content = JSON.stringify(p_body.serialize()).to_utf8_buffer()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return ApiSession.new(result)
|
|
var out : ApiSession = SatoriSerializer.deserialize(_namespace, "ApiSession", result)
|
|
return out
|
|
|
|
# Publish an event for this session.
|
|
func event_async(
|
|
p_session : SatoriSession
|
|
, p_body : ApiEventRequest
|
|
) -> SatoriAsyncResult:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return SatoriAsyncResult.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/v1/event"
|
|
var query_params = ""
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "POST"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
content = JSON.stringify(p_body.serialize()).to_utf8_buffer()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return SatoriAsyncResult.new(result)
|
|
return SatoriAsyncResult.new()
|
|
|
|
# Get or list all available experiments for this identity.
|
|
func get_experiments_async(
|
|
p_session : SatoriSession
|
|
, p_names = null # : array
|
|
) -> ApiExperimentList:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return ApiExperimentList.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/v1/experiment"
|
|
var query_params = ""
|
|
if p_names != null:
|
|
for elem in p_names:
|
|
query_params += "names=%s&" % elem
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "GET"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return ApiExperimentList.new(result)
|
|
var out : ApiExperimentList = SatoriSerializer.deserialize(_namespace, "ApiExperimentList", result)
|
|
return out
|
|
|
|
# List all available flags for this identity.
|
|
func get_flags_async(
|
|
p_bearer_token : String
|
|
, p_names = null # : array
|
|
) -> ApiFlagList:
|
|
var urlpath : String = "/v1/flag"
|
|
var query_params = ""
|
|
if p_names != null:
|
|
for elem in p_names:
|
|
query_params += "names=%s&" % elem
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "GET"
|
|
var headers = {}
|
|
if (p_bearer_token):
|
|
var header = "Bearer %s" % p_bearer_token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return ApiFlagList.new(result)
|
|
var out : ApiFlagList = SatoriSerializer.deserialize(_namespace, "ApiFlagList", result)
|
|
return out
|
|
|
|
# Enrich/replace the current session with new identifier.
|
|
func identify_async(
|
|
p_session : SatoriSession
|
|
, p_body : ApiIdentifyRequest
|
|
) -> ApiSession:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return ApiSession.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/v1/identify"
|
|
var query_params = ""
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "PUT"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
content = JSON.stringify(p_body.serialize()).to_utf8_buffer()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return ApiSession.new(result)
|
|
var out : ApiSession = SatoriSerializer.deserialize(_namespace, "ApiSession", result)
|
|
return out
|
|
|
|
# Delete the caller's identity and associated data.
|
|
func delete_identity_async(
|
|
p_session : SatoriSession
|
|
) -> SatoriAsyncResult:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return SatoriAsyncResult.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/v1/identity"
|
|
var query_params = ""
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "DELETE"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return SatoriAsyncResult.new(result)
|
|
return SatoriAsyncResult.new()
|
|
|
|
# List available live events.
|
|
func get_live_events_async(
|
|
p_session : SatoriSession
|
|
, p_names = null # : array
|
|
) -> ApiLiveEventList:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return ApiLiveEventList.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/v1/live-event"
|
|
var query_params = ""
|
|
if p_names != null:
|
|
for elem in p_names:
|
|
query_params += "names=%s&" % elem
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "GET"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return ApiLiveEventList.new(result)
|
|
var out : ApiLiveEventList = SatoriSerializer.deserialize(_namespace, "ApiLiveEventList", result)
|
|
return out
|
|
|
|
# Get the list of messages for the identity.
|
|
func get_message_list_async(
|
|
p_session : SatoriSession
|
|
, p_limit = null # : integer
|
|
, p_forward = null # : boolean
|
|
, p_cursor = null # : string
|
|
) -> ApiGetMessageListResponse:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return ApiGetMessageListResponse.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/v1/message"
|
|
var query_params = ""
|
|
if p_limit != null:
|
|
query_params += "limit=%d&" % p_limit
|
|
if p_forward != null:
|
|
query_params += "forward=%s&" % str(bool(p_forward)).to_lower()
|
|
if p_cursor != null:
|
|
query_params += "cursor=%s&" % SatoriSerializer.escape_http(p_cursor)
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "GET"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return ApiGetMessageListResponse.new(result)
|
|
var out : ApiGetMessageListResponse = SatoriSerializer.deserialize(_namespace, "ApiGetMessageListResponse", result)
|
|
return out
|
|
|
|
# Deletes a message for an identity.
|
|
func delete_message_async(
|
|
p_session : SatoriSession
|
|
, p_id : String
|
|
) -> SatoriAsyncResult:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return SatoriAsyncResult.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/v1/message/{id}"
|
|
urlpath = urlpath.replace("{id}", SatoriSerializer.escape_http(p_id))
|
|
var query_params = ""
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "DELETE"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return SatoriAsyncResult.new(result)
|
|
return SatoriAsyncResult.new()
|
|
|
|
# Updates a message for an identity.
|
|
func update_message_async(
|
|
p_session : SatoriSession
|
|
, p_id : String
|
|
, p_body :
|
|
) -> SatoriAsyncResult:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return SatoriAsyncResult.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/v1/message/{id}"
|
|
urlpath = urlpath.replace("{id}", SatoriSerializer.escape_http(p_id))
|
|
var query_params = ""
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "PUT"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
content = JSON.stringify(p_body.serialize()).to_utf8_buffer()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return SatoriAsyncResult.new(result)
|
|
return SatoriAsyncResult.new()
|
|
|
|
# List properties associated with this identity.
|
|
func list_properties_async(
|
|
p_session : SatoriSession
|
|
) -> ApiProperties:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return ApiProperties.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/v1/properties"
|
|
var query_params = ""
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "GET"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return ApiProperties.new(result)
|
|
var out : ApiProperties = SatoriSerializer.deserialize(_namespace, "ApiProperties", result)
|
|
return out
|
|
|
|
# Update identity properties.
|
|
func update_properties_async(
|
|
p_session : SatoriSession
|
|
, p_body : ApiUpdatePropertiesRequest
|
|
) -> SatoriAsyncResult:
|
|
var try_refresh = await _refresh_session(p_session)
|
|
if try_refresh != null:
|
|
if try_refresh.is_exception():
|
|
return SatoriAsyncResult.new(try_refresh.get_exception())
|
|
await p_session.refresh(try_refresh)
|
|
var urlpath : String = "/v1/properties"
|
|
var query_params = ""
|
|
var uri = "%s%s%s" % [_base_uri, urlpath, "?" + query_params if query_params else ""]
|
|
var method = "PUT"
|
|
var headers = {}
|
|
var header = "Bearer %s" % p_session.token
|
|
headers["Authorization"] = header
|
|
|
|
var content : PackedByteArray = PackedByteArray()
|
|
content = JSON.stringify(p_body.serialize()).to_utf8_buffer()
|
|
|
|
var result = await _http_adapter.send_async(method, uri, headers, content)
|
|
if result is SatoriException:
|
|
return SatoriAsyncResult.new(result)
|
|
return SatoriAsyncResult.new()
|