commit
2b3719e622
@ -0,0 +1,3 @@ |
||||
/node_modules |
||||
/migrations/current.sql |
||||
/.env |
@ -0,0 +1,139 @@ |
||||
/* |
||||
* Graphile Migrate configuration. |
||||
* |
||||
* If you decide to commit this file (recommended) please ensure that it does |
||||
* not contain any secrets (passwords, etc) - we recommend you manage these |
||||
* with environmental variables instead. |
||||
* |
||||
* This file is in JSON5 format, in VSCode you can use "JSON with comments" as |
||||
* the file format. |
||||
*/ |
||||
{ |
||||
/* |
||||
* connectionString: this tells Graphile Migrate where to find the database |
||||
* to run the migrations against. |
||||
* |
||||
* RECOMMENDATION: use `DATABASE_URL` envvar instead. |
||||
*/ |
||||
// "connectionString": "postgres://appuser:apppassword@host:5432/appdb", |
||||
|
||||
/* |
||||
* shadowConnectionString: like connectionString, but this is used for the |
||||
* shadow database (which will be reset frequently). |
||||
* |
||||
* RECOMMENDATION: use `SHADOW_DATABASE_URL` envvar instead. |
||||
*/ |
||||
// "shadowConnectionString": "postgres://appuser:apppassword@host:5432/appdb_shadow", |
||||
|
||||
/* |
||||
* rootConnectionString: like connectionString, but this is used for |
||||
* dropping/creating the database in `graphile-migrate reset`. This isn't |
||||
* necessary, shouldn't be used in production, but helps during development. |
||||
* |
||||
* RECOMMENDATION: use `ROOT_DATABASE_URL` envvar instead. |
||||
*/ |
||||
// "rootConnectionString": "postgres://adminuser:adminpassword@host:5432/postgres", |
||||
|
||||
/* |
||||
* pgSettings: key-value settings to be automatically loaded into PostgreSQL |
||||
* before running migrations, using an equivalent of `SET LOCAL <key> TO |
||||
* <value>` |
||||
*/ |
||||
"pgSettings": { |
||||
// "search_path": "app_public,app_private,app_hidden,public", |
||||
}, |
||||
|
||||
/* |
||||
* placeholders: substituted in SQL files when compiled/executed. Placeholder |
||||
* keys should be prefixed with a colon and in all caps, like |
||||
* `:COLON_PREFIXED_ALL_CAPS`. Placeholder values should be strings. They |
||||
* will be replaced verbatim with NO ESCAPING AT ALL (this differs from how |
||||
* psql handles placeholders) so should only be used with "safe" values. This |
||||
* is useful for committing migrations where certain parameters can change |
||||
* between environments (development, staging, production) but you wish to |
||||
* use the same signed migration files for all. |
||||
* |
||||
* The special value "!ENV" can be used to indicate an environmental variable |
||||
* of the same name should be used. |
||||
* |
||||
* Graphile Migrate automatically sets the `:DATABASE_NAME` and |
||||
* `:DATABASE_OWNER` placeholders, and you should not attempt to override |
||||
* these. |
||||
*/ |
||||
"placeholders": { |
||||
// ":DATABASE_VISITOR": "!ENV", // Uses process.env.DATABASE_VISITOR |
||||
}, |
||||
|
||||
/* |
||||
* Actions allow you to run scripts or commands at certain points in the |
||||
* migration lifecycle. SQL files are ran against the database directly. |
||||
* "command" actions are ran with the following environmental variables set: |
||||
* |
||||
* - GM_DBURL: the PostgreSQL URL of the database being migrated |
||||
* - GM_DBNAME: the name of the database from GM_DBURL |
||||
* - GM_DBUSER: the user from GM_DBURL |
||||
* - GM_SHADOW: set to 1 if the shadow database is being migrated, left unset |
||||
* otherwise |
||||
* |
||||
* If "shadow" is unspecified, the actions will run on events to both shadow |
||||
* and normal databases. If "shadow" is true the action will only run on |
||||
* actions to the shadow DB, and if false only on actions to the main DB. |
||||
*/ |
||||
|
||||
/* |
||||
* afterReset: actions executed after a `graphile-migrate reset` command. |
||||
*/ |
||||
"afterReset": [ |
||||
// "afterReset.sql", |
||||
// { "_": "command", "command": "graphile-worker --schema-only" }, |
||||
], |
||||
|
||||
/* |
||||
* afterAllMigrations: actions executed once all migrations are complete. |
||||
*/ |
||||
"afterAllMigrations": [ |
||||
// { |
||||
// "_": "command", |
||||
// "shadow": true, |
||||
// "command": "if [ \"$IN_TESTS\" != \"1\" ]; then ./scripts/dump-db; fi", |
||||
// }, |
||||
], |
||||
|
||||
/* |
||||
* afterCurrent: actions executed once the current migration has been |
||||
* evaluated (i.e. in watch mode). |
||||
*/ |
||||
"afterCurrent": [ |
||||
// { |
||||
// "_": "command", |
||||
// "shadow": true, |
||||
// "command": "if [ \"$IN_TESTS\" = \"1\" ]; then ./scripts/test-seed; fi", |
||||
// }, |
||||
], |
||||
|
||||
/* |
||||
* blankMigrationContent: content to be written to the current migration |
||||
* after commit. NOTE: this should only contain comments. |
||||
*/ |
||||
// "blankMigrationContent": "-- Write your migration here\n", |
||||
|
||||
/****************************************************************************\ |
||||
*** *** |
||||
*** You probably don't want to edit anything below here. *** |
||||
*** *** |
||||
\****************************************************************************/ |
||||
|
||||
/* |
||||
* manageGraphileMigrateSchema: if you set this false, you must be sure to |
||||
* keep the graphile_migrate schema up to date yourself. We recommend you |
||||
* leave it at its default. |
||||
*/ |
||||
// "manageGraphileMigrateSchema": true, |
||||
|
||||
/* |
||||
* migrationsFolder: path to the folder in which to store your migrations. |
||||
*/ |
||||
// migrationsFolder: "./migrations", |
||||
|
||||
"//generatedWith": "1.2.0" |
||||
} |
@ -0,0 +1,8 @@ |
||||
# Default ignored files |
||||
/shelf/ |
||||
/workspace.xml |
||||
# Datasource local storage ignored files |
||||
/dataSources/ |
||||
/dataSources.local.xml |
||||
# Editor-based HTTP Client requests |
||||
/httpRequests/ |
@ -0,0 +1,12 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<module type="WEB_MODULE" version="4"> |
||||
<component name="NewModuleRootManager"> |
||||
<content url="file://$MODULE_DIR$"> |
||||
<excludeFolder url="file://$MODULE_DIR$/temp" /> |
||||
<excludeFolder url="file://$MODULE_DIR$/.tmp" /> |
||||
<excludeFolder url="file://$MODULE_DIR$/tmp" /> |
||||
</content> |
||||
<orderEntry type="inheritedJdk" /> |
||||
<orderEntry type="sourceFolder" forTests="false" /> |
||||
</component> |
||||
</module> |
@ -0,0 +1,12 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project version="4"> |
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true"> |
||||
<data-source source="LOCAL" name="crystalline@localhost" uuid="8548d460-5e5e-44a2-a7d7-3c54b135210e"> |
||||
<driver-ref>postgresql</driver-ref> |
||||
<synchronize>true</synchronize> |
||||
<jdbc-driver>org.postgresql.Driver</jdbc-driver> |
||||
<jdbc-url>jdbc:postgresql://localhost:5432/crystalline</jdbc-url> |
||||
<working-dir>$ProjectFileDir$</working-dir> |
||||
</data-source> |
||||
</component> |
||||
</project> |
@ -0,0 +1,8 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project version="4"> |
||||
<component name="ProjectModuleManager"> |
||||
<modules> |
||||
<module fileurl="file://$PROJECT_DIR$/.idea/crystalline.iml" filepath="$PROJECT_DIR$/.idea/crystalline.iml" /> |
||||
</modules> |
||||
</component> |
||||
</project> |
@ -0,0 +1,7 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project version="4"> |
||||
<component name="SqlDialectMappings"> |
||||
<file url="file://$PROJECT_DIR$/migrations/current.sql" dialect="GenericSQL" /> |
||||
<file url="PROJECT" dialect="PostgreSQL" /> |
||||
</component> |
||||
</project> |
@ -0,0 +1,6 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project version="4"> |
||||
<component name="VcsDirectoryMappings"> |
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" /> |
||||
</component> |
||||
</project> |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,35 @@ |
||||
{ |
||||
"name": "crystalline", |
||||
"version": "1.0.0", |
||||
"description": "Crystalline bot for the Cat Cafe", |
||||
"main": "index.js", |
||||
"scripts": { |
||||
"test": "echo \"Error: no test specified\" && exit 1" |
||||
}, |
||||
"author": "", |
||||
"license": "ISC", |
||||
"devDependencies": { |
||||
"@types/chance": "^1.1.3", |
||||
"@types/node": "^17.0.13", |
||||
"@types/relateurl": "^0.2.29", |
||||
"@types/simple-oauth2": "^4.1.1", |
||||
"dotenv-cli": "^4.1.1", |
||||
"graphile-migrate": "^1.2.0", |
||||
"typescript": "^4.5.5" |
||||
}, |
||||
"dependencies": { |
||||
"axios": "^0.25.0", |
||||
"chance": "^1.1.8", |
||||
"detritus-client": "^0.16.3", |
||||
"detritus-client-rest": "^0.10.5", |
||||
"dotenv": "^14.3.2", |
||||
"fastify": "^3.27.0", |
||||
"fastify-cookie": "^5.5.0", |
||||
"pg": "^8.7.1", |
||||
"pino": "^7.6.4", |
||||
"pino-discord": "^1.0.2", |
||||
"relateurl": "^0.2.7", |
||||
"simple-oauth2": "^4.3.0", |
||||
"slash-create": "^5.0.3" |
||||
} |
||||
} |
Loading…
Reference in new issue