Giter Site home page Giter Site logo

prescottprue / fireadmin Goto Github PK

View Code? Open in Web Editor NEW
239.0 7.0 40.0 22.44 MB

Application for Managing Firebase Applications. Includes support for multiple environments and data migrations

Home Page: https://fireadmin.io/

License: MIT License

JavaScript 71.05% CSS 0.07% HTML 0.78% Dockerfile 0.51% TypeScript 27.57% Shell 0.02%
firebase firestore firestore-react admin-dashboard redux-firebase redux-firestore data-migration data-management

fireadmin's Issues

Can we add docker support ?

Adding docker support would help people to quickly deploy, make a quick change and clear the environment and it could also help in dependency management as well.

still using "fireadmin"?

Scott,

I see you're work revolves around similar concerns to mine (redux and firebase anyway). I imagine that you may still be using this repo but since there were no recent commits to it I thought I'd ask because I have firemodel and firemock which i'm currently developing and purely from a naming convention standpoint I'd love to have fireadmin for a private repo I'd like to OSS. That said, if you're using it I can just find another name.

bug(actionRunner): inputs should not required in action-templates

Bug Description

  • Action runner templates should not require inputs, but if they are not passed currently

Steps To Reproduce

  1. Create an action-template
  2. Add steps with constants in them (no inputs)
  3. Attempt to run an action using this template - it throws an error

Expected Behavior

  1. The action should run without error

Possible Solution

Additional Context/Screenshots

image

feat(actions): ability to set "runner type" for more resource intensive actions (long time or high memory/CPU)

Is your feature request related to a problem? Please describe.
When running actions that use a large amount of memory or run for a long amount of time, they often fail. This is due to the fact that actions are currently run using the actionRunner cloud function, which can easily time out or use all of its memory

Describe the solution you'd like
"Runner Type" dropdown that would allow the user running the action to specify a more robust runner

Additional context
Something else to keep in mind is that this may want to be part of the action template as well as the ability to edit this. For example - when making an action template that requires many collections to be copied, the template should be able to dictate a runner that can handle long running time as well as not allow the user to change this (since it could cause that action to fail).

The amount of runs per user and project should be tracked as well since running dedicated VMs can rack up price quickly. In the future it should be easy enough to limit the usage of dedicated resources based on a payment plan.

Question: avoiding gRPC errors with Cypress

Hello, glad to find this library! I spent about a couple days trying to figure out why I couldn't get my cypress tests to run. I opened an issue on the Cypress repo (cypress-io/cypress#3570), but ultimately ended up trying TestCafe which is having it's own issues getting gitlabCI running correctly. Honestly, I preferred the sensibilities of Cypress and want to try again.

Can you help with this issue? It appears that your library is mostly for manually calling into Firebase/Firestore within the test. I would like my tests to be purely concerned with clicking and expecting the interface to change. Just like the real app, there is no manually POSTing or GETing during the tests. Do you have examples like that?

To clarify, it would be a test like:

  1. Cypress selects a button and clicks it.
  2. App code makes a GET request to firestore, and returns data that the app uses to populate a list.
  3. Cypress verifies the contents of the list.

key elements in table of contents are missing

In the main README.md, some key elements from table of contents are missing. For example, getting started is missing. I am not able to get it working on my local system and having something like getting started would be a nice welcome.
Thanks.

feat(core): data viewer/querier/search

Description Of Potential Feature

  • A data viewer/querier that allows for querying Real Time Database + Firestore with a specified service account

Additional Issues This May/Does Solve

  • Multiple filters on queried data (since Firebase console is limited)
  • Creating reports on numbers of documents
  • Generating data export files which consist of a subset of data

Additional Context

Querying data within the Firebase console is pretty limiting. For Firestore you can only query by one parameter, and for Real Time Database there is only viewing the data in tree form. This viewer/querier/searcher could allow for queried data to also be filtered.

Ideas

  • Allowing for export of json file which could then be used in insert data into another database
  • Searching could be based on provided Algolia information or through user wiring up a webhook to Fireadmin (instructions would be included)

Some more discussion in #90

chore(functions): replace googleapis with google-auth-library

Description Of Potential Feature

  • Switch from using googleapis dependency to google-auth-library in Cloud Functions - it is only used for JWT auth using service accounts, so should be virtually the same syntax
  • Remove the skipping of googleapis in dependabot settings

Additional Issues This May/Does Solve

  • Not having to update major versions of googleapis - which is released often without an impact to functionality being used

Additional Context

  • google-auth-library is lighter weight and is just for auth - googleapis actually uses it for auth under the hood

feat(actionRunner): generated URL for sharing/loading actionRunner settings

Description Of Potential Feature
We often times want to repeat the same migration between two environments that we recently ran between two other environments. It would be great to have the following abilities

  • generate a URL representing the settings currently within the action runner
  • load settings into actionRunner through custom URL

Issues This May/Does Solve

  • Migrations can easily be part of a PR by providing the settings URL
  • Another method other than "redo" button to load previous settings
  • Test will be able to run faster since action runner can be pre-populated with a template instead of searching Algolia each time

bug(actionRunner): when action run fails, message does not contain error

Describe the bug
When running an action - if the action fails, the message should be clearly visible to the user. It would also be good if this could be accessed in the events view.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the action runner
  2. Run an action that is bound to fail (i.e. trying to copy an rtdb path)
  3. Wait for error to appear
  4. Message does not clearly indicate that the failure was because of data not being there (even though actionRunner cloud function does write that message back to the db)

Possible Solution

  • Display the message which already exists within the snack that is displayed
  • Do the same for browser notification

Additional context/Screenshots

fireadmin.io is blank

Bug Description

In the current Chrome version (77) the fireadmin.io website is completely blank (see screenshot). It works fine with Firefox and Safari. The console outputs the following error messages:

Failed to load resource: net::ERR_BLOCKED_BY_CLIENT
Uncaught ReferenceError: Raven is not defined

Expected Behavior

I expect to see some content.

Additional Context/Screenshots

Screenshot 2019-09-30 at 08 30 42

"Error: Failed to get document because the client is offline" when using FireAdmin.io

Bug Description

I am experiencing a bug when first logging into the platform, where I am getting an “Error: Failed to get document because the client is offline” toast message. When I try to run an Action, it runs and then ends up failing and therefore, not migrating the campaign.

Steps To Reproduce

Login to fireadmin.io
See an error will appear: “Error: Failed to get document because the client is offline.”
Go to Action Runner
Choose template: ‘Copy Firestore collection’
Add custom values

Expected Behavior

The Actions should run and the campaigns be migrated successfully

Additional Context/Screenshots

In the Project Events section, the system is showing an error.
Screenshot 2020-06-12 at 1 55 12 pm

bug: delete member incorrectly updates project permissions

Bug Description

Steps To Reproduce

  1. Delete a member from a project
  2. See that no members are now visible in the members UI

Expected Behavior

Possible Solution

Additional Context/Screenshots

Came after recently reactfire update, may be related

Sign up link leads to a 404

Bug Description

FYI, the "SIGN UP" button on the login page leads to a 404.

Steps To Reproduce

  1. Go to https://fireadmin.io/login
  2. Click on SIGN UP and it will result in 404.

Expected Behavior

Maybe the button should be removed with some additional text on how the signup/login are the same?

feat(actions): ability to toggle strictTriggerValidation from an action

Is your feature request related to a problem? Please describe.
Feature - When running a copy action with data that is large into a database which has cloud functions with database triggers, it can cause too many functions triggers to go off. This can be toggled off with strictTriggerValidation through a curl call:

curl -X PUT -d "false"  https://<namespace>.firebaseio.com/.settings/strictTriggerValidation/.json?auth\=<SECRET>

As mentioned in this stackoverflow post

Describe the solution you'd like
Either a "database settings" action or an option to add an input for toggle this to copy action templates

Describe alternatives you've considered

Additional context

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.