Skip to content

Commit

Permalink
faster
Browse files Browse the repository at this point in the history
  • Loading branch information
ivansglazunov committed May 19, 2024
1 parent 4295ccb commit 5a70665
Show file tree
Hide file tree
Showing 25 changed files with 1,174 additions and 1,175 deletions.
40 changes: 20 additions & 20 deletions benchmarks/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,53 +23,53 @@ const deep = new DeepClient({ apolloClient });
var suite = new Suite();
const admin = await deep.jwt({ linkId: await deep.id('deep', 'admin') });
const deepAdmin = new DeepClient({ deep: deep, token: admin.token, linkId: admin.linkId });
const Query = await deep.id('@deep-foundation/core', 'Query');
const Query = deep.idLocal('@deep-foundation/core', 'Query');
const guest = await deep.guest({});
const deepGuest = new DeepClient({ deep: deepAdmin, ...guest });

await deepAdmin.insert({
type_id: await deep.id('@deep-foundation/core', 'Rule'),
type_id: deep.idLocal('@deep-foundation/core', 'Rule'),
out: { data: [
{
type_id: await deep.id('@deep-foundation/core', 'RuleSubject'),
type_id: deep.idLocal('@deep-foundation/core', 'RuleSubject'),
to: { data: {
type_id: await deep.id('@deep-foundation/core', 'Selector'),
type_id: deep.idLocal('@deep-foundation/core', 'Selector'),
out: { data: [
{
type_id: await deep.id('@deep-foundation/core', 'SelectorInclude'),
type_id: deep.idLocal('@deep-foundation/core', 'SelectorInclude'),
to_id: guest.linkId,
out: { data: {
type_id: await deep.id('@deep-foundation/core', 'SelectorTree'),
to_id: await deep.id('@deep-foundation/core', 'containTree'),
type_id: deep.idLocal('@deep-foundation/core', 'SelectorTree'),
to_id: deep.idLocal('@deep-foundation/core', 'containTree'),
} },
},
] }
} }
},
{
type_id: await deep.id('@deep-foundation/core', 'RuleObject'),
type_id: deep.idLocal('@deep-foundation/core', 'RuleObject'),
to: { data: {
type_id: await deep.id('@deep-foundation/core', 'Selector'),
type_id: deep.idLocal('@deep-foundation/core', 'Selector'),
out: { data: {
type_id: await deep.id('@deep-foundation/core', 'SelectorInclude'),
to_id: await deep.id('@deep-foundation/core'),
type_id: deep.idLocal('@deep-foundation/core', 'SelectorInclude'),
to_id: deep.idLocal('@deep-foundation/core'),
out: { data: {
type_id: await deep.id('@deep-foundation/core', 'SelectorTree'),
to_id: await deep.id('@deep-foundation/core', 'containTree'),
type_id: deep.idLocal('@deep-foundation/core', 'SelectorTree'),
to_id: deep.idLocal('@deep-foundation/core', 'containTree'),
} },
} }
} }
},
{
type_id: await deep.id('@deep-foundation/core', 'RuleAction'),
type_id: deep.idLocal('@deep-foundation/core', 'RuleAction'),
to: { data: {
type_id: await deep.id('@deep-foundation/core', 'Selector'),
type_id: deep.idLocal('@deep-foundation/core', 'Selector'),
out: { data: {
type_id: await deep.id('@deep-foundation/core', 'SelectorInclude'),
to_id: await deep.id('@deep-foundation/core', 'AllowInsertType'),
type_id: deep.idLocal('@deep-foundation/core', 'SelectorInclude'),
to_id: deep.idLocal('@deep-foundation/core', 'AllowInsertType'),
out: { data: {
type_id: await deep.id('@deep-foundation/core', 'SelectorTree'),
to_id: await deep.id('@deep-foundation/core', 'containTree'),
type_id: deep.idLocal('@deep-foundation/core', 'SelectorTree'),
to_id: deep.idLocal('@deep-foundation/core', 'containTree'),
} },
} }
} }
Expand All @@ -83,7 +83,7 @@ const deep = new DeepClient({ apolloClient });
deferred.resolve();
} });
suite.add('by deepRoot.id', { defer: true, fn: async function(deferred) {
await deep.id('@deep-foundation/core', 'Promise');
deep.idLocal('@deep-foundation/core', 'Promise');
deferred.resolve();
} });
// suite.add('by deepGuest.id', { defer: true, fn: async function(deferred) {
Expand Down
2 changes: 1 addition & 1 deletion imports/core.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ async ({ deep, require, gql, data: { newLink } }) => {
if (error) throw error;
if (imported?.errors?.length) throw imported.errors;
await deep.insert({
type_id: await deep.id('@deep-foundation/core', 'Contain'),
type_id: deep.idLocal('@deep-foundation/core', 'Contain'),
from_id: newLink.from_id,
to_id: imported.packageId,
});
Expand Down
20 changes: 10 additions & 10 deletions imports/handlers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,18 @@ const apolloClient = generateApolloClient({
const deep = new DeepClient({ apolloClient });

export const insertHandler = async (handleOperationTypeId: Id, typeId: Id, code: string, forceOwnerId?: Id, supportsId?: Id) => {
const syncTextFileTypeId = await deep.id('@deep-foundation/core', 'SyncTextFile');
const syncTextFileTypeId = deep.idLocal('@deep-foundation/core', 'SyncTextFile');
const handlerJSFile = (await deep.insert({
type_id: syncTextFileTypeId,
}, { name: 'INSERT_HANDLER_JS_FILE' })).data[0];
const handlerJSFileValue = (await deep.insert({ link_id: handlerJSFile?.id, value: code }, { table: 'strings' })).data[0];
const handlerTypeId = await deep.id('@deep-foundation/core', 'Handler');
const handlerTypeId = deep.idLocal('@deep-foundation/core', 'Handler');
const handler = (await deep.insert({
from_id: supportsId || await deep.id('@deep-foundation/core', 'dockerSupportsJs'),
from_id: supportsId || deep.idLocal('@deep-foundation/core', 'dockerSupportsJs'),
type_id: handlerTypeId,
to_id: handlerJSFile?.id,
}, { name: 'INSERT_HANDLER' })).data[0];
const containTypeId = await deep.id('@deep-foundation/core', 'Contain');
const containTypeId = deep.idLocal('@deep-foundation/core', 'Contain');
const ownerId = forceOwnerId || (await deep.id('deep', 'admin'));
const ownerContainHandler = (await deep.insert({
from_id: ownerId,
Expand All @@ -46,7 +46,7 @@ export const insertHandler = async (handleOperationTypeId: Id, typeId: Id, code:
};

export async function insertSelector() {
const typeTypeId = await deep.id('@deep-foundation/core', 'Type');
const typeTypeId = deep.idLocal('@deep-foundation/core', 'Type');
const { data: [{ id: ty0 }] } = await deep.insert({
type_id: typeTypeId,
});
Expand All @@ -55,9 +55,9 @@ export async function insertSelector() {
from_id: ty0,
to_id: ty0,
});
const treeIncludeDownTypeId = await deep.id('@deep-foundation/core', 'TreeIncludeDown');
const treeIncludeDownTypeId = deep.idLocal('@deep-foundation/core', 'TreeIncludeDown');
const { data: [{ id: tr1, out: treeIncludes }] } = await deep.insert({
type_id: await deep.id('@deep-foundation/core', 'Tree'),
type_id: deep.idLocal('@deep-foundation/core', 'Tree'),
out: { data: [
{
type_id: treeIncludeDownTypeId,
Expand All @@ -79,10 +79,10 @@ export async function insertSelector() {
const { data: [{ id: id0 }] } = await deep.insert({
type_id: ty0,
});
const selectorIncludeTypeId = await deep.id('@deep-foundation/core', 'SelectorInclude');
const selectorTreeTypeId = await deep.id('@deep-foundation/core', 'SelectorTree');
const selectorIncludeTypeId = deep.idLocal('@deep-foundation/core', 'SelectorInclude');
const selectorTreeTypeId = deep.idLocal('@deep-foundation/core', 'SelectorTree');
const { data: [{ id: s1, out: selectorData }] } = await deep.insert({
type_id: await deep.id('@deep-foundation/core', 'Selector'),
type_id: deep.idLocal('@deep-foundation/core', 'Selector'),
out: { data: [
{
type_id: selectorIncludeTypeId,
Expand Down
2 changes: 1 addition & 1 deletion imports/packager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ export class Packager<L extends Link<any>> {
try {
const q = await this.client.select({
value: { _eq: name },
link: { type_id: { _eq: await deep.id('@deep-foundation/core', 'PackageNamespace') } },
link: { type_id: { _eq: deep.idLocal('@deep-foundation/core', 'PackageNamespace') } },
}, {
table: `strings`,
returning: 'id: link_id'
Expand Down
4 changes: 2 additions & 2 deletions imports/router/authorization.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ const resolvers = {
}
let jwt;
const auth = await deep.select({
type_id: await deep.id('@deep-foundation/core', 'Authorization'),
type_id: deep.idLocal('@deep-foundation/core', 'Authorization'),
to_id: authLinkId,
});
console.log('seeet', { jwt, auth: auth?.data, linkId });
Expand All @@ -118,7 +118,7 @@ const resolvers = {
jwt = await deep.jwt({ linkId });
}
await deep.insert({
type_id: await deep.id('@deep-foundation/core', 'Authorization'),
type_id: deep.idLocal('@deep-foundation/core', 'Authorization'),
from_id: jwt.linkId,
to_id: authLinkId,
});
Expand Down
38 changes: 19 additions & 19 deletions imports/router/guest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,55 +34,55 @@ const resolvers = {
Query: {
guest: async (source, args, context, info) => {
const { data: [{ id }] } = await deep.insert({
type_id: await deep.id('@deep-foundation/core', 'User'),
type_id: deep.idLocal('@deep-foundation/core', 'User'),
out: { data: [
{
type_id: await deep.id('@deep-foundation/core', 'Join'),
type_id: deep.idLocal('@deep-foundation/core', 'Join'),
to_id: await deep.id('deep', 'users')
},
] },
});
await deep.insert({
type_id: await deep.id('@deep-foundation/core', 'Rule'),
type_id: deep.idLocal('@deep-foundation/core', 'Rule'),
out: { data: [
{
type_id: await deep.id('@deep-foundation/core', 'RuleSubject'),
type_id: deep.idLocal('@deep-foundation/core', 'RuleSubject'),
to: { data: {
type_id: await deep.id('@deep-foundation/core', 'Selector'),
type_id: deep.idLocal('@deep-foundation/core', 'Selector'),
out: { data: {
type_id: await deep.id('@deep-foundation/core', 'SelectorInclude'),
type_id: deep.idLocal('@deep-foundation/core', 'SelectorInclude'),
to_id: id,
out: { data: {
type_id: await deep.id('@deep-foundation/core', 'SelectorTree'),
to_id: await deep.id('@deep-foundation/core', 'containTree'),
type_id: deep.idLocal('@deep-foundation/core', 'SelectorTree'),
to_id: deep.idLocal('@deep-foundation/core', 'containTree'),
} },
} }
} }
},
{
type_id: await deep.id('@deep-foundation/core', 'RuleObject'),
type_id: deep.idLocal('@deep-foundation/core', 'RuleObject'),
to: { data: {
type_id: await deep.id('@deep-foundation/core', 'Selector'),
type_id: deep.idLocal('@deep-foundation/core', 'Selector'),
out: { data: {
type_id: await deep.id('@deep-foundation/core', 'SelectorInclude'),
type_id: deep.idLocal('@deep-foundation/core', 'SelectorInclude'),
to_id: id,
out: { data: {
type_id: await deep.id('@deep-foundation/core', 'SelectorTree'),
to_id: await deep.id('@deep-foundation/core', 'containTree'),
type_id: deep.idLocal('@deep-foundation/core', 'SelectorTree'),
to_id: deep.idLocal('@deep-foundation/core', 'containTree'),
} },
} }
} }
},
{
type_id: await deep.id('@deep-foundation/core', 'RuleAction'),
type_id: deep.idLocal('@deep-foundation/core', 'RuleAction'),
to: { data: {
type_id: await deep.id('@deep-foundation/core', 'Selector'),
type_id: deep.idLocal('@deep-foundation/core', 'Selector'),
out: { data: {
type_id: await deep.id('@deep-foundation/core', 'SelectorInclude'),
to_id: await deep.id('@deep-foundation/core', 'AllowSelect'),
type_id: deep.idLocal('@deep-foundation/core', 'SelectorInclude'),
to_id: deep.idLocal('@deep-foundation/core', 'AllowSelect'),
out: { data: {
type_id: await deep.id('@deep-foundation/core', 'SelectorTree'),
to_id: await deep.id('@deep-foundation/core', 'containTree'),
type_id: deep.idLocal('@deep-foundation/core', 'SelectorTree'),
to_id: deep.idLocal('@deep-foundation/core', 'containTree'),
} },
} }
} }
Expand Down
6 changes: 3 additions & 3 deletions imports/router/jwt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,19 +50,19 @@ const resolvers = {
context?.headers?.['x-hasura-role'] !== 'admin' &&
!(await deep.select({
subject_id: { _eq: +context?.headers?.['x-hasura-user-id'] },
action_id: { _eq: await deep.id('@deep-foundation/core', 'AllowAdmin') },
action_id: { _eq: deep.idLocal('@deep-foundation/core', 'AllowAdmin') },
}, { table: 'can', returning: 'rule_id' }))?.data?.[0] &&
+context?.headers?.['x-hasura-user-id'] !== linkId &&
!await deep.can(
linkId, +context?.headers?.['x-hasura-user-id'], await deep.id('@deep-foundation/core', 'AllowLogin')
linkId, +context?.headers?.['x-hasura-user-id'], deep.idLocal('@deep-foundation/core', 'AllowLogin')
)
) {
return { error: 'cant' };
}
const token = jwt({
secret: jwt_secret.key,
linkId,
role: await deep.can(null, linkId, await deep.id('@deep-foundation/core', 'AllowAdmin')) ? 'admin' : 'link',
role: await deep.can(null, linkId, deep.idLocal('@deep-foundation/core', 'AllowAdmin')) ? 'admin' : 'link',
});
return { token, linkId };
} catch(error) {
Expand Down
Loading

0 comments on commit 5a70665

Please sign in to comment.