Commit graph

27 commits

Author SHA1 Message Date
55b93c6586
fix(breaking): update project structure
Move all executors to the internal folder package. This PR also comes
with additional breaking changes.

Changes:

- refactor: move all executors to the internal/executor package.
- refactor: update naming patterns for constants, variables, custom
  types, etc.
- fix(breaking): renamed the update command to edit.
- fix(breaking): update the flags for the switch command to make it
  more generic.
- fix(breaking): renamed the show-account-relationship flag to
  show-relationship.
- fix: update the print message from the whoami command.
2024-05-23 18:06:49 +01:00
3d17c30d0f
build: moved magefiles directory to project root
Moved the magefiles directory back to the project's root directory and
created a separate go.mod file to keep the dependencies separated.

The idea was suggested here:
https://github.com/magefile/mage/issues/502
2024-05-23 11:09:34 +01:00
421c21bf52
feat: allow users to specify the config directory
Allow users to specify their preferred configuration directory by using
the top level flag (a.k.a 'global flag') --config-dir. This also
introduces the design of baking top level flags into the executor.
2024-05-22 23:30:09 +01:00
ecc8d51c09
feat: private notes
This commit allows users to add or remove private notes from
accounts.

Changes:

- feat: added functionality to add or remove private notes from
  accounts.
- fix: added new error types or unsupported add and remove
  operations.
- build: build Enbas without rebuilding all packages by default to
  speed up local builds for development.
2024-05-22 11:58:56 +01:00
f9f817eaa1
chore: remove account_relationship.go
Remove internal/model/account_relationship.go
2024-05-21 14:38:35 +01:00
d1ceecf697
refactor: move AccountRelationship to account.go
Move the AccountRelationship type definition to
internal/model/account.go
2024-05-21 14:36:49 +01:00
9d8cb2c68e
refactor: add new AccountList type for accounts
Add a new AccountList type for handling the printing of different list
of accounts (such as following, followers and blocked accounts).
2024-05-21 14:30:50 +01:00
dffd324243
feat: block and unblock accounts
This commit adds the functionality to allow users to block and unblock
accounts. The user will also be able to view a list of blocked
accounts.
2024-05-21 13:19:53 +01:00
a77f3741a0
feat: show user preferences
Optionally show the user's preferences when viewing account.
2024-05-20 19:46:05 +01:00
1a95384ba0
feat: followers and following others
This commit adds the ability to follow and unfollow (remote)
accounts and to display a list of followers and followees for
a specified account.

Changes:

- Added a command to follow an account.
- Added a command to unfollow an account.
- When displaying an account you can optionally view the relationship
  between that account and yourself.
- Added a command to view accounts that are following a specified
  account.
- Added a command to view accounts that are followed by a specified
  account.
2024-05-20 17:31:50 +01:00
b91ebe5864
fix: update internal models for GoToSocial v0.15.0
Update the internal models for the client in line with the GoToSocial
v0.15.0 API.

Improve the output of the instance information.
2024-05-19 15:26:13 +01:00
32ca448ae7
feat: add and remove accounts from a list
Summary:

This commit adds the ability to add and remove accounts from a list.

The list models has also been updated to change the way lists are
displayed on screen.

Changes:

- Added a subcommand to add accounts to a list.
- Added a subcommand to remove accounts from a list.
- Added a custom error for unknown subcommands.
- Added a custom error when no account IDs are specified when
  expected.
2024-05-19 11:48:36 +01:00
25633e5049
fix: fixed file name 2024-02-27 20:06:13 +00:00
acf36559b6
refactor: split files in internal client package 2024-02-27 20:05:03 +00:00
bc18c00c69
feat: add ability to interact with lists
Add the ability to create, update, list and delete lists.

Note, adding accounts or removing them from lists is not scoped
in this PR.
2024-02-27 19:52:59 +00:00
c38689fe28
fix(breaking): update the credentials filename
Save the credentials to the credentials.json file in the config
directory.
2024-02-27 09:31:17 +00:00
2177063ca4
build: add the install mage target 2024-02-25 15:10:02 +00:00
5a795c8ae0
refactor: remove dependency on golang.org/x/oauth2
This commit refactors the login flow to a GTS server thanks to an update
in the official GTS documentation.

golang.org/x/oauth2 is no longer needed.

Documentation reference:
- https://docs.gotosocial.org/en/latest/api/authentication/
2024-02-25 06:41:13 +00:00
c39b173cd6
fix: add proper support for multi-line wrapping 2024-02-24 17:46:00 +00:00
ae2b5d8036
fix: fixed spelling error 2024-02-24 16:21:35 +00:00
a83aaa17f6
feat: add timeline support
Add support for viewing all timeline types (home, public, lists and
tags).
2024-02-24 15:53:29 +00:00
6f1879eeba
fix: use local time for timestamps
Display timestamps such as when a status was created using local time.
2024-02-24 11:22:57 +00:00
427ad5daf5
feat: add bold blue headers 2024-02-24 08:22:24 +00:00
e6ec5c71b6
refactor: implement the Stringer interface
Account, Instance and Status now implement the Stringer interface.
2024-02-23 14:19:12 +00:00
4f561f9305
feat: add ability to show a status 2024-02-23 13:14:50 +00:00
2c5123253a
feat: add Enbas
Add Enbas code. So far Enbas can:

- Allow the user to register the application and log into GTS on their
  behalf. The scope is limited to read for now.
- Show instance details.
- Show local and remote accounts.
2024-02-23 09:44:57 +00:00
2544fe4fcf
chore: Initial commit - Project setup 2024-02-19 12:39:01 +00:00