matteridge.cache

Module Contents

Classes

Functions

user_factory(_cursor, row)

Attributes

matteridge.cache.SCHEMA = Multiline-String[source]
Show Value
"""
CREATE TABLE server(
  id INTEGER PRIMARY KEY,
  server TEXT UNIQUE
);

CREATE TABLE user(
  id INTEGER PRIMARY KEY,
  server_id INTEGER NON NULL,
  user_id TEXT NON NULL,
  username TEXT NON NULL,

  FOREIGN KEY(server_id) REFERENCES server(id),
  UNIQUE (server_id, user_id),
  UNIQUE (server_id, username)
);

CREATE TABLE direct_channel(
  id INTEGER PRIMARY KEY,
  server_id INTEGER NON NULL,
  me INTEGER NON NULL,
  them INTEGER NON NULL,
  direct_channel_id TEXT NON NULL,

  FOREIGN KEY(server_id) REFERENCES server(id),
  FOREIGN KEY(me) REFERENCES user(id),
  FOREIGN KEY(them) REFERENCES user(id),
  UNIQUE(me, them, direct_channel_id)
);

CREATE INDEX user_server_id ON user(server_id);
CREATE INDEX user_user_id ON user(user_id);
CREATE INDEX user_username ON user(username);
"""
class matteridge.cache.MattermostUser[source]

Bases: NamedTuple

user_id: str[source]
username: str[source]
matteridge.cache.user_factory(_cursor, row)[source]
Parameters:
Return type:

MattermostUser

matteridge.cache.ORDER_USER = 'SELECT user_id, username FROM user WHERE '[source]
matteridge.cache.SERVER = '(SELECT id FROM server WHERE server = ?)'[source]
class matteridge.cache.Cache(filename)[source]
Parameters:

filename (os.PathLike)

add_server(server)[source]
Parameters:

server (str)

add_user(server, user_id, username)[source]
Parameters:
__get(server, key, value)[source]
Parameters:
Return type:

MattermostUser

get_by_user_id(server, user_id)[source]
Parameters:
Return type:

MattermostUser

get_user_by_direct_channel_id(server, slidge_user_id, direct_channel_id)[source]
Parameters:
  • server (str)

  • slidge_user_id (str)

  • direct_channel_id (str)

Return type:

MattermostUser

add_direct_channel(server, slidge_user_id, other_user_id, direct_channel_id)[source]
Parameters:
  • server (str)

  • slidge_user_id (str)

  • other_user_id (str)

  • direct_channel_id (str)

get_direct_channel_id(server, slidge_user_id, other_user_id)[source]
Parameters:
  • server (str)

  • slidge_user_id (str)

  • other_user_id (str)

Return type:

Optional[str]

get_by_username(server, username)[source]
Parameters:
Return type:

MattermostUser

msg_id_get(slidge_user_id, channel_id)[source]
Parameters:
  • slidge_user_id (str)

  • channel_id (str)

Return type:

Optional[str]

msg_id_store(slidge_user_id, channel_id, post_id)[source]
Parameters:
  • slidge_user_id (str)

  • channel_id (str)

  • post_id (str)

matteridge.cache.log[source]