Skip to content

Releases: epochtalk/epochtalk_server

v1.5.0

16 Mar 21:40
d5ad8fe
Compare
Choose a tag to compare

1.5.0 (2023-03-16)

Bug Fixes

  • r-p: fix variable names and access value to set new_value (ed7a279)
  • r-p: pass permissions to Role.set_permissions (1e5c0d3)
  • r-p: permissions_map_by_role_id, set permission true after filter (2f05d91)
  • r-p: remove comma in for (1b92ff7)
  • r-p: role.id -> role_id (91afc9f)
  • r-p: set modified on old_role_permission via Map.put (96ebc2b)
  • r-p: upsert_modified role_permissions -> roles_permissions (2eb62d7)
  • r-p: use Enum.reduce instead of for (20b46ca)
  • r-p: use map instead of modifying RolePermission (cbf7ba6)
  • role-update: authenticate role update route (d67c755)

Features

  • helpers/validate: implement sanitize_list (c60d247)
  • mix: seed admin user for test (2312856)
  • r_p model: call set_priority_restrictions on modify_by_role (8f520da)
  • r-p: don't access value from flattened role permissions (cbca47a)
  • r-p: return success (9d04779)
  • role controller: handle priority restrictions in update (f201d36)
  • role controller: implement all/2 (d1677fd)
  • role controller: use id in update (78886de)
  • role model: implement set_priority_restrictions (ff7aa2f)
  • role_controller: pass priority_restrictions to modify_by_role (fb3be66)
  • role-controller: use RolePermission.modify_by_role (c5565a1)
  • role-permission: implement logic for updating role permissions (6a64461)
  • role-permission: implement upsert_modified (6b73149)
  • role-permission: stub role permission modify_by_role (9cb6e05)
  • role-permission: update permissions for role after modifying (eb49043)
  • role: priority restrictions handler for empty list (099058b)
  • router: add /admin/roles/all (338869b)
  • skeleton for admin role update (0d8d491)
  • validate-helper: implement a way to add default value for validate helper (5002e65)

v1.4.0

28 Feb 20:41
0684da2
Compare
Choose a tag to compare

1.4.0 (2023-02-28)

Bug Fixes

  • session: only return sessions in get_sessions_by_user_id (20a004c)
  • session: parse/unparse unix time in session expiration (ffcc8e7)
  • session: pass result up from add_session (d96a8e2)
  • session: pull ttl out of redis result (bd6eceb)
  • session: session_key -> key in maybe_extend_ttl (bed226a)
  • session: typo; moderating -> moderating_key (e1d720d)
  • user-controller: validate/cast rememberMe as boolean in login (f05adde)

Features

  • guardian: replace redis call with Session.is_active_for_user_id (7f8263b)
  • session: create redis ttl attributes (8d6a701)
  • session: delete session by "id" -> "id:expiration" (0e5e9ee)
  • session: expire redis keys on ttl (6b48d37)
  • session: extract session ids in get_sessions (bff6114)
  • session: implement get_session_ids_by_user_id (41f4049)
  • session: implement is_active_for_user_id (3a3ced4)
  • session: implement maybe_extend_expiration (1b4c7b9)
  • session: implement maybe_extend_ttl/3 (c829d42)
  • session: on add, clean up expired sessions and store new session (dc45cc1)
  • session: private methods for deleting/finding session by user_id (b58c8c5)
  • session: re-set old ttl in maybe_extend_ttl/3 (e4f1f8d)
  • session: use maybe_extend_ttl/3 for roles and moderating (1db308e)
  • session: use maybe_extend_ttl/3 in update_ban_info (a848e34)

v1.3.0

26 Jan 22:33
b9d2479
Compare
Choose a tag to compare

1.3.0 (2023-01-26)

Bug Fixes

  • acls: issue with acls call from notifications (bff0f08)
  • credo issue with spec and bad code for login required (31aec07)

Features

  • acls, default to anonymous or private if user is not authenticated (6319faa)
  • acls: add acl to notification dismiss (3539c02)
  • acls: basic permission check implmentation, needs refactoring (4e0e64e)
  • add function spec for acls, guard clauses (4116cd0)

v1.2.0

21 Nov 22:38
511ade3
Compare
Choose a tag to compare

1.2.0 (2022-11-21)

Bug Fixes

  • bannedaddress: use inet instead of inet_res (b6f22e8)
  • dialyzer-tests: notifications dismiss refactor to pass dialzyer (c2530ee)
  • doc: moduledoc -> doc (2eaa912)
  • notifications-controller: update call to Validate to work after refactor (d94a449)
  • spec: %Ecto.Changeset{} -> Ecto.Changeset.t() (e927ce6)

Features

  • configs: broadcast from ipv6 local address (c8a0fe5)
  • credo: add credo, configure and fix refactor suggestions (6f7e455)
  • custom-errors: dynamic error messages for invalid payload, to be used with validation (711e795)
  • dismiss-mention: broadcast refeshMentions upon dismiss mention api call (888b6fc)
  • logout-websocket: implement websocket logout (3c13edd)
  • mentions: add mentions api route for pagination, includes controller/view (85de2da)
  • mentions: implement db method for paginating mentions by user_id (292da2c)
  • mentions: port mentions model (b70bbdd)
  • notifications: add routes for counts and dismiss (14209b9)
  • pagination-helper: add generic way to paginate database queries, includes tests (eb19e11)
  • posts: port posts model for use with mentions (24bd194)
  • role-channel: implement role channel websocket (4c6da04)
  • session: use jti for session id, it's unique and already generated (a1c59da)
  • threads: port thread models for use with mentions (3700d80)
  • user-controller-test: added test for banned_address (1d0d2c0)
  • user-controller-test: added user_controller_test for testing API routes from user_controller (a57babb)
  • user-preferences: implement api route to fetch user preferences (362c85f)
  • validate: implement generic casting module for incoming payload parameters (ff9d705)
  • validation: add module for validating query parameters not associated with a model. Fix notifications count to use new validation method (8da2d7c)
  • websockets: basic phoenix websockets skeleton with auth (c215dcb)
  • websockets: implement public channel for broadcasting announcements (2b570f1)
  • websockets: use Presence to track which users are connected to socket (dbe1a20)

Reverts

  • "chore(github-actions): build docker image with branch tag" (e8b195f)
  • "chore(github-actions): get postgres configs from environment in test configs" (64326b9)
  • "chore(github-actions): install deps with MIX_ENV=test" (ba09e3d)
  • "chore(github-actions): run mix deps.get before mix test" (aeabfc0)
  • "chore(github-actions): try building docker image for testing" (0f66d3b)

v1.1.2

27 Oct 22:06
Compare
Choose a tag to compare

1.1.2 (2022-10-27)

Bug Fixes

  • tests: formatting change to user needed to be applied to user view test (369e9ee)

v1.1.1

25 Oct 23:09
Compare
Choose a tag to compare

1.1.1 (2022-10-25)

Bug Fixes

  • permissions: masking of permissions left permissions nested, unnested permissions to match what frontend expects (a8f5733)

v1.1.0

25 Oct 20:47
84d8a75
Compare
Choose a tag to compare

1.1.0 (2022-10-25)

Bug Fixes

  • auth-controller: remember_me -> "rememberMe" (6d2cc16)
  • auth-controller: remove unused code left over from messed up git add patch (393a505)
  • auth-controller: typo, AcccountMigrationNotComplete -> AccountMigrationNotComplete (802d842)
  • ban: unban_if_expire needs else case to return user's roles (1fbb821)
  • board-model: add repo alias for boards model (fdb952c)
  • board-moderator: issue with get_boards always returning all records (6066aa2)
  • board: add alias for Board (e66ef40)
  • by_username: handle when highlight color of primary role is nil (dd141b0)
  • category-model: add repo alias (abb392f)
  • category: add alias for category (c99d70a)
  • error-handling: add missing alias (3250ca0)
  • errors: convert raised errors into expect http error json response (737fc72)
  • errors: don't use module attribute for auth prefix (69face8)
  • errors: oops, auth_prefix -> @auth_prefix (060dfb5)
  • format_user_reply: issue with ban_expiration and malicious_score not being appended to reply (67e05ce)
  • preferences: user relationship belongs_to fix (93eb6f9)
  • profile: user relationship belongs_to fix (a48e985)
  • register_with_verify: name change register_but_verify -> register_with_verify (aae6695)
  • role-user: add alias for role-user (f372084)
  • role-user: alias Repo (913590c)
  • role-user: primary_key false (9b8f0dc)
  • role: add @derive convert schema to json (359e213)
  • seed-forum: add slug to board seed (edca5ee)
  • seed-forum: alias board model (65e6cde)
  • seed-forum: variable names (fcb5211)
  • seed-user: end for case (30260bf)
  • seed-user: User.seed_user -> User.create_user (9033421)
  • session-avatar: handle if avatar is nil going into session (34f350e)
  • session.create: modify and return conn/user (e40877f)
  • session.update: correct guard [role_lookups] -> is_list (91b3731)
  • session: correct Guardian alias (6e6afd3)
  • session: db_user.id -> user_id (fcee459)
  • session: db_user.username/avatar -> username/avatar (9f079e8)
  • session: enumerate over role_lookups in update_roles (d929efd)
  • session: fix typo in update ban info (43bfa7e)
  • session: fix typos Redis -> Redix, :redis -> :redix (b78e4f5)
  • session: resolve issue storing ban_info and moderating (f6b10fb)
  • session: use Map.get on db_user to get moderating (50e7667)
  • username-validation: set min max for username length (5c296cf)
  • user: user_atrs -> user_attrs (1034461)

Features

  • application: add redix as app child (31651b1)
  • auth-configs: update existing auth routes to use frontend configs (1a51474)
  • auth-controller: alias account not confirmed error (a4f7ced)
  • auth-controller: check for valid user password (a9930da)
  • auth-controller: check user migration on login (13a0571)
  • auth-controller: get moderated boards for user (3925247)
  • auth-controller: replace login_user call (b6ab6d5)
  • auth-controller: unban_if_expired on login, update roles (5750235)
  • auth-controller: use session.save on login (2f6c3d9)
  • auth-controller: verify authentication on login (646a2d7)
  • auth-controller: wip, stub replacement login (d0d59d9)
  • auth-refactor: register now works, refactor (d67445e)
  • auth-view: get fields from user for credentials.json (b260d0f)
  • ban: add ban/1 (1d2d979)
  • ban: implement ban model and unban function for login (2e6e74f)
  • ban: implement unban_if_expired (4a10212)
  • banned-addresses: port banned addresses and upsert function, for future use for caclulating users malicious score, used during auth (2db6b3f)
  • bans: implement ban(%User{}), bans user appends roles and ban_expiration. rename existing ban -> ban_by_user_id (c043a12)
  • bans: implement user ban (a2314e0)
  • board-mapping-model: port and implement update, for use with seed (35006a4)
  • board-moderator: get boards, Repo.all, map to board_ids ([8e4d295](https://github.com/epoc...
Read more

v1.0.0

13 Oct 20:26
08e596a
Compare
Choose a tag to compare

1.0.0 (2022-10-13)

Bug Fixes

  • auth: Guardian -> Auth.Guardian (9e63d9a)
  • issue with schema being incorrect for users.preferences (3fbd03e)
  • profile: missing alias for user (9f6d427)
  • router: EpochWeb -> EpochtalkServerWeb (80768b1)
  • router: Guardian -> Auth.Guardian (f76d624)
  • router: use guardian error handler (5c48abc)
  • user-model: user module path was incorrect (9c6610b)

Features

  • .tool-versions: lock elixir and erlang versions to latest (e553a4d)
  • auth: add auth view (2e2514d)
  • auth: import controller from old project (d275a62)
  • board-model: port board model (1df45e0)
  • board-mods: port board_moderators model (714caf0)
  • cat-model: port cat model (c6bf0f8)
  • cors: use corsica in endpoint config (7621f61)
  • deps: add iteraptor dependency for seed (4da8a4e)
  • dev config: set debug_errors: false (922bc41)
  • docker: add docker.secret.exs (6c2cd57)
  • endpoint: configuration for error rendering (ad35fa6)
  • error view: remove commented custom error format info (e88950b)
  • error view: set status message in {message: } (0200abc)
  • errors: implement custom errors (6c904e0)
  • gitignore: ignore permissions.json seed file (ec70a22)
  • guardian: add guardian app configurations (6fcd4e8)
  • guardian: add guardian configs (486b543)
  • guardian: add guardian error handler to views (f2313a1)
  • guardian: add guardian pipelines to router (4bf1d12)
  • guardian: add guardian redis redix config to supervisor tree (d2ac390)
  • intial commit of new project for epochtalk server (b970b72)
  • migrations: copy migrations from epoch proj (a5f5364)
  • mix: add argon2 dep and lock (5b6570e)
  • mix: add guardian deps and lock versions (2e30448)
  • mix: add seed command for processing role permissions (ead40fc)
  • mix: add uuid dep (b982231)
  • mix: update jason dep (0454ee5)
  • models: port and refactor models for seed scripts (6863bdd)
  • permission-seeds: port and refactor permission related seeds (f13062a)
  • prefs-model: implement user.preferences model (eef1fce)
  • profile-model: implement users.profile model (5468576)
  • roles-permissions: implement process roles permissions (2a41453)
  • roles: implement helper methods in roles for user by username query (db1aeef)
  • rolesusers: create RoleUser Model (1c893b3)
  • router: add authenticate (6fe1ec8)
  • router: add login and register routes (4c47e37)
  • seeds: copy seed files from epoch (fd1222d)
  • user: add user model (212ef46)
  • userByUsername: implement user by username so we can implement auth (6008f48)
  • user: remove unused variable user in by_id (3a6e579)

Reverts

  • github-actions): "chore(github-actions: test github key" (d49532c)
  • github-actions): "chore(github-actions: try a github secret" (1f30ee4)