gemi 0.4.14 → 0.4.16

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.
@@ -24,7 +24,7 @@ export declare class AuthApiRouter extends ApiRouter {
24
24
  }>, unknown>;
25
25
  };
26
26
  }
27
- declare class AuthViewRouter extends ViewRouter {
27
+ export declare class AuthViewRouter extends ViewRouter {
28
28
  routes: {
29
29
  "/sign-in": import("../http/ViewRouter").ViewConfig;
30
30
  "/sign-up": import("../http/ViewRouter").ViewConfig;
@@ -50,5 +50,4 @@ export declare class AuthenticationServiceProvider {
50
50
  onForgotPassword<T extends User>(_user: T, _verificationToken: string): Promise<void> | void;
51
51
  onResetPassword<T extends User>(_user: T): Promise<void> | void;
52
52
  }
53
- export {};
54
53
  //# sourceMappingURL=AuthenticationServiceProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticationServiceProvider.d.ts","sourceRoot":"","sources":["../../auth/AuthenticationServiceProvider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAyRrE,qBAAa,aAAc,SAAQ,SAAS;IAC1C,MAAM;;mBA9OG,MAAM;sBACH,MAAM;;;;;kBAkBV,MAAM;mBACL,MAAM;sBACH,MAAM;;;;;;;;;;MAgOhB;CACH;AAED,cAAM,cAAe,SAAQ,UAAU;IACrC,MAAM;;;;;MAKJ;CACH;AAED,qBAAa,6BAA6B;IACxC,QAAQ,SAAW;IACnB,OAAO;;;MAGL;IAEF,qBAAqB,SAAM;IAC3B,6BAA6B,SAAc;IAG3C,OAAO,EAAE,sBAAsB,CAAsB;IAE/C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhE,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,2BAA2B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAM9D,QAAQ,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACxD,QAAQ,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACxD,SAAS,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACzD,gBAAgB,CAAC,CAAC,SAAS,IAAI,EAC7B,KAAK,EAAE,CAAC,EACR,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACvB,eAAe,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAChE"}
1
+ {"version":3,"file":"AuthenticationServiceProvider.d.ts","sourceRoot":"","sources":["../../auth/AuthenticationServiceProvider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAyRrE,qBAAa,aAAc,SAAQ,SAAS;IAC1C,MAAM;;mBA9OG,MAAM;sBACH,MAAM;;;;;kBAkBV,MAAM;mBACL,MAAM;sBACH,MAAM;;;;;;;;;;MAgOhB;CACH;AAED,qBAAa,cAAe,SAAQ,UAAU;IAC5C,MAAM;;;;;MAKJ;CACH;AAED,qBAAa,6BAA6B;IACxC,QAAQ,SAAW;IACnB,OAAO;;;MAGL;IAEF,qBAAqB,SAAM;IAC3B,6BAA6B,SAAc;IAG3C,OAAO,EAAE,sBAAsB,CAAsB;IAE/C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhE,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,2BAA2B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAM9D,QAAQ,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACxD,QAAQ,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACxD,SAAS,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACzD,gBAAgB,CAAC,CAAC,SAAS,IAAI,EAC7B,KAAK,EAAE,CAAC,EACR,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IACvB,eAAe,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAChE"}
@@ -0,0 +1,20 @@
1
+ import type { User, CreateSessionArgs, DeleteSessionArgs, SessionWithUser, CreateUserArgs, FindSessionArgs, UpdateSessionArgs, IAuthenticationAdapter, CreatePasswordResetTokenArgs, PasswordResetToken, FindPasswordResetTokenArgs, DeletePasswordResetTokenArgs } from "./types";
2
+ export declare class PrismaAuthenticationAdapter implements IAuthenticationAdapter {
3
+ private prisma;
4
+ constructor(prisma: any);
5
+ createSession(args: CreateSessionArgs): Promise<SessionWithUser>;
6
+ createUser(args: CreateUserArgs): Promise<User>;
7
+ deleteSession(args: DeleteSessionArgs): Promise<void>;
8
+ findUserByEmailAddress(email: string): Promise<User>;
9
+ findSession(args: FindSessionArgs): Promise<SessionWithUser | null>;
10
+ updateSession(args: UpdateSessionArgs): Promise<SessionWithUser>;
11
+ updateUserPassword(args: {
12
+ id: number;
13
+ password: string;
14
+ }): Promise<User>;
15
+ createPasswordResetToken(args: CreatePasswordResetTokenArgs): Promise<any>;
16
+ findPasswordResetToken(args: FindPasswordResetTokenArgs): Promise<PasswordResetToken | null>;
17
+ deleteAllUserSessions(userId: number): Promise<any>;
18
+ deletePasswordResetToken(args: DeletePasswordResetTokenArgs): Promise<any>;
19
+ }
20
+ //# sourceMappingURL=prisma.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma.d.ts","sourceRoot":"","sources":["../../../auth/adapters/prisma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AAEjB,qBAAa,2BAA4B,YAAW,sBAAsB;IAC5D,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,GAAG;IAEzB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAOhE,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpD,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IA0BnE,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAmBhE,kBAAkB,CAAC,IAAI,EAAE;QAC7B,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOX,wBAAwB,CAAC,IAAI,EAAE,4BAA4B;IAS3D,sBAAsB,CAC1B,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAQ/B,qBAAqB,CAAC,MAAM,EAAE,MAAM;IAIpC,wBAAwB,CAAC,IAAI,EAAE,4BAA4B;CAIlE"}
@@ -0,0 +1,11 @@
1
+ import { EmailTemplate, ExtractRenderPropsType } from "./EmailTemplate";
2
+ import { SendEmailParams } from "./types";
3
+ export declare const render: (component: React.ReactElement) => string;
4
+ interface EmailTemplateParams<T> extends Partial<Omit<SendEmailParams, "html">> {
5
+ data: T;
6
+ }
7
+ export declare class Email {
8
+ static send<T extends new () => EmailTemplate>(Template: T, params: EmailTemplateParams<ExtractRenderPropsType<T>>): Promise<void>;
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=Email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Email.d.ts","sourceRoot":"","sources":["../../email/Email.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,eAAO,MAAM,MAAM,cAAe,KAAK,CAAC,YAAY,WAOnD,CAAC;AAEF,UAAU,mBAAmB,CAAC,CAAC,CAC7B,SAAQ,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC;CACT;AAED,qBAAa,KAAK;WACH,IAAI,CAAC,CAAC,SAAS,UAAU,aAAa,EACjD,QAAQ,EAAE,CAAC,EACX,MAAM,EAAE,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;CAiCzD"}
@@ -0,0 +1,22 @@
1
+ export interface IEmailTemplate {
2
+ from: string;
3
+ to: string[];
4
+ subject: string;
5
+ cc: string[];
6
+ bcc: string[];
7
+ attachments: any[];
8
+ render: (props: unknown) => JSX.Element;
9
+ }
10
+ export type ExtractRenderPropsType<T> = T extends new () => EmailTemplate ? Parameters<InstanceType<T>["render"]>[0] : never;
11
+ export declare class EmailTemplate implements IEmailTemplate {
12
+ from: string;
13
+ to: string[];
14
+ subject: string;
15
+ cc: any[];
16
+ bcc: any[];
17
+ attachments: any[];
18
+ render(_props: never): import("react").FunctionComponentElement<{
19
+ children?: import("react").ReactNode | undefined;
20
+ }>;
21
+ }
22
+ //# sourceMappingURL=EmailTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailTemplate.d.ts","sourceRoot":"","sources":["../../email/EmailTemplate.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;IAEd,WAAW,EAAE,GAAG,EAAE,CAAC;IAEnB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC;AAED,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,aAAa,GACrE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GACxC,KAAK,CAAC;AAEV,qBAAa,aAAc,YAAW,cAAc;IAClD,IAAI,SAAoB;IACxB,EAAE,WAAqB;IACvB,OAAO,SAAa;IACpB,EAAE,QAAM;IACR,GAAG,QAAM;IACT,WAAW,QAAM;IAEjB,MAAM,CAAC,MAAM,EAAE,KAAK;;;CAIrB"}
@@ -0,0 +1,4 @@
1
+ export { Email } from "./Email";
2
+ export { EmailServiceProvider } from "./EmailServiceProvider";
3
+ export { EmailTemplate } from "./EmailTemplate";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../email/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -13808,6 +13808,101 @@ class Kernel {
13808
13808
  return kernelContext.run(services, cb);
13809
13809
  }
13810
13810
  }
13811
+ // auth/adapters/prisma.ts
13812
+ class PrismaAuthenticationAdapter {
13813
+ prisma;
13814
+ constructor(prisma) {
13815
+ this.prisma = prisma;
13816
+ }
13817
+ async createSession(args) {
13818
+ return await this.prisma.session.create({
13819
+ data: args,
13820
+ include: { user: true }
13821
+ });
13822
+ }
13823
+ async createUser(args) {
13824
+ return await this.prisma.user.create({ data: args });
13825
+ }
13826
+ async deleteSession(args) {
13827
+ return await this.prisma.session.deleteMany({
13828
+ where: { token: args.token }
13829
+ });
13830
+ }
13831
+ async findUserByEmailAddress(email) {
13832
+ return await this.prisma.user.findUnique({ where: { email } });
13833
+ }
13834
+ async findSession(args) {
13835
+ if (!args.token)
13836
+ return null;
13837
+ try {
13838
+ const session = await this.prisma.session.findUnique({
13839
+ where: { token: args.token, userAgent: args.userAgent },
13840
+ include: {
13841
+ user: {
13842
+ select: {
13843
+ email: true,
13844
+ globalRole: true,
13845
+ name: true,
13846
+ publicId: true,
13847
+ accounts: true,
13848
+ organization: true
13849
+ }
13850
+ }
13851
+ }
13852
+ });
13853
+ return session;
13854
+ } catch (err) {
13855
+ console.log(err);
13856
+ return null;
13857
+ }
13858
+ }
13859
+ async updateSession(args) {
13860
+ return await this.prisma.session.update({
13861
+ where: { token: args.token },
13862
+ data: { expiresAt: args.expiresAt },
13863
+ include: {
13864
+ user: {
13865
+ select: {
13866
+ email: true,
13867
+ globalRole: true,
13868
+ name: true,
13869
+ publicId: true,
13870
+ accounts: true,
13871
+ organization: true
13872
+ }
13873
+ }
13874
+ }
13875
+ });
13876
+ }
13877
+ async updateUserPassword(args) {
13878
+ return await this.prisma.user.update({
13879
+ where: { id: args.id },
13880
+ data: { password: args.password }
13881
+ });
13882
+ }
13883
+ async createPasswordResetToken(args) {
13884
+ return await this.prisma.passwordResetToken.create({
13885
+ data: {
13886
+ user: { connect: { id: args.user.id } },
13887
+ token: args.token
13888
+ }
13889
+ });
13890
+ }
13891
+ async findPasswordResetToken(args) {
13892
+ const { token: token2 } = args;
13893
+ return await this.prisma.passwordResetToken.findUnique({
13894
+ where: { token: token2 },
13895
+ include: { user: true }
13896
+ });
13897
+ }
13898
+ async deleteAllUserSessions(userId) {
13899
+ return await this.prisma.session.deleteMany({ where: { userId } });
13900
+ }
13901
+ async deletePasswordResetToken(args) {
13902
+ const { token: token2 } = args;
13903
+ return await this.prisma.passwordResetToken.delete({ where: { token: token2 } });
13904
+ }
13905
+ }
13811
13906
  // email/Email.tsx
13812
13907
  import {renderToStaticMarkup as renderToStaticMarkup2} from "react-dom/server";
13813
13908
  var render4 = (component) => {
@@ -1,11 +1,21 @@
1
1
  import { EmailServiceProvider } from "../email/EmailServiceProvider";
2
- interface KernelContext {
3
- emailServiceProvider: EmailServiceProvider;
4
- }
2
+ import { AuthenticationServiceProvider } from "../auth/AuthenticationServiceProvider";
3
+ import { MiddlewareServiceProvider } from "../http/MiddlewareServiceProvider";
5
4
  export declare class Kernel {
6
5
  protected emailServiceProvider: typeof EmailServiceProvider;
7
- static getContext: () => KernelContext;
6
+ protected authenticationServiceProvider: typeof AuthenticationServiceProvider;
7
+ protected middlewareServiceProvider: typeof MiddlewareServiceProvider;
8
+ services: {
9
+ emailServiceProvider: EmailServiceProvider;
10
+ authenticationServiceProvider: AuthenticationServiceProvider;
11
+ middlewareServiceProvider: MiddlewareServiceProvider;
12
+ };
13
+ getServices: () => {
14
+ emailServiceProvider: EmailServiceProvider;
15
+ authenticationServiceProvider: AuthenticationServiceProvider;
16
+ middlewareServiceProvider: MiddlewareServiceProvider;
17
+ };
18
+ static getContext: () => import("./context").KernelContextValue;
8
19
  run<T>(cb: () => T): T;
9
20
  }
10
- export {};
11
21
  //# sourceMappingURL=Kernel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../kernel/Kernel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,UAAU,aAAa;IACrB,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C;AAID,qBAAa,MAAM;IACjB,SAAS,CAAC,oBAAoB,8BAAwB;IAEtD,MAAM,CAAC,UAAU,sBAA4B;IAE7C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC;CAQnB"}
1
+ {"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../kernel/Kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,qBAAa,MAAM;IACjB,SAAS,CAAC,oBAAoB,8BAAwB;IACtD,SAAS,CAAC,6BAA6B,uCAAiC;IACxE,SAAS,CAAC,yBAAyB,mCAA6B;IAEhE,QAAQ,EAAE;QACR,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,6BAA6B,EAAE,6BAA6B,CAAC;QAC7D,yBAAyB,EAAE,yBAAyB,CAAC;KACtD,CAAC;IAEF,WAAW;8BALa,oBAAoB;uCACX,6BAA6B;mCACjC,yBAAyB;MAYpD;IAEF,MAAM,CAAC,UAAU,+CAAkC;IAEnD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC;CAInB"}
@@ -1,2 +1,4 @@
1
1
  export { Kernel } from "./Kernel";
2
+ export { AuthenticationServiceProvider } from "../auth/AuthenticationServiceProvider";
3
+ export { PrismaAuthenticationAdapter } from "../auth/adapters/prisma";
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../kernel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../kernel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC"}