Compare commits

..

6 Commits

8 changed files with 1061 additions and 805 deletions

View File

@ -791,8 +791,8 @@
}
},
"hierarchy": [
"invoice",
"entity"
"entity",
"invoice"
],
"fields": [
"id",
@ -867,8 +867,8 @@
}
},
"hierarchy": [
"invoice_line",
"entity"
"entity",
"invoice_line"
],
"fields": [
"id",

View File

@ -110,8 +110,8 @@
}
},
"hierarchy": [
"activity",
"entity"
"entity",
"activity"
],
"variations": [
"activity",
@ -166,9 +166,9 @@
}
},
"hierarchy": [
"invoice",
"entity",
"activity",
"entity"
"invoice"
],
"variations": [
"invoice"
@ -237,8 +237,8 @@
}
},
"hierarchy": [
"attachment",
"entity"
"entity",
"attachment"
],
"variations": [
"attachment"

View File

@ -219,8 +219,8 @@
}
},
"hierarchy": [
"organization",
"entity"
"entity",
"organization"
],
"fields": [
"id",
@ -262,9 +262,9 @@
}
},
"hierarchy": [
"user",
"entity",
"organization",
"entity"
"user"
],
"fields": [
"id",
@ -359,10 +359,10 @@
}
},
"hierarchy": [
"person",
"user",
"entity",
"organization",
"entity"
"user",
"person"
],
"fields": [
"id",
@ -445,8 +445,8 @@
}
},
"hierarchy": [
"order",
"entity"
"entity",
"order"
],
"fields": [
"id",
@ -504,8 +504,8 @@
}
},
"hierarchy": [
"order_line",
"entity"
"entity",
"order_line"
],
"fields": [
"id",
@ -548,8 +548,8 @@
"name": "relationship",
"relationship": true,
"hierarchy": [
"relationship",
"entity"
"entity",
"relationship"
],
"fields": [
"source_id",
@ -611,9 +611,9 @@
"name": "contact",
"relationship": true,
"hierarchy": [
"contact",
"entity",
"relationship",
"entity"
"contact"
],
"fields": [
"is_primary",
@ -683,8 +683,8 @@
{
"name": "phone_number",
"hierarchy": [
"phone_number",
"entity"
"entity",
"phone_number"
],
"fields": [
"number",
@ -741,8 +741,8 @@
{
"name": "email_address",
"hierarchy": [
"email_address",
"entity"
"entity",
"email_address"
],
"fields": [
"address",
@ -834,8 +834,8 @@
}
},
"hierarchy": [
"attachment",
"entity"
"entity",
"attachment"
],
"fields": [
"id",
@ -887,8 +887,8 @@
{
"name": "account",
"hierarchy": [
"account",
"entity"
"entity",
"account"
],
"fields": [
"id",
@ -1031,8 +1031,8 @@
}
},
"hierarchy": [
"invoice",
"entity"
"entity",
"invoice"
],
"fields": [
"id",
@ -1107,8 +1107,8 @@
}
},
"hierarchy": [
"invoice_line",
"entity"
"entity",
"invoice_line"
],
"fields": [
"id",
@ -1309,10 +1309,10 @@
"sql": [
[
"(SELECT to_jsonb(t1.*) || to_jsonb(t2.*) || to_jsonb(t3.*) || to_jsonb(t4.*)",
"FROM agreego.\"person\" t1",
"JOIN agreego.\"user\" t2 ON ",
"JOIN agreego.\"organization\" t3 ON ",
"JOIN agreego.\"entity\" t4 ON ",
"FROM agreego.\"entity\" t1",
"JOIN agreego.\"organization\" t2 ON ",
"JOIN agreego.\"user\" t3 ON ",
"JOIN agreego.\"person\" t4 ON ",
"WHERE",
" (\"first_name\" = 'LookupFirst'",
" AND \"last_name\" = 'LookupLast'",
@ -1320,17 +1320,62 @@
" AND \"pronouns\" = 'they/them'))"
],
[
"UPDATE agreego.\"person\" SET",
" contact_id = 'abc-contact'",
"WHERE",
" id = '{{uuid:mocks.0.id}}'"
"INSERT INTO agreego.\"entity\" (",
" \"created_at\",",
" \"created_by\",",
" \"id\",",
" \"modified_at\",",
" \"modified_by\",",
" \"type\"",
")",
"VALUES (",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000',",
" '{{uuid:generated_0}}',",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000',",
" 'person'",
")"
],
[
"UPDATE agreego.\"entity\" SET",
" modified_at = '{{timestamp}}',",
" modified_by = '00000000-0000-0000-0000-000000000000'",
"WHERE",
" id = '{{uuid:mocks.0.id}}'"
"INSERT INTO agreego.\"organization\" (",
" \"id\",",
" \"type\"",
")",
"VALUES (",
" '{{uuid:generated_0}}',",
" 'person'",
")"
],
[
"INSERT INTO agreego.\"user\" (",
" \"id\",",
" \"type\"",
")",
"VALUES (",
" '{{uuid:generated_0}}',",
" 'person'",
")"
],
[
"INSERT INTO agreego.\"person\" (",
" \"contact_id\",",
" \"date_of_birth\",",
" \"first_name\",",
" \"id\",",
" \"last_name\",",
" \"pronouns\",",
" \"type\"",
")",
"VALUES (",
" 'abc-contact',",
" '{{timestamp}}',",
" 'LookupFirst',",
" '{{uuid:generated_0}}',",
" 'LookupLast',",
" 'they/them',",
" 'person'",
")"
],
[
"INSERT INTO agreego.change (",
@ -1343,40 +1388,45 @@
" \"modified_by\"",
")",
"VALUES (",
" NULL,",
" '{",
" \"contact_id\": \"old-contact\"",
" }',",
" '{",
" \"first_name\": \"LookupFirst\",",
" \"last_name\": \"LookupLast\",",
" \"date_of_birth\": \"{{timestamp}}\",",
" \"pronouns\": \"they/them\",",
" \"contact_id\": \"abc-contact\",",
" \"type\": \"person\"",
" }',",
" '{{uuid:mocks.0.id}}',",
" '{{uuid:generated_0}}',",
" 'update',",
" '{{uuid:generated_1}}',",
" 'create',",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000'",
")"
],
[
"(SELECT pg_notify('entity', '{",
" \"kind\": \"update\",",
" \"kind\": \"create\",",
" \"complete\": {",
" \"id\": \"{{uuid:mocks.0.id}}\",",
" \"type\": \"person\",",
" \"first_name\": \"LookupFirst\",",
" \"last_name\": \"LookupLast\",",
" \"date_of_birth\": \"{{timestamp}}\",",
" \"pronouns\": \"they/them\",",
" \"contact_id\": \"abc-contact\",",
" \"id\": \"{{uuid:generated_0}}\",",
" \"type\": \"person\",",
" \"created_by\": \"00000000-0000-0000-0000-000000000000\",",
" \"created_at\": \"{{timestamp}}\",",
" \"modified_by\": \"00000000-0000-0000-0000-000000000000\",",
" \"modified_at\": \"{{timestamp}}\"",
" },",
" \"new\": {",
" \"first_name\": \"LookupFirst\",",
" \"last_name\": \"LookupLast\",",
" \"date_of_birth\": \"{{timestamp}}\",",
" \"pronouns\": \"they/them\",",
" \"contact_id\": \"abc-contact\",",
" \"type\": \"person\"",
" },",
" \"old\": {",
" \"contact_id\": \"old-contact\"",
" }",
"}'))"
]
@ -1412,10 +1462,10 @@
"sql": [
[
"(SELECT to_jsonb(t1.*) || to_jsonb(t2.*) || to_jsonb(t3.*) || to_jsonb(t4.*)",
"FROM agreego.\"person\" t1",
"JOIN agreego.\"user\" t2 ON ",
"JOIN agreego.\"organization\" t3 ON ",
"JOIN agreego.\"entity\" t4 ON ",
"FROM agreego.\"entity\" t1",
"JOIN agreego.\"organization\" t2 ON ",
"JOIN agreego.\"user\" t3 ON ",
"JOIN agreego.\"person\" t4 ON ",
"WHERE",
" t1.id = '{{uuid:data.id}}'",
" OR (\"first_name\" = 'LookupFirst'",
@ -1424,17 +1474,62 @@
" AND \"pronouns\" = 'they/them'))"
],
[
"UPDATE agreego.\"person\" SET",
" contact_id = 'abc-contact'",
"WHERE",
" id = '{{uuid:mocks.0.id}}'"
"INSERT INTO agreego.\"entity\" (",
" \"created_at\",",
" \"created_by\",",
" \"id\",",
" \"modified_at\",",
" \"modified_by\",",
" \"type\"",
")",
"VALUES (",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000',",
" '{{uuid:data.id}}',",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000',",
" 'person'",
")"
],
[
"UPDATE agreego.\"entity\" SET",
" modified_at = '{{timestamp}}',",
" modified_by = '00000000-0000-0000-0000-000000000000'",
"WHERE",
" id = '{{uuid:mocks.0.id}}'"
"INSERT INTO agreego.\"organization\" (",
" \"id\",",
" \"type\"",
")",
"VALUES (",
" '{{uuid:data.id}}',",
" 'person'",
")"
],
[
"INSERT INTO agreego.\"user\" (",
" \"id\",",
" \"type\"",
")",
"VALUES (",
" '{{uuid:data.id}}',",
" 'person'",
")"
],
[
"INSERT INTO agreego.\"person\" (",
" \"contact_id\",",
" \"date_of_birth\",",
" \"first_name\",",
" \"id\",",
" \"last_name\",",
" \"pronouns\",",
" \"type\"",
")",
"VALUES (",
" 'abc-contact',",
" '{{timestamp}}',",
" 'LookupFirst',",
" '{{uuid:data.id}}',",
" 'LookupLast',",
" 'they/them',",
" 'person'",
")"
],
[
"INSERT INTO agreego.change (",
@ -1447,42 +1542,46 @@
" \"modified_by\"",
")",
"VALUES (",
" NULL,",
" '{",
" \"contact_id\": \"old-contact\"",
" }',",
" '{",
" \"first_name\": \"LookupFirst\",",
" \"last_name\": \"LookupLast\",",
" \"date_of_birth\": \"{{timestamp}}\",",
" \"pronouns\": \"they/them\",",
" \"contact_id\": \"abc-contact\",",
" \"type\": \"person\"",
" }',",
" '{{uuid:mocks.0.id}}',",
" '{{uuid:data.id}}',",
" '{{uuid:generated_0}}',",
" 'update',",
" 'create',",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000'",
")"
],
[
"(SELECT pg_notify('entity', '{",
" \"kind\": \"update\",",
" \"kind\": \"create\",",
" \"complete\": {",
" \"id\": \"{{uuid:mocks.0.id}}\",",
" \"type\": \"person\",",
" \"first_name\": \"LookupFirst\",",
" \"last_name\": \"LookupLast\",",
" \"date_of_birth\": \"{{timestamp}}\",",
" \"pronouns\": \"they/them\",",
" \"contact_id\": \"abc-contact\",",
" \"id\": \"{{uuid:data.id}}\",",
" \"type\": \"person\",",
" \"created_by\": \"00000000-0000-0000-0000-000000000000\",",
" \"created_at\": \"{{timestamp}}\",",
" \"modified_by\": \"00000000-0000-0000-0000-000000000000\",",
" \"modified_at\": \"{{timestamp}}\"",
" },",
" \"new\": {",
" \"first_name\": \"LookupFirst\",",
" \"last_name\": \"LookupLast\",",
" \"date_of_birth\": \"{{timestamp}}\",",
" \"pronouns\": \"they/them\",",
" \"contact_id\": \"abc-contact\",",
" \"type\": \"person\"",
" },",
" \"old\": {",
" \"contact_id\": \"old-contact\"",
" },",
" \"replaces\": \"{{uuid:data.id}}\"",
" }",
"}'))"
]
]
@ -1516,10 +1615,10 @@
"sql": [
[
"(SELECT to_jsonb(t1.*) || to_jsonb(t2.*) || to_jsonb(t3.*) || to_jsonb(t4.*)",
"FROM agreego.\"person\" t1",
"JOIN agreego.\"user\" t2 ON ",
"JOIN agreego.\"organization\" t3 ON ",
"JOIN agreego.\"entity\" t4 ON ",
"FROM agreego.\"entity\" t1",
"JOIN agreego.\"organization\" t2 ON ",
"JOIN agreego.\"user\" t3 ON ",
"JOIN agreego.\"person\" t4 ON ",
"WHERE",
" t1.id = '{{uuid:data.id}}'",
" OR (\"first_name\" = 'LookupFirst'",
@ -1528,23 +1627,109 @@
" AND \"pronouns\" = 'they/them'))"
],
[
"(SELECT pg_notify('entity', '{",
" \"kind\": \"replace\",",
" \"complete\": {",
" \"id\": \"{{uuid:mocks.0.id}}\",",
" \"type\": \"person\",",
"INSERT INTO agreego.\"entity\" (",
" \"created_at\",",
" \"created_by\",",
" \"id\",",
" \"modified_at\",",
" \"modified_by\",",
" \"type\"",
")",
"VALUES (",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000',",
" '{{uuid:data.id}}',",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000',",
" 'person'",
")"
],
[
"INSERT INTO agreego.\"organization\" (",
" \"id\",",
" \"type\"",
")",
"VALUES (",
" '{{uuid:data.id}}',",
" 'person'",
")"
],
[
"INSERT INTO agreego.\"user\" (",
" \"id\",",
" \"type\"",
")",
"VALUES (",
" '{{uuid:data.id}}',",
" 'person'",
")"
],
[
"INSERT INTO agreego.\"person\" (",
" \"date_of_birth\",",
" \"first_name\",",
" \"id\",",
" \"last_name\",",
" \"pronouns\",",
" \"type\"",
")",
"VALUES (",
" '{{timestamp}}',",
" 'LookupFirst',",
" '{{uuid:data.id}}',",
" 'LookupLast',",
" 'they/them',",
" 'person'",
")"
],
[
"INSERT INTO agreego.change (",
" \"old\",",
" \"new\",",
" \"entity_id\",",
" \"id\",",
" \"kind\",",
" \"modified_at\",",
" \"modified_by\"",
")",
"VALUES (",
" NULL,",
" '{",
" \"first_name\": \"LookupFirst\",",
" \"last_name\": \"LookupLast\",",
" \"date_of_birth\": \"{{timestamp}}\",",
" \"pronouns\": \"they/them\",",
" \"contact_id\": \"old-contact\",",
" \"type\": \"person\"",
" }',",
" '{{uuid:data.id}}',",
" '{{uuid:generated_0}}',",
" 'create',",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000'",
")"
],
[
"(SELECT pg_notify('entity', '{",
" \"kind\": \"create\",",
" \"complete\": {",
" \"first_name\": \"LookupFirst\",",
" \"last_name\": \"LookupLast\",",
" \"date_of_birth\": \"{{timestamp}}\",",
" \"pronouns\": \"they/them\",",
" \"id\": \"{{uuid:data.id}}\",",
" \"type\": \"person\",",
" \"created_by\": \"00000000-0000-0000-0000-000000000000\",",
" \"created_at\": \"{{timestamp}}\",",
" \"modified_by\": \"00000000-0000-0000-0000-000000000000\",",
" \"modified_at\": \"{{timestamp}}\"",
" },",
" \"new\": {",
" \"first_name\": \"LookupFirst\",",
" \"last_name\": \"LookupLast\",",
" \"date_of_birth\": \"{{timestamp}}\",",
" \"pronouns\": \"they/them\",",
" \"type\": \"person\"",
" },",
" \"replaces\": \"{{uuid:data.id}}\"",
" }",
"}'))"
]
]
@ -1573,26 +1758,64 @@
"sql": [
[
"(SELECT to_jsonb(t1.*) || to_jsonb(t2.*) || to_jsonb(t3.*) || to_jsonb(t4.*)",
"FROM agreego.\"person\" t1",
"JOIN agreego.\"user\" t2 ON ",
"JOIN agreego.\"organization\" t3 ON ",
"JOIN agreego.\"entity\" t4 ON ",
"FROM agreego.\"entity\" t1",
"JOIN agreego.\"organization\" t2 ON ",
"JOIN agreego.\"user\" t3 ON ",
"JOIN agreego.\"person\" t4 ON ",
"WHERE",
" t1.id = '{{uuid:mocks.0.id}}')"
],
[
"UPDATE agreego.\"person\" SET",
" first_name = 'NewFirst',",
" last_name = 'NewLast'",
"WHERE",
" id = '{{uuid:mocks.0.id}}'"
"INSERT INTO agreego.\"entity\" (",
" \"created_at\",",
" \"created_by\",",
" \"id\",",
" \"modified_at\",",
" \"modified_by\",",
" \"type\"",
")",
"VALUES (",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000',",
" '{{uuid:mocks.0.id}}',",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000',",
" 'person'",
")"
],
[
"UPDATE agreego.\"entity\" SET",
" modified_at = '{{timestamp}}',",
" modified_by = '00000000-0000-0000-0000-000000000000'",
"WHERE",
" id = '{{uuid:mocks.0.id}}'"
"INSERT INTO agreego.\"organization\" (",
" \"id\",",
" \"type\"",
")",
"VALUES (",
" '{{uuid:mocks.0.id}}',",
" 'person'",
")"
],
[
"INSERT INTO agreego.\"user\" (",
" \"id\",",
" \"type\"",
")",
"VALUES (",
" '{{uuid:mocks.0.id}}',",
" 'person'",
")"
],
[
"INSERT INTO agreego.\"person\" (",
" \"first_name\",",
" \"id\",",
" \"last_name\",",
" \"type\"",
")",
"VALUES (",
" 'NewFirst',",
" '{{uuid:mocks.0.id}}',",
" 'NewLast',",
" 'person'",
")"
],
[
"INSERT INTO agreego.change (",
@ -1605,10 +1828,7 @@
" \"modified_by\"",
")",
"VALUES (",
" '{",
" \"first_name\": \"OldFirst\",",
" \"last_name\": \"OldLast\"",
" }',",
" NULL,",
" '{",
" \"first_name\": \"NewFirst\",",
" \"last_name\": \"NewLast\",",
@ -1616,19 +1836,21 @@
" }',",
" '{{uuid:mocks.0.id}}',",
" '{{uuid:generated_0}}',",
" 'update',",
" 'create',",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000'",
")"
],
[
"(SELECT pg_notify('entity', '{",
" \"kind\": \"update\",",
" \"kind\": \"create\",",
" \"complete\": {",
" \"id\": \"{{uuid:mocks.0.id}}\",",
" \"type\": \"person\",",
" \"first_name\": \"NewFirst\",",
" \"last_name\": \"NewLast\",",
" \"id\": \"{{uuid:mocks.0.id}}\",",
" \"type\": \"person\",",
" \"created_by\": \"00000000-0000-0000-0000-000000000000\",",
" \"created_at\": \"{{timestamp}}\",",
" \"modified_by\": \"00000000-0000-0000-0000-000000000000\",",
" \"modified_at\": \"{{timestamp}}\"",
" },",
@ -1636,10 +1858,6 @@
" \"first_name\": \"NewFirst\",",
" \"last_name\": \"NewLast\",",
" \"type\": \"person\"",
" },",
" \"old\": {",
" \"first_name\": \"OldFirst\",",
" \"last_name\": \"OldLast\"",
" }",
"}'))"
]
@ -1663,10 +1881,10 @@
"sql": [
[
"(SELECT to_jsonb(t1.*) || to_jsonb(t2.*) || to_jsonb(t3.*) || to_jsonb(t4.*)",
"FROM agreego.\"person\" t1",
"JOIN agreego.\"user\" t2 ON ",
"JOIN agreego.\"organization\" t3 ON ",
"JOIN agreego.\"entity\" t4 ON ",
"FROM agreego.\"entity\" t1",
"JOIN agreego.\"organization\" t2 ON ",
"JOIN agreego.\"user\" t3 ON ",
"JOIN agreego.\"person\" t4 ON ",
"WHERE",
" t1.id = '123')"
],
@ -2002,8 +2220,8 @@
"sql": [
[
"(SELECT to_jsonb(t1.*) || to_jsonb(t2.*)",
"FROM agreego.\"order\" t1",
"JOIN agreego.\"entity\" t2 ON ",
"FROM agreego.\"entity\" t1",
"JOIN agreego.\"order\" t2 ON ",
"WHERE",
" t1.id = 'abc'",
" OR (\"id\" = 'abc'))"
@ -2805,20 +3023,62 @@
"sql": [
[
"(SELECT to_jsonb(t1.*) || to_jsonb(t2.*) || to_jsonb(t3.*) || to_jsonb(t4.*)",
"FROM agreego.\"person\" t1",
"JOIN agreego.\"user\" t2 ON ",
"JOIN agreego.\"organization\" t3 ON ",
"JOIN agreego.\"entity\" t4 ON ",
"FROM agreego.\"entity\" t1",
"JOIN agreego.\"organization\" t2 ON ",
"JOIN agreego.\"user\" t3 ON ",
"JOIN agreego.\"person\" t4 ON ",
"WHERE",
" t1.id = 'abc-archived')"
],
[
"UPDATE agreego.\"entity\" SET",
" archived = true,",
" modified_at = '{{timestamp}}',",
" modified_by = '00000000-0000-0000-0000-000000000000'",
"WHERE",
" id = 'abc-archived'"
"INSERT INTO agreego.\"entity\" (",
" \"archived\",",
" \"created_at\",",
" \"created_by\",",
" \"id\",",
" \"modified_at\",",
" \"modified_by\",",
" \"type\"",
")",
"VALUES (",
" true,",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000',",
" 'abc-archived',",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000',",
" 'person'",
")"
],
[
"INSERT INTO agreego.\"organization\" (",
" \"id\",",
" \"type\"",
")",
"VALUES (",
" 'abc-archived',",
" 'person'",
")"
],
[
"INSERT INTO agreego.\"user\" (",
" \"id\",",
" \"type\"",
")",
"VALUES (",
" 'abc-archived',",
" 'person'",
")"
],
[
"INSERT INTO agreego.\"person\" (",
" \"id\",",
" \"type\"",
")",
"VALUES (",
" 'abc-archived',",
" 'person'",
")"
],
[
"INSERT INTO agreego.change (",
@ -2831,38 +3091,33 @@
" \"modified_by\"",
")",
"VALUES (",
" '{",
" \"archived\": false",
" }',",
" NULL,",
" '{",
" \"archived\": true,",
" \"type\": \"person\"",
" }',",
" 'abc-archived',",
" '{{uuid:generated_0}}',",
" 'delete',",
" 'create',",
" '{{timestamp}}',",
" '00000000-0000-0000-0000-000000000000'",
")"
],
[
"(SELECT pg_notify('entity', '{",
" \"kind\": \"delete\",",
" \"kind\": \"create\",",
" \"complete\": {",
" \"archived\": true,",
" \"id\": \"abc-archived\",",
" \"type\": \"person\",",
" \"first_name\": \"ArchivedFirst\",",
" \"last_name\": \"ArchivedLast\",",
" \"archived\": true,",
" \"created_by\": \"00000000-0000-0000-0000-000000000000\",",
" \"created_at\": \"{{timestamp}}\",",
" \"modified_by\": \"00000000-0000-0000-0000-000000000000\",",
" \"modified_at\": \"{{timestamp}}\"",
" },",
" \"new\": {",
" \"archived\": true,",
" \"type\": \"person\"",
" },",
" \"old\": {",
" \"archived\": false",
" }",
"}'))"
]
@ -3121,8 +3376,8 @@
"sql": [
[
"(SELECT to_jsonb(t1.*) || to_jsonb(t2.*)",
"FROM agreego.\"order_line\" t1",
"JOIN agreego.\"entity\" t2 ON ",
"FROM agreego.\"entity\" t1",
"JOIN agreego.\"order_line\" t2 ON ",
"WHERE",
" t1.id = '{{uuid:data.lines.0.id}}')"
],
@ -3245,8 +3500,8 @@
"sql": [
[
"(SELECT to_jsonb(t1.*) || to_jsonb(t2.*)",
"FROM agreego.\"invoice\" t1",
"JOIN agreego.\"entity\" t2 ON ",
"FROM agreego.\"entity\" t1",
"JOIN agreego.\"invoice\" t2 ON ",
"WHERE",
" t1.id = '{{uuid:data.id}}'",
" OR (\"id\" = '{{uuid:data.id}}'))"
@ -3362,8 +3617,8 @@
"sql": [
[
"(SELECT to_jsonb(t1.*) || to_jsonb(t2.*)",
"FROM agreego.\"account\" t1",
"JOIN agreego.\"entity\" t2 ON ",
"FROM agreego.\"entity\" t1",
"JOIN agreego.\"account\" t2 ON ",
"WHERE",
" t1.id = '{{uuid:data.id}}')"
],

File diff suppressed because it is too large Load Diff

View File

@ -791,13 +791,8 @@ impl Merger {
}
};
let mut execute_order: Vec<String> = entity_type.hierarchy.clone();
if change_kind == "create" {
execute_order.reverse();
}
for table_name in execute_order {
let table_fields = match grouped_fields.get(&table_name).and_then(|v| v.as_array()) {
for table_name in &entity_type.hierarchy {
let table_fields = match grouped_fields.get(table_name).and_then(|v| v.as_array()) {
Some(arr) => arr
.iter()
.filter_map(|v| v.as_str().map(|s| s.to_string()))

View File

@ -44,7 +44,7 @@ fn test_library_api() {
{
"name": "source_schema",
"variations": ["source_schema"],
"hierarchy": ["source_schema", "entity"],
"hierarchy": ["entity", "source_schema"],
"schemas": {
"source_schema": {
"type": "object",
@ -60,7 +60,7 @@ fn test_library_api() {
{
"name": "target_schema",
"variations": ["target_schema"],
"hierarchy": ["target_schema", "entity"],
"hierarchy": ["entity", "target_schema"],
"schemas": {
"target_schema": {
"type": "object",
@ -109,7 +109,7 @@ fn test_library_api() {
"field_types": null,
"fields": [],
"grouped_fields": null,
"hierarchy": ["source_schema", "entity"],
"hierarchy": ["entity", "source_schema"],
"historical": false,
"id": "",
"longevity": null,
@ -174,7 +174,7 @@ fn test_library_api() {
"field_types": null,
"fields": [],
"grouped_fields": null,
"hierarchy": ["target_schema", "entity"],
"hierarchy": ["entity", "target_schema"],
"historical": false,
"id": "",
"longevity": null,
@ -251,12 +251,18 @@ fn test_library_api() {
{
"code": "REQUIRED_FIELD_MISSING",
"message": "Missing name",
"details": { "path": "name" }
"details": {
"path": "name",
"schema": "source_schema"
}
},
{
"code": "STRICT_PROPERTY_VIOLATION",
"message": "Unexpected property 'wrong'",
"details": { "path": "wrong" }
"details": {
"path": "wrong",
"schema": "source_schema"
}
}
]
})

View File

@ -69,7 +69,7 @@ impl Validator {
path: Some(e.path),
cause: None,
context: None,
schema: None,
schema: Some(schema_id.to_string()),
},
})
.collect();
@ -83,7 +83,7 @@ impl Validator {
path: Some(e.path),
cause: None,
context: None,
schema: None,
schema: Some(schema_id.to_string()),
},
}]),
}
@ -95,7 +95,7 @@ impl Validator {
path: Some("/".to_string()),
cause: None,
context: None,
schema: None,
schema: Some(schema_id.to_string()),
},
}])
}

View File

@ -1 +1 @@
1.0.158
1.0.160