Files

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()