Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: Use User instead of Fairpost, Storage and Logger #81

Merged
merged 23 commits into from
Mar 24, 2024

Conversation

commonpike
Copy link
Owner

No description provided.

@commonpike commonpike merged commit 9e07292 into develop Mar 24, 2024
1 check passed
@commonpike commonpike deleted the feature/user branch March 24, 2024 21:52
commonpike added a commit that referenced this pull request Jan 11, 2025
* stuck: LinkedIn stuck on 2-legged oauth

* fail: Fail again. Need 'advertising api' to post to org page ..

.. but it requires a lengthy form about 'my business'

* Update Reddit.md

* docs: update Platform.ts jsdocs

* Update package.json keywords and version

* feat: Create separate auth for LinkedIn, tested

* chore: Remove surplus code

* chore: Update docs for LinkedIn

* feat: Tested post, tweeks in reddit and twitter

* feat: Succesfully fetched tokens LinkedIn

* feat: Added test post

* feat: Add linkedIn, and tested multiImage

* Rename RedditAuth.getAccessToken to refreshAccessToken #41

fix: #41

* feat: Rename index.ts to src/cli.ts #36

fix: #36

* feat: Add Instagram PAGE_ID to docs #31

fix: #31

* feat: Move logging to var/log #27

fix: #27

* feat: Move ayrshare platforms into subfolder #24

fix: #24

* feat: Remove the word graph everywhere #38

ifix: #38

* feat: Rename twitter O1 keys to OA1 #29

fix: #29

* feat: Implement bootstrap-cli (#44)

* feat: Implement bootstrap-cli

.. so dotenv can load before Logger et al

* fix: lint

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Change Logger and Storage to singletons (#45)

Co-authored-by: pike <pike@SilverAir>

* feat: Add Fairpost as a singleton service (#46)

Co-authored-by: pike <pike@SilverAir>

* feat: Split core in models and services (#47)

* feat: Divide src/core to models and services

* chore: Sort imports

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Improve Logger.error and fatal, return error (#48)

Co-authored-by: pike <pike@SilverAir>

* doc: Add linkedin to .env.dist

* feat: Store postfiles in separate folders (#49)

fix: #33

Co-authored-by: pike <pike@SilverAir>

* Chore: Clean install (#50)

* chore: Clean startup issues

* feat: Cli report amounts

* feat: Add privacy policy

---------

Co-authored-by: pike @ minimoon <pike@kw.nl>

* feat: Improve platform setup (#51)

* feat: Move platforms into folders

* feat: Dont rely on fs.edDir to find platform classes

* feat: Use static OAuth2Service

* feat: Move all apis into separate files

* chore: Add docblocks

* chore: Tested and working ..

.. except, twitter and reddit keys are not
automatically refreshed anymore. will solve this
differently.

---------

Co-authored-by: pike @ minimoon <pike@kw.nl>
Co-authored-by: pike <pike@SilverAir>

* feat: Add json storage for auth (#54)

* feat: Add json storage

* feat: Add refresh-platform , plus impl for Reddit

* feat: Default auth to json

---------

Co-authored-by: pike <pike@SilverAir>

* fix: Fix .env.dist typo

* feat: Improve auth handlers (#55)

* feat: Implement LinkedIn refresh

* chore: Clean up RedditAuth

* feat: Implement twitter refresh

fix: #39

* chore: Typo and docs

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Improve api response handling (#56)

* fix: Some glaring issues

* feat: Implement api utilities on facebook,instagram and linkedin

* feat: Added ApiResponse utilities to Reddit

* feat: Forgot the utilities

* feat: Handle apiJsonReponse for Ayrshare

* feat: Add HandleJsonResponse to platforms/*/*Auth

* feat: Tested

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Clean up platform processing (#57)

* feat: Cleaned up Facebook platform

* feat: Cleaned up instagram

* feat: Cleanup up LinkedIn

* feat: Cleaned up Reddit

* feat: Cleaned up Twitter

* feat: Cleaned up Ayrshare

* feat: Rename postFormData to postForm

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Store FileInfo on folder and Post.. (#61)

and add methods on Post to handle groups
and use those everywhere

Co-authored-by: pike <pike@SilverAir>

* feat: Improve preparing posts (#62)

* feat: Properly handle changes on prepare

* feat: Support for ignoreFiles

* feat: Adding support for Post.skip

* fix: Some minor code impro

* feat: Implement post.decompileBody and getCompiledBody ..

.. and use that in the platforms

---------

Co-authored-by: pike <pike@SilverAir>

* fix: Bugs in Post (#63)



* fix: Bugs in Post

* fix: Lint

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Rethink ids and platform statics (#66)

* feat: Add comments to Post.actions that do not save

fix: #64

* feat: Set assetsFolder as a stic on all platforms

fix: #58

* feat: Rework folder.id

fix: #52
fix: #32

* feat: Allow --post on cli

---------

Co-authored-by: pike <pike@SilverAir>

* Create LICENSE

* Rename LICENSE to LICENSE.md

* Rename LICENSE.md to LICENSE

* feat: Retrying facebook access

* Feat: set compilerOptions to strict (#67)

* feat: First fixes for strict tsconfig

* feat: Removed all other strict errors

- plus updated sharp to be a strict module

* fix: throw error if folder does not exist

* chore: some cleanup

fix: #69
fix: #71
fix: #70

* fix: Lint

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Tested adding a second user (#74)

* feat: Testes adding a second user

* doc: Change message on dev mode facebook

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Add YouTube platform (#75)

* feat: Add youtube creds env.dist

* feat: Add youtube , auth and test

* fix: Refresh url

* chore: Remove lgc comments

* doc: How to add a platform

* fix: Add the post in the platform doc

* doc: Improve

* doc: Improve

* feat: Update YouTube and YouTubeAuth to use google libs

* feat: Tested and working upload YouTube

* fix: We dont need an api for youtube

---------

Co-authored-by: pike <pike@SilverAir>

* Update README.md

* Update Youtube.md

* Create term-of-use.md

* Update term-of-use.md

* fix: Twitter additionalOwner fallback

* feat: Support reddit uploading video with poster

* feat: Add chunked video upload for LinkedIn

* feat: Support single video upload LinkedIn

* feat: Support for uploading video to Instagram

* feat: Fail silent when refreshing platforms

* Feat: Use User instead of Fairpost, Storage and Logger (#81)

* feat: Added User class to replace Fairpost service; moved feed to users/default/feed

* feat: Pass User thru to all Api and Auth classes

* feat: Replaced all Storage.get and set with User.get and set

* doc: Update to reflect Users

* chore: Clean up some files

* chore: Clean up .env entries

* temp: Set logger to trace by default

* feat: Update .env

* feat: Finetune single-user setup

* feat: Finetune multiuser/singleuser

* feat: Move command to CommandHandler

* chore: lint

* chore: Rewrite try catch

* fix: Default command help

* feat: Move Logger to User

* feat: Move all logging to the user object

* doc: Update docs for User.trace* and user .env

* feat: Revert to single user by default

* feat: Add doc for multiuser

* doc: Update to reflect single-user

* doc: Update readme for single user

* feat: Allow single args for plural args for some commands

* doc: Update doc to match

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Add REST Api server (#87)

* feat: Add working api server

* feat: Improve api error handling

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Improve scheduled planning

* feat: Correctly limit files

* feat: Fix youtube expiry (#89)

* feat: In YouTubeAuth, use tokens event and refreshAccessToken

* chore: Tested and code cleanup

* doc: Update docs, tested second user

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Dont publish due posts previously published

* feat: Use multiuser setup as default (#91)

* feat: Prevent admin from getting a userdir

* feat: Allow admin to create users

* feat: Remove global feed, .gitkeep users dir

* doc: Update docs for multiuser

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Update env.dist to match multiuser setup

* feat: Get instagram post permalink

* feat: Update linkedin api platform

https://learn.microsoft.com/en-us/linkedin/marketing/integrations/recent-changes

* feat: Move basic operations to plugins (#97)

* feat: Add support for filters, and change module to nodenext

* feat: Added working (?) LimitFiles plugin, ..

.. removed all Ayrshrea platforms - to much hassle
.. added enum for FileGroup

* feat: Move LimitFiles conf to etc/plugins

* feat: Add Imagesize plugins and env keys

* fix: Some fies after testing

* feat: Added logic to ImageSize plugin

* feat: Test ImageSize plugin

* feat: Move the responsibility of loading and processing plugins to the platform..

.. and added docs

* fix: Forgot doc

* fix: Twitter max filesize

* chore: Clean up .env, skeleton and lintfix

---------

Co-authored-by: pike <pike@SilverAir>

* feat: Allow all current platforms to read plugins from user settings

* tweak: Testing video upload

* feat: Rename Folder to Source (#99)

* feat: Rename Folder to Source

* feat: Rename [Ff]older to [Ss]ource

* feat: Rename FOLDER(S) to SOURCE(S)

* feat: Add support for source status (===post.status amalgamated)

* fix: Small bugs when testing

* feat: Add ImageFrame plugin

---------

Co-authored-by: pike <pike@SilverAir>

* fix: Tweaks while testing reddit and twitter

* feat: Better error handling on json.reponse

---------

Co-authored-by: pike <pike@SilverAir>
Co-authored-by: pike @ minimoon <pike@kw.nl>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant