Skip to content

Commit

Permalink
Adjust imports/exports
Browse files Browse the repository at this point in the history
- Use ~/common & ~/core
- Import/export DTOs always from their folder instead of rollup to component folder
- Stop rolling up database (neo4j) to core
- Shorten where possible
  • Loading branch information
CarsonF committed May 20, 2024
1 parent fc6bfb4 commit bfed264
Show file tree
Hide file tree
Showing 455 changed files with 1,054 additions and 1,201 deletions.
2 changes: 1 addition & 1 deletion src/common/id-field.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* eslint-disable @seedcompany/no-unused-vars */
import { test } from '@jest/globals';
import type { User } from '../components/user';
import type { User } from '../components/user/dto';
import { ID } from './id-field';

test('only types here', () => undefined);
Expand Down
2 changes: 1 addition & 1 deletion src/common/resource.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { keys as keysOf } from 'ts-transformer-keys';
import { inspect } from 'util';
import type { ResourceDBMap, ResourceName } from '~/core';
import { $, e } from '~/core/edgedb/reexports';
import { ScopedRole } from '../components/authorization';
import { ScopedRole } from '../components/authorization/dto';
import { CalculatedSymbol } from './calculated.decorator';
import { DataObject } from './data-object';
import { DbLabel } from './db-label.decorator';
Expand Down
2 changes: 1 addition & 1 deletion src/common/sensitivity.enum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { applyDecorators } from '@nestjs/common';
import { Field, FieldOptions } from '@nestjs/graphql';
import { Transform } from 'class-transformer';
import { uniq } from 'lodash';
import { rankSens } from '../core/database/query';
import { rankSens } from '~/core/database/query';
import { DbSort } from './db-sort.decorator';
import { EnumType, makeEnum } from './make-enum';

Expand Down
2 changes: 1 addition & 1 deletion src/common/session.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { Context } from '@nestjs/graphql';
import { uniq } from 'lodash';
import { DateTime } from 'luxon';
import { NoSessionException } from '../components/authentication/no-session.exception';
import { ScopedRole } from '../components/authorization';
import { ScopedRole } from '../components/authorization/dto';
import { GqlContextType } from './context.type';
import { UnauthenticatedException } from './exceptions';
import { ID } from './id-field';
Expand Down
8 changes: 4 additions & 4 deletions src/components/authentication/authentication.repository.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { Injectable } from '@nestjs/common';
import { node, relation } from 'cypher-query-builder';
import { DateTime } from 'luxon';
import { ID, ServerException, Session } from '../../common';
import { DatabaseService, OnIndex } from '../../core';
import { ID, ServerException, Session } from '~/common';
import { DatabaseService, OnIndex } from '~/core/database';
import {
ACTIVE,
matchUserGloballyScopedRoles,
requestingUser,
variable,
} from '../../core/database/query';
import { ScopedRole } from '../authorization';
} from '~/core/database/query';
import { ScopedRole } from '../authorization/dto';
import { LoginInput } from './dto';

interface EmailToken {
Expand Down
13 changes: 7 additions & 6 deletions src/components/authentication/authentication.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import { EmailService } from '@seedcompany/nestjs-email';
import JWT from 'jsonwebtoken';
import { DateTime } from 'luxon';
import { Writable } from 'ts-essentials';
import { sessionFromContext } from '~/common/session';
import { disableAccessPolicies, EdgeDB } from '~/core/edgedb';
import {
DuplicateException,
GqlContextType,
Expand All @@ -16,10 +14,13 @@ import {
Session,
UnauthenticatedException,
UnauthorizedException,
} from '../../common';
import { ConfigService, ILogger, Logger } from '../../core';
import { ForgotPassword } from '../../core/email/templates';
import { Privileges, rolesForScope, withoutScope } from '../authorization';
} from '~/common';
import { sessionFromContext } from '~/common/session';
import { ConfigService, ILogger, Logger } from '~/core';
import { disableAccessPolicies, EdgeDB } from '~/core/edgedb';
import { ForgotPassword } from '~/core/email/templates';
import { Privileges } from '../authorization';
import { rolesForScope, withoutScope } from '../authorization/dto';
import { AssignableRoles } from '../authorization/dto/assignable-roles';
import { ActorRepository } from '../user/actor.repository';
import { AuthenticationRepository } from './authentication.repository';
Expand Down
2 changes: 1 addition & 1 deletion src/components/authentication/crypto.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common';
import * as argon2 from 'argon2';
import { pickBy } from 'lodash';
import { Except } from 'type-fest';
import { ConfigService } from '../../core';
import { ConfigService } from '~/core';

@Injectable()
export class CryptoService {
Expand Down
2 changes: 1 addition & 1 deletion src/components/authentication/dto/logout.dto.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ObjectType } from '@nestjs/graphql';
import { MutationPlaceholderOutput } from '../../../common';
import { MutationPlaceholderOutput } from '~/common';

@ObjectType()
export abstract class LogoutOutput extends MutationPlaceholderOutput {}
2 changes: 1 addition & 1 deletion src/components/authentication/dto/session.dto.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Field, ObjectType } from '@nestjs/graphql';
import { stripIndent } from 'common-tags';
import { ID, Session } from '../../../common';
import { ID, Session } from '~/common';

@ObjectType()
export abstract class SessionOutput {
Expand Down
1 change: 0 additions & 1 deletion src/components/authentication/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
export * from './dto';
export * from './authentication.service';
10 changes: 6 additions & 4 deletions src/components/authentication/login.resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,12 @@ import {
Resolver,
} from '@nestjs/graphql';
import { stripIndent } from 'common-tags';
import { AnonSession, GqlContextType, Session } from '../../common';
import { Loader, LoaderOf } from '../../core';
import { Power, Privileges } from '../authorization';
import { User, UserLoader } from '../user';
import { AnonSession, GqlContextType, Session } from '~/common';
import { Loader, LoaderOf } from '~/core';
import { Privileges } from '../authorization';
import { Power } from '../authorization/dto';
import { UserLoader } from '../user';
import { User } from '../user/dto';
import { AuthenticationService } from './authentication.service';
import { LoginInput, LoginOutput, LogoutOutput } from './dto';

Expand Down
2 changes: 1 addition & 1 deletion src/components/authentication/no-session.exception.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { UnauthenticatedException } from '../../common';
import { UnauthenticatedException } from '~/common';

/**
* No session established for the user
Expand Down
2 changes: 1 addition & 1 deletion src/components/authentication/password.resolver.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Args, Mutation, Resolver } from '@nestjs/graphql';
import { stripIndent } from 'common-tags';
import { AnonSession, LoggedInSession, Session } from '../../common';
import { AnonSession, LoggedInSession, Session } from '~/common';
import { AuthenticationService } from './authentication.service';
import {
ChangePasswordArgs,
Expand Down
10 changes: 6 additions & 4 deletions src/components/authentication/register.resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,12 @@ import {
Resolver,
} from '@nestjs/graphql';
import { stripIndent } from 'common-tags';
import { AnonSession, GqlContextType, Session } from '../../common';
import { Loader, LoaderOf } from '../../core';
import { Power, Privileges } from '../authorization';
import { User, UserLoader } from '../user';
import { AnonSession, GqlContextType, Session } from '~/common';
import { Loader, LoaderOf } from '~/core';
import { Privileges } from '../authorization';
import { Power } from '../authorization/dto';
import { UserLoader } from '../user';
import { User } from '../user/dto';
import { AuthenticationService } from './authentication.service';
import { RegisterInput, RegisterOutput } from './dto';

Expand Down
2 changes: 1 addition & 1 deletion src/components/authentication/session.interceptor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import {
UnauthenticatedException,
} from '~/common';
import { ConfigService } from '~/core';
import { rolesForScope } from '../authorization';
import { rolesForScope } from '../authorization/dto';
import { AuthenticationService } from './authentication.service';

@Injectable()
Expand Down
10 changes: 6 additions & 4 deletions src/components/authentication/session.resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ import {
GqlContextType,
ServerException,
UnauthenticatedException,
} from '../../common';
import { ConfigService, ILogger, Loader, LoaderOf, Logger } from '../../core';
import { Power, Privileges } from '../authorization';
import { User, UserLoader, UserService } from '../user';
} from '~/common';
import { ConfigService, ILogger, Loader, LoaderOf, Logger } from '~/core';
import { Privileges } from '../authorization';
import { Power } from '../authorization/dto';
import { UserLoader, UserService } from '../user';
import { User } from '../user/dto';
import { AuthenticationService } from './authentication.service';
import { SessionOutput } from './dto';
import { SessionInterceptor } from './session.interceptor';
Expand Down
2 changes: 1 addition & 1 deletion src/components/authorization/assignable-roles.granter.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Role } from './dto';
import { Role } from '~/common';
import { AssignableRoles } from './dto/assignable-roles';
import { Granter, ResourceGranter } from './policy';

Expand Down
3 changes: 1 addition & 2 deletions src/components/authorization/dto/assignable-roles.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { mapValues } from '@seedcompany/common';
import { Calculated, ResourceRelationsShape } from '~/common';
import { Calculated, ResourceRelationsShape, Role } from '~/common';
import { RegisterResource } from '~/core/resources';
import { Role } from './role.dto';

/**
* A special type of object that declares what roles a user can assign to another user.
Expand Down
2 changes: 0 additions & 2 deletions src/components/authorization/dto/role.dto.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { Role } from '~/common';

export * from '~/common/role.dto';

export type ProjectScope = 'project';
export type GlobalScope = 'global';

Expand Down
1 change: 0 additions & 1 deletion src/components/authorization/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export * from './dto';
export * from './policy';
export {
HasCreator,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,9 @@
import { Query } from 'cypher-query-builder';
import { intersection } from 'lodash';
import { inspect, InspectOptionsStylized } from 'util';
import { ResourceShape } from '~/common';
import { ResourceShape, Role } from '~/common';
import { matchProjectScopedRoles, variable } from '~/core/database/query';
import {
Role,
rolesForScope,
ScopedRole,
splitScope,
} from '../../dto/role.dto';
import { rolesForScope, ScopedRole, splitScope } from '../../dto/role.dto';
import {
AsCypherParams,
AsEdgeQLParams,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { SetMetadata } from '@nestjs/common';
import { ValueOf } from 'type-fest';
import { Many } from '~/common';
import { Role } from '../../dto/role.dto';
import { Many, Role } from '~/common';
import type { ResourcesGranter } from '../granters';

type ResourceGranterFn = (
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import { AndConditions, Condition, Optimizer, OrConditions } from './index';
import { AndConditions, OrConditions } from './aggregate.condition';
import { Condition } from './condition.interface';
import { Optimizer } from './optimizer.interface';

@Optimizer.register()
export class FlattenAggregateOptimizer implements Optimizer {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { CachedByArg } from '@seedcompany/common';
import { identity, intersection } from 'lodash';
import { EnhancedResource, Session } from '~/common';
import { QueryFragment } from '~/core/database/query';
import { withoutScope } from '../../dto/role.dto';
import { withoutScope } from '../../dto';
import { RoleCondition } from '../../policies/conditions/role.condition';
import { Permission } from '../builder/perm-granter';
import { all, any, CalculatedCondition, OrConditions } from '../conditions';
Expand Down
4 changes: 2 additions & 2 deletions src/components/budget/budget-record.loader.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ID, NotFoundException, ObjectView } from '../../common';
import { LoaderFactory, ObjectViewAwareLoader } from '../../core';
import { ID, NotFoundException, ObjectView } from '~/common';
import { LoaderFactory, ObjectViewAwareLoader } from '~/core';
import { BudgetService } from './budget.service';
import { BudgetRecord } from './dto';

Expand Down
8 changes: 4 additions & 4 deletions src/components/budget/budget-record.repository.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Injectable } from '@nestjs/common';
import { node, Query, relation } from 'cypher-query-builder';
import { ChangesOf } from '~/core/database/changes';
import {
ID,
labelForView,
Expand All @@ -9,8 +8,9 @@ import {
ServerException,
Session,
UnsecuredDto,
} from '../../common';
import { DtoRepository } from '../../core';
} from '~/common';
import { DtoRepository } from '~/core/database';
import { ChangesOf } from '~/core/database/changes';
import {
ACTIVE,
createNode,
Expand All @@ -21,7 +21,7 @@ import {
merge,
paginate,
sorting,
} from '../../core/database/query';
} from '~/core/database/query';
import {
Budget,
BudgetRecord,
Expand Down
4 changes: 2 additions & 2 deletions src/components/budget/budget-record.resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import {
ResolveField,
Resolver,
} from '@nestjs/graphql';
import { LoggedInSession, mapSecuredValue, Session } from '../../common';
import { Loader, LoaderOf } from '../../core';
import { LoggedInSession, mapSecuredValue, Session } from '~/common';
import { Loader, LoaderOf } from '~/core';
import { OrganizationLoader } from '../organization';
import { SecuredOrganization } from '../organization/dto';
import { BudgetService } from './budget.service';
Expand Down
4 changes: 2 additions & 2 deletions src/components/budget/budget.loader.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ID, ObjectView } from '../../common';
import { LoaderFactory, ObjectViewAwareLoader } from '../../core';
import { ID, ObjectView } from '~/common';
import { LoaderFactory, ObjectViewAwareLoader } from '~/core';
import { BudgetService } from './budget.service';
import { Budget } from './dto';

Expand Down
10 changes: 5 additions & 5 deletions src/components/budget/budget.repository.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { Injectable } from '@nestjs/common';
import { inArray, node, Query, relation } from 'cypher-query-builder';
import { pickBy } from 'lodash';
import { ChangesOf } from '~/core/database/changes';
import {
ID,
labelForView,
Expand All @@ -11,8 +10,9 @@ import {
Session,
UnsecuredDto,
viewOfChangeset,
} from '../../common';
import { DtoRepository } from '../../core';
} from '~/common';
import { DtoRepository } from '~/core/database';
import { ChangesOf } from '~/core/database/changes';
import {
ACTIVE,
createNode,
Expand All @@ -24,8 +24,8 @@ import {
paginate,
requestingUser,
sorting,
} from '../../core/database/query';
import { FileId } from '../file';
} from '~/core/database/query';
import { FileId } from '../file/dto';
import { BudgetRecordRepository } from './budget-record.repository';
import {
Budget,
Expand Down
7 changes: 4 additions & 3 deletions src/components/budget/budget.resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@ import {
Resolver,
} from '@nestjs/graphql';
import { sumBy } from 'lodash';
import { LoggedInSession, Session } from '../../common';
import { Loader, LoaderOf } from '../../core';
import { LoggedInSession, Session } from '~/common';
import { Loader, LoaderOf } from '~/core';
import { BudgetService } from '../budget';
import { FileNodeLoader, resolveDefinedFile, SecuredFile } from '../file';
import { FileNodeLoader, resolveDefinedFile } from '../file';
import { SecuredFile } from '../file/dto';
import { Budget, UpdateBudgetInput, UpdateBudgetOutput } from './dto';

@Resolver(Budget)
Expand Down
9 changes: 5 additions & 4 deletions src/components/budget/budget.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@ import {
ServerException,
Session,
viewOfChangeset,
} from '../../common';
import { HandleIdLookup, ILogger, Logger, ResourceResolver } from '../../core';
import { mapListResults } from '../../core/database/results';
} from '~/common';
import { HandleIdLookup, ILogger, Logger, ResourceResolver } from '~/core';
import { mapListResults } from '~/core/database/results';
import { Privileges } from '../authorization';
import { FileId, FileService } from '../file';
import { FileService } from '../file';
import { FileId } from '../file/dto';
import { ProjectChangeRequest } from '../project-change-request/dto';
import { BudgetRecordRepository } from './budget-record.repository';
import { BudgetRepository } from './budget.repository';
Expand Down
8 changes: 4 additions & 4 deletions src/components/budget/dto/budget-record.dto.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
import { Field, ObjectType } from '@nestjs/graphql';
import { keys as keysOf } from 'ts-transformer-keys';
import { BaseNode } from '~/core/database/results';
import { e } from '~/core/edgedb';
import { RegisterResource } from '~/core/resources';
import {
Calculated,
ID,
Expand All @@ -14,7 +11,10 @@ import {
SecuredProps,
Sensitivity,
SensitivityField,
} from '../../../common';
} from '~/common';
import { BaseNode } from '~/core/database/results';
import { e } from '~/core/edgedb';
import { RegisterResource } from '~/core/resources';
import { ChangesetAware } from '../../changeset/dto';
import { BudgetStatus } from './budget-status.enum';
import { Budget } from './budget.dto';
Expand Down
Loading

0 comments on commit bfed264

Please sign in to comment.