@loomcore/common 0.0.58 → 0.0.60
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.
|
@@ -12,6 +12,7 @@ export declare const LoginResponseSchema: import("@sinclair/typebox").TObject<{
|
|
|
12
12
|
}>;
|
|
13
13
|
userContext: import("@sinclair/typebox").TObject<{
|
|
14
14
|
user: import("@sinclair/typebox").TSchema;
|
|
15
|
+
person: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TSchema>;
|
|
15
16
|
authorizations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TSchema>;
|
|
16
17
|
organization: import("@sinclair/typebox").TSchema;
|
|
17
18
|
}>;
|
|
@@ -8,6 +8,7 @@ export interface IPersonModel extends IEntity, IAuditable {
|
|
|
8
8
|
isClient: boolean;
|
|
9
9
|
isEmployee: boolean;
|
|
10
10
|
dateOfBirth?: Date;
|
|
11
|
+
socialSecurityNumber?: number;
|
|
11
12
|
extendedTypes?: number;
|
|
12
13
|
}
|
|
13
14
|
export declare const personSchema: import("@sinclair/typebox").TObject<{
|
|
@@ -20,6 +21,21 @@ export declare const personSchema: import("@sinclair/typebox").TObject<{
|
|
|
20
21
|
isClient: import("@sinclair/typebox").TBoolean;
|
|
21
22
|
isEmployee: import("@sinclair/typebox").TBoolean;
|
|
22
23
|
dateOfBirth: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TString, Date>>;
|
|
24
|
+
socialSecurityNumber: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
23
25
|
extendedTypes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
24
26
|
}>;
|
|
27
|
+
export declare const personPublicSchema: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
|
|
28
|
+
_id: import("@sinclair/typebox").TSchema;
|
|
29
|
+
externalId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
30
|
+
firstName: import("@sinclair/typebox").TString;
|
|
31
|
+
middleName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
32
|
+
lastName: import("@sinclair/typebox").TString;
|
|
33
|
+
isAgent: import("@sinclair/typebox").TBoolean;
|
|
34
|
+
isClient: import("@sinclair/typebox").TBoolean;
|
|
35
|
+
isEmployee: import("@sinclair/typebox").TBoolean;
|
|
36
|
+
dateOfBirth: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TString, Date>>;
|
|
37
|
+
extendedTypes: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
38
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
39
|
+
last4ssn: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
40
|
+
}>]>;
|
|
25
41
|
export declare const personModelSpec: import("@loomcore/common/models").IModelSpec<import("@sinclair/typebox").TSchema>;
|
|
@@ -12,6 +12,13 @@ export const personSchema = Type.Object({
|
|
|
12
12
|
isClient: Type.Boolean(),
|
|
13
13
|
isEmployee: Type.Boolean(),
|
|
14
14
|
dateOfBirth: Type.Optional(TypeboxIsoDate({ title: 'Date of Birth' })),
|
|
15
|
+
socialSecurityNumber: Type.Optional(Type.Number()),
|
|
15
16
|
extendedTypes: Type.Optional(Type.Number()),
|
|
16
17
|
});
|
|
17
|
-
export const
|
|
18
|
+
export const personPublicSchema = Type.Intersect([
|
|
19
|
+
Type.Omit(personSchema, ['socialSecurityNumber']),
|
|
20
|
+
Type.Object({
|
|
21
|
+
last4ssn: Type.Optional(Type.String()),
|
|
22
|
+
}),
|
|
23
|
+
]);
|
|
24
|
+
export const personModelSpec = entityUtils.getModelSpec(personPublicSchema, { isAuditable: true });
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
import { IUser } from './user.model.js';
|
|
2
2
|
import { IOrganization } from './organization.model.js';
|
|
3
3
|
import { IUserContextAuthorization } from './user-context-authorization.model.js';
|
|
4
|
+
import { IPersonModel } from './index.js';
|
|
4
5
|
export interface IUserContext {
|
|
5
6
|
user: IUser;
|
|
7
|
+
person?: IPersonModel;
|
|
6
8
|
authorizations: IUserContextAuthorization[];
|
|
7
9
|
organization?: IOrganization;
|
|
8
10
|
}
|
|
9
11
|
export declare const EmptyUserContext: IUserContext;
|
|
10
12
|
export declare const UserContextSchema: import("@sinclair/typebox").TObject<{
|
|
11
13
|
user: import("@sinclair/typebox").TSchema;
|
|
14
|
+
person: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TSchema>;
|
|
12
15
|
authorizations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TSchema>;
|
|
13
16
|
organization: import("@sinclair/typebox").TSchema;
|
|
14
17
|
}>;
|
|
15
18
|
export declare const UserContextSpec: import("./model-spec.interface.js").IModelSpec<import("@sinclair/typebox").TSchema>;
|
|
16
19
|
export declare const PublicUserContextSchema: import("@sinclair/typebox").TObject<{
|
|
17
20
|
user: import("@sinclair/typebox").TSchema;
|
|
21
|
+
person: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TSchema>;
|
|
18
22
|
authorizations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TSchema>;
|
|
19
23
|
organization: import("@sinclair/typebox").TSchema;
|
|
20
24
|
}>;
|
|
@@ -3,20 +3,24 @@ import { Type } from '@sinclair/typebox';
|
|
|
3
3
|
import { entityUtils } from '../utils/entity.utils.js';
|
|
4
4
|
import { OrganizationSpec } from './organization.model.js';
|
|
5
5
|
import { UserContextAuthorizationSpec } from './user-context-authorization.model.js';
|
|
6
|
+
import { personModelSpec } from './index.js';
|
|
6
7
|
export const EmptyUserContext = {
|
|
7
8
|
user: {},
|
|
9
|
+
person: undefined,
|
|
8
10
|
authorizations: [],
|
|
9
11
|
organization: undefined
|
|
10
12
|
};
|
|
11
13
|
let _systemUserContext = null;
|
|
12
14
|
export const UserContextSchema = Type.Object({
|
|
13
15
|
user: UserSpec.fullSchema,
|
|
16
|
+
person: Type.Optional(personModelSpec.fullSchema),
|
|
14
17
|
authorizations: Type.Array(UserContextAuthorizationSpec.fullSchema),
|
|
15
18
|
organization: OrganizationSpec.fullSchema
|
|
16
19
|
});
|
|
17
20
|
export const UserContextSpec = entityUtils.getModelSpec(UserContextSchema);
|
|
18
21
|
export const PublicUserContextSchema = Type.Object({
|
|
19
22
|
user: PublicUserSpec.fullSchema,
|
|
23
|
+
person: Type.Optional(personModelSpec.fullSchema),
|
|
20
24
|
authorizations: Type.Array(UserContextAuthorizationSpec.fullSchema),
|
|
21
25
|
organization: OrganizationSpec.fullSchema
|
|
22
26
|
});
|
package/package.json
CHANGED