@joystick.js/node-canary 0.0.0-canary.434 → 0.0.0-canary.435

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import o from"node-cron";import t from"../../../lib/types.js";import i from"./handle_cleanup_sessions.js";const n=async(r="",e="",_=[])=>process.databases._users?.query(`CREATE UNIQUE INDEX IF NOT EXISTS ${r} ON ${e}(${_.join(", ")})`),s=async(r="",e="",_=[])=>process.databases._users?.query(`CREATE INDEX IF NOT EXISTS ${r} ON ${e}(${_.join(", ")})`),a={sessions:async()=>{await s("session_by_id","sessions",["session_id"]),await s("session_created_at","sessions",["created_at"]),o.schedule("*/30 * * * * *",()=>{i()})},users:async()=>{await s("user_by_email","users",["email_address"]),await s("user_by_username","users",["username"]),await s("user_by_user_id","users",["user_id"]),await s("user_session_by_token","users_sessions",["token"]),await s("user_password_reset_token_by_token","users_password_reset_tokens",["token"]),await s("user_password_reset_token_by_user_id_token","users_password_reset_tokens",["user_id","token"]),await s("user_role","users_roles",["role"]),await s("user_roles_by_user_id_role","users_roles",["user_id","role"]),await s("role","roles",["role"]),await n("user_roles","users_roles",["user_id","role"])}},u=async(r=[])=>{for(let e=0;e<r?.length;e+=1){const _=r[e];t.is_function(a[_])&&await a[_]()}};var w=u;export{w as default};
1
+ import t from"node-cron";import i from"../../../lib/types.js";import n from"./handle_cleanup_sessions.js";const u=async(r="",e="",_="",a=[])=>process.databases[r]?.query(`CREATE UNIQUE INDEX IF NOT EXISTS ${e} ON ${_}(${a.join(", ")})`),s=async(r="",e="",_="",a=[])=>process.databases[r]?.query(`CREATE INDEX IF NOT EXISTS ${e} ON ${_}(${a.join(", ")})`),o={sessions:async()=>{await s("_sessions","session_by_id","sessions",["session_id"]),await s("_sessions","session_created_at","sessions",["created_at"]),t.schedule("*/30 * * * * *",()=>{n()})},users:async()=>{await s("_users","user_by_email","users",["email_address"]),await s("_users","user_by_username","users",["username"]),await s("_users","user_by_user_id","users",["user_id"]),await s("user_session_by_token","users_sessions",["token"]),await s("_users","user_password_reset_token_by_token","users_password_reset_tokens",["token"]),await s("_users","user_password_reset_token_by_user_id_token","users_password_reset_tokens",["user_id","token"]),await s("_users","user_role","users_roles",["role"]),await s("_users","user_roles_by_user_id_role","users_roles",["user_id","role"]),await s("_users","role","roles",["role"]),await u("_users","user_roles","users_roles",["user_id","role"])}},d=async(r=[])=>{for(let e=0;e<r?.length;e+=1){const _=r[e];i.is_function(o[_])&&await o[_]()}};var y=d;export{y as default};
@@ -1 +1 @@
1
- import a from"../../../lib/types.js";const e=(s="",t=[])=>process.databases._users?.query(`CREATE TABLE IF NOT EXISTS ${s} (${t.join(", ")})`),i={sessions:async()=>{await e("sessions",["id bigserial primary key","session_id text","csrf text","created_at text"])},users:async()=>{await e("users",["id bigserial primary key","user_id text","email_address text","password text","username text","language text"]),await e("users_sessions",["id bigserial primary key","user_id text","token text","token_expires_at text"]),await e("users_password_reset_tokens",["id bigserial primary key","user_id text","token text","requested_at text"]),await e("users_verify_email_tokens",["id bigserial primary key","user_id text","token text"]),await e("roles",["id bigserial primary key","role text"]),await e("users_roles",["id bigserial primary key","user_id text","role text"])}},o=async(s=[])=>{for(let t=0;t<s?.length;t+=1){const r=s[t];a.is_function(i[r])&&await i[r]()}};var _=o;export{_ as default};
1
+ import a from"../../../lib/types.js";const e=(t="",s="",r=[])=>process.databases[t]?.query(`CREATE TABLE IF NOT EXISTS ${s} (${r.join(", ")})`),i={sessions:async()=>{await e("_sessions","sessions",["id bigserial primary key","session_id text","csrf text","created_at text"])},users:async()=>{await e("_users","users",["id bigserial primary key","user_id text","email_address text","password text","username text","language text"]),await e("_users","users_sessions",["id bigserial primary key","user_id text","token text","token_expires_at text"]),await e("_users","users_password_reset_tokens",["id bigserial primary key","user_id text","token text","requested_at text"]),await e("_users","users_verify_email_tokens",["id bigserial primary key","user_id text","token text"]),await e("_users","roles",["id bigserial primary key","role text"]),await e("_users","users_roles",["id bigserial primary key","user_id text","role text"])}},o=async(t=[])=>{for(let s=0;s<t?.length;s+=1){const r=t[s];a.is_function(i[r])&&await i[r]()}};var n=o;export{n as default};
@@ -1 +1 @@
1
- const e=async()=>{await database.query("DELETE FROM sessions where created_at::timestamp <= timezone('utc', now() - interval '1 hour')")};var a=e;export{a as default};
1
+ const s=async()=>{await process.databases._sessions.query("DELETE FROM sessions where created_at::timestamp <= timezone('utc', now() - interval '1 hour')")};var e=s;export{e as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@joystick.js/node-canary",
3
3
  "type": "module",
4
- "version": "0.0.0-canary.434",
4
+ "version": "0.0.0-canary.435",
5
5
  "description": "The Node.js framework for Joystick.",
6
6
  "main": "./dist/index.js",
7
7
  "scripts": {
@@ -2,12 +2,12 @@ import cron from 'node-cron';
2
2
  import types from "../../../lib/types.js";
3
3
  import handle_cleanup_sessions from "./handle_cleanup_sessions.js";
4
4
 
5
- const create_unique_index = async (index_name = '', table_name = '', table_columns = []) => {
6
- return process.databases._users?.query(`CREATE UNIQUE INDEX IF NOT EXISTS ${index_name} ON ${table_name}(${table_columns.join(', ')})`);
5
+ const create_unique_index = async (target_database = '', index_name = '', table_name = '', table_columns = []) => {
6
+ return process.databases[target_database]?.query(`CREATE UNIQUE INDEX IF NOT EXISTS ${index_name} ON ${table_name}(${table_columns.join(', ')})`);
7
7
  };
8
8
 
9
- const create_index = async (index_name = '', table_name = '', table_columns = []) => {
10
- return process.databases._users?.query(`CREATE INDEX IF NOT EXISTS ${index_name} ON ${table_name}(${table_columns.join(', ')})`);
9
+ const create_index = async (target_database = '', index_name = '', table_name = '', table_columns = []) => {
10
+ return process.databases[target_database]?.query(`CREATE INDEX IF NOT EXISTS ${index_name} ON ${table_name}(${table_columns.join(', ')})`);
11
11
  };
12
12
 
13
13
  const indexes = {
@@ -15,8 +15,8 @@ const indexes = {
15
15
  // app/databases/queries/<provider>/queues.js initialize_database function
16
16
  // to account for developer customization options.
17
17
  sessions: async () => {
18
- await create_index('session_by_id', 'sessions', ['session_id']);
19
- await create_index('session_created_at', 'sessions', ['created_at']);
18
+ await create_index('_sessions', 'session_by_id', 'sessions', ['session_id']);
19
+ await create_index('_sessions', 'session_created_at', 'sessions', ['created_at']);
20
20
 
21
21
  // NOTE: Simulate a TTL index using cron to wipe out sessions older than 1 hour.
22
22
  cron.schedule('*/30 * * * * *', () => {
@@ -25,24 +25,24 @@ const indexes = {
25
25
  },
26
26
  users: async () => {
27
27
  // users
28
- await create_index('user_by_email', 'users', ['email_address']);
29
- await create_index('user_by_username', 'users', ['username']);
30
- await create_index('user_by_user_id', 'users', ['user_id']);
28
+ await create_index('_users', 'user_by_email', 'users', ['email_address']);
29
+ await create_index('_users', 'user_by_username', 'users', ['username']);
30
+ await create_index('_users', 'user_by_user_id', 'users', ['user_id']);
31
31
 
32
32
  // users_sessions
33
33
  await create_index('user_session_by_token', 'users_sessions', ['token']);
34
34
 
35
35
  // users_password_reset_tokens
36
- await create_index('user_password_reset_token_by_token', 'users_password_reset_tokens', ['token']);
37
- await create_index('user_password_reset_token_by_user_id_token', 'users_password_reset_tokens', ['user_id', 'token']);
36
+ await create_index('_users', 'user_password_reset_token_by_token', 'users_password_reset_tokens', ['token']);
37
+ await create_index('_users', 'user_password_reset_token_by_user_id_token', 'users_password_reset_tokens', ['user_id', 'token']);
38
38
 
39
39
  // users_roles
40
- await create_index('user_role', 'users_roles', ['role']);
41
- await create_index('user_roles_by_user_id_role', 'users_roles', ['user_id', 'role']);
40
+ await create_index('_users', 'user_role', 'users_roles', ['role']);
41
+ await create_index('_users', 'user_roles_by_user_id_role', 'users_roles', ['user_id', 'role']);
42
42
 
43
43
  // roles
44
- await create_index('role', 'roles', ['role']);
45
- await create_unique_index('user_roles', 'users_roles', ['user_id', 'role']);
44
+ await create_index('_users', 'role', 'roles', ['role']);
45
+ await create_unique_index('_users', 'user_roles', 'users_roles', ['user_id', 'role']);
46
46
  },
47
47
  };
48
48
 
@@ -1,7 +1,7 @@
1
1
  import types from "../../../lib/types.js";
2
2
 
3
- const create_table = (table_name = '', table_columns = []) => {
4
- return process.databases._users?.query(
3
+ const create_table = (target_database = '', table_name = '', table_columns = []) => {
4
+ return process.databases[target_database]?.query(
5
5
  `CREATE TABLE IF NOT EXISTS ${table_name} (${table_columns.join(", ")})`
6
6
  );
7
7
  };
@@ -11,49 +11,49 @@ const tables = {
11
11
  // app/databases/queries/<provider>/queues.js initialize_database function
12
12
  // to account for dynamic table names.
13
13
  sessions: async () => {
14
- await create_table("sessions", [
15
- "id bigserial primary key",
16
- "session_id text",
17
- "csrf text",
18
- "created_at text"
14
+ await create_table('_sessions', 'sessions', [
15
+ 'id bigserial primary key',
16
+ 'session_id text',
17
+ 'csrf text',
18
+ 'created_at text'
19
19
  ]);
20
20
  },
21
21
  users: async () => {
22
- await create_table("users", [
23
- "id bigserial primary key",
24
- "user_id text",
25
- "email_address text",
26
- "password text",
27
- "username text",
28
- "language text",
22
+ await create_table('_users', 'users', [
23
+ 'id bigserial primary key',
24
+ 'user_id text',
25
+ 'email_address text',
26
+ 'password text',
27
+ 'username text',
28
+ 'language text',
29
29
  ]);
30
30
 
31
- await create_table("users_sessions", [
32
- "id bigserial primary key",
33
- "user_id text",
34
- "token text",
35
- "token_expires_at text",
31
+ await create_table('_users', 'users_sessions', [
32
+ 'id bigserial primary key',
33
+ 'user_id text',
34
+ 'token text',
35
+ 'token_expires_at text',
36
36
  ]);
37
37
 
38
- await create_table("users_password_reset_tokens", [
39
- "id bigserial primary key",
40
- "user_id text",
41
- "token text",
42
- "requested_at text",
38
+ await create_table('_users', 'users_password_reset_tokens', [
39
+ 'id bigserial primary key',
40
+ 'user_id text',
41
+ 'token text',
42
+ 'requested_at text',
43
43
  ]);
44
44
 
45
- await create_table("users_verify_email_tokens", [
46
- "id bigserial primary key",
47
- "user_id text",
48
- "token text",
45
+ await create_table('_users', 'users_verify_email_tokens', [
46
+ 'id bigserial primary key',
47
+ 'user_id text',
48
+ 'token text',
49
49
  ]);
50
50
 
51
- await create_table("roles", ["id bigserial primary key", "role text"]);
51
+ await create_table('_users', 'roles', ['id bigserial primary key', 'role text']);
52
52
 
53
- await create_table("users_roles", [
54
- "id bigserial primary key",
55
- "user_id text",
56
- "role text",
53
+ await create_table('_users', 'users_roles', [
54
+ 'id bigserial primary key',
55
+ 'user_id text',
56
+ 'role text',
57
57
  ]);
58
58
  },
59
59
  };
@@ -1,5 +1,5 @@
1
1
  const handle_cleanup_sessions = async () => {
2
- await database.query(`DELETE FROM sessions where created_at::timestamp <= timezone('utc', now() - interval '1 hour')`);
2
+ await process.databases._sessions.query(`DELETE FROM sessions where created_at::timestamp <= timezone('utc', now() - interval '1 hour')`);
3
3
  };
4
4
 
5
5
  export default handle_cleanup_sessions;