mirror of
https://github.com/AppFlowy-IO/AppFlowy-Cloud.git
synced 2025-04-19 03:24:42 -04:00
chore: add sqlx files
This commit is contained in:
parent
9b28edb5bc
commit
dca443affc
5 changed files with 171 additions and 0 deletions
17
.sqlx/query-060018c2bfdfcfb4b06186b6bc29b06b810745569363613d6779444ead6a3cd7.json
generated
Normal file
17
.sqlx/query-060018c2bfdfcfb4b06186b6bc29b06b810745569363613d6779444ead6a3cd7.json
generated
Normal file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n INSERT INTO public.af_workspace_invitation (\n workspace_id,\n inviter,\n invitee_email,\n role_id\n )\n VALUES (\n $1,\n (SELECT uid FROM public.af_user WHERE uuid = $2),\n $3,\n $4\n )\n ",
|
||||
"describe": {
|
||||
"columns": [],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Uuid",
|
||||
"Uuid",
|
||||
"Text",
|
||||
"Int4"
|
||||
]
|
||||
},
|
||||
"nullable": []
|
||||
},
|
||||
"hash": "060018c2bfdfcfb4b06186b6bc29b06b810745569363613d6779444ead6a3cd7"
|
||||
}
|
59
.sqlx/query-2c1152b8867bebcb63b637820eb44ac932ee88c6326ecaf9b4b4c7f690eff41c.json
generated
Normal file
59
.sqlx/query-2c1152b8867bebcb63b637820eb44ac932ee88c6326ecaf9b4b4c7f690eff41c.json
generated
Normal file
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT\n id AS invite_id,\n workspace_id,\n (SELECT workspace_name FROM public.af_workspace WHERE workspace_id = af_workspace_invitation.workspace_id),\n (SELECT email FROM public.af_user WHERE uid = af_workspace_invitation.inviter) AS inviter_email,\n (SELECT name FROM public.af_user WHERE uid = af_workspace_invitation.inviter) AS inviter_name,\n status,\n updated_at\n FROM\n public.af_workspace_invitation\n WHERE af_workspace_invitation.invitee_email = (SELECT email FROM public.af_user WHERE uuid = $1)\n AND ($2::SMALLINT IS NULL OR status = $2)\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "invite_id",
|
||||
"type_info": "Uuid"
|
||||
},
|
||||
{
|
||||
"ordinal": 1,
|
||||
"name": "workspace_id",
|
||||
"type_info": "Uuid"
|
||||
},
|
||||
{
|
||||
"ordinal": 2,
|
||||
"name": "workspace_name",
|
||||
"type_info": "Text"
|
||||
},
|
||||
{
|
||||
"ordinal": 3,
|
||||
"name": "inviter_email",
|
||||
"type_info": "Text"
|
||||
},
|
||||
{
|
||||
"ordinal": 4,
|
||||
"name": "inviter_name",
|
||||
"type_info": "Text"
|
||||
},
|
||||
{
|
||||
"ordinal": 5,
|
||||
"name": "status",
|
||||
"type_info": "Int2"
|
||||
},
|
||||
{
|
||||
"ordinal": 6,
|
||||
"name": "updated_at",
|
||||
"type_info": "Timestamptz"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Uuid",
|
||||
"Int2"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false,
|
||||
false,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
false,
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "2c1152b8867bebcb63b637820eb44ac932ee88c6326ecaf9b4b4c7f690eff41c"
|
||||
}
|
15
.sqlx/query-3b3dd104bf9e1fb9cf6d413e0e59db0cdbb009c92dce1c1e67900c44efdb8db4.json
generated
Normal file
15
.sqlx/query-3b3dd104bf9e1fb9cf6d413e0e59db0cdbb009c92dce1c1e67900c44efdb8db4.json
generated
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n UPDATE public.af_workspace_invitation\n SET status = 1\n WHERE invitee_email = (SELECT email FROM public.af_user WHERE uuid = $1)\n AND id = $2\n ",
|
||||
"describe": {
|
||||
"columns": [],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Uuid",
|
||||
"Uuid"
|
||||
]
|
||||
},
|
||||
"nullable": []
|
||||
},
|
||||
"hash": "3b3dd104bf9e1fb9cf6d413e0e59db0cdbb009c92dce1c1e67900c44efdb8db4"
|
||||
}
|
46
.sqlx/query-7244adcf92c93f0cb7b3311f348617e442145affb56c90e12a81563232b284b4.json
generated
Normal file
46
.sqlx/query-7244adcf92c93f0cb7b3311f348617e442145affb56c90e12a81563232b284b4.json
generated
Normal file
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"db_name": "PostgreSQL",
|
||||
"query": "\n SELECT\n workspace_id,\n inviter AS inviter_uid,\n (SELECT uid FROM public.af_user WHERE email = invitee_email) AS invitee_uid,\n status,\n role_id AS role\n FROM\n public.af_workspace_invitation\n WHERE id = $1\n ",
|
||||
"describe": {
|
||||
"columns": [
|
||||
{
|
||||
"ordinal": 0,
|
||||
"name": "workspace_id",
|
||||
"type_info": "Uuid"
|
||||
},
|
||||
{
|
||||
"ordinal": 1,
|
||||
"name": "inviter_uid",
|
||||
"type_info": "Int8"
|
||||
},
|
||||
{
|
||||
"ordinal": 2,
|
||||
"name": "invitee_uid",
|
||||
"type_info": "Int8"
|
||||
},
|
||||
{
|
||||
"ordinal": 3,
|
||||
"name": "status",
|
||||
"type_info": "Int2"
|
||||
},
|
||||
{
|
||||
"ordinal": 4,
|
||||
"name": "role",
|
||||
"type_info": "Int4"
|
||||
}
|
||||
],
|
||||
"parameters": {
|
||||
"Left": [
|
||||
"Uuid"
|
||||
]
|
||||
},
|
||||
"nullable": [
|
||||
false,
|
||||
false,
|
||||
null,
|
||||
false,
|
||||
false
|
||||
]
|
||||
},
|
||||
"hash": "7244adcf92c93f0cb7b3311f348617e442145affb56c90e12a81563232b284b4"
|
||||
}
|
34
migrations/20240306110000_workspace_invitation_2.sql
Normal file
34
migrations/20240306110000_workspace_invitation_2.sql
Normal file
|
@ -0,0 +1,34 @@
|
|||
ALTER TABLE af_workspace_invitation ADD COLUMN invitee_email TEXT NOT NULL;
|
||||
|
||||
-- Auto add to af_workspace_member upon invitation accepted
|
||||
CREATE OR REPLACE FUNCTION add_to_af_workspace_member()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
IF NEW.status = 1 THEN
|
||||
-- workspace permission
|
||||
INSERT INTO af_workspace_member (workspace_id, uid, role_id)
|
||||
VALUES (
|
||||
NEW.workspace_id,
|
||||
(SELECT uid FROM af_user WHERE email = NEW.invitee_email),
|
||||
NEW.role_id
|
||||
)
|
||||
ON CONFLICT (workspace_id, uid) DO NOTHING;
|
||||
|
||||
-- collab permission
|
||||
INSERT INTO af_collab_member (uid, oid, permission_id)
|
||||
VALUES (
|
||||
(SELECT uid FROM af_user WHERE email = NEW.invitee_email),
|
||||
NEW.workspace_id,
|
||||
(SELECT permission_id
|
||||
FROM public.af_role_permissions
|
||||
WHERE public.af_role_permissions.role_id = NEW.role_id)
|
||||
)
|
||||
ON CONFLICT (uid, oid)
|
||||
DO UPDATE
|
||||
SET permission_id = excluded.permission_id;
|
||||
END IF;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
ALTER TABLE af_workspace_invitation DROP COLUMN invitee;
|
Loading…
Add table
Reference in a new issue