Models

opentakserver.models.Alert.Alert (alerts)

Columns:

id*

INTEGER

uid

VARCHAR(255)

→ sender_uid

VARCHAR(255)

start_time

DATETIME

cancel_time

DATETIME?

alert_type

VARCHAR(255)

→ point_id

INTEGER?

→ cot_id

INTEGER?

Constraints:

  • FOREIGN KEY (cot.id → cot_id)

  • FOREIGN KEY (euds.uid → sender_uid)

  • FOREIGN KEY (points.id → point_id)

  • PRIMARY KEY (id)

opentakserver.models.APSchedulerJobs.APSchedulerJobs (apscheduler_jobs)

APSchedulerJobs(**kwargs)

Columns:

id*

VARCHAR(255)

next_run_time

FLOAT?

job_state

BLOB

Constraints:

  • PRIMARY KEY (id)

Indexes:

  • ix_apscheduler_jobs_next_run_time (next_run_time)

opentakserver.models.CasEvac.CasEvac (casevac)

Columns:

id*

INTEGER

→ sender_uid

VARCHAR(255)

uid*

VARCHAR(255)

timestamp

DATETIME

ambulatory

INTEGER?

casevac

BOOLEAN?

child

INTEGER?

convenience

INTEGER?

enemy

VARCHAR(255)?

epw

INTEGER?

equipment_detail

VARCHAR(255)?

equipment_none

BOOLEAN?

equipment_other

BOOLEAN?

extraction_equipment

BOOLEAN?

freq

FLOAT?

friendlies

VARCHAR(255)?

hlz_marking

INTEGER?

hlz_remarks

VARCHAR(255)?

hoist

BOOLEAN?

litter

INTEGER?

marked_by

VARCHAR(255)?

medline_remarks

VARCHAR(255)?

nonus_civilian

INTEGER?

nonus_military

INTEGER?

obstacles

VARCHAR(255)?

priority

INTEGER?

routine

INTEGER?

security

INTEGER?

terrain_loose

BOOLEAN?

terrain_other

BOOLEAN?

terrain_other_detail

VARCHAR(255)?

terrain_detail

VARCHAR(255)?

terrain_none

BOOLEAN?

terrain_rough

BOOLEAN?

terrain_slope

BOOLEAN?

terrain_slope_dir

VARCHAR(255)?

title

VARCHAR(255)

urgent

INTEGER?

us_civilian

INTEGER?

us_military

INTEGER?

ventilator

BOOLEAN?

winds_are_from

VARCHAR(255)?

zone_prot_selection

INTEGER?

urgent_surgical

VARCHAR?

→ point_id

INTEGER?

→ cot_id

INTEGER?

Constraints:

  • FOREIGN KEY (cot.id → cot_id)

  • FOREIGN KEY (euds.uid → sender_uid)

  • FOREIGN KEY (points.id → point_id)

  • PRIMARY KEY (id)

  • UNIQUE (uid)

opentakserver.models.Certificate.Certificate (certificates)

Certificate(**kwargs)

Columns:

id*

INTEGER

common_name

VARCHAR(255)

→ eud_uid

VARCHAR(255)?

→ data_package_id

INTEGER?

callsign

VARCHAR(255)?

→ username

VARCHAR(255)?

expiration_date

DATETIME

server_address

VARCHAR(255)

server_port

INTEGER

truststore_filename

VARCHAR(255)

user_cert_filename

VARCHAR(255)

csr

VARCHAR(255)?

cert_password

VARCHAR(255)

Constraints:

  • FOREIGN KEY (data_packages.id → data_package_id)

  • FOREIGN KEY (euds.uid → eud_uid)

  • FOREIGN KEY (user.username → username)

  • PRIMARY KEY (id)

opentakserver.models.Chatrooms.Chatroom (chatrooms)

Columns:

id*

VARCHAR(255)

name

VARCHAR(255)

group_owner

VARCHAR(255)?

parent

VARCHAR(255)?

Constraints:

  • PRIMARY KEY (id)

opentakserver.models.ChatroomsUids.ChatroomsUids (chatrooms_uids)

Columns:

→ chatroom_id*

VARCHAR(255)

→ uid*

VARCHAR(255)

Constraints:

  • FOREIGN KEY (chatrooms.id → chatroom_id)

  • FOREIGN KEY (euds.uid → uid)

  • PRIMARY KEY (chatroom_id, uid)

opentakserver.models.CoT.CoT (cot)

Columns:

id*

INTEGER

how

VARCHAR(255)?

type

VARCHAR(255)?

uid

VARCHAR(255)?

sender_callsign

VARCHAR(255)?

sender_device_name

VARCHAR(255)?

→ sender_uid

VARCHAR(255)?

recipients

JSON?

timestamp

DATETIME

start

DATETIME

stale

DATETIME

xml

TEXT

→ mission_name

VARCHAR(255)?

Constraints:

  • FOREIGN KEY (euds.uid → sender_uid)

  • FOREIGN KEY (missions.name → mission_name)

  • PRIMARY KEY (id)

opentakserver.models.DataPackage.DataPackage (data_packages)

DataPackage(**kwargs)

Columns:

id*

INTEGER

filename*

VARCHAR(255)

hash*

VARCHAR(255)

→ creator_uid

VARCHAR(255)?

submission_time

DATETIME

→ submission_user

INTEGER?

keywords

VARCHAR(255)?

mime_type

VARCHAR(255)

size

INTEGER

tool

VARCHAR(255)?

expiration

VARCHAR(255)?

install_on_enrollment

BOOLEAN?

install_on_connection

BOOLEAN?

Constraints:

  • FOREIGN KEY (euds.uid → creator_uid)

  • FOREIGN KEY (user.id → submission_user)

  • PRIMARY KEY (id)

  • UNIQUE (filename)

  • UNIQUE (hash)

opentakserver.models.DeviceProfiles.DeviceProfiles (device_profiles)

Columns:

preference_key*

VARCHAR(255)

preference_value

VARCHAR(255)?

value_class

VARCHAR(255)?

enrollment

BOOLEAN?

connection

BOOLEAN?

tool

VARCHAR(255)?

active

BOOLEAN

publish_time

DATETIME

Constraints:

  • PRIMARY KEY (preference_key)

opentakserver.models.EUD.EUD (euds)

EUD(**kwargs)

Columns:

id*

INTEGER

uid*

VARCHAR(255)

callsign

VARCHAR(255)?

device

VARCHAR(255)?

os

VARCHAR(255)?

platform

VARCHAR(255)?

version

VARCHAR(255)?

phone_number

BIGINT?

last_event_time

DATETIME?

last_status

VARCHAR(255)?

→ user_id

INTEGER?

→ team_id

INTEGER?

team_role

VARCHAR(255)?

meshtastic_id

BIGINT?

meshtastic_macaddr

VARCHAR(255)?

last_meshtastic_publish

DATETIME?

Constraints:

  • FOREIGN KEY (teams.id → team_id)

  • FOREIGN KEY (user.id → user_id)

  • PRIMARY KEY (id)

  • UNIQUE (uid)

opentakserver.models.EUDStats.EUDStats (eud_stats)

EUDStats(**kwargs)

Columns:

id*

INTEGER

timestamp

DATETIME?

→ eud_uid

VARCHAR(255)

heap_free_size

BIGINT?

app_framerate

INTEGER?

storage_total

BIGINT?

heap_current_size

INTEGER?

battery

INTEGER?

battery_temp

INTEGER?

deviceDataRx

BIGINT?

heap_max_size

BIGINT?

storage_available

BIGINT?

deviceDataTx

BIGINT?

ip_address

VARCHAR(255)?

battery_status

VARCHAR(255)?

Constraints:

  • FOREIGN KEY (euds.uid → eud_uid)

  • PRIMARY KEY (id)

opentakserver.models.GeoChat.GeoChat (geochat)

Columns:

uid*

VARCHAR(255)

→ chatroom_id

VARCHAR(255)

→ sender_uid

VARCHAR(255)

remarks

VARCHAR(255)

timestamp

DATETIME

→ point_id

INTEGER

→ cot_id

INTEGER

Constraints:

  • FOREIGN KEY (chatrooms.id → chatroom_id)

  • FOREIGN KEY (cot.id → cot_id)

  • FOREIGN KEY (euds.uid → sender_uid)

  • FOREIGN KEY (points.id → point_id)

  • PRIMARY KEY (uid)

opentakserver.models.Group.Group (groups)

Group()

Columns:

id*

INTEGER

name*

VARCHAR(255)

distinguishedName

VARCHAR(255)?

created

DATETIME

type

VARCHAR(255)

bitpos

INTEGER

description

VARCHAR?

Constraints:

  • PRIMARY KEY (id)

  • UNIQUE (name)

opentakserver.models.GroupMission.GroupMission (groups_missions)

GroupMission(**kwargs)

Columns:

→ mission_name*

VARCHAR

→ group_id*

INTEGER

Constraints:

  • FOREIGN KEY (groups.id → group_id)

  • FOREIGN KEY (missions.name → mission_name)

  • PRIMARY KEY (mission_name, group_id)

opentakserver.models.GroupUser.GroupUser (groups_users)

GroupUser(**kwargs)

Columns:

→ user_id*

INTEGER

→ group_id*

INTEGER

direction*

VARCHAR(255)

enabled

BOOLEAN

Constraints:

  • FOREIGN KEY (groups.id → group_id)

  • FOREIGN KEY (user.id → user_id)

  • PRIMARY KEY (user_id, group_id, direction)

opentakserver.models.Icon.Icon (icons)

Icon(**kwargs)

Columns:

id*

INTEGER

iconset_uid

VARCHAR(255)?

filename

VARCHAR(255)?

groupName

VARCHAR(255)?

type2525b

VARCHAR(255)?

useCnt

INTEGER?

bitmap

BLOB?

shadow

BLOB?

Constraints:

  • PRIMARY KEY (id)

opentakserver.models.Marker.Marker (markers)

Marker(**kwargs)

Columns:

id*

INTEGER

uid*

VARCHAR(255)

affiliation

VARCHAR(255)?

battle_dimension

VARCHAR(255)?

→ point_id

INTEGER

callsign

VARCHAR(255)?

readiness

BOOLEAN?

argb

INTEGER?

color_hex

VARCHAR(255)?

iconset_path

VARCHAR(255)?

parent_callsign

VARCHAR(255)?

production_time

VARCHAR(255)?

relation

VARCHAR(255)?

relation_type

VARCHAR(255)?

location_source

VARCHAR(255)?

→ icon_id

INTEGER?

→ parent_uid

VARCHAR(255)?

remarks

VARCHAR(255)?

→ cot_id

INTEGER?

mil_std_2525c

VARCHAR(255)?

Constraints:

  • FOREIGN KEY (cot.id → cot_id)

  • FOREIGN KEY (euds.uid → parent_uid)

  • FOREIGN KEY (icons.id → icon_id)

  • FOREIGN KEY (points.id → point_id)

  • PRIMARY KEY (id)

  • UNIQUE (uid)

opentakserver.models.Mission.Mission (missions)

Mission(**kwargs)

Columns:

name*

VARCHAR(255)

description

VARCHAR(255)?

chat_room

VARCHAR(255)?

base_layer

VARCHAR(255)?

bbox

VARCHAR(255)?

path

VARCHAR(255)?

classification

VARCHAR(255)?

tool

VARCHAR(255)?

group

VARCHAR(255)?

default_role

VARCHAR(255)?

keywords

JSON?

→ creator_uid

VARCHAR(255)?

create_time

DATETIME?

external_data

JSON?

feeds

JSON?

map_layers

JSON?

invite_only

BOOLEAN?

expiration

INTEGER

guid

VARCHAR(255)?

password_protected

BOOLEAN?

password

VARCHAR(255)?

Constraints:

  • FOREIGN KEY (euds.uid → creator_uid)

  • PRIMARY KEY (name)

opentakserver.models.MissionChange.MissionChange (mission_changes)

MissionChange(**kwargs)

Columns:

id*

INTEGER

→ content_uid

VARCHAR(255)?

isFederatedChange

BOOLEAN

change_type

VARCHAR(255)

→ mission_name

VARCHAR(255)

timestamp

DATETIME

creator_uid

VARCHAR(255)

server_time

DATETIME

→ mission_uid

VARCHAR(255)?

Constraints:

  • FOREIGN KEY (mission_content.uid → content_uid)

  • FOREIGN KEY (mission_uids.uid → mission_uid)

  • FOREIGN KEY (missions.name → mission_name)

  • PRIMARY KEY (id)

opentakserver.models.MissionContent.MissionContent (mission_content)

MissionContent(**kwargs)

Columns:

id*

INTEGER

keywords

JSON?

mime_type

VARCHAR(255)?

filename

VARCHAR(255)?

submission_time

DATETIME?

submitter

VARCHAR(255)?

uid*

VARCHAR(255)

creator_uid

VARCHAR(255)?

hash*

VARCHAR(255)

size

INTEGER?

expiration

INTEGER?

Constraints:

  • PRIMARY KEY (id)

  • UNIQUE (hash)

  • UNIQUE (uid)

opentakserver.models.MissionInvitation.MissionInvitation (mission_invitations)

MissionInvitation(**kwargs)

Columns:

id*

INTEGER

→ mission_name

VARCHAR(255)

→ client_uid

VARCHAR(255)?

→ callsign

VARCHAR(255)?

→ username

VARCHAR(255)?

group_name

VARCHAR(255)?

→ team_name

VARCHAR(255)?

creator_uid

VARCHAR(255)?

role

VARCHAR(255)?

Constraints:

  • FOREIGN KEY (euds.callsign → callsign)

  • FOREIGN KEY (euds.uid → client_uid)

  • FOREIGN KEY (missions.name → mission_name)

  • FOREIGN KEY (teams.name → team_name)

  • FOREIGN KEY (user.username → username)

  • PRIMARY KEY (id)

opentakserver.models.MissionLogEntry.MissionLogEntry (mission_logs)

MissionLogEntry(**kwargs)

Columns:

id*

INTEGER

content

VARCHAR(255)

creator_uid

VARCHAR(255)

entry_uid

VARCHAR(255)

→ mission_name

VARCHAR(255)

server_time

DATETIME

dtg

DATETIME

created

DATETIME

content_hash

VARCHAR(255)?

content_hashes

JSON?

keywords

JSON

Constraints:

  • FOREIGN KEY (missions.name → mission_name)

  • PRIMARY KEY (id)

opentakserver.models.MissionRole.MissionRole (mission_roles)

MissionRole(**kwargs)

Columns:

id*

INTEGER

clientUid

VARCHAR(255)

username

VARCHAR(255)

createTime

DATETIME

role_type

VARCHAR(255)

→ mission_name

VARCHAR(255)

Constraints:

  • FOREIGN KEY (missions.name → mission_name)

  • PRIMARY KEY (id)

opentakserver.models.MissionUID.MissionUID (mission_uids)

MissionUID(**kwargs)

Columns:

uid*

VARCHAR(255)

→ mission_name

VARCHAR(255)?

timestamp

DATETIME?

creator_uid

VARCHAR(255)?

cot_type

VARCHAR(255)?

callsign

VARCHAR(255)?

iconset_path

VARCHAR(255)?

color

VARCHAR(255)?

latitude

FLOAT?

longitude

FLOAT?

Constraints:

  • FOREIGN KEY (missions.name → mission_name)

  • PRIMARY KEY (uid)

opentakserver.models.Packages.Packages (packages)

Columns:

id*

INTEGER

platform

VARCHAR(255)

plugin_type

VARCHAR(255)

package_name

VARCHAR(255)

name

VARCHAR(255)

file_name

VARCHAR(255)

version

VARCHAR(255)

revision_code

INTEGER?

description

VARCHAR(255)?

apk_hash

VARCHAR(255)?

os_requirement

INTEGER?

tak_prereq

INTEGER?

file_size

INTEGER

icon

BLOB?

icon_filename

VARCHAR(255)?

install_on_enrollment

BOOLEAN?

install_on_connection

BOOLEAN?

publish_time

DATETIME

atak_version

VARCHAR(255)?

Constraints:

  • PRIMARY KEY (id)

opentakserver.models.Plugins.Plugins (plugins)

Columns:

id*

INTEGER

name*

VARCHAR(255)

distro*

VARCHAR(255)

enabled

BOOLEAN

author

VARCHAR(255)?

version

VARCHAR(255)?

Constraints:

  • PRIMARY KEY (id)

  • UNIQUE (distro)

  • UNIQUE (name)

opentakserver.models.Point.Point (points)

Columns:

id*

INTEGER

uid

VARCHAR(255)

→ device_uid

VARCHAR(255)?

latitude

FLOAT?

longitude

FLOAT?

ce

FLOAT?

hae

FLOAT?

le

FLOAT?

course

FLOAT?

speed

FLOAT?

location_source

VARCHAR(255)?

battery

FLOAT?

timestamp

DATETIME

azimuth

FLOAT?

fov

FLOAT?

→ cot_id

INTEGER?

Constraints:

  • FOREIGN KEY (cot.id → cot_id)

  • FOREIGN KEY (euds.uid → device_uid)

  • PRIMARY KEY (id)

opentakserver.models.RBLine.RBLine (rb_lines)

RBLine(**kwargs)

Columns:

id*

INTEGER

→ sender_uid

VARCHAR(255)

uid*

VARCHAR(255)

timestamp

DATETIME

range

FLOAT

bearing

FLOAT

inclination

FLOAT?

anchor_uid

VARCHAR(255)?

range_units

INTEGER?

bearing_units

INTEGER?

north_ref

INTEGER?

color

INTEGER?

color_hex

VARCHAR(255)?

callsign

VARCHAR(255)?

stroke_color

INTEGER?

stroke_weight

FLOAT?

stroke_style

VARCHAR(255)?

labels_on

BOOLEAN?

→ point_id

INTEGER?

→ cot_id

INTEGER?

end_latitude

FLOAT?

end_longitude

FLOAT?

Constraints:

  • FOREIGN KEY (cot.id → cot_id)

  • FOREIGN KEY (euds.uid → sender_uid)

  • FOREIGN KEY (points.id → point_id)

  • PRIMARY KEY (id)

  • UNIQUE (uid)

opentakserver.models.role.Role (role)

Role(**kwargs)

Columns:

id*

INTEGER

name*

VARCHAR(80)

description

VARCHAR(255)?

permissions

TEXT?

update_datetime

DATETIME

Constraints:

  • PRIMARY KEY (id)

  • UNIQUE (name)

opentakserver.models.Team.Team (teams)

Team(**kwargs)

Columns:

id*

INTEGER

name*

VARCHAR(255)

→ chatroom_id

VARCHAR(255)?

Constraints:

  • FOREIGN KEY (chatrooms.id → chatroom_id)

  • PRIMARY KEY (id)

  • UNIQUE (name)

opentakserver.models.Token.Token (tokens)

Token(**kwargs)

Columns:

id*

INTEGER

→ username*

VARCHAR(255)?

max_uses

INTEGER?

total_uses

INTEGER?

creation

BIGINT

not_before

BIGINT?

expiration

BIGINT?

disabled

BOOLEAN?

token_hash*

VARCHAR(255)

Constraints:

  • FOREIGN KEY (user.username → username)

  • PRIMARY KEY (id)

  • UNIQUE (token_hash)

  • UNIQUE (username)

opentakserver.models.user.User (user)

User(**kwargs)

Columns:

email

VARCHAR(255)?

fs_webauthn_user_handle*

VARCHAR(64)?

mf_recovery_codes

TEXT?

password

VARCHAR(255)?

us_phone_number*

VARCHAR(128)?

username*

VARCHAR(255)?

us_totp_secrets

TEXT?

id*

INTEGER

active

BOOLEAN

fs_uniquifier*

VARCHAR(64)

confirmed_at

DATETIME?

last_login_at

DATETIME?

current_login_at

DATETIME?

last_login_ip

VARCHAR(64)?

current_login_ip

VARCHAR(64)?

login_count

INTEGER?

tf_primary_method

VARCHAR(64)?

tf_totp_secret

VARCHAR(255)?

tf_phone_number

VARCHAR(128)?

create_datetime

DATETIME

update_datetime

DATETIME

Constraints:

  • PRIMARY KEY (id)

  • UNIQUE (fs_uniquifier)

  • UNIQUE (fs_webauthn_user_handle)

  • UNIQUE (us_phone_number)

  • UNIQUE (username)

opentakserver.models.VideoRecording.VideoRecording (video_recordings)

VideoRecording(**kwargs)

Columns:

id*

INTEGER

segment_path*

VARCHAR(255)

→ path

VARCHAR(255)

in_progress

BOOLEAN

start_time

DATETIME?

stop_time

DATETIME?

duration

INTEGER?

width

INTEGER?

height

INTEGER?

video_codec

VARCHAR(255)?

video_bitrate

INTEGER?

audio_codec

VARCHAR(255)?

audio_bitrate

INTEGER?

audio_samplerate

INTEGER?

audio_channels

INTEGER?

file_size

INTEGER?

Constraints:

  • FOREIGN KEY (video_streams.path → path)

  • PRIMARY KEY (id)

  • UNIQUE (segment_path)

opentakserver.models.VideoStream.VideoStream (video_streams)

VideoStream(**kwargs)

Columns:

path*

VARCHAR(255)

protocol

VARCHAR(255)

port

INTEGER

network_timeout

INTEGER

uid

VARCHAR(255)?

buffer_time

INTEGER?

rover_port

INTEGER?

rtsp_reliable

INTEGER?

ignore_embedded_klv

BOOLEAN?

alias

VARCHAR(255)?

preferred_mac_address

VARCHAR(255)?

preferred_interface_address

VARCHAR(255)?

→ username

VARCHAR(255)?

xml

TEXT?

ready

BOOLEAN

mediamtx_settings

TEXT

→ cot_id

INTEGER?

Constraints:

  • FOREIGN KEY (cot.id → cot_id)

  • FOREIGN KEY (user.username → username)

  • PRIMARY KEY (path)

opentakserver.models.ZMIST.ZMIST (zmist)

Columns:

id*

INTEGER

i

VARCHAR(255)?

m

VARCHAR(255)?

s

VARCHAR(255)?

t

VARCHAR(255)?

title

VARCHAR(255)?

z

INTEGER?

→ casevac_uid

VARCHAR(255)

Constraints:

  • FOREIGN KEY (casevac.uid → casevac_uid)

  • PRIMARY KEY (id)