tonightpass 0.0.14 → 0.0.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.
@@ -1,5 +1,5 @@
1
1
 
2
- > tonightpass@0.0.14 build /home/runner/work/tonightpass/tonightpass/packages/node
2
+ > tonightpass@0.0.16 build /home/runner/work/tonightpass/tonightpass/packages/node
3
3
  > tsup
4
4
 
5
5
  CLI Building entry: src/index.ts
@@ -9,13 +9,13 @@
9
9
  CLI Target: esnext
10
10
  CJS Build start
11
11
  ESM Build start
12
- ESM dist/index.mjs 10.29 KB
13
- ESM dist/index.mjs.map 30.44 KB
14
- ESM ⚡️ Build success in 375ms
15
- CJS dist/index.js 12.03 KB
16
- CJS dist/index.js.map 30.44 KB
17
- CJS ⚡️ Build success in 375ms
12
+ CJS dist/index.js 12.11 KB
13
+ CJS dist/index.js.map 31.03 KB
14
+ CJS ⚡️ Build success in 287ms
15
+ ESM dist/index.mjs 10.37 KB
16
+ ESM dist/index.mjs.map 31.03 KB
17
+ ESM ⚡️ Build success in 287ms
18
18
  DTS Build start
19
- DTS ⚡️ Build success in 2751ms
20
- DTS dist/index.d.ts 22.10 KB
21
- DTS dist/index.d.mts 22.10 KB
19
+ DTS ⚡️ Build success in 2463ms
20
+ DTS dist/index.d.ts 22.97 KB
21
+ DTS dist/index.d.mts 22.97 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # tonightpass
2
2
 
3
+ ## 0.0.16
4
+
5
+ ### Patch Changes
6
+
7
+ - [`bc0b252`](https://github.com/tonightpass/tonightpass/commit/bc0b2527533944a433abc10e69a8dceeec773da2) Thanks [@AntoineKM](https://github.com/AntoineKM)! - Update enums names
8
+
9
+ ## 0.0.15
10
+
11
+ ### Patch Changes
12
+
13
+ - [#232](https://github.com/tonightpass/tonightpass/pull/232) [`7c2353a`](https://github.com/tonightpass/tonightpass/commit/7c2353a308119eef0cb5515ad0140e8e8fd1093b) Thanks [@AntoineKM](https://github.com/AntoineKM)! - Add organization members sdk
14
+
3
15
  ## 0.0.14
4
16
 
5
17
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -65,9 +65,9 @@ type UserIdentity = Profile & {
65
65
  };
66
66
  };
67
67
  declare enum UserRole {
68
- USER = 0,
69
- DEVELOPER = 8,
70
- ADMINISTRATOR = 10
68
+ User = "user",
69
+ Developer = "developer",
70
+ Admin = "admin"
71
71
  }
72
72
  type UserIdentityGender = "male" | "female" | "non-binary" | "gender-fluid" | "neutral" | "other" | string;
73
73
  type UserPreferences = {
@@ -196,16 +196,16 @@ type EventTicket = {
196
196
  };
197
197
  type EventTicketType = "e-ticket" | "other";
198
198
  declare enum EventTicketCategory {
199
- ENTRY = "entry",
200
- PACKAGE = "package",
201
- MEAL = "meal",
202
- DRINK = "drink",
203
- PARKING = "parking",
204
- ACCOMMODATION = "accommodation",
205
- CAMPING = "camping",
206
- LOCKER = "locker",
207
- SHUTTLE = "shuttle",
208
- OTHER = "other"
199
+ Entry = "entry",
200
+ Package = "package",
201
+ Meal = "meal",
202
+ Drink = "drink",
203
+ Parking = "parking",
204
+ Accommodation = "accommodation",
205
+ Camping = "camping",
206
+ Locker = "locker",
207
+ Shuttle = "shuttle",
208
+ Other = "other"
209
209
  }
210
210
 
211
211
  type Organization = {
@@ -242,23 +242,24 @@ declare enum OrganizationSocialType {
242
242
  }
243
243
  type OrganizationMember = {
244
244
  user: User;
245
+ organization: Organization;
245
246
  role: OrganizationMemberRole;
246
247
  status: OrganizationMemberStatus;
247
248
  updatedAt: Date;
248
249
  createdAt: Date;
249
250
  };
250
251
  declare enum OrganizationMemberStatus {
251
- PENDING = "pending",
252
- ACCEPTED = "accepted",
253
- REJECTED = "rejected"
252
+ Pending = "pending",
253
+ Accepted = "accepted",
254
+ Rejected = "rejected"
254
255
  }
255
256
  declare enum OrganizationMemberRole {
256
- MEMBER = "member",
257
- MANAGER = "manager",
258
- ADMINISTRATOR = "admin",
259
- OWNER = "owner"
257
+ Member = "member",
258
+ Manager = "manager",
259
+ Admin = "admin",
260
+ Owner = "owner"
260
261
  }
261
- type OrganizationEndpoints = Endpoint<"GET", "/organizations", Organization[]> | Endpoint<"GET", "/organizations/:id", Organization> | Endpoint<"POST", "/organizations", Organization, CreateOrganizationDto> | Endpoint<"PUT", "/organizations/:id", Organization, UpdateOrganizationDto> | Endpoint<"DELETE", "/organizations/:id", boolean>;
262
+ type OrganizationEndpoints = Endpoint<"GET", "/organizations", Organization[]> | Endpoint<"GET", "/organizations/:id", Organization> | Endpoint<"POST", "/organizations", Organization, CreateOrganizationDto> | Endpoint<"PUT", "/organizations/:id", Organization, UpdateOrganizationDto> | Endpoint<"DELETE", "/organizations/:id", boolean> | Endpoint<"GET", "/organizations/members", OrganizationMember[]> | Endpoint<"PUT", "/organizations/members/:id", OrganizationMember> | Endpoint<"DELETE", "/organizations/members/:id", boolean>;
262
263
 
263
264
  type Event = {
264
265
  title: string;
@@ -327,6 +328,7 @@ type HealthEndpoints = Endpoint<"GET", "/health/database", Health<"database">> |
327
328
 
328
329
  type UserToken = {
329
330
  id: string;
331
+ user: User;
330
332
  type: UserTokenType;
331
333
  value: string;
332
334
  createdAt: Date;
@@ -550,6 +552,9 @@ declare class Client {
550
552
  }> | Extract<Endpoint<"GET", "/organizations/:id", Organization>, {
551
553
  path: Path;
552
554
  method: "GET";
555
+ }> | Extract<Endpoint<"GET", "/organizations/members", OrganizationMember[]>, {
556
+ path: Path;
557
+ method: "GET";
553
558
  }> | Extract<ProfileEndpoints, {
554
559
  path: Path;
555
560
  method: "GET";
@@ -604,6 +609,9 @@ declare class Client {
604
609
  }>["body"], query?: Query<Path>, options?: APIRequestOptions): Promise<(Extract<Endpoint<"PUT", "/organizations/:id", Organization, UpdateOrganizationDto>, {
605
610
  path: Path;
606
611
  method: "PUT";
612
+ }> | Extract<Endpoint<"PUT", "/organizations/members/:id", OrganizationMember>, {
613
+ path: Path;
614
+ method: "PUT";
607
615
  }> | Extract<Endpoint<"PUT", "/users/:id", User, UpdateUserDto>, {
608
616
  path: Path;
609
617
  method: "PUT";
@@ -616,10 +624,13 @@ declare class Client {
616
624
  }>["body"], query?: Query<Path>, options?: APIRequestOptions): Promise<never>;
617
625
  delete<Path extends Extract<Endpoints, {
618
626
  method: "DELETE";
619
- }>["path"]>(path: Path, query?: Query<Path>, options?: APIRequestOptions): Promise<Extract<Endpoint<"DELETE", "/organizations/:id", boolean>, {
627
+ }>["path"]>(path: Path, query?: Query<Path>, options?: APIRequestOptions): Promise<(Extract<Endpoint<"DELETE", "/organizations/:id", boolean>, {
620
628
  path: Path;
621
629
  method: "DELETE";
622
- }>["res"]>;
630
+ }> | Extract<Endpoint<"DELETE", "/organizations/members/:id", boolean>, {
631
+ path: Path;
632
+ method: "DELETE";
633
+ }>)["res"]>;
623
634
  private requester;
624
635
  }
625
636
 
@@ -659,6 +670,10 @@ declare const organizations: (client: Client) => {
659
670
  create: (data: CreateOrganizationDto) => Promise<Organization>;
660
671
  update: (id: string, data: UpdateOrganizationDto) => Promise<Organization>;
661
672
  delete: (id: string) => Promise<boolean>;
673
+ members: {
674
+ getAll: () => Promise<OrganizationMember[]>;
675
+ delete: (id: string) => Promise<boolean>;
676
+ };
662
677
  };
663
678
 
664
679
  declare const profiles: (client: Client) => {
@@ -710,6 +725,10 @@ declare class TonightPass {
710
725
  create: (data: CreateOrganizationDto) => Promise<Organization>;
711
726
  update: (id: string, data: UpdateOrganizationDto) => Promise<Organization>;
712
727
  delete: (id: string) => Promise<boolean>;
728
+ members: {
729
+ getAll: () => Promise<OrganizationMember[]>;
730
+ delete: (id: string) => Promise<boolean>;
731
+ };
713
732
  };
714
733
  readonly profiles: {
715
734
  get: (username: string) => Promise<UserIdentity | OrganizationIdentity>;
package/dist/index.d.ts CHANGED
@@ -65,9 +65,9 @@ type UserIdentity = Profile & {
65
65
  };
66
66
  };
67
67
  declare enum UserRole {
68
- USER = 0,
69
- DEVELOPER = 8,
70
- ADMINISTRATOR = 10
68
+ User = "user",
69
+ Developer = "developer",
70
+ Admin = "admin"
71
71
  }
72
72
  type UserIdentityGender = "male" | "female" | "non-binary" | "gender-fluid" | "neutral" | "other" | string;
73
73
  type UserPreferences = {
@@ -196,16 +196,16 @@ type EventTicket = {
196
196
  };
197
197
  type EventTicketType = "e-ticket" | "other";
198
198
  declare enum EventTicketCategory {
199
- ENTRY = "entry",
200
- PACKAGE = "package",
201
- MEAL = "meal",
202
- DRINK = "drink",
203
- PARKING = "parking",
204
- ACCOMMODATION = "accommodation",
205
- CAMPING = "camping",
206
- LOCKER = "locker",
207
- SHUTTLE = "shuttle",
208
- OTHER = "other"
199
+ Entry = "entry",
200
+ Package = "package",
201
+ Meal = "meal",
202
+ Drink = "drink",
203
+ Parking = "parking",
204
+ Accommodation = "accommodation",
205
+ Camping = "camping",
206
+ Locker = "locker",
207
+ Shuttle = "shuttle",
208
+ Other = "other"
209
209
  }
210
210
 
211
211
  type Organization = {
@@ -242,23 +242,24 @@ declare enum OrganizationSocialType {
242
242
  }
243
243
  type OrganizationMember = {
244
244
  user: User;
245
+ organization: Organization;
245
246
  role: OrganizationMemberRole;
246
247
  status: OrganizationMemberStatus;
247
248
  updatedAt: Date;
248
249
  createdAt: Date;
249
250
  };
250
251
  declare enum OrganizationMemberStatus {
251
- PENDING = "pending",
252
- ACCEPTED = "accepted",
253
- REJECTED = "rejected"
252
+ Pending = "pending",
253
+ Accepted = "accepted",
254
+ Rejected = "rejected"
254
255
  }
255
256
  declare enum OrganizationMemberRole {
256
- MEMBER = "member",
257
- MANAGER = "manager",
258
- ADMINISTRATOR = "admin",
259
- OWNER = "owner"
257
+ Member = "member",
258
+ Manager = "manager",
259
+ Admin = "admin",
260
+ Owner = "owner"
260
261
  }
261
- type OrganizationEndpoints = Endpoint<"GET", "/organizations", Organization[]> | Endpoint<"GET", "/organizations/:id", Organization> | Endpoint<"POST", "/organizations", Organization, CreateOrganizationDto> | Endpoint<"PUT", "/organizations/:id", Organization, UpdateOrganizationDto> | Endpoint<"DELETE", "/organizations/:id", boolean>;
262
+ type OrganizationEndpoints = Endpoint<"GET", "/organizations", Organization[]> | Endpoint<"GET", "/organizations/:id", Organization> | Endpoint<"POST", "/organizations", Organization, CreateOrganizationDto> | Endpoint<"PUT", "/organizations/:id", Organization, UpdateOrganizationDto> | Endpoint<"DELETE", "/organizations/:id", boolean> | Endpoint<"GET", "/organizations/members", OrganizationMember[]> | Endpoint<"PUT", "/organizations/members/:id", OrganizationMember> | Endpoint<"DELETE", "/organizations/members/:id", boolean>;
262
263
 
263
264
  type Event = {
264
265
  title: string;
@@ -327,6 +328,7 @@ type HealthEndpoints = Endpoint<"GET", "/health/database", Health<"database">> |
327
328
 
328
329
  type UserToken = {
329
330
  id: string;
331
+ user: User;
330
332
  type: UserTokenType;
331
333
  value: string;
332
334
  createdAt: Date;
@@ -550,6 +552,9 @@ declare class Client {
550
552
  }> | Extract<Endpoint<"GET", "/organizations/:id", Organization>, {
551
553
  path: Path;
552
554
  method: "GET";
555
+ }> | Extract<Endpoint<"GET", "/organizations/members", OrganizationMember[]>, {
556
+ path: Path;
557
+ method: "GET";
553
558
  }> | Extract<ProfileEndpoints, {
554
559
  path: Path;
555
560
  method: "GET";
@@ -604,6 +609,9 @@ declare class Client {
604
609
  }>["body"], query?: Query<Path>, options?: APIRequestOptions): Promise<(Extract<Endpoint<"PUT", "/organizations/:id", Organization, UpdateOrganizationDto>, {
605
610
  path: Path;
606
611
  method: "PUT";
612
+ }> | Extract<Endpoint<"PUT", "/organizations/members/:id", OrganizationMember>, {
613
+ path: Path;
614
+ method: "PUT";
607
615
  }> | Extract<Endpoint<"PUT", "/users/:id", User, UpdateUserDto>, {
608
616
  path: Path;
609
617
  method: "PUT";
@@ -616,10 +624,13 @@ declare class Client {
616
624
  }>["body"], query?: Query<Path>, options?: APIRequestOptions): Promise<never>;
617
625
  delete<Path extends Extract<Endpoints, {
618
626
  method: "DELETE";
619
- }>["path"]>(path: Path, query?: Query<Path>, options?: APIRequestOptions): Promise<Extract<Endpoint<"DELETE", "/organizations/:id", boolean>, {
627
+ }>["path"]>(path: Path, query?: Query<Path>, options?: APIRequestOptions): Promise<(Extract<Endpoint<"DELETE", "/organizations/:id", boolean>, {
620
628
  path: Path;
621
629
  method: "DELETE";
622
- }>["res"]>;
630
+ }> | Extract<Endpoint<"DELETE", "/organizations/members/:id", boolean>, {
631
+ path: Path;
632
+ method: "DELETE";
633
+ }>)["res"]>;
623
634
  private requester;
624
635
  }
625
636
 
@@ -659,6 +670,10 @@ declare const organizations: (client: Client) => {
659
670
  create: (data: CreateOrganizationDto) => Promise<Organization>;
660
671
  update: (id: string, data: UpdateOrganizationDto) => Promise<Organization>;
661
672
  delete: (id: string) => Promise<boolean>;
673
+ members: {
674
+ getAll: () => Promise<OrganizationMember[]>;
675
+ delete: (id: string) => Promise<boolean>;
676
+ };
662
677
  };
663
678
 
664
679
  declare const profiles: (client: Client) => {
@@ -710,6 +725,10 @@ declare class TonightPass {
710
725
  create: (data: CreateOrganizationDto) => Promise<Organization>;
711
726
  update: (id: string, data: UpdateOrganizationDto) => Promise<Organization>;
712
727
  delete: (id: string) => Promise<boolean>;
728
+ members: {
729
+ getAll: () => Promise<OrganizationMember[]>;
730
+ delete: (id: string) => Promise<boolean>;
731
+ };
713
732
  };
714
733
  readonly profiles: {
715
734
  get: (username: string) => Promise<UserIdentity | OrganizationIdentity>;
package/dist/index.js CHANGED
@@ -3,39 +3,39 @@
3
3
  require('reflect-metadata');
4
4
  var classValidator = require('class-validator');
5
5
  var classTransformer = require('class-transformer');
6
- var ht = require('redaxios');
6
+ var he = require('redaxios');
7
7
  var pathcat = require('pathcat');
8
8
 
9
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
 
11
- var ht__default = /*#__PURE__*/_interopDefault(ht);
11
+ var he__default = /*#__PURE__*/_interopDefault(he);
12
12
 
13
- var ct=Object.defineProperty;var s=(t,e)=>ct(t,"name",{value:e,configurable:!0});var U="https://api.tonightpass.com";var At=/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/,It=/((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,j=/(^[\p{L}\d'\\.\s\\-]*$)/u,wt=/^[a-z\d]+(?:(\.|-|_)[a-z\d]+)*$/,_t=/\$2[abxy]?\$\d{1,2}\$[A-Za-z\d\\./]{53}/,Dt=/^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/,Nt=/(((http:\/\/www)|(http:\/\/)|(www))[-a-zA-Z0-9@:%_\\+.~#?&//=]+)\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;exports.EventTicketCategory = void 0;(function(t){t.ENTRY="entry",t.PACKAGE="package",t.MEAL="meal",t.DRINK="drink",t.PARKING="parking",t.ACCOMMODATION="accommodation",t.CAMPING="camping",t.LOCKER="locker",t.SHUTTLE="shuttle",t.OTHER="other";})(exports.EventTicketCategory||(exports.EventTicketCategory={}));exports.EventType = void 0;(function(t){t.Clubbing="clubbing",t.Concert="concert",t.Afterwork="afterwork",t.DancingLunch="dancing_lunch",t.Diner="diner",t.Garden="garden",t.AfterBeach="after_beach",t.Festival="festival",t.Spectacle="spectacle",t.Cruise="cruise",t.OutsideAnimation="outside_animation",t.Sport="sport",t.Match="match",t.Seminar="seminar",t.Conference="conference",t.WellnessDay="wellness_day",t.Workshop="workshop",t.TradeFair="trade_fair",t.ConsumerShow="consumer_show",t.Membership="membership";})(exports.EventType||(exports.EventType={}));exports.EventStyleType = void 0;(function(t){t.Music="music",t.Dress="dress",t.Sport="sport",t.Food="food",t.Art="art";})(exports.EventStyleType||(exports.EventStyleType={}));exports.OrganizationSocialType = void 0;(function(t){t.Facebook="facebook",t.Twitter="twitter",t.Instagram="instagram",t.Linkedin="linkedin",t.Youtube="youtube",t.Website="website";})(exports.OrganizationSocialType||(exports.OrganizationSocialType={}));exports.OrganizationMemberStatus = void 0;(function(t){t.PENDING="pending",t.ACCEPTED="accepted",t.REJECTED="rejected";})(exports.OrganizationMemberStatus||(exports.OrganizationMemberStatus={}));exports.OrganizationMemberRole = void 0;(function(t){t.MEMBER="member",t.MANAGER="manager",t.ADMINISTRATOR="admin",t.OWNER="owner";})(exports.OrganizationMemberRole||(exports.OrganizationMemberRole={}));exports.UserTokenType = void 0;(function(t){t.Authentication="authentication",t.OrganizationInvite="organization_invite",t.PasswordRecovery="password_recovery",t.EmailValidation="email_validation",t.PhoneValidation="phone_validation";})(exports.UserTokenType||(exports.UserTokenType={}));exports.UserRole = void 0;(function(t){t[t.USER=0]="USER",t[t.DEVELOPER=8]="DEVELOPER",t[t.ADMINISTRATOR=10]="ADMINISTRATOR";})(exports.UserRole||(exports.UserRole={}));exports.OrderStatus = void 0;(function(t){t.Created="created",t.Cancelled="cancelled",t.Completed="completed",t.Pending="pending",t.Confirmed="confirmed",t.Declined="declined",t.Refunded="refunded",t.PartiallyRefunded="partially_refunded",t.Expired="expired";})(exports.OrderStatus||(exports.OrderStatus={}));exports.Currency = void 0;(function(t){t.EUR="EUR",t.USD="USD",t.GBP="GBP";})(exports.Currency||(exports.Currency={}));exports.Language = void 0;(function(t){t.FR="fr",t.EN="en";})(exports.Language||(exports.Language={}));function f(t,e,o,r){var n=arguments.length,i=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,o):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,o,r);else for(var u=t.length-1;u>=0;u--)(c=t[u])&&(i=(n<3?c(i):n>3?c(e,o,i):c(e,o))||i);return n>3&&i&&Object.defineProperty(e,o,i),i}s(f,"_ts_decorate");function m(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}s(m,"_ts_metadata");var g=class{static{s(this,"CreateOrganizationDto");}slug;identity;members;location};f([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(1,128),m("design:type",String)],g.prototype,"slug",void 0);f([classValidator.IsObject(),m("design:type",typeof x>"u"?Object:x)],g.prototype,"identity",void 0);f([classValidator.IsArray(),m("design:type",Array)],g.prototype,"members",void 0);f([classValidator.IsOptional(),classValidator.IsObject(),m("design:type",typeof Location>"u"?Object:Location)],g.prototype,"location",void 0);var x=class{static{s(this,"CreateOrganizationIdentityDto");}displayName;description;avatarUrl;bannerUrl;socialLinks};f([classValidator.IsString(),classValidator.IsNotEmpty(),classValidator.Length(1,32),m("design:type",String)],x.prototype,"displayName",void 0);f([classValidator.IsString(),classValidator.IsNotEmpty(),classValidator.Length(16,1024),m("design:type",String)],x.prototype,"description",void 0);f([classValidator.IsUrl({protocols:["http","https"]}),m("design:type",String)],x.prototype,"avatarUrl",void 0);f([classValidator.IsOptional(),classValidator.IsUrl({protocols:["http","https"]}),m("design:type",String)],x.prototype,"bannerUrl",void 0);f([classValidator.IsOptional(),classValidator.IsArray(),m("design:type",Array)],x.prototype,"socialLinks",void 0);var W=class{static{s(this,"OrganizationMemberDto");}user;role};f([classValidator.IsString(),classValidator.IsNotEmpty(),m("design:type",String)],W.prototype,"user",void 0);f([classValidator.IsEnum(exports.OrganizationMemberRole),classValidator.IsNotEmpty(),m("design:type",typeof exports.OrganizationMemberRole>"u"?Object:exports.OrganizationMemberRole)],W.prototype,"role",void 0);var V=class extends g{static{s(this,"UpdateOrganizationDto");}};var K=class{static{s(this,"CreateUserDto");}identifier;password;identity;addresses};var Y=class{static{s(this,"SignInUserDto");}identifier;password};function a(t,e,o,r){var n=arguments.length,i=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,o):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,o,r);else for(var u=t.length-1;u>=0;u--)(c=t[u])&&(i=(n<3?c(i):n>3?c(e,o,i):c(e,o))||i);return n>3&&i&&Object.defineProperty(e,o,i),i}s(a,"_ts_decorate");function p(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}s(p,"_ts_metadata");var A=class{static{s(this,"UpdateUserDto");}identifier;identity;password};a([classValidator.IsOptional(),classValidator.IsObject(),classValidator.ValidateNested(),classTransformer.Type(()=>b),p("design:type",typeof b>"u"?Object:b)],A.prototype,"identifier",void 0);a([classValidator.IsOptional(),classValidator.IsObject(),classValidator.ValidateNested(),classTransformer.Type(()=>l),p("design:type",typeof l>"u"?Object:l)],A.prototype,"identity",void 0);a([classValidator.IsOptional(),classValidator.IsString(),classValidator.MinLength(6),classValidator.MaxLength(130),p("design:type",String)],A.prototype,"password",void 0);var b=class{static{s(this,"UpdateIdentifierDto");}email;phoneNumber;username};a([classValidator.IsOptional(),classValidator.IsString(),classValidator.IsEmail(),p("design:type",String)],b.prototype,"email",void 0);a([classValidator.IsOptional(),classValidator.IsString(),classValidator.IsPhoneNumber(),p("design:type",String)],b.prototype,"phoneNumber",void 0);a([classValidator.IsOptional(),classValidator.IsString(),classValidator.MinLength(3),p("design:type",String)],b.prototype,"username",void 0);var l=class{static{s(this,"UpdateIdentityDto");}firstName;lastName;displayName;description;avatarUrl;bannerUrl;gender;birthDate};a([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(2,50),classValidator.Matches(j,{message:"First name must be composed of letters only"}),p("design:type",String)],l.prototype,"firstName",void 0);a([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(2,50),classValidator.Matches(j,{message:"Last name must be composed of letters only"}),p("design:type",String)],l.prototype,"lastName",void 0);a([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(1,32),p("design:type",String)],l.prototype,"displayName",void 0);a([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(15,500),p("design:type",String)],l.prototype,"description",void 0);a([classValidator.IsOptional(),classValidator.IsUrl(),p("design:type",Object)],l.prototype,"avatarUrl",void 0);a([classValidator.IsOptional(),classValidator.IsUrl(),p("design:type",Object)],l.prototype,"bannerUrl",void 0);a([classValidator.IsOptional(),p("design:type",String)],l.prototype,"gender",void 0);a([classValidator.IsOptional(),classValidator.IsDateString(),p("design:type",typeof Date>"u"?Object:Date)],l.prototype,"birthDate",void 0);var O=typeof window<"u";var xt=ht__default.default.create({headers:{"Content-Type":"application/json",Accept:"application/json",...!O&&{"User-Agent":"tonightpass-api-client"}},responseType:"json",transformRequest:[function(t){return JSON.stringify(t)}],withCredentials:O}),ot=s(async(t,e)=>xt(t,{...e}).then(r=>r).catch(r=>{throw r.data}),"request");var v=class extends Error{static{s(this,"TonightPassAPIError");}response;data;status;constructor(e,o){super(o.message),this.response=e,this.data=o,this.status=e.status;}},N=class{static{s(this,"Client");}options;url;constructor(e){this.options=e,this.url=(o,r)=>{let n=this.options.baseURL||U;return pathcat.pathcat(n,o,r)};}setOptions(e){this.options=e;}async get(e,o,r){return this.requester("GET",e,void 0,o,r)}async post(e,o,r,n){return this.requester("POST",e,o,r,n)}async put(e,o,r,n){return this.requester("PUT",e,o,r,n)}async patch(e,o,r,n){return this.requester("PATCH",e,o,r,n)}async delete(e,o,r){return this.requester("DELETE",e,void 0,o,r)}async requester(e,o,r,n={},i={}){let c=this.url(o,n);if(r!==void 0&&e==="GET")throw new Error("Cannot send a GET request with a body");let u=await ot(c,{method:e,data:r,...i}),E=u.data;if(!E.success)throw new v(u,E);return E.data}};function R(t){return t}s(R,"sdk");var rt=t=>({signIn:async e=>t.post("/auth/sign-in",e),signUp:async e=>t.post("/auth/sign-up",e),signOut:async()=>t.post("/auth/sign-out",null),refreshToken:async()=>t.post("/auth/refresh-token",null)});var st=t=>({categories:{getAll:async e=>t.get("/careers/categories",e)},employmentTypes:{getAll:async e=>t.get("/careers/employmentTypes",e)},jobs:{getAll:async e=>t.get("/careers/jobs",e),get:async e=>t.get("/careers/jobs/:id",{id:e})},offices:{getAll:async e=>t.get("/careers/offices",e)}});var nt=t=>({database:async()=>t.get("/health/database"),http:async()=>t.get("/health/http")});var it=t=>({getAll:async()=>t.get("/organizations"),get:async e=>t.get("/organizations/:id",{id:e}),create:async e=>t.post("/organizations",e),update:async(e,o)=>t.put("/organizations/:id",o,{id:e}),delete:async e=>t.delete("/organizations/:id",{id:e})});var at=t=>({get:async e=>t.get("/profiles/:username",{username:e})});var pt=t=>({getAll:async()=>t.get("/users"),get:async e=>t.get("/users",{id:e}),me:async()=>t.get("/users/me"),check:async(e,o)=>t.get("/users/check/:identifier",{identifier:e,suggestions:o}),update:async(e,o)=>t.put("/users/:id",o,{id:e})});var dt=class{static{s(this,"TonightPass");}client;auth;careers;health;organizations;profiles;users;constructor(e){this.client=new N(e),this.auth=rt(this.client),this.careers=st(this.client),this.health=nt(this.client),this.organizations=it(this.client),this.profiles=at(this.client),this.users=pt(this.client);}};
13
+ var ce=Object.defineProperty;var s=(e,t)=>ce(e,"name",{value:t,configurable:!0});var z="https://api.tonightpass.com";var _e=/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/,Ae=/((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,U=/(^[\p{L}\d'\\.\s\\-]*$)/u,Re=/^[a-z\d]+(?:(\.|-|_)[a-z\d]+)*$/,je=/\$2[abxy]?\$\d{1,2}\$[A-Za-z\d\\./]{53}/,ve=/^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/,De=/(((http:\/\/www)|(http:\/\/)|(www))[-a-zA-Z0-9@:%_\\+.~#?&//=]+)\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;exports.EventTicketCategory = void 0;(function(e){e.Entry="entry",e.Package="package",e.Meal="meal",e.Drink="drink",e.Parking="parking",e.Accommodation="accommodation",e.Camping="camping",e.Locker="locker",e.Shuttle="shuttle",e.Other="other";})(exports.EventTicketCategory||(exports.EventTicketCategory={}));exports.EventType = void 0;(function(e){e.Clubbing="clubbing",e.Concert="concert",e.Afterwork="afterwork",e.DancingLunch="dancing_lunch",e.Diner="diner",e.Garden="garden",e.AfterBeach="after_beach",e.Festival="festival",e.Spectacle="spectacle",e.Cruise="cruise",e.OutsideAnimation="outside_animation",e.Sport="sport",e.Match="match",e.Seminar="seminar",e.Conference="conference",e.WellnessDay="wellness_day",e.Workshop="workshop",e.TradeFair="trade_fair",e.ConsumerShow="consumer_show",e.Membership="membership";})(exports.EventType||(exports.EventType={}));exports.EventStyleType = void 0;(function(e){e.Music="music",e.Dress="dress",e.Sport="sport",e.Food="food",e.Art="art";})(exports.EventStyleType||(exports.EventStyleType={}));exports.OrganizationSocialType = void 0;(function(e){e.Facebook="facebook",e.Twitter="twitter",e.Instagram="instagram",e.Linkedin="linkedin",e.Youtube="youtube",e.Website="website";})(exports.OrganizationSocialType||(exports.OrganizationSocialType={}));exports.OrganizationMemberStatus = void 0;(function(e){e.Pending="pending",e.Accepted="accepted",e.Rejected="rejected";})(exports.OrganizationMemberStatus||(exports.OrganizationMemberStatus={}));exports.OrganizationMemberRole = void 0;(function(e){e.Member="member",e.Manager="manager",e.Admin="admin",e.Owner="owner";})(exports.OrganizationMemberRole||(exports.OrganizationMemberRole={}));exports.UserTokenType = void 0;(function(e){e.Authentication="authentication",e.OrganizationInvite="organization_invite",e.PasswordRecovery="password_recovery",e.EmailValidation="email_validation",e.PhoneValidation="phone_validation";})(exports.UserTokenType||(exports.UserTokenType={}));exports.UserRole = void 0;(function(e){e.User="user",e.Developer="developer",e.Admin="admin";})(exports.UserRole||(exports.UserRole={}));exports.OrderStatus = void 0;(function(e){e.Created="created",e.Cancelled="cancelled",e.Completed="completed",e.Pending="pending",e.Confirmed="confirmed",e.Declined="declined",e.Refunded="refunded",e.PartiallyRefunded="partially_refunded",e.Expired="expired";})(exports.OrderStatus||(exports.OrderStatus={}));exports.Currency = void 0;(function(e){e.EUR="EUR",e.USD="USD",e.GBP="GBP";})(exports.Currency||(exports.Currency={}));exports.Language = void 0;(function(e){e.FR="fr",e.EN="en";})(exports.Language||(exports.Language={}));function f(e,t,o,r){var n=arguments.length,i=n<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,o):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,t,o,r);else for(var u=e.length-1;u>=0;u--)(c=e[u])&&(i=(n<3?c(i):n>3?c(t,o,i):c(t,o))||i);return n>3&&i&&Object.defineProperty(t,o,i),i}s(f,"_ts_decorate");function m(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}s(m,"_ts_metadata");var g=class{static{s(this,"CreateOrganizationDto");}slug;identity;members;location};f([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(1,128),m("design:type",String)],g.prototype,"slug",void 0);f([classValidator.IsObject(),m("design:type",typeof y>"u"?Object:y)],g.prototype,"identity",void 0);f([classValidator.IsArray(),m("design:type",Array)],g.prototype,"members",void 0);f([classValidator.IsOptional(),classValidator.IsObject(),m("design:type",typeof Location>"u"?Object:Location)],g.prototype,"location",void 0);var y=class{static{s(this,"CreateOrganizationIdentityDto");}displayName;description;avatarUrl;bannerUrl;socialLinks};f([classValidator.IsString(),classValidator.IsNotEmpty(),classValidator.Length(1,32),m("design:type",String)],y.prototype,"displayName",void 0);f([classValidator.IsString(),classValidator.IsNotEmpty(),classValidator.Length(16,1024),m("design:type",String)],y.prototype,"description",void 0);f([classValidator.IsUrl({protocols:["http","https"]}),m("design:type",String)],y.prototype,"avatarUrl",void 0);f([classValidator.IsOptional(),classValidator.IsUrl({protocols:["http","https"]}),m("design:type",String)],y.prototype,"bannerUrl",void 0);f([classValidator.IsOptional(),classValidator.IsArray(),m("design:type",Array)],y.prototype,"socialLinks",void 0);var H=class{static{s(this,"OrganizationMemberDto");}user;role};f([classValidator.IsString(),classValidator.IsNotEmpty(),m("design:type",String)],H.prototype,"user",void 0);f([classValidator.IsEnum(exports.OrganizationMemberRole),classValidator.IsNotEmpty(),m("design:type",typeof exports.OrganizationMemberRole>"u"?Object:exports.OrganizationMemberRole)],H.prototype,"role",void 0);var V=class extends g{static{s(this,"UpdateOrganizationDto");}};var Z=class{static{s(this,"CreateUserDto");}identifier;password;identity;addresses};var Y=class{static{s(this,"SignInUserDto");}identifier;password};function a(e,t,o,r){var n=arguments.length,i=n<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,o):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,t,o,r);else for(var u=e.length-1;u>=0;u--)(c=e[u])&&(i=(n<3?c(i):n>3?c(t,o,i):c(t,o))||i);return n>3&&i&&Object.defineProperty(t,o,i),i}s(a,"_ts_decorate");function p(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}s(p,"_ts_metadata");var _=class{static{s(this,"UpdateUserDto");}identifier;identity;password};a([classValidator.IsOptional(),classValidator.IsObject(),classValidator.ValidateNested(),classTransformer.Type(()=>b),p("design:type",typeof b>"u"?Object:b)],_.prototype,"identifier",void 0);a([classValidator.IsOptional(),classValidator.IsObject(),classValidator.ValidateNested(),classTransformer.Type(()=>l),p("design:type",typeof l>"u"?Object:l)],_.prototype,"identity",void 0);a([classValidator.IsOptional(),classValidator.IsString(),classValidator.MinLength(6),classValidator.MaxLength(130),p("design:type",String)],_.prototype,"password",void 0);var b=class{static{s(this,"UpdateIdentifierDto");}email;phoneNumber;username};a([classValidator.IsOptional(),classValidator.IsString(),classValidator.IsEmail(),p("design:type",String)],b.prototype,"email",void 0);a([classValidator.IsOptional(),classValidator.IsString(),classValidator.IsPhoneNumber(),p("design:type",String)],b.prototype,"phoneNumber",void 0);a([classValidator.IsOptional(),classValidator.IsString(),classValidator.MinLength(3),p("design:type",String)],b.prototype,"username",void 0);var l=class{static{s(this,"UpdateIdentityDto");}firstName;lastName;displayName;description;avatarUrl;bannerUrl;gender;birthDate};a([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(2,50),classValidator.Matches(U,{message:"First name must be composed of letters only"}),p("design:type",String)],l.prototype,"firstName",void 0);a([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(2,50),classValidator.Matches(U,{message:"Last name must be composed of letters only"}),p("design:type",String)],l.prototype,"lastName",void 0);a([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(1,32),p("design:type",String)],l.prototype,"displayName",void 0);a([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(15,500),p("design:type",String)],l.prototype,"description",void 0);a([classValidator.IsOptional(),classValidator.IsUrl(),p("design:type",Object)],l.prototype,"avatarUrl",void 0);a([classValidator.IsOptional(),classValidator.IsUrl(),p("design:type",Object)],l.prototype,"bannerUrl",void 0);a([classValidator.IsOptional(),p("design:type",String)],l.prototype,"gender",void 0);a([classValidator.IsOptional(),classValidator.IsDateString(),p("design:type",typeof Date>"u"?Object:Date)],l.prototype,"birthDate",void 0);var N=typeof window<"u";var ye=he__default.default.create({headers:{"Content-Type":"application/json",Accept:"application/json",...!N&&{"User-Agent":"tonightpass-api-client"}},responseType:"json",transformRequest:[function(e){return JSON.stringify(e)}],withCredentials:N}),oe=s(async(e,t)=>ye(e,{...t}).then(r=>r).catch(r=>{throw r.data}),"request");var P=class extends Error{static{s(this,"TonightPassAPIError");}response;data;status;constructor(t,o){super(o.message),this.response=t,this.data=o,this.status=t.status;}},D=class{static{s(this,"Client");}options;url;constructor(t){this.options=t,this.url=(o,r)=>{let n=this.options.baseURL||z;return pathcat.pathcat(n,o,r)};}setOptions(t){this.options=t;}async get(t,o,r){return this.requester("GET",t,void 0,o,r)}async post(t,o,r,n){return this.requester("POST",t,o,r,n)}async put(t,o,r,n){return this.requester("PUT",t,o,r,n)}async patch(t,o,r,n){return this.requester("PATCH",t,o,r,n)}async delete(t,o,r){return this.requester("DELETE",t,void 0,o,r)}async requester(t,o,r,n={},i={}){let c=this.url(o,n);if(r!==void 0&&t==="GET")throw new Error("Cannot send a GET request with a body");let u=await oe(c,{method:t,data:r,...i}),I=u.data;if(!I.success)throw new P(u,I);return I.data}};function w(e){return e}s(w,"sdk");var re=e=>({signIn:async t=>e.post("/auth/sign-in",t),signUp:async t=>e.post("/auth/sign-up",t),signOut:async()=>e.post("/auth/sign-out",null),refreshToken:async()=>e.post("/auth/refresh-token",null)});var se=e=>({categories:{getAll:async t=>e.get("/careers/categories",t)},employmentTypes:{getAll:async t=>e.get("/careers/employmentTypes",t)},jobs:{getAll:async t=>e.get("/careers/jobs",t),get:async t=>e.get("/careers/jobs/:id",{id:t})},offices:{getAll:async t=>e.get("/careers/offices",t)}});var ne=e=>({database:async()=>e.get("/health/database"),http:async()=>e.get("/health/http")});var ie=e=>({getAll:async()=>e.get("/organizations"),get:async t=>e.get("/organizations/:id",{id:t}),create:async t=>e.post("/organizations",t),update:async(t,o)=>e.put("/organizations/:id",o,{id:t}),delete:async t=>e.delete("/organizations/:id",{id:t}),members:{getAll:async()=>e.get("/organizations/members"),delete:async t=>e.delete("/organizations/members/:id",{id:t})}});var ae=e=>({get:async t=>e.get("/profiles/:username",{username:t})});var pe=e=>({getAll:async()=>e.get("/users"),get:async t=>e.get("/users",{id:t}),me:async()=>e.get("/users/me"),check:async(t,o)=>e.get("/users/check/:identifier",{identifier:t,suggestions:o}),update:async(t,o)=>e.put("/users/:id",o,{id:t})});var de=class{static{s(this,"TonightPass");}client;auth;careers;health;organizations;profiles;users;constructor(t){this.client=new D(t),this.auth=re(this.client),this.careers=se(this.client),this.health=ne(this.client),this.organizations=ie(this.client),this.profiles=ae(this.client),this.users=pe(this.client);}};
14
14
 
15
- exports.BCRYPT_HASH = _t;
16
- exports.Client = N;
15
+ exports.BCRYPT_HASH = je;
16
+ exports.Client = D;
17
17
  exports.CreateOrganizationDto = g;
18
- exports.CreateUserDto = K;
19
- exports.DEFAULT_API_URL = U;
20
- exports.EMAIL_REGEX = At;
21
- exports.IMAGE_URL_REGEX = Nt;
22
- exports.NAME_REGEX = j;
23
- exports.PASSWORD_REGEX = It;
24
- exports.PHONE_NUMBER_REGEX = Dt;
25
- exports.SLUG_REGEX = wt;
18
+ exports.CreateUserDto = Z;
19
+ exports.DEFAULT_API_URL = z;
20
+ exports.EMAIL_REGEX = _e;
21
+ exports.IMAGE_URL_REGEX = De;
22
+ exports.NAME_REGEX = U;
23
+ exports.PASSWORD_REGEX = Ae;
24
+ exports.PHONE_NUMBER_REGEX = ve;
25
+ exports.SLUG_REGEX = Re;
26
26
  exports.SignInUserDto = Y;
27
- exports.TonightPass = dt;
28
- exports.TonightPassAPIError = v;
27
+ exports.TonightPass = de;
28
+ exports.TonightPassAPIError = P;
29
29
  exports.UpdateOrganizationDto = V;
30
- exports.UpdateUserDto = A;
31
- exports.auth = rt;
32
- exports.careers = st;
33
- exports.health = nt;
34
- exports.isBrowser = O;
35
- exports.organizations = it;
36
- exports.profiles = at;
37
- exports.request = ot;
38
- exports.sdk = R;
39
- exports.users = pt;
30
+ exports.UpdateUserDto = _;
31
+ exports.auth = re;
32
+ exports.careers = se;
33
+ exports.health = ne;
34
+ exports.isBrowser = N;
35
+ exports.organizations = ie;
36
+ exports.profiles = ae;
37
+ exports.request = oe;
38
+ exports.sdk = w;
39
+ exports.users = pe;
40
40
  //# sourceMappingURL=out.js.map
41
41
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants/api.ts","../src/constants/regex.ts","../src/rest/dtos/index.ts","../src/rest/dtos/organizations/create-organization.dto.ts","../src/rest/types/event/ticket/index.ts","../src/rest/types/event/index.ts","../src/rest/types/organizations/index.ts","../src/rest/types/token/index.ts","../src/rest/types/users/index.ts","../src/rest/types/order/index.ts","../src/rest/types/index.ts","../src/rest/dtos/organizations/update-organization.dto.ts","../src/rest/dtos/users/create-user.dto.ts","../src/rest/dtos/users/sign-in-user.dto.ts","../src/rest/dtos/users/update-user.dto.ts","../src/rest/request/request.ts","../src/utils/index.ts","../src/rest/client.ts","../src/sdk/builder.ts","../src/sdk/auth.ts","../src/sdk/careers.ts","../src/sdk/health.ts","../src/sdk/organizations.ts","../src/sdk/profiles.ts","../src/sdk/users.ts","../src/tonightpass.ts"],"names":["DEFAULT_API_URL","EMAIL_REGEX","PASSWORD_REGEX","NAME_REGEX","SLUG_REGEX","BCRYPT_HASH","PHONE_NUMBER_REGEX","IMAGE_URL_REGEX","IsArray","IsEnum","IsNotEmpty","IsObject","IsOptional","IsString","IsUrl","Length","EventTicketCategory","EventType","EventStyleType","OrganizationSocialType","OrganizationMemberStatus","OrganizationMemberRole","UserTokenType","UserRole","OrderStatus","Currency","Language","CreateOrganizationDto","slug","identity","members","location","CreateOrganizationIdentityDto","displayName","description","avatarUrl","bannerUrl","socialLinks","protocols","OrganizationMemberDto","user","role","UpdateOrganizationDto","CreateUserDto","identifier","password","addresses","SignInUserDto","Type","IsDateString","IsEmail","IsPhoneNumber","Matches","MaxLength","MinLength","ValidateNested","UpdateUserDto","UpdateIdentifierDto","UpdateIdentityDto","email","phoneNumber","username","firstName","lastName","gender","birthDate","message","axios","isBrowser","window","instance","create","headers","Accept","responseType","transformRequest","data","JSON","stringify","withCredentials","request","__name","url","options","then","response","catch","error","pathcat","TonightPassAPIError","Error","status","constructor","Client","path","params","baseURL","setOptions","get","query","requester","undefined","post","body","put","patch","delete","method","result","success","sdk","builder","auth","client","signIn","signUp","signOut","refreshToken","careers","categories","getAll","employmentTypes","jobs","id","offices","health","database","http","organizations","update","profiles","users","me","check","suggestions","TonightPass"],"mappings":"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","sourcesContent":["export const DEFAULT_API_URL = \"https://api.tonightpass.com\";\n","export const EMAIL_REGEX = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/;\n\n// checks if a password has at least one uppercase letter and a number or special character\nexport const PASSWORD_REGEX =\n /((?=.*\\d)|(?=.*\\W+))(?![.\\n])(?=.*[A-Z])(?=.*[a-z]).*$/;\n\n// checks if a string has only letters, numbers, spaces, apostrophes, dots and dashes\nexport const NAME_REGEX = /(^[\\p{L}\\d'\\\\.\\s\\\\-]*$)/u;\n\n// checks if a string is a valid slug, useful for usernames\nexport const SLUG_REGEX = /^[a-z\\d]+(?:(\\.|-|_)[a-z\\d]+)*$/;\n\n// validates if passwords are valid bcrypt hashes\nexport const BCRYPT_HASH = /\\$2[abxy]?\\$\\d{1,2}\\$[A-Za-z\\d\\\\./]{53}/;\n\nexport const PHONE_NUMBER_REGEX =\n /^\\s*(?:\\+?(\\d{1,3}))?([-. (]*(\\d{3})[-. )]*)?((\\d{3})[-. ]*(\\d{2,4})(?:[-.x ]*(\\d+))?)\\s*$/;\n\nexport const IMAGE_URL_REGEX =\n /(((http:\\/\\/www)|(http:\\/\\/)|(www))[-a-zA-Z0-9@:%_\\\\+.~#?&//=]+)\\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;\n","import \"reflect-metadata\";\n\nexport * from \"./organizations\";\nexport * from \"./users\";\n","import {\n IsArray,\n IsEnum,\n IsNotEmpty,\n IsObject,\n IsOptional,\n IsString,\n IsUrl,\n Length,\n} from \"class-validator\";\n\nimport {\n OrganizationMemberRole,\n type Location,\n type OrganizationSocialLink,\n} from \"../../types\";\n\nexport class CreateOrganizationDto {\n @IsOptional()\n @IsString()\n @Length(1, 128)\n slug?: string;\n\n @IsObject()\n identity: CreateOrganizationIdentityDto;\n\n @IsArray()\n members: OrganizationMemberDto[];\n\n @IsOptional()\n @IsObject()\n location?: Location;\n}\n\nclass CreateOrganizationIdentityDto {\n @IsString()\n @IsNotEmpty()\n @Length(1, 32)\n displayName: string;\n\n @IsString()\n @IsNotEmpty()\n @Length(16, 1024)\n description: string;\n\n @IsUrl({\n protocols: [\"http\", \"https\"],\n })\n avatarUrl?: string;\n\n @IsOptional()\n @IsUrl({\n protocols: [\"http\", \"https\"],\n })\n bannerUrl?: string;\n\n @IsOptional()\n @IsArray()\n socialLinks?: OrganizationSocialLink[];\n}\n\nclass OrganizationMemberDto {\n @IsString()\n @IsNotEmpty()\n user: string;\n\n @IsEnum(OrganizationMemberRole)\n @IsNotEmpty()\n role: OrganizationMemberRole;\n}\n","import { Currency } from \"../..\";\n\nexport type EventTicket = {\n id: string;\n name: string;\n description?: string;\n price: number;\n displayPrice: number;\n quantity: number;\n type: EventTicketType;\n category: EventTicketCategory;\n currency: Currency;\n vatRate: number;\n externalId?: string;\n isVisible: boolean;\n isFeesIncluded: boolean;\n startAt: Date;\n endAt: Date;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type EventTicketType = \"e-ticket\" | \"other\";\n\nexport enum EventTicketCategory {\n ENTRY = \"entry\",\n PACKAGE = \"package\",\n MEAL = \"meal\",\n DRINK = \"drink\",\n PARKING = \"parking\",\n ACCOMMODATION = \"accommodation\",\n CAMPING = \"camping\",\n LOCKER = \"locker\",\n SHUTTLE = \"shuttle\",\n OTHER = \"other\",\n}\n","import { EventTicket } from \"./ticket\";\nimport { Location } from \"..\";\nimport { Organization } from \"../organizations\";\n\nexport * from \"./ticket\";\n\nexport type Event = {\n title: string;\n description: string;\n slug: string;\n organization: Organization;\n type: EventType;\n public: boolean;\n flyers: string[];\n trailers: string[];\n location: Location;\n tickets: EventTicket[];\n styles: EventStyle[];\n startAt: Date;\n endAt: Date;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport enum EventType {\n Clubbing = \"clubbing\",\n Concert = \"concert\",\n Afterwork = \"afterwork\",\n DancingLunch = \"dancing_lunch\",\n Diner = \"diner\",\n Garden = \"garden\",\n AfterBeach = \"after_beach\",\n Festival = \"festival\",\n Spectacle = \"spectacle\",\n Cruise = \"cruise\",\n OutsideAnimation = \"outside_animation\",\n Sport = \"sport\",\n Match = \"match\",\n Seminar = \"seminar\",\n Conference = \"conference\",\n WellnessDay = \"wellness_day\",\n Workshop = \"workshop\",\n TradeFair = \"trade_fair\",\n ConsumerShow = \"consumer_show\",\n Membership = \"membership\",\n}\n\nexport type EventStyle = {\n type: EventStyleType;\n emoji: string;\n name: string;\n};\n\nexport enum EventStyleType {\n Music = \"music\",\n Dress = \"dress\",\n Sport = \"sport\",\n Food = \"food\",\n Art = \"art\",\n}\n","import { Location, Profile, ProfileMetadata } from \"..\";\nimport { CreateOrganizationDto, UpdateOrganizationDto } from \"../../dtos\";\nimport { Endpoint } from \"../../endpoints\";\nimport { Event } from \"../event\";\nimport { EventTicket } from \"../event/ticket\";\nimport { User } from \"../users\";\n\nexport type Organization = {\n id: string;\n slug: string;\n identity: OrganizationIdentity;\n members: OrganizationMember[];\n location?: Location;\n events: Event[];\n savedTickets: EventTicket[];\n verified: boolean;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type OrganizationIdentity = Profile & {\n socialLinks: OrganizationSocialLink[];\n\n metadata: ProfileMetadata & {\n eventsCount: number;\n viewsCount: number;\n membersCount: number;\n };\n};\n\nexport type OrganizationSocialLink = {\n type: OrganizationSocialType;\n url: string;\n};\n\nexport enum OrganizationSocialType {\n Facebook = \"facebook\",\n Twitter = \"twitter\",\n Instagram = \"instagram\",\n Linkedin = \"linkedin\",\n Youtube = \"youtube\",\n Website = \"website\",\n}\n\nexport type OrganizationMember = {\n user: User;\n role: OrganizationMemberRole;\n status: OrganizationMemberStatus;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport enum OrganizationMemberStatus {\n PENDING = \"pending\",\n ACCEPTED = \"accepted\",\n REJECTED = \"rejected\",\n}\n\nexport enum OrganizationMemberRole {\n MEMBER = \"member\",\n MANAGER = \"manager\",\n ADMINISTRATOR = \"admin\",\n OWNER = \"owner\",\n}\n\nexport type OrganizationEndpoints =\n | Endpoint<\"GET\", \"/organizations\", Organization[]>\n | Endpoint<\"GET\", \"/organizations/:id\", Organization>\n | Endpoint<\"POST\", \"/organizations\", Organization, CreateOrganizationDto>\n | Endpoint<\"PUT\", \"/organizations/:id\", Organization, UpdateOrganizationDto>\n | Endpoint<\"DELETE\", \"/organizations/:id\", boolean>;\n","export type UserToken = {\n id: string;\n type: UserTokenType;\n value: string;\n createdAt: Date;\n expiresAt: Date;\n};\n\nexport enum UserTokenType {\n Authentication = \"authentication\",\n OrganizationInvite = \"organization_invite\",\n PasswordRecovery = \"password_recovery\",\n EmailValidation = \"email_validation\",\n PhoneValidation = \"phone_validation\",\n}\n","import { Currency, Language, Location, Profile, ProfileMetadata } from \"..\";\nimport { UpdateUserDto } from \"../../dtos\";\nimport { Endpoint } from \"../../endpoints\";\n\nexport type User = {\n id: string;\n identifier: UserIdentifier;\n password: string;\n identity: UserIdentity;\n role: UserRole;\n addresses: Location[];\n preferences: UserPreferences;\n connections: UserConnection[];\n verified: boolean;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type UserIdentifier = {\n email?: string;\n phoneNumber?: string;\n username: string;\n\n [key: string]: string | undefined;\n};\n\nexport type UserIdentity = Profile & {\n firstName: string;\n lastName: string;\n fullName: string;\n gender: UserIdentityGender;\n birthDate: Date;\n\n metadata: ProfileMetadata & {\n followingCount: number;\n hasPassPlus: boolean;\n idValid: boolean;\n };\n};\n\nexport enum UserRole {\n USER = 0,\n DEVELOPER = 8,\n ADMINISTRATOR = 10,\n}\n\nexport type UserIdentityGender =\n | \"male\"\n | \"female\"\n | \"non-binary\"\n | \"gender-fluid\"\n | \"neutral\"\n | \"other\"\n | string;\n\nexport type UserPreferences = {\n language: Language;\n currency: Currency;\n notifications: {\n email: {\n newsletter: boolean;\n message: boolean;\n };\n push: {\n message: boolean;\n };\n };\n};\n\nexport type UserConnection = {\n ip: string;\n os: UserConnectionOS;\n device: UserConnectionDevice;\n client: UserConnectionClient;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type UserConnectionOS = {\n name: string;\n version: string;\n};\n\nexport type UserConnectionDevice = {\n type: string;\n brand: string;\n};\n\nexport type UserConnectionClient = {\n name: string;\n version: string;\n};\n\nexport type UserEndpoints =\n | Endpoint<\"GET\", \"/users\", User[]>\n | Endpoint<\"GET\", \"/users/:id\", User, { id: string }>\n | Endpoint<\"GET\", \"/users/me\", User>\n | Endpoint<\n \"GET\",\n \"/users/check/:identifier\",\n {\n exists: boolean;\n identifier: UserIdentifier;\n suggestions?: string[];\n },\n { identifier: boolean; suggestions?: boolean }\n >\n | Endpoint<\"PUT\", \"/users/:id\", User, UpdateUserDto>;\n","import { Currency } from \"..\";\nimport { Event, EventTicket } from \"../event\";\nimport { User } from \"../users\";\n\nexport enum OrderStatus {\n Created = \"created\",\n Cancelled = \"cancelled\",\n Completed = \"completed\",\n Pending = \"pending\",\n Confirmed = \"confirmed\",\n Declined = \"declined\",\n Refunded = \"refunded\",\n PartiallyRefunded = \"partially_refunded\",\n Expired = \"expired\",\n}\n\nexport type OrderItem = {\n id: string;\n ticket: EventTicket;\n isUsed: boolean;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type Order = {\n id: string;\n owner: User;\n members: User[];\n status: OrderStatus;\n event: Event;\n items: OrderItem[];\n promoCode?: PromoCode;\n total: number;\n currency: Currency;\n createdAt: Date;\n};\n\nexport type PromoCode = {\n id: string;\n code: string;\n used: number;\n discount: number;\n isActive: boolean;\n expirationAt: Date;\n createdAt: Date;\n};\n","export * from \"./auth\";\nexport * from \"./careers\";\nexport * from \"./event\";\nexport * from \"./health\";\nexport * from \"./organizations\";\nexport * from \"./token\";\nexport * from \"./users\";\nexport * from \"./order\";\nexport * from \"./profiles\";\n\nexport type Location = {\n name?: string;\n address: string;\n zipCode: string;\n city: string;\n country: string;\n geometry?: {\n latitude: number;\n longitude: number;\n };\n};\n\n// Currency\nexport enum Currency {\n EUR = \"EUR\",\n USD = \"USD\",\n GBP = \"GBP\",\n}\n\n// I18n\nexport enum Language {\n FR = \"fr\",\n EN = \"en\",\n}\n","import { CreateOrganizationDto } from \"./create-organization.dto\";\n\nexport class UpdateOrganizationDto extends CreateOrganizationDto {}\n","import { Location, UserIdentifier, UserIdentityGender } from \"../../types\";\n\nexport class CreateUserDto {\n identifier: UserIdentifier;\n password: string;\n identity: CreateUserIdentituDto;\n addresses: Location[];\n}\n\nclass CreateUserIdentituDto {\n firstName: string;\n lastName: string;\n gender: UserIdentityGender;\n avatarUrl?: string;\n birthDate: Date;\n}\n","export class SignInUserDto {\n identifier: string;\n password: string;\n}\n","import { Type } from \"class-transformer\";\nimport {\n IsDateString,\n IsEmail,\n IsObject,\n IsOptional,\n IsPhoneNumber,\n IsString,\n IsUrl,\n Length,\n Matches,\n MaxLength,\n MinLength,\n ValidateNested,\n} from \"class-validator\";\n\nimport { NAME_REGEX } from \"../../../constants/regex\";\nimport { UserIdentifier, UserIdentity } from \"../../types\";\n\nexport class UpdateUserDto {\n @IsOptional()\n @IsObject()\n @ValidateNested()\n @Type(() => UpdateIdentifierDto)\n identifier?: UpdateIdentifierDto;\n\n @IsOptional()\n @IsObject()\n @ValidateNested()\n @Type(() => UpdateIdentityDto)\n identity?: UpdateIdentityDto;\n\n @IsOptional()\n @IsString()\n @MinLength(6)\n @MaxLength(130)\n password?: string;\n}\n\nclass UpdateIdentifierDto\n implements\n Partial<Pick<UserIdentifier, \"email\" | \"phoneNumber\" | \"username\">>\n{\n @IsOptional()\n @IsString()\n @IsEmail()\n email?: string;\n\n @IsOptional()\n @IsString()\n @IsPhoneNumber()\n phoneNumber?: string;\n\n @IsOptional()\n @IsString()\n @MinLength(3)\n username?: string;\n}\n\nclass UpdateIdentityDto\n implements\n Partial<\n Pick<\n UserIdentity,\n | \"firstName\"\n | \"lastName\"\n | \"displayName\"\n | \"description\"\n | \"avatarUrl\"\n | \"bannerUrl\"\n | \"gender\"\n | \"birthDate\"\n >\n >\n{\n @IsOptional()\n @IsString()\n @Length(2, 50)\n @Matches(NAME_REGEX, {\n message: \"First name must be composed of letters only\",\n })\n firstName?: string;\n\n @IsOptional()\n @IsString()\n @Length(2, 50)\n @Matches(NAME_REGEX, {\n message: \"Last name must be composed of letters only\",\n })\n lastName?: string;\n\n @IsOptional()\n @IsString()\n @Length(1, 32)\n displayName?: string;\n\n @IsOptional()\n @IsString()\n @Length(15, 500)\n description?: string;\n\n @IsOptional()\n @IsUrl()\n avatarUrl?: string | undefined;\n\n @IsOptional()\n @IsUrl()\n bannerUrl?: string | undefined;\n\n @IsOptional()\n gender?: string;\n\n @IsOptional()\n @IsDateString()\n birthDate?: Date;\n}\n","import axios, { Options, Response } from \"redaxios\";\n\nimport { isBrowser } from \"../../utils\";\nimport { APIResponse, ErroredAPIResponse } from \"../endpoints\";\n\nconst instance = axios.create({\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n ...(!isBrowser && { \"User-Agent\": \"tonightpass-api-client\" }),\n },\n responseType: \"json\",\n transformRequest: [\n function (data) {\n return JSON.stringify(data);\n },\n ],\n withCredentials: isBrowser,\n});\n\nexport interface APIRequestOptions extends Options {}\n\nexport const request = async <T>(url: string, options?: Options) => {\n const response = instance<APIResponse<T>>(url, { ...options })\n .then((response) => response)\n .catch((error: Response<ErroredAPIResponse>) => {\n throw error.data;\n });\n\n return response;\n};\n","export const isBrowser = typeof window !== \"undefined\";\n","import { ParamValue, Query, pathcat } from \"pathcat\";\nimport { Options, Response } from \"redaxios\";\n\nimport { APIResponse, Endpoints, ErroredAPIResponse } from \"./endpoints\";\nimport { APIRequestOptions, request } from \"./request\";\nimport { DEFAULT_API_URL } from \"../constants\";\n\nexport type PathsFor<M extends Options[\"method\"]> = Extract<\n Endpoints,\n { method: M }\n>[\"path\"];\n\nexport class TonightPassAPIError<T> extends Error {\n public readonly status: number;\n\n constructor(\n public readonly response: Response<APIResponse<T>>,\n public readonly data: ErroredAPIResponse,\n ) {\n super(data.message);\n\n this.status = response.status;\n }\n}\n\nexport interface ClientOptions {\n readonly baseURL: string;\n}\n\nexport class Client {\n private options;\n public readonly url;\n\n constructor(options: ClientOptions) {\n this.options = options;\n this.url = (path: string, params: Record<string, ParamValue>) => {\n const baseURL = this.options.baseURL || DEFAULT_API_URL;\n return pathcat(baseURL, path, params);\n };\n }\n\n setOptions(options: ClientOptions) {\n this.options = options;\n }\n\n async get<Path extends PathsFor<\"GET\">>(\n path: Path,\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"GET\" }>[\"res\"]\n >(\"GET\", path, undefined, query, options);\n }\n\n async post<Path extends Extract<Endpoints, { method: \"POST\" }>[\"path\"]>(\n path: Path,\n body: Extract<Endpoints, { path: Path; method: \"POST\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"POST\" }>[\"res\"]\n >(\"POST\", path, body, query, options);\n }\n\n async put<Path extends Extract<Endpoints, { method: \"PUT\" }>[\"path\"]>(\n path: Path,\n body: Extract<Endpoints, { path: Path; method: \"PUT\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"PUT\" }>[\"res\"]\n >(\"PUT\", path, body, query, options);\n }\n\n async patch<Path extends Extract<Endpoints, { method: \"PATCH\" }>[\"path\"]>(\n path: Path,\n body: Extract<Endpoints, { path: Path; method: \"PATCH\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"PATCH\" }>[\"res\"]\n >(\"PATCH\", path, body, query, options);\n }\n\n async delete<Path extends Extract<Endpoints, { method: \"DELETE\" }>[\"path\"]>(\n path: Path,\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"DELETE\" }>[\"res\"]\n >(\"DELETE\", path, undefined, query, options);\n }\n\n private async requester<T>(\n method: Options[\"method\"],\n path: string,\n body: unknown,\n query: Query<string> = {},\n options: APIRequestOptions = {},\n ) {\n const url = this.url(path, query);\n\n if (body !== undefined) {\n if (method === \"GET\") {\n throw new Error(\"Cannot send a GET request with a body\");\n }\n }\n\n const response: Response<APIResponse<T>> = await request<T>(url, {\n method,\n data: body,\n ...options,\n });\n\n const result = response.data;\n\n if (!result.success) {\n throw new TonightPassAPIError<T>(response, result);\n }\n\n return result.data;\n }\n}\n","import { Client } from \"../rest\";\n\nexport function sdk<T>(builder: (client: Client) => T) {\n return builder;\n}\n","import { sdk } from \"./builder\";\nimport { CreateUserDto, SignInUserDto } from \"../rest\";\n\nexport const auth = sdk((client) => ({\n signIn: async (data: SignInUserDto) => client.post(\"/auth/sign-in\", data),\n signUp: async (data: CreateUserDto) => client.post(\"/auth/sign-up\", data),\n signOut: async () => client.post(\"/auth/sign-out\", null),\n refreshToken: async () => client.post(\"/auth/refresh-token\", null),\n}));\n","import { Query } from \"pathcat\";\n\nimport { sdk } from \"./builder\";\n\nexport const careers = sdk((client) => ({\n categories: {\n getAll: async (query?: Query<\"/careers/categories\">) =>\n client.get(\"/careers/categories\", query),\n },\n employmentTypes: {\n getAll: async (query?: Query<\"/careers/employmentTypes\">) =>\n client.get(\"/careers/employmentTypes\", query),\n },\n jobs: {\n getAll: async (query?: Query<\"/careers/jobs\">) =>\n client.get(\"/careers/jobs\", query),\n get: async (id: number) => client.get(\"/careers/jobs/:id\", { id }),\n },\n offices: {\n getAll: async (query?: Query<\"/careers/offices\">) =>\n client.get(\"/careers/offices\", query),\n },\n}));\n","import { sdk } from \"./builder\";\n\nexport const health = sdk((client) => ({\n database: async () => client.get(\"/health/database\"),\n http: async () => client.get(\"/health/http\"),\n}));\n","import { sdk } from \"./builder\";\nimport { CreateOrganizationDto, UpdateOrganizationDto } from \"../rest\";\n\nexport const organizations = sdk((client) => ({\n getAll: async () => client.get(\"/organizations\"),\n get: async (id: string) => client.get(\"/organizations/:id\", { id }),\n create: async (data: CreateOrganizationDto) =>\n client.post(\"/organizations\", data),\n update: async (id: string, data: UpdateOrganizationDto) =>\n client.put(\"/organizations/:id\", data, { id }),\n delete: async (id: string) => client.delete(\"/organizations/:id\", { id }),\n}));\n","import { sdk } from \"./builder\";\n\nexport const profiles = sdk((client) => ({\n get: async (username: string) =>\n client.get(\"/profiles/:username\", { username }),\n}));\n","import { sdk } from \"./builder\";\nimport { UpdateUserDto } from \"../rest\";\n\nexport const users = sdk((client) => ({\n getAll: async () => client.get(\"/users\"),\n get: async (id: string) => client.get(\"/users\", { id }),\n me: async () => client.get(\"/users/me\"),\n check: async (identifier: string, suggestions?: boolean) =>\n client.get(\"/users/check/:identifier\", { identifier, suggestions }),\n update: async (id: string, data: UpdateUserDto) =>\n client.put(\"/users/:id\", data, { id }),\n}));\n","import { Client, ClientOptions } from \"./rest\";\nimport { auth, careers, health, organizations, profiles, users } from \"./sdk\";\n\nexport class TonightPass {\n public readonly client: Client;\n\n public readonly auth;\n public readonly careers;\n public readonly health;\n public readonly organizations;\n public readonly profiles;\n public readonly users;\n\n constructor(options: ClientOptions) {\n this.client = new Client(options);\n\n this.auth = auth(this.client);\n this.careers = careers(this.client);\n this.health = health(this.client);\n this.organizations = organizations(this.client);\n this.profiles = profiles(this.client);\n this.users = users(this.client);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/constants/api.ts","../src/constants/regex.ts","../src/rest/dtos/index.ts","../src/rest/dtos/organizations/create-organization.dto.ts","../src/rest/types/event/ticket/index.ts","../src/rest/types/event/index.ts","../src/rest/types/organizations/index.ts","../src/rest/types/token/index.ts","../src/rest/types/users/index.ts","../src/rest/types/order/index.ts","../src/rest/types/index.ts","../src/rest/dtos/organizations/update-organization.dto.ts","../src/rest/dtos/users/create-user.dto.ts","../src/rest/dtos/users/sign-in-user.dto.ts","../src/rest/dtos/users/update-user.dto.ts","../src/rest/request/request.ts","../src/utils/index.ts","../src/rest/client.ts","../src/sdk/builder.ts","../src/sdk/auth.ts","../src/sdk/careers.ts","../src/sdk/health.ts","../src/sdk/organizations.ts","../src/sdk/profiles.ts","../src/sdk/users.ts","../src/tonightpass.ts"],"names":["DEFAULT_API_URL","EMAIL_REGEX","PASSWORD_REGEX","NAME_REGEX","SLUG_REGEX","BCRYPT_HASH","PHONE_NUMBER_REGEX","IMAGE_URL_REGEX","IsArray","IsEnum","IsNotEmpty","IsObject","IsOptional","IsString","IsUrl","Length","EventTicketCategory","EventType","EventStyleType","OrganizationSocialType","OrganizationMemberStatus","OrganizationMemberRole","UserTokenType","UserRole","OrderStatus","Currency","Language","CreateOrganizationDto","slug","identity","members","location","CreateOrganizationIdentityDto","displayName","description","avatarUrl","bannerUrl","socialLinks","protocols","OrganizationMemberDto","user","role","UpdateOrganizationDto","CreateUserDto","identifier","password","addresses","SignInUserDto","Type","IsDateString","IsEmail","IsPhoneNumber","Matches","MaxLength","MinLength","ValidateNested","UpdateUserDto","UpdateIdentifierDto","UpdateIdentityDto","email","phoneNumber","username","firstName","lastName","gender","birthDate","message","axios","isBrowser","window","instance","create","headers","Accept","responseType","transformRequest","data","JSON","stringify","withCredentials","request","__name","url","options","then","response","catch","error","pathcat","TonightPassAPIError","Error","status","constructor","Client","path","params","baseURL","setOptions","get","query","requester","undefined","post","body","put","patch","delete","method","result","success","sdk","builder","auth","client","signIn","signUp","signOut","refreshToken","careers","categories","getAll","employmentTypes","jobs","id","offices","health","database","http","organizations","update","profiles","users","me","check","suggestions","TonightPass"],"mappings":"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","sourcesContent":["export const DEFAULT_API_URL = \"https://api.tonightpass.com\";\n","export const EMAIL_REGEX = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/;\n\n// checks if a password has at least one uppercase letter and a number or special character\nexport const PASSWORD_REGEX =\n /((?=.*\\d)|(?=.*\\W+))(?![.\\n])(?=.*[A-Z])(?=.*[a-z]).*$/;\n\n// checks if a string has only letters, numbers, spaces, apostrophes, dots and dashes\nexport const NAME_REGEX = /(^[\\p{L}\\d'\\\\.\\s\\\\-]*$)/u;\n\n// checks if a string is a valid slug, useful for usernames\nexport const SLUG_REGEX = /^[a-z\\d]+(?:(\\.|-|_)[a-z\\d]+)*$/;\n\n// validates if passwords are valid bcrypt hashes\nexport const BCRYPT_HASH = /\\$2[abxy]?\\$\\d{1,2}\\$[A-Za-z\\d\\\\./]{53}/;\n\nexport const PHONE_NUMBER_REGEX =\n /^\\s*(?:\\+?(\\d{1,3}))?([-. (]*(\\d{3})[-. )]*)?((\\d{3})[-. ]*(\\d{2,4})(?:[-.x ]*(\\d+))?)\\s*$/;\n\nexport const IMAGE_URL_REGEX =\n /(((http:\\/\\/www)|(http:\\/\\/)|(www))[-a-zA-Z0-9@:%_\\\\+.~#?&//=]+)\\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;\n","import \"reflect-metadata\";\n\nexport * from \"./organizations\";\nexport * from \"./users\";\n","import {\n IsArray,\n IsEnum,\n IsNotEmpty,\n IsObject,\n IsOptional,\n IsString,\n IsUrl,\n Length,\n} from \"class-validator\";\n\nimport {\n OrganizationMemberRole,\n type Location,\n type OrganizationSocialLink,\n} from \"../../types\";\n\nexport class CreateOrganizationDto {\n @IsOptional()\n @IsString()\n @Length(1, 128)\n slug?: string;\n\n @IsObject()\n identity: CreateOrganizationIdentityDto;\n\n @IsArray()\n members: OrganizationMemberDto[];\n\n @IsOptional()\n @IsObject()\n location?: Location;\n}\n\nclass CreateOrganizationIdentityDto {\n @IsString()\n @IsNotEmpty()\n @Length(1, 32)\n displayName: string;\n\n @IsString()\n @IsNotEmpty()\n @Length(16, 1024)\n description: string;\n\n @IsUrl({\n protocols: [\"http\", \"https\"],\n })\n avatarUrl?: string;\n\n @IsOptional()\n @IsUrl({\n protocols: [\"http\", \"https\"],\n })\n bannerUrl?: string;\n\n @IsOptional()\n @IsArray()\n socialLinks?: OrganizationSocialLink[];\n}\n\nclass OrganizationMemberDto {\n @IsString()\n @IsNotEmpty()\n user: string;\n\n @IsEnum(OrganizationMemberRole)\n @IsNotEmpty()\n role: OrganizationMemberRole;\n}\n","import { Currency } from \"../..\";\n\nexport type EventTicket = {\n id: string;\n name: string;\n description?: string;\n price: number;\n displayPrice: number;\n quantity: number;\n type: EventTicketType;\n category: EventTicketCategory;\n currency: Currency;\n vatRate: number;\n externalId?: string;\n isVisible: boolean;\n isFeesIncluded: boolean;\n startAt: Date;\n endAt: Date;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type EventTicketType = \"e-ticket\" | \"other\";\n\nexport enum EventTicketCategory {\n Entry = \"entry\",\n Package = \"package\",\n Meal = \"meal\",\n Drink = \"drink\",\n Parking = \"parking\",\n Accommodation = \"accommodation\",\n Camping = \"camping\",\n Locker = \"locker\",\n Shuttle = \"shuttle\",\n Other = \"other\",\n}\n","import { EventTicket } from \"./ticket\";\nimport { Location } from \"..\";\nimport { Organization } from \"../organizations\";\n\nexport * from \"./ticket\";\n\nexport type Event = {\n title: string;\n description: string;\n slug: string;\n organization: Organization;\n type: EventType;\n public: boolean;\n flyers: string[];\n trailers: string[];\n location: Location;\n tickets: EventTicket[];\n styles: EventStyle[];\n startAt: Date;\n endAt: Date;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport enum EventType {\n Clubbing = \"clubbing\",\n Concert = \"concert\",\n Afterwork = \"afterwork\",\n DancingLunch = \"dancing_lunch\",\n Diner = \"diner\",\n Garden = \"garden\",\n AfterBeach = \"after_beach\",\n Festival = \"festival\",\n Spectacle = \"spectacle\",\n Cruise = \"cruise\",\n OutsideAnimation = \"outside_animation\",\n Sport = \"sport\",\n Match = \"match\",\n Seminar = \"seminar\",\n Conference = \"conference\",\n WellnessDay = \"wellness_day\",\n Workshop = \"workshop\",\n TradeFair = \"trade_fair\",\n ConsumerShow = \"consumer_show\",\n Membership = \"membership\",\n}\n\nexport type EventStyle = {\n type: EventStyleType;\n emoji: string;\n name: string;\n};\n\nexport enum EventStyleType {\n Music = \"music\",\n Dress = \"dress\",\n Sport = \"sport\",\n Food = \"food\",\n Art = \"art\",\n}\n","import { Location, Profile, ProfileMetadata } from \"..\";\nimport { CreateOrganizationDto, UpdateOrganizationDto } from \"../../dtos\";\nimport { Endpoint } from \"../../endpoints\";\nimport { Event } from \"../event\";\nimport { EventTicket } from \"../event/ticket\";\nimport { User } from \"../users\";\n\nexport type Organization = {\n id: string;\n slug: string;\n identity: OrganizationIdentity;\n members: OrganizationMember[];\n location?: Location;\n events: Event[];\n savedTickets: EventTicket[];\n verified: boolean;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type OrganizationIdentity = Profile & {\n socialLinks: OrganizationSocialLink[];\n\n metadata: ProfileMetadata & {\n eventsCount: number;\n viewsCount: number;\n membersCount: number;\n };\n};\n\nexport type OrganizationSocialLink = {\n type: OrganizationSocialType;\n url: string;\n};\n\nexport enum OrganizationSocialType {\n Facebook = \"facebook\",\n Twitter = \"twitter\",\n Instagram = \"instagram\",\n Linkedin = \"linkedin\",\n Youtube = \"youtube\",\n Website = \"website\",\n}\n\nexport type OrganizationMember = {\n user: User;\n organization: Organization;\n role: OrganizationMemberRole;\n status: OrganizationMemberStatus;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport enum OrganizationMemberStatus {\n Pending = \"pending\",\n Accepted = \"accepted\",\n Rejected = \"rejected\",\n}\n\nexport enum OrganizationMemberRole {\n Member = \"member\",\n Manager = \"manager\",\n Admin = \"admin\",\n Owner = \"owner\",\n}\n\nexport type OrganizationEndpoints =\n | Endpoint<\"GET\", \"/organizations\", Organization[]>\n | Endpoint<\"GET\", \"/organizations/:id\", Organization>\n | Endpoint<\"POST\", \"/organizations\", Organization, CreateOrganizationDto>\n | Endpoint<\"PUT\", \"/organizations/:id\", Organization, UpdateOrganizationDto>\n | Endpoint<\"DELETE\", \"/organizations/:id\", boolean>\n | Endpoint<\"GET\", \"/organizations/members\", OrganizationMember[]>\n | Endpoint<\"PUT\", \"/organizations/members/:id\", OrganizationMember>\n | Endpoint<\"DELETE\", \"/organizations/members/:id\", boolean>;\n","import { User } from \"../users\";\n\nexport type UserToken = {\n id: string;\n user: User;\n type: UserTokenType;\n value: string;\n createdAt: Date;\n expiresAt: Date;\n};\n\nexport enum UserTokenType {\n Authentication = \"authentication\",\n OrganizationInvite = \"organization_invite\",\n PasswordRecovery = \"password_recovery\",\n EmailValidation = \"email_validation\",\n PhoneValidation = \"phone_validation\",\n}\n","import { Currency, Language, Location, Profile, ProfileMetadata } from \"..\";\nimport { UpdateUserDto } from \"../../dtos\";\nimport { Endpoint } from \"../../endpoints\";\n\nexport type User = {\n id: string;\n identifier: UserIdentifier;\n password: string;\n identity: UserIdentity;\n role: UserRole;\n addresses: Location[];\n preferences: UserPreferences;\n connections: UserConnection[];\n verified: boolean;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type UserIdentifier = {\n email?: string;\n phoneNumber?: string;\n username: string;\n\n [key: string]: string | undefined;\n};\n\nexport type UserIdentity = Profile & {\n firstName: string;\n lastName: string;\n fullName: string;\n gender: UserIdentityGender;\n birthDate: Date;\n\n metadata: ProfileMetadata & {\n followingCount: number;\n hasPassPlus: boolean;\n idValid: boolean;\n };\n};\n\nexport enum UserRole {\n User = \"user\",\n Developer = \"developer\",\n Admin = \"admin\",\n}\n\nexport type UserIdentityGender =\n | \"male\"\n | \"female\"\n | \"non-binary\"\n | \"gender-fluid\"\n | \"neutral\"\n | \"other\"\n | string;\n\nexport type UserPreferences = {\n language: Language;\n currency: Currency;\n notifications: {\n email: {\n newsletter: boolean;\n message: boolean;\n };\n push: {\n message: boolean;\n };\n };\n};\n\nexport type UserConnection = {\n ip: string;\n os: UserConnectionOS;\n device: UserConnectionDevice;\n client: UserConnectionClient;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type UserConnectionOS = {\n name: string;\n version: string;\n};\n\nexport type UserConnectionDevice = {\n type: string;\n brand: string;\n};\n\nexport type UserConnectionClient = {\n name: string;\n version: string;\n};\n\nexport type UserEndpoints =\n | Endpoint<\"GET\", \"/users\", User[]>\n | Endpoint<\"GET\", \"/users/:id\", User, { id: string }>\n | Endpoint<\"GET\", \"/users/me\", User>\n | Endpoint<\n \"GET\",\n \"/users/check/:identifier\",\n {\n exists: boolean;\n identifier: UserIdentifier;\n suggestions?: string[];\n },\n { identifier: boolean; suggestions?: boolean }\n >\n | Endpoint<\"PUT\", \"/users/:id\", User, UpdateUserDto>;\n","import { Currency } from \"..\";\nimport { Event, EventTicket } from \"../event\";\nimport { User } from \"../users\";\n\nexport enum OrderStatus {\n Created = \"created\",\n Cancelled = \"cancelled\",\n Completed = \"completed\",\n Pending = \"pending\",\n Confirmed = \"confirmed\",\n Declined = \"declined\",\n Refunded = \"refunded\",\n PartiallyRefunded = \"partially_refunded\",\n Expired = \"expired\",\n}\n\nexport type OrderItem = {\n id: string;\n ticket: EventTicket;\n isUsed: boolean;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type Order = {\n id: string;\n owner: User;\n members: User[];\n status: OrderStatus;\n event: Event;\n items: OrderItem[];\n promoCode?: PromoCode;\n total: number;\n currency: Currency;\n createdAt: Date;\n};\n\nexport type PromoCode = {\n id: string;\n code: string;\n used: number;\n discount: number;\n isActive: boolean;\n expirationAt: Date;\n createdAt: Date;\n};\n","export * from \"./auth\";\nexport * from \"./careers\";\nexport * from \"./event\";\nexport * from \"./health\";\nexport * from \"./organizations\";\nexport * from \"./token\";\nexport * from \"./users\";\nexport * from \"./order\";\nexport * from \"./profiles\";\n\nexport type Location = {\n name?: string;\n address: string;\n zipCode: string;\n city: string;\n country: string;\n geometry?: {\n latitude: number;\n longitude: number;\n };\n};\n\n// Currency\nexport enum Currency {\n EUR = \"EUR\",\n USD = \"USD\",\n GBP = \"GBP\",\n}\n\n// I18n\nexport enum Language {\n FR = \"fr\",\n EN = \"en\",\n}\n","import { CreateOrganizationDto } from \"./create-organization.dto\";\n\nexport class UpdateOrganizationDto extends CreateOrganizationDto {}\n","import { Location, UserIdentifier, UserIdentityGender } from \"../../types\";\n\nexport class CreateUserDto {\n identifier: UserIdentifier;\n password: string;\n identity: CreateUserIdentituDto;\n addresses: Location[];\n}\n\nclass CreateUserIdentituDto {\n firstName: string;\n lastName: string;\n gender: UserIdentityGender;\n avatarUrl?: string;\n birthDate: Date;\n}\n","export class SignInUserDto {\n identifier: string;\n password: string;\n}\n","import { Type } from \"class-transformer\";\nimport {\n IsDateString,\n IsEmail,\n IsObject,\n IsOptional,\n IsPhoneNumber,\n IsString,\n IsUrl,\n Length,\n Matches,\n MaxLength,\n MinLength,\n ValidateNested,\n} from \"class-validator\";\n\nimport { NAME_REGEX } from \"../../../constants/regex\";\nimport { UserIdentifier, UserIdentity } from \"../../types\";\n\nexport class UpdateUserDto {\n @IsOptional()\n @IsObject()\n @ValidateNested()\n @Type(() => UpdateIdentifierDto)\n identifier?: UpdateIdentifierDto;\n\n @IsOptional()\n @IsObject()\n @ValidateNested()\n @Type(() => UpdateIdentityDto)\n identity?: UpdateIdentityDto;\n\n @IsOptional()\n @IsString()\n @MinLength(6)\n @MaxLength(130)\n password?: string;\n}\n\nclass UpdateIdentifierDto\n implements\n Partial<Pick<UserIdentifier, \"email\" | \"phoneNumber\" | \"username\">>\n{\n @IsOptional()\n @IsString()\n @IsEmail()\n email?: string;\n\n @IsOptional()\n @IsString()\n @IsPhoneNumber()\n phoneNumber?: string;\n\n @IsOptional()\n @IsString()\n @MinLength(3)\n username?: string;\n}\n\nclass UpdateIdentityDto\n implements\n Partial<\n Pick<\n UserIdentity,\n | \"firstName\"\n | \"lastName\"\n | \"displayName\"\n | \"description\"\n | \"avatarUrl\"\n | \"bannerUrl\"\n | \"gender\"\n | \"birthDate\"\n >\n >\n{\n @IsOptional()\n @IsString()\n @Length(2, 50)\n @Matches(NAME_REGEX, {\n message: \"First name must be composed of letters only\",\n })\n firstName?: string;\n\n @IsOptional()\n @IsString()\n @Length(2, 50)\n @Matches(NAME_REGEX, {\n message: \"Last name must be composed of letters only\",\n })\n lastName?: string;\n\n @IsOptional()\n @IsString()\n @Length(1, 32)\n displayName?: string;\n\n @IsOptional()\n @IsString()\n @Length(15, 500)\n description?: string;\n\n @IsOptional()\n @IsUrl()\n avatarUrl?: string | undefined;\n\n @IsOptional()\n @IsUrl()\n bannerUrl?: string | undefined;\n\n @IsOptional()\n gender?: string;\n\n @IsOptional()\n @IsDateString()\n birthDate?: Date;\n}\n","import axios, { Options, Response } from \"redaxios\";\n\nimport { isBrowser } from \"../../utils\";\nimport { APIResponse, ErroredAPIResponse } from \"../endpoints\";\n\nconst instance = axios.create({\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n ...(!isBrowser && { \"User-Agent\": \"tonightpass-api-client\" }),\n },\n responseType: \"json\",\n transformRequest: [\n function (data) {\n return JSON.stringify(data);\n },\n ],\n withCredentials: isBrowser,\n});\n\nexport interface APIRequestOptions extends Options {}\n\nexport const request = async <T>(url: string, options?: Options) => {\n const response = instance<APIResponse<T>>(url, { ...options })\n .then((response) => response)\n .catch((error: Response<ErroredAPIResponse>) => {\n throw error.data;\n });\n\n return response;\n};\n","export const isBrowser = typeof window !== \"undefined\";\n","import { ParamValue, Query, pathcat } from \"pathcat\";\nimport { Options, Response } from \"redaxios\";\n\nimport { APIResponse, Endpoints, ErroredAPIResponse } from \"./endpoints\";\nimport { APIRequestOptions, request } from \"./request\";\nimport { DEFAULT_API_URL } from \"../constants\";\n\nexport type PathsFor<M extends Options[\"method\"]> = Extract<\n Endpoints,\n { method: M }\n>[\"path\"];\n\nexport class TonightPassAPIError<T> extends Error {\n public readonly status: number;\n\n constructor(\n public readonly response: Response<APIResponse<T>>,\n public readonly data: ErroredAPIResponse,\n ) {\n super(data.message);\n\n this.status = response.status;\n }\n}\n\nexport interface ClientOptions {\n readonly baseURL: string;\n}\n\nexport class Client {\n private options;\n public readonly url;\n\n constructor(options: ClientOptions) {\n this.options = options;\n this.url = (path: string, params: Record<string, ParamValue>) => {\n const baseURL = this.options.baseURL || DEFAULT_API_URL;\n return pathcat(baseURL, path, params);\n };\n }\n\n setOptions(options: ClientOptions) {\n this.options = options;\n }\n\n async get<Path extends PathsFor<\"GET\">>(\n path: Path,\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"GET\" }>[\"res\"]\n >(\"GET\", path, undefined, query, options);\n }\n\n async post<Path extends Extract<Endpoints, { method: \"POST\" }>[\"path\"]>(\n path: Path,\n body: Extract<Endpoints, { path: Path; method: \"POST\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"POST\" }>[\"res\"]\n >(\"POST\", path, body, query, options);\n }\n\n async put<Path extends Extract<Endpoints, { method: \"PUT\" }>[\"path\"]>(\n path: Path,\n body: Extract<Endpoints, { path: Path; method: \"PUT\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"PUT\" }>[\"res\"]\n >(\"PUT\", path, body, query, options);\n }\n\n async patch<Path extends Extract<Endpoints, { method: \"PATCH\" }>[\"path\"]>(\n path: Path,\n body: Extract<Endpoints, { path: Path; method: \"PATCH\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"PATCH\" }>[\"res\"]\n >(\"PATCH\", path, body, query, options);\n }\n\n async delete<Path extends Extract<Endpoints, { method: \"DELETE\" }>[\"path\"]>(\n path: Path,\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"DELETE\" }>[\"res\"]\n >(\"DELETE\", path, undefined, query, options);\n }\n\n private async requester<T>(\n method: Options[\"method\"],\n path: string,\n body: unknown,\n query: Query<string> = {},\n options: APIRequestOptions = {},\n ) {\n const url = this.url(path, query);\n\n if (body !== undefined) {\n if (method === \"GET\") {\n throw new Error(\"Cannot send a GET request with a body\");\n }\n }\n\n const response: Response<APIResponse<T>> = await request<T>(url, {\n method,\n data: body,\n ...options,\n });\n\n const result = response.data;\n\n if (!result.success) {\n throw new TonightPassAPIError<T>(response, result);\n }\n\n return result.data;\n }\n}\n","import { Client } from \"../rest\";\n\nexport function sdk<T>(builder: (client: Client) => T) {\n return builder;\n}\n","import { sdk } from \"./builder\";\nimport { CreateUserDto, SignInUserDto } from \"../rest\";\n\nexport const auth = sdk((client) => ({\n signIn: async (data: SignInUserDto) => client.post(\"/auth/sign-in\", data),\n signUp: async (data: CreateUserDto) => client.post(\"/auth/sign-up\", data),\n signOut: async () => client.post(\"/auth/sign-out\", null),\n refreshToken: async () => client.post(\"/auth/refresh-token\", null),\n}));\n","import { Query } from \"pathcat\";\n\nimport { sdk } from \"./builder\";\n\nexport const careers = sdk((client) => ({\n categories: {\n getAll: async (query?: Query<\"/careers/categories\">) =>\n client.get(\"/careers/categories\", query),\n },\n employmentTypes: {\n getAll: async (query?: Query<\"/careers/employmentTypes\">) =>\n client.get(\"/careers/employmentTypes\", query),\n },\n jobs: {\n getAll: async (query?: Query<\"/careers/jobs\">) =>\n client.get(\"/careers/jobs\", query),\n get: async (id: number) => client.get(\"/careers/jobs/:id\", { id }),\n },\n offices: {\n getAll: async (query?: Query<\"/careers/offices\">) =>\n client.get(\"/careers/offices\", query),\n },\n}));\n","import { sdk } from \"./builder\";\n\nexport const health = sdk((client) => ({\n database: async () => client.get(\"/health/database\"),\n http: async () => client.get(\"/health/http\"),\n}));\n","import { sdk } from \"./builder\";\nimport { CreateOrganizationDto, UpdateOrganizationDto } from \"../rest\";\n\nexport const organizations = sdk((client) => ({\n getAll: async () => client.get(\"/organizations\"),\n get: async (id: string) => client.get(\"/organizations/:id\", { id }),\n create: async (data: CreateOrganizationDto) =>\n client.post(\"/organizations\", data),\n update: async (id: string, data: UpdateOrganizationDto) =>\n client.put(\"/organizations/:id\", data, { id }),\n delete: async (id: string) => client.delete(\"/organizations/:id\", { id }),\n members: {\n getAll: async () => client.get(\"/organizations/members\"),\n delete: async (id: string) =>\n client.delete(\"/organizations/members/:id\", { id }),\n },\n}));\n","import { sdk } from \"./builder\";\n\nexport const profiles = sdk((client) => ({\n get: async (username: string) =>\n client.get(\"/profiles/:username\", { username }),\n}));\n","import { sdk } from \"./builder\";\nimport { UpdateUserDto } from \"../rest\";\n\nexport const users = sdk((client) => ({\n getAll: async () => client.get(\"/users\"),\n get: async (id: string) => client.get(\"/users\", { id }),\n me: async () => client.get(\"/users/me\"),\n check: async (identifier: string, suggestions?: boolean) =>\n client.get(\"/users/check/:identifier\", { identifier, suggestions }),\n update: async (id: string, data: UpdateUserDto) =>\n client.put(\"/users/:id\", data, { id }),\n}));\n","import { Client, ClientOptions } from \"./rest\";\nimport { auth, careers, health, organizations, profiles, users } from \"./sdk\";\n\nexport class TonightPass {\n public readonly client: Client;\n\n public readonly auth;\n public readonly careers;\n public readonly health;\n public readonly organizations;\n public readonly profiles;\n public readonly users;\n\n constructor(options: ClientOptions) {\n this.client = new Client(options);\n\n this.auth = auth(this.client);\n this.careers = careers(this.client);\n this.health = health(this.client);\n this.organizations = organizations(this.client);\n this.profiles = profiles(this.client);\n this.users = users(this.client);\n }\n}\n"]}
package/dist/index.mjs CHANGED
@@ -1,11 +1,11 @@
1
1
  import 'reflect-metadata';
2
2
  import { IsOptional, IsString, Length, IsObject, IsArray, IsNotEmpty, IsUrl, IsEnum, ValidateNested, MinLength, MaxLength, IsEmail, IsPhoneNumber, Matches, IsDateString } from 'class-validator';
3
3
  import { Type } from 'class-transformer';
4
- import ht from 'redaxios';
4
+ import he from 'redaxios';
5
5
  import { pathcat } from 'pathcat';
6
6
 
7
- var ct=Object.defineProperty;var s=(t,e)=>ct(t,"name",{value:e,configurable:!0});var U="https://api.tonightpass.com";var At=/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/,It=/((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,j=/(^[\p{L}\d'\\.\s\\-]*$)/u,wt=/^[a-z\d]+(?:(\.|-|_)[a-z\d]+)*$/,_t=/\$2[abxy]?\$\d{1,2}\$[A-Za-z\d\\./]{53}/,Dt=/^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/,Nt=/(((http:\/\/www)|(http:\/\/)|(www))[-a-zA-Z0-9@:%_\\+.~#?&//=]+)\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;var P;(function(t){t.ENTRY="entry",t.PACKAGE="package",t.MEAL="meal",t.DRINK="drink",t.PARKING="parking",t.ACCOMMODATION="accommodation",t.CAMPING="camping",t.LOCKER="locker",t.SHUTTLE="shuttle",t.OTHER="other";})(P||(P={}));var M;(function(t){t.Clubbing="clubbing",t.Concert="concert",t.Afterwork="afterwork",t.DancingLunch="dancing_lunch",t.Diner="diner",t.Garden="garden",t.AfterBeach="after_beach",t.Festival="festival",t.Spectacle="spectacle",t.Cruise="cruise",t.OutsideAnimation="outside_animation",t.Sport="sport",t.Match="match",t.Seminar="seminar",t.Conference="conference",t.WellnessDay="wellness_day",t.Workshop="workshop",t.TradeFair="trade_fair",t.ConsumerShow="consumer_show",t.Membership="membership";})(M||(M={}));var S;(function(t){t.Music="music",t.Dress="dress",t.Sport="sport",t.Food="food",t.Art="art";})(S||(S={}));var G;(function(t){t.Facebook="facebook",t.Twitter="twitter",t.Instagram="instagram",t.Linkedin="linkedin",t.Youtube="youtube",t.Website="website";})(G||(G={}));var z;(function(t){t.PENDING="pending",t.ACCEPTED="accepted",t.REJECTED="rejected";})(z||(z={}));var y;(function(t){t.MEMBER="member",t.MANAGER="manager",t.ADMINISTRATOR="admin",t.OWNER="owner";})(y||(y={}));var C;(function(t){t.Authentication="authentication",t.OrganizationInvite="organization_invite",t.PasswordRecovery="password_recovery",t.EmailValidation="email_validation",t.PhoneValidation="phone_validation";})(C||(C={}));var q;(function(t){t[t.USER=0]="USER",t[t.DEVELOPER=8]="DEVELOPER",t[t.ADMINISTRATOR=10]="ADMINISTRATOR";})(q||(q={}));var B;(function(t){t.Created="created",t.Cancelled="cancelled",t.Completed="completed",t.Pending="pending",t.Confirmed="confirmed",t.Declined="declined",t.Refunded="refunded",t.PartiallyRefunded="partially_refunded",t.Expired="expired";})(B||(B={}));var F;(function(t){t.EUR="EUR",t.USD="USD",t.GBP="GBP";})(F||(F={}));var $;(function(t){t.FR="fr",t.EN="en";})($||($={}));function f(t,e,o,r){var n=arguments.length,i=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,o):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,o,r);else for(var u=t.length-1;u>=0;u--)(c=t[u])&&(i=(n<3?c(i):n>3?c(e,o,i):c(e,o))||i);return n>3&&i&&Object.defineProperty(e,o,i),i}s(f,"_ts_decorate");function m(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}s(m,"_ts_metadata");var g=class{static{s(this,"CreateOrganizationDto");}slug;identity;members;location};f([IsOptional(),IsString(),Length(1,128),m("design:type",String)],g.prototype,"slug",void 0);f([IsObject(),m("design:type",typeof x>"u"?Object:x)],g.prototype,"identity",void 0);f([IsArray(),m("design:type",Array)],g.prototype,"members",void 0);f([IsOptional(),IsObject(),m("design:type",typeof Location>"u"?Object:Location)],g.prototype,"location",void 0);var x=class{static{s(this,"CreateOrganizationIdentityDto");}displayName;description;avatarUrl;bannerUrl;socialLinks};f([IsString(),IsNotEmpty(),Length(1,32),m("design:type",String)],x.prototype,"displayName",void 0);f([IsString(),IsNotEmpty(),Length(16,1024),m("design:type",String)],x.prototype,"description",void 0);f([IsUrl({protocols:["http","https"]}),m("design:type",String)],x.prototype,"avatarUrl",void 0);f([IsOptional(),IsUrl({protocols:["http","https"]}),m("design:type",String)],x.prototype,"bannerUrl",void 0);f([IsOptional(),IsArray(),m("design:type",Array)],x.prototype,"socialLinks",void 0);var W=class{static{s(this,"OrganizationMemberDto");}user;role};f([IsString(),IsNotEmpty(),m("design:type",String)],W.prototype,"user",void 0);f([IsEnum(y),IsNotEmpty(),m("design:type",typeof y>"u"?Object:y)],W.prototype,"role",void 0);var V=class extends g{static{s(this,"UpdateOrganizationDto");}};var K=class{static{s(this,"CreateUserDto");}identifier;password;identity;addresses};var Y=class{static{s(this,"SignInUserDto");}identifier;password};function a(t,e,o,r){var n=arguments.length,i=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,o):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,o,r);else for(var u=t.length-1;u>=0;u--)(c=t[u])&&(i=(n<3?c(i):n>3?c(e,o,i):c(e,o))||i);return n>3&&i&&Object.defineProperty(e,o,i),i}s(a,"_ts_decorate");function p(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}s(p,"_ts_metadata");var A=class{static{s(this,"UpdateUserDto");}identifier;identity;password};a([IsOptional(),IsObject(),ValidateNested(),Type(()=>b),p("design:type",typeof b>"u"?Object:b)],A.prototype,"identifier",void 0);a([IsOptional(),IsObject(),ValidateNested(),Type(()=>l),p("design:type",typeof l>"u"?Object:l)],A.prototype,"identity",void 0);a([IsOptional(),IsString(),MinLength(6),MaxLength(130),p("design:type",String)],A.prototype,"password",void 0);var b=class{static{s(this,"UpdateIdentifierDto");}email;phoneNumber;username};a([IsOptional(),IsString(),IsEmail(),p("design:type",String)],b.prototype,"email",void 0);a([IsOptional(),IsString(),IsPhoneNumber(),p("design:type",String)],b.prototype,"phoneNumber",void 0);a([IsOptional(),IsString(),MinLength(3),p("design:type",String)],b.prototype,"username",void 0);var l=class{static{s(this,"UpdateIdentityDto");}firstName;lastName;displayName;description;avatarUrl;bannerUrl;gender;birthDate};a([IsOptional(),IsString(),Length(2,50),Matches(j,{message:"First name must be composed of letters only"}),p("design:type",String)],l.prototype,"firstName",void 0);a([IsOptional(),IsString(),Length(2,50),Matches(j,{message:"Last name must be composed of letters only"}),p("design:type",String)],l.prototype,"lastName",void 0);a([IsOptional(),IsString(),Length(1,32),p("design:type",String)],l.prototype,"displayName",void 0);a([IsOptional(),IsString(),Length(15,500),p("design:type",String)],l.prototype,"description",void 0);a([IsOptional(),IsUrl(),p("design:type",Object)],l.prototype,"avatarUrl",void 0);a([IsOptional(),IsUrl(),p("design:type",Object)],l.prototype,"bannerUrl",void 0);a([IsOptional(),p("design:type",String)],l.prototype,"gender",void 0);a([IsOptional(),IsDateString(),p("design:type",typeof Date>"u"?Object:Date)],l.prototype,"birthDate",void 0);var O=typeof window<"u";var xt=ht.create({headers:{"Content-Type":"application/json",Accept:"application/json",...!O&&{"User-Agent":"tonightpass-api-client"}},responseType:"json",transformRequest:[function(t){return JSON.stringify(t)}],withCredentials:O}),ot=s(async(t,e)=>xt(t,{...e}).then(r=>r).catch(r=>{throw r.data}),"request");var v=class extends Error{static{s(this,"TonightPassAPIError");}response;data;status;constructor(e,o){super(o.message),this.response=e,this.data=o,this.status=e.status;}},N=class{static{s(this,"Client");}options;url;constructor(e){this.options=e,this.url=(o,r)=>{let n=this.options.baseURL||U;return pathcat(n,o,r)};}setOptions(e){this.options=e;}async get(e,o,r){return this.requester("GET",e,void 0,o,r)}async post(e,o,r,n){return this.requester("POST",e,o,r,n)}async put(e,o,r,n){return this.requester("PUT",e,o,r,n)}async patch(e,o,r,n){return this.requester("PATCH",e,o,r,n)}async delete(e,o,r){return this.requester("DELETE",e,void 0,o,r)}async requester(e,o,r,n={},i={}){let c=this.url(o,n);if(r!==void 0&&e==="GET")throw new Error("Cannot send a GET request with a body");let u=await ot(c,{method:e,data:r,...i}),E=u.data;if(!E.success)throw new v(u,E);return E.data}};function R(t){return t}s(R,"sdk");var rt=t=>({signIn:async e=>t.post("/auth/sign-in",e),signUp:async e=>t.post("/auth/sign-up",e),signOut:async()=>t.post("/auth/sign-out",null),refreshToken:async()=>t.post("/auth/refresh-token",null)});var st=t=>({categories:{getAll:async e=>t.get("/careers/categories",e)},employmentTypes:{getAll:async e=>t.get("/careers/employmentTypes",e)},jobs:{getAll:async e=>t.get("/careers/jobs",e),get:async e=>t.get("/careers/jobs/:id",{id:e})},offices:{getAll:async e=>t.get("/careers/offices",e)}});var nt=t=>({database:async()=>t.get("/health/database"),http:async()=>t.get("/health/http")});var it=t=>({getAll:async()=>t.get("/organizations"),get:async e=>t.get("/organizations/:id",{id:e}),create:async e=>t.post("/organizations",e),update:async(e,o)=>t.put("/organizations/:id",o,{id:e}),delete:async e=>t.delete("/organizations/:id",{id:e})});var at=t=>({get:async e=>t.get("/profiles/:username",{username:e})});var pt=t=>({getAll:async()=>t.get("/users"),get:async e=>t.get("/users",{id:e}),me:async()=>t.get("/users/me"),check:async(e,o)=>t.get("/users/check/:identifier",{identifier:e,suggestions:o}),update:async(e,o)=>t.put("/users/:id",o,{id:e})});var dt=class{static{s(this,"TonightPass");}client;auth;careers;health;organizations;profiles;users;constructor(e){this.client=new N(e),this.auth=rt(this.client),this.careers=st(this.client),this.health=nt(this.client),this.organizations=it(this.client),this.profiles=at(this.client),this.users=pt(this.client);}};
7
+ var ce=Object.defineProperty;var s=(e,t)=>ce(e,"name",{value:t,configurable:!0});var z="https://api.tonightpass.com";var _e=/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/,Ae=/((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,U=/(^[\p{L}\d'\\.\s\\-]*$)/u,Re=/^[a-z\d]+(?:(\.|-|_)[a-z\d]+)*$/,je=/\$2[abxy]?\$\d{1,2}\$[A-Za-z\d\\./]{53}/,ve=/^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/,De=/(((http:\/\/www)|(http:\/\/)|(www))[-a-zA-Z0-9@:%_\\+.~#?&//=]+)\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;var O;(function(e){e.Entry="entry",e.Package="package",e.Meal="meal",e.Drink="drink",e.Parking="parking",e.Accommodation="accommodation",e.Camping="camping",e.Locker="locker",e.Shuttle="shuttle",e.Other="other";})(O||(O={}));var S;(function(e){e.Clubbing="clubbing",e.Concert="concert",e.Afterwork="afterwork",e.DancingLunch="dancing_lunch",e.Diner="diner",e.Garden="garden",e.AfterBeach="after_beach",e.Festival="festival",e.Spectacle="spectacle",e.Cruise="cruise",e.OutsideAnimation="outside_animation",e.Sport="sport",e.Match="match",e.Seminar="seminar",e.Conference="conference",e.WellnessDay="wellness_day",e.Workshop="workshop",e.TradeFair="trade_fair",e.ConsumerShow="consumer_show",e.Membership="membership";})(S||(S={}));var G;(function(e){e.Music="music",e.Dress="dress",e.Sport="sport",e.Food="food",e.Art="art";})(G||(G={}));var M;(function(e){e.Facebook="facebook",e.Twitter="twitter",e.Instagram="instagram",e.Linkedin="linkedin",e.Youtube="youtube",e.Website="website";})(M||(M={}));var k;(function(e){e.Pending="pending",e.Accepted="accepted",e.Rejected="rejected";})(k||(k={}));var x;(function(e){e.Member="member",e.Manager="manager",e.Admin="admin",e.Owner="owner";})(x||(x={}));var q;(function(e){e.Authentication="authentication",e.OrganizationInvite="organization_invite",e.PasswordRecovery="password_recovery",e.EmailValidation="email_validation",e.PhoneValidation="phone_validation";})(q||(q={}));var C;(function(e){e.User="user",e.Developer="developer",e.Admin="admin";})(C||(C={}));var E;(function(e){e.Created="created",e.Cancelled="cancelled",e.Completed="completed",e.Pending="pending",e.Confirmed="confirmed",e.Declined="declined",e.Refunded="refunded",e.PartiallyRefunded="partially_refunded",e.Expired="expired";})(E||(E={}));var F;(function(e){e.EUR="EUR",e.USD="USD",e.GBP="GBP";})(F||(F={}));var $;(function(e){e.FR="fr",e.EN="en";})($||($={}));function f(e,t,o,r){var n=arguments.length,i=n<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,o):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,t,o,r);else for(var u=e.length-1;u>=0;u--)(c=e[u])&&(i=(n<3?c(i):n>3?c(t,o,i):c(t,o))||i);return n>3&&i&&Object.defineProperty(t,o,i),i}s(f,"_ts_decorate");function m(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}s(m,"_ts_metadata");var g=class{static{s(this,"CreateOrganizationDto");}slug;identity;members;location};f([IsOptional(),IsString(),Length(1,128),m("design:type",String)],g.prototype,"slug",void 0);f([IsObject(),m("design:type",typeof y>"u"?Object:y)],g.prototype,"identity",void 0);f([IsArray(),m("design:type",Array)],g.prototype,"members",void 0);f([IsOptional(),IsObject(),m("design:type",typeof Location>"u"?Object:Location)],g.prototype,"location",void 0);var y=class{static{s(this,"CreateOrganizationIdentityDto");}displayName;description;avatarUrl;bannerUrl;socialLinks};f([IsString(),IsNotEmpty(),Length(1,32),m("design:type",String)],y.prototype,"displayName",void 0);f([IsString(),IsNotEmpty(),Length(16,1024),m("design:type",String)],y.prototype,"description",void 0);f([IsUrl({protocols:["http","https"]}),m("design:type",String)],y.prototype,"avatarUrl",void 0);f([IsOptional(),IsUrl({protocols:["http","https"]}),m("design:type",String)],y.prototype,"bannerUrl",void 0);f([IsOptional(),IsArray(),m("design:type",Array)],y.prototype,"socialLinks",void 0);var H=class{static{s(this,"OrganizationMemberDto");}user;role};f([IsString(),IsNotEmpty(),m("design:type",String)],H.prototype,"user",void 0);f([IsEnum(x),IsNotEmpty(),m("design:type",typeof x>"u"?Object:x)],H.prototype,"role",void 0);var V=class extends g{static{s(this,"UpdateOrganizationDto");}};var Z=class{static{s(this,"CreateUserDto");}identifier;password;identity;addresses};var Y=class{static{s(this,"SignInUserDto");}identifier;password};function a(e,t,o,r){var n=arguments.length,i=n<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,o):r,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(e,t,o,r);else for(var u=e.length-1;u>=0;u--)(c=e[u])&&(i=(n<3?c(i):n>3?c(t,o,i):c(t,o))||i);return n>3&&i&&Object.defineProperty(t,o,i),i}s(a,"_ts_decorate");function p(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}s(p,"_ts_metadata");var _=class{static{s(this,"UpdateUserDto");}identifier;identity;password};a([IsOptional(),IsObject(),ValidateNested(),Type(()=>b),p("design:type",typeof b>"u"?Object:b)],_.prototype,"identifier",void 0);a([IsOptional(),IsObject(),ValidateNested(),Type(()=>l),p("design:type",typeof l>"u"?Object:l)],_.prototype,"identity",void 0);a([IsOptional(),IsString(),MinLength(6),MaxLength(130),p("design:type",String)],_.prototype,"password",void 0);var b=class{static{s(this,"UpdateIdentifierDto");}email;phoneNumber;username};a([IsOptional(),IsString(),IsEmail(),p("design:type",String)],b.prototype,"email",void 0);a([IsOptional(),IsString(),IsPhoneNumber(),p("design:type",String)],b.prototype,"phoneNumber",void 0);a([IsOptional(),IsString(),MinLength(3),p("design:type",String)],b.prototype,"username",void 0);var l=class{static{s(this,"UpdateIdentityDto");}firstName;lastName;displayName;description;avatarUrl;bannerUrl;gender;birthDate};a([IsOptional(),IsString(),Length(2,50),Matches(U,{message:"First name must be composed of letters only"}),p("design:type",String)],l.prototype,"firstName",void 0);a([IsOptional(),IsString(),Length(2,50),Matches(U,{message:"Last name must be composed of letters only"}),p("design:type",String)],l.prototype,"lastName",void 0);a([IsOptional(),IsString(),Length(1,32),p("design:type",String)],l.prototype,"displayName",void 0);a([IsOptional(),IsString(),Length(15,500),p("design:type",String)],l.prototype,"description",void 0);a([IsOptional(),IsUrl(),p("design:type",Object)],l.prototype,"avatarUrl",void 0);a([IsOptional(),IsUrl(),p("design:type",Object)],l.prototype,"bannerUrl",void 0);a([IsOptional(),p("design:type",String)],l.prototype,"gender",void 0);a([IsOptional(),IsDateString(),p("design:type",typeof Date>"u"?Object:Date)],l.prototype,"birthDate",void 0);var N=typeof window<"u";var ye=he.create({headers:{"Content-Type":"application/json",Accept:"application/json",...!N&&{"User-Agent":"tonightpass-api-client"}},responseType:"json",transformRequest:[function(e){return JSON.stringify(e)}],withCredentials:N}),oe=s(async(e,t)=>ye(e,{...t}).then(r=>r).catch(r=>{throw r.data}),"request");var P=class extends Error{static{s(this,"TonightPassAPIError");}response;data;status;constructor(t,o){super(o.message),this.response=t,this.data=o,this.status=t.status;}},D=class{static{s(this,"Client");}options;url;constructor(t){this.options=t,this.url=(o,r)=>{let n=this.options.baseURL||z;return pathcat(n,o,r)};}setOptions(t){this.options=t;}async get(t,o,r){return this.requester("GET",t,void 0,o,r)}async post(t,o,r,n){return this.requester("POST",t,o,r,n)}async put(t,o,r,n){return this.requester("PUT",t,o,r,n)}async patch(t,o,r,n){return this.requester("PATCH",t,o,r,n)}async delete(t,o,r){return this.requester("DELETE",t,void 0,o,r)}async requester(t,o,r,n={},i={}){let c=this.url(o,n);if(r!==void 0&&t==="GET")throw new Error("Cannot send a GET request with a body");let u=await oe(c,{method:t,data:r,...i}),I=u.data;if(!I.success)throw new P(u,I);return I.data}};function w(e){return e}s(w,"sdk");var re=e=>({signIn:async t=>e.post("/auth/sign-in",t),signUp:async t=>e.post("/auth/sign-up",t),signOut:async()=>e.post("/auth/sign-out",null),refreshToken:async()=>e.post("/auth/refresh-token",null)});var se=e=>({categories:{getAll:async t=>e.get("/careers/categories",t)},employmentTypes:{getAll:async t=>e.get("/careers/employmentTypes",t)},jobs:{getAll:async t=>e.get("/careers/jobs",t),get:async t=>e.get("/careers/jobs/:id",{id:t})},offices:{getAll:async t=>e.get("/careers/offices",t)}});var ne=e=>({database:async()=>e.get("/health/database"),http:async()=>e.get("/health/http")});var ie=e=>({getAll:async()=>e.get("/organizations"),get:async t=>e.get("/organizations/:id",{id:t}),create:async t=>e.post("/organizations",t),update:async(t,o)=>e.put("/organizations/:id",o,{id:t}),delete:async t=>e.delete("/organizations/:id",{id:t}),members:{getAll:async()=>e.get("/organizations/members"),delete:async t=>e.delete("/organizations/members/:id",{id:t})}});var ae=e=>({get:async t=>e.get("/profiles/:username",{username:t})});var pe=e=>({getAll:async()=>e.get("/users"),get:async t=>e.get("/users",{id:t}),me:async()=>e.get("/users/me"),check:async(t,o)=>e.get("/users/check/:identifier",{identifier:t,suggestions:o}),update:async(t,o)=>e.put("/users/:id",o,{id:t})});var de=class{static{s(this,"TonightPass");}client;auth;careers;health;organizations;profiles;users;constructor(t){this.client=new D(t),this.auth=re(this.client),this.careers=se(this.client),this.health=ne(this.client),this.organizations=ie(this.client),this.profiles=ae(this.client),this.users=pe(this.client);}};
8
8
 
9
- export { _t as BCRYPT_HASH, N as Client, g as CreateOrganizationDto, K as CreateUserDto, F as Currency, U as DEFAULT_API_URL, At as EMAIL_REGEX, S as EventStyleType, P as EventTicketCategory, M as EventType, Nt as IMAGE_URL_REGEX, $ as Language, j as NAME_REGEX, B as OrderStatus, y as OrganizationMemberRole, z as OrganizationMemberStatus, G as OrganizationSocialType, It as PASSWORD_REGEX, Dt as PHONE_NUMBER_REGEX, wt as SLUG_REGEX, Y as SignInUserDto, dt as TonightPass, v as TonightPassAPIError, V as UpdateOrganizationDto, A as UpdateUserDto, q as UserRole, C as UserTokenType, rt as auth, st as careers, nt as health, O as isBrowser, it as organizations, at as profiles, ot as request, R as sdk, pt as users };
9
+ export { je as BCRYPT_HASH, D as Client, g as CreateOrganizationDto, Z as CreateUserDto, F as Currency, z as DEFAULT_API_URL, _e as EMAIL_REGEX, G as EventStyleType, O as EventTicketCategory, S as EventType, De as IMAGE_URL_REGEX, $ as Language, U as NAME_REGEX, E as OrderStatus, x as OrganizationMemberRole, k as OrganizationMemberStatus, M as OrganizationSocialType, Ae as PASSWORD_REGEX, ve as PHONE_NUMBER_REGEX, Re as SLUG_REGEX, Y as SignInUserDto, de as TonightPass, P as TonightPassAPIError, V as UpdateOrganizationDto, _ as UpdateUserDto, C as UserRole, q as UserTokenType, re as auth, se as careers, ne as health, N as isBrowser, ie as organizations, ae as profiles, oe as request, w as sdk, pe as users };
10
10
  //# sourceMappingURL=out.js.map
11
11
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants/api.ts","../src/constants/regex.ts","../src/rest/dtos/index.ts","../src/rest/dtos/organizations/create-organization.dto.ts","../src/rest/types/event/ticket/index.ts","../src/rest/types/event/index.ts","../src/rest/types/organizations/index.ts","../src/rest/types/token/index.ts","../src/rest/types/users/index.ts","../src/rest/types/order/index.ts","../src/rest/types/index.ts","../src/rest/dtos/organizations/update-organization.dto.ts","../src/rest/dtos/users/create-user.dto.ts","../src/rest/dtos/users/sign-in-user.dto.ts","../src/rest/dtos/users/update-user.dto.ts","../src/rest/request/request.ts","../src/utils/index.ts","../src/rest/client.ts","../src/sdk/builder.ts","../src/sdk/auth.ts","../src/sdk/careers.ts","../src/sdk/health.ts","../src/sdk/organizations.ts","../src/sdk/profiles.ts","../src/sdk/users.ts","../src/tonightpass.ts"],"names":["DEFAULT_API_URL","EMAIL_REGEX","PASSWORD_REGEX","NAME_REGEX","SLUG_REGEX","BCRYPT_HASH","PHONE_NUMBER_REGEX","IMAGE_URL_REGEX","IsArray","IsEnum","IsNotEmpty","IsObject","IsOptional","IsString","IsUrl","Length","EventTicketCategory","EventType","EventStyleType","OrganizationSocialType","OrganizationMemberStatus","OrganizationMemberRole","UserTokenType","UserRole","OrderStatus","Currency","Language","CreateOrganizationDto","slug","identity","members","location","CreateOrganizationIdentityDto","displayName","description","avatarUrl","bannerUrl","socialLinks","protocols","OrganizationMemberDto","user","role","UpdateOrganizationDto","CreateUserDto","identifier","password","addresses","SignInUserDto","Type","IsDateString","IsEmail","IsPhoneNumber","Matches","MaxLength","MinLength","ValidateNested","UpdateUserDto","UpdateIdentifierDto","UpdateIdentityDto","email","phoneNumber","username","firstName","lastName","gender","birthDate","message","axios","isBrowser","window","instance","create","headers","Accept","responseType","transformRequest","data","JSON","stringify","withCredentials","request","__name","url","options","then","response","catch","error","pathcat","TonightPassAPIError","Error","status","constructor","Client","path","params","baseURL","setOptions","get","query","requester","undefined","post","body","put","patch","delete","method","result","success","sdk","builder","auth","client","signIn","signUp","signOut","refreshToken","careers","categories","getAll","employmentTypes","jobs","id","offices","health","database","http","organizations","update","profiles","users","me","check","suggestions","TonightPass"],"mappings":"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","sourcesContent":["export const DEFAULT_API_URL = \"https://api.tonightpass.com\";\n","export const EMAIL_REGEX = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/;\n\n// checks if a password has at least one uppercase letter and a number or special character\nexport const PASSWORD_REGEX =\n /((?=.*\\d)|(?=.*\\W+))(?![.\\n])(?=.*[A-Z])(?=.*[a-z]).*$/;\n\n// checks if a string has only letters, numbers, spaces, apostrophes, dots and dashes\nexport const NAME_REGEX = /(^[\\p{L}\\d'\\\\.\\s\\\\-]*$)/u;\n\n// checks if a string is a valid slug, useful for usernames\nexport const SLUG_REGEX = /^[a-z\\d]+(?:(\\.|-|_)[a-z\\d]+)*$/;\n\n// validates if passwords are valid bcrypt hashes\nexport const BCRYPT_HASH = /\\$2[abxy]?\\$\\d{1,2}\\$[A-Za-z\\d\\\\./]{53}/;\n\nexport const PHONE_NUMBER_REGEX =\n /^\\s*(?:\\+?(\\d{1,3}))?([-. (]*(\\d{3})[-. )]*)?((\\d{3})[-. ]*(\\d{2,4})(?:[-.x ]*(\\d+))?)\\s*$/;\n\nexport const IMAGE_URL_REGEX =\n /(((http:\\/\\/www)|(http:\\/\\/)|(www))[-a-zA-Z0-9@:%_\\\\+.~#?&//=]+)\\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;\n","import \"reflect-metadata\";\n\nexport * from \"./organizations\";\nexport * from \"./users\";\n","import {\n IsArray,\n IsEnum,\n IsNotEmpty,\n IsObject,\n IsOptional,\n IsString,\n IsUrl,\n Length,\n} from \"class-validator\";\n\nimport {\n OrganizationMemberRole,\n type Location,\n type OrganizationSocialLink,\n} from \"../../types\";\n\nexport class CreateOrganizationDto {\n @IsOptional()\n @IsString()\n @Length(1, 128)\n slug?: string;\n\n @IsObject()\n identity: CreateOrganizationIdentityDto;\n\n @IsArray()\n members: OrganizationMemberDto[];\n\n @IsOptional()\n @IsObject()\n location?: Location;\n}\n\nclass CreateOrganizationIdentityDto {\n @IsString()\n @IsNotEmpty()\n @Length(1, 32)\n displayName: string;\n\n @IsString()\n @IsNotEmpty()\n @Length(16, 1024)\n description: string;\n\n @IsUrl({\n protocols: [\"http\", \"https\"],\n })\n avatarUrl?: string;\n\n @IsOptional()\n @IsUrl({\n protocols: [\"http\", \"https\"],\n })\n bannerUrl?: string;\n\n @IsOptional()\n @IsArray()\n socialLinks?: OrganizationSocialLink[];\n}\n\nclass OrganizationMemberDto {\n @IsString()\n @IsNotEmpty()\n user: string;\n\n @IsEnum(OrganizationMemberRole)\n @IsNotEmpty()\n role: OrganizationMemberRole;\n}\n","import { Currency } from \"../..\";\n\nexport type EventTicket = {\n id: string;\n name: string;\n description?: string;\n price: number;\n displayPrice: number;\n quantity: number;\n type: EventTicketType;\n category: EventTicketCategory;\n currency: Currency;\n vatRate: number;\n externalId?: string;\n isVisible: boolean;\n isFeesIncluded: boolean;\n startAt: Date;\n endAt: Date;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type EventTicketType = \"e-ticket\" | \"other\";\n\nexport enum EventTicketCategory {\n ENTRY = \"entry\",\n PACKAGE = \"package\",\n MEAL = \"meal\",\n DRINK = \"drink\",\n PARKING = \"parking\",\n ACCOMMODATION = \"accommodation\",\n CAMPING = \"camping\",\n LOCKER = \"locker\",\n SHUTTLE = \"shuttle\",\n OTHER = \"other\",\n}\n","import { EventTicket } from \"./ticket\";\nimport { Location } from \"..\";\nimport { Organization } from \"../organizations\";\n\nexport * from \"./ticket\";\n\nexport type Event = {\n title: string;\n description: string;\n slug: string;\n organization: Organization;\n type: EventType;\n public: boolean;\n flyers: string[];\n trailers: string[];\n location: Location;\n tickets: EventTicket[];\n styles: EventStyle[];\n startAt: Date;\n endAt: Date;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport enum EventType {\n Clubbing = \"clubbing\",\n Concert = \"concert\",\n Afterwork = \"afterwork\",\n DancingLunch = \"dancing_lunch\",\n Diner = \"diner\",\n Garden = \"garden\",\n AfterBeach = \"after_beach\",\n Festival = \"festival\",\n Spectacle = \"spectacle\",\n Cruise = \"cruise\",\n OutsideAnimation = \"outside_animation\",\n Sport = \"sport\",\n Match = \"match\",\n Seminar = \"seminar\",\n Conference = \"conference\",\n WellnessDay = \"wellness_day\",\n Workshop = \"workshop\",\n TradeFair = \"trade_fair\",\n ConsumerShow = \"consumer_show\",\n Membership = \"membership\",\n}\n\nexport type EventStyle = {\n type: EventStyleType;\n emoji: string;\n name: string;\n};\n\nexport enum EventStyleType {\n Music = \"music\",\n Dress = \"dress\",\n Sport = \"sport\",\n Food = \"food\",\n Art = \"art\",\n}\n","import { Location, Profile, ProfileMetadata } from \"..\";\nimport { CreateOrganizationDto, UpdateOrganizationDto } from \"../../dtos\";\nimport { Endpoint } from \"../../endpoints\";\nimport { Event } from \"../event\";\nimport { EventTicket } from \"../event/ticket\";\nimport { User } from \"../users\";\n\nexport type Organization = {\n id: string;\n slug: string;\n identity: OrganizationIdentity;\n members: OrganizationMember[];\n location?: Location;\n events: Event[];\n savedTickets: EventTicket[];\n verified: boolean;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type OrganizationIdentity = Profile & {\n socialLinks: OrganizationSocialLink[];\n\n metadata: ProfileMetadata & {\n eventsCount: number;\n viewsCount: number;\n membersCount: number;\n };\n};\n\nexport type OrganizationSocialLink = {\n type: OrganizationSocialType;\n url: string;\n};\n\nexport enum OrganizationSocialType {\n Facebook = \"facebook\",\n Twitter = \"twitter\",\n Instagram = \"instagram\",\n Linkedin = \"linkedin\",\n Youtube = \"youtube\",\n Website = \"website\",\n}\n\nexport type OrganizationMember = {\n user: User;\n role: OrganizationMemberRole;\n status: OrganizationMemberStatus;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport enum OrganizationMemberStatus {\n PENDING = \"pending\",\n ACCEPTED = \"accepted\",\n REJECTED = \"rejected\",\n}\n\nexport enum OrganizationMemberRole {\n MEMBER = \"member\",\n MANAGER = \"manager\",\n ADMINISTRATOR = \"admin\",\n OWNER = \"owner\",\n}\n\nexport type OrganizationEndpoints =\n | Endpoint<\"GET\", \"/organizations\", Organization[]>\n | Endpoint<\"GET\", \"/organizations/:id\", Organization>\n | Endpoint<\"POST\", \"/organizations\", Organization, CreateOrganizationDto>\n | Endpoint<\"PUT\", \"/organizations/:id\", Organization, UpdateOrganizationDto>\n | Endpoint<\"DELETE\", \"/organizations/:id\", boolean>;\n","export type UserToken = {\n id: string;\n type: UserTokenType;\n value: string;\n createdAt: Date;\n expiresAt: Date;\n};\n\nexport enum UserTokenType {\n Authentication = \"authentication\",\n OrganizationInvite = \"organization_invite\",\n PasswordRecovery = \"password_recovery\",\n EmailValidation = \"email_validation\",\n PhoneValidation = \"phone_validation\",\n}\n","import { Currency, Language, Location, Profile, ProfileMetadata } from \"..\";\nimport { UpdateUserDto } from \"../../dtos\";\nimport { Endpoint } from \"../../endpoints\";\n\nexport type User = {\n id: string;\n identifier: UserIdentifier;\n password: string;\n identity: UserIdentity;\n role: UserRole;\n addresses: Location[];\n preferences: UserPreferences;\n connections: UserConnection[];\n verified: boolean;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type UserIdentifier = {\n email?: string;\n phoneNumber?: string;\n username: string;\n\n [key: string]: string | undefined;\n};\n\nexport type UserIdentity = Profile & {\n firstName: string;\n lastName: string;\n fullName: string;\n gender: UserIdentityGender;\n birthDate: Date;\n\n metadata: ProfileMetadata & {\n followingCount: number;\n hasPassPlus: boolean;\n idValid: boolean;\n };\n};\n\nexport enum UserRole {\n USER = 0,\n DEVELOPER = 8,\n ADMINISTRATOR = 10,\n}\n\nexport type UserIdentityGender =\n | \"male\"\n | \"female\"\n | \"non-binary\"\n | \"gender-fluid\"\n | \"neutral\"\n | \"other\"\n | string;\n\nexport type UserPreferences = {\n language: Language;\n currency: Currency;\n notifications: {\n email: {\n newsletter: boolean;\n message: boolean;\n };\n push: {\n message: boolean;\n };\n };\n};\n\nexport type UserConnection = {\n ip: string;\n os: UserConnectionOS;\n device: UserConnectionDevice;\n client: UserConnectionClient;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type UserConnectionOS = {\n name: string;\n version: string;\n};\n\nexport type UserConnectionDevice = {\n type: string;\n brand: string;\n};\n\nexport type UserConnectionClient = {\n name: string;\n version: string;\n};\n\nexport type UserEndpoints =\n | Endpoint<\"GET\", \"/users\", User[]>\n | Endpoint<\"GET\", \"/users/:id\", User, { id: string }>\n | Endpoint<\"GET\", \"/users/me\", User>\n | Endpoint<\n \"GET\",\n \"/users/check/:identifier\",\n {\n exists: boolean;\n identifier: UserIdentifier;\n suggestions?: string[];\n },\n { identifier: boolean; suggestions?: boolean }\n >\n | Endpoint<\"PUT\", \"/users/:id\", User, UpdateUserDto>;\n","import { Currency } from \"..\";\nimport { Event, EventTicket } from \"../event\";\nimport { User } from \"../users\";\n\nexport enum OrderStatus {\n Created = \"created\",\n Cancelled = \"cancelled\",\n Completed = \"completed\",\n Pending = \"pending\",\n Confirmed = \"confirmed\",\n Declined = \"declined\",\n Refunded = \"refunded\",\n PartiallyRefunded = \"partially_refunded\",\n Expired = \"expired\",\n}\n\nexport type OrderItem = {\n id: string;\n ticket: EventTicket;\n isUsed: boolean;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type Order = {\n id: string;\n owner: User;\n members: User[];\n status: OrderStatus;\n event: Event;\n items: OrderItem[];\n promoCode?: PromoCode;\n total: number;\n currency: Currency;\n createdAt: Date;\n};\n\nexport type PromoCode = {\n id: string;\n code: string;\n used: number;\n discount: number;\n isActive: boolean;\n expirationAt: Date;\n createdAt: Date;\n};\n","export * from \"./auth\";\nexport * from \"./careers\";\nexport * from \"./event\";\nexport * from \"./health\";\nexport * from \"./organizations\";\nexport * from \"./token\";\nexport * from \"./users\";\nexport * from \"./order\";\nexport * from \"./profiles\";\n\nexport type Location = {\n name?: string;\n address: string;\n zipCode: string;\n city: string;\n country: string;\n geometry?: {\n latitude: number;\n longitude: number;\n };\n};\n\n// Currency\nexport enum Currency {\n EUR = \"EUR\",\n USD = \"USD\",\n GBP = \"GBP\",\n}\n\n// I18n\nexport enum Language {\n FR = \"fr\",\n EN = \"en\",\n}\n","import { CreateOrganizationDto } from \"./create-organization.dto\";\n\nexport class UpdateOrganizationDto extends CreateOrganizationDto {}\n","import { Location, UserIdentifier, UserIdentityGender } from \"../../types\";\n\nexport class CreateUserDto {\n identifier: UserIdentifier;\n password: string;\n identity: CreateUserIdentituDto;\n addresses: Location[];\n}\n\nclass CreateUserIdentituDto {\n firstName: string;\n lastName: string;\n gender: UserIdentityGender;\n avatarUrl?: string;\n birthDate: Date;\n}\n","export class SignInUserDto {\n identifier: string;\n password: string;\n}\n","import { Type } from \"class-transformer\";\nimport {\n IsDateString,\n IsEmail,\n IsObject,\n IsOptional,\n IsPhoneNumber,\n IsString,\n IsUrl,\n Length,\n Matches,\n MaxLength,\n MinLength,\n ValidateNested,\n} from \"class-validator\";\n\nimport { NAME_REGEX } from \"../../../constants/regex\";\nimport { UserIdentifier, UserIdentity } from \"../../types\";\n\nexport class UpdateUserDto {\n @IsOptional()\n @IsObject()\n @ValidateNested()\n @Type(() => UpdateIdentifierDto)\n identifier?: UpdateIdentifierDto;\n\n @IsOptional()\n @IsObject()\n @ValidateNested()\n @Type(() => UpdateIdentityDto)\n identity?: UpdateIdentityDto;\n\n @IsOptional()\n @IsString()\n @MinLength(6)\n @MaxLength(130)\n password?: string;\n}\n\nclass UpdateIdentifierDto\n implements\n Partial<Pick<UserIdentifier, \"email\" | \"phoneNumber\" | \"username\">>\n{\n @IsOptional()\n @IsString()\n @IsEmail()\n email?: string;\n\n @IsOptional()\n @IsString()\n @IsPhoneNumber()\n phoneNumber?: string;\n\n @IsOptional()\n @IsString()\n @MinLength(3)\n username?: string;\n}\n\nclass UpdateIdentityDto\n implements\n Partial<\n Pick<\n UserIdentity,\n | \"firstName\"\n | \"lastName\"\n | \"displayName\"\n | \"description\"\n | \"avatarUrl\"\n | \"bannerUrl\"\n | \"gender\"\n | \"birthDate\"\n >\n >\n{\n @IsOptional()\n @IsString()\n @Length(2, 50)\n @Matches(NAME_REGEX, {\n message: \"First name must be composed of letters only\",\n })\n firstName?: string;\n\n @IsOptional()\n @IsString()\n @Length(2, 50)\n @Matches(NAME_REGEX, {\n message: \"Last name must be composed of letters only\",\n })\n lastName?: string;\n\n @IsOptional()\n @IsString()\n @Length(1, 32)\n displayName?: string;\n\n @IsOptional()\n @IsString()\n @Length(15, 500)\n description?: string;\n\n @IsOptional()\n @IsUrl()\n avatarUrl?: string | undefined;\n\n @IsOptional()\n @IsUrl()\n bannerUrl?: string | undefined;\n\n @IsOptional()\n gender?: string;\n\n @IsOptional()\n @IsDateString()\n birthDate?: Date;\n}\n","import axios, { Options, Response } from \"redaxios\";\n\nimport { isBrowser } from \"../../utils\";\nimport { APIResponse, ErroredAPIResponse } from \"../endpoints\";\n\nconst instance = axios.create({\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n ...(!isBrowser && { \"User-Agent\": \"tonightpass-api-client\" }),\n },\n responseType: \"json\",\n transformRequest: [\n function (data) {\n return JSON.stringify(data);\n },\n ],\n withCredentials: isBrowser,\n});\n\nexport interface APIRequestOptions extends Options {}\n\nexport const request = async <T>(url: string, options?: Options) => {\n const response = instance<APIResponse<T>>(url, { ...options })\n .then((response) => response)\n .catch((error: Response<ErroredAPIResponse>) => {\n throw error.data;\n });\n\n return response;\n};\n","export const isBrowser = typeof window !== \"undefined\";\n","import { ParamValue, Query, pathcat } from \"pathcat\";\nimport { Options, Response } from \"redaxios\";\n\nimport { APIResponse, Endpoints, ErroredAPIResponse } from \"./endpoints\";\nimport { APIRequestOptions, request } from \"./request\";\nimport { DEFAULT_API_URL } from \"../constants\";\n\nexport type PathsFor<M extends Options[\"method\"]> = Extract<\n Endpoints,\n { method: M }\n>[\"path\"];\n\nexport class TonightPassAPIError<T> extends Error {\n public readonly status: number;\n\n constructor(\n public readonly response: Response<APIResponse<T>>,\n public readonly data: ErroredAPIResponse,\n ) {\n super(data.message);\n\n this.status = response.status;\n }\n}\n\nexport interface ClientOptions {\n readonly baseURL: string;\n}\n\nexport class Client {\n private options;\n public readonly url;\n\n constructor(options: ClientOptions) {\n this.options = options;\n this.url = (path: string, params: Record<string, ParamValue>) => {\n const baseURL = this.options.baseURL || DEFAULT_API_URL;\n return pathcat(baseURL, path, params);\n };\n }\n\n setOptions(options: ClientOptions) {\n this.options = options;\n }\n\n async get<Path extends PathsFor<\"GET\">>(\n path: Path,\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"GET\" }>[\"res\"]\n >(\"GET\", path, undefined, query, options);\n }\n\n async post<Path extends Extract<Endpoints, { method: \"POST\" }>[\"path\"]>(\n path: Path,\n body: Extract<Endpoints, { path: Path; method: \"POST\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"POST\" }>[\"res\"]\n >(\"POST\", path, body, query, options);\n }\n\n async put<Path extends Extract<Endpoints, { method: \"PUT\" }>[\"path\"]>(\n path: Path,\n body: Extract<Endpoints, { path: Path; method: \"PUT\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"PUT\" }>[\"res\"]\n >(\"PUT\", path, body, query, options);\n }\n\n async patch<Path extends Extract<Endpoints, { method: \"PATCH\" }>[\"path\"]>(\n path: Path,\n body: Extract<Endpoints, { path: Path; method: \"PATCH\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"PATCH\" }>[\"res\"]\n >(\"PATCH\", path, body, query, options);\n }\n\n async delete<Path extends Extract<Endpoints, { method: \"DELETE\" }>[\"path\"]>(\n path: Path,\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"DELETE\" }>[\"res\"]\n >(\"DELETE\", path, undefined, query, options);\n }\n\n private async requester<T>(\n method: Options[\"method\"],\n path: string,\n body: unknown,\n query: Query<string> = {},\n options: APIRequestOptions = {},\n ) {\n const url = this.url(path, query);\n\n if (body !== undefined) {\n if (method === \"GET\") {\n throw new Error(\"Cannot send a GET request with a body\");\n }\n }\n\n const response: Response<APIResponse<T>> = await request<T>(url, {\n method,\n data: body,\n ...options,\n });\n\n const result = response.data;\n\n if (!result.success) {\n throw new TonightPassAPIError<T>(response, result);\n }\n\n return result.data;\n }\n}\n","import { Client } from \"../rest\";\n\nexport function sdk<T>(builder: (client: Client) => T) {\n return builder;\n}\n","import { sdk } from \"./builder\";\nimport { CreateUserDto, SignInUserDto } from \"../rest\";\n\nexport const auth = sdk((client) => ({\n signIn: async (data: SignInUserDto) => client.post(\"/auth/sign-in\", data),\n signUp: async (data: CreateUserDto) => client.post(\"/auth/sign-up\", data),\n signOut: async () => client.post(\"/auth/sign-out\", null),\n refreshToken: async () => client.post(\"/auth/refresh-token\", null),\n}));\n","import { Query } from \"pathcat\";\n\nimport { sdk } from \"./builder\";\n\nexport const careers = sdk((client) => ({\n categories: {\n getAll: async (query?: Query<\"/careers/categories\">) =>\n client.get(\"/careers/categories\", query),\n },\n employmentTypes: {\n getAll: async (query?: Query<\"/careers/employmentTypes\">) =>\n client.get(\"/careers/employmentTypes\", query),\n },\n jobs: {\n getAll: async (query?: Query<\"/careers/jobs\">) =>\n client.get(\"/careers/jobs\", query),\n get: async (id: number) => client.get(\"/careers/jobs/:id\", { id }),\n },\n offices: {\n getAll: async (query?: Query<\"/careers/offices\">) =>\n client.get(\"/careers/offices\", query),\n },\n}));\n","import { sdk } from \"./builder\";\n\nexport const health = sdk((client) => ({\n database: async () => client.get(\"/health/database\"),\n http: async () => client.get(\"/health/http\"),\n}));\n","import { sdk } from \"./builder\";\nimport { CreateOrganizationDto, UpdateOrganizationDto } from \"../rest\";\n\nexport const organizations = sdk((client) => ({\n getAll: async () => client.get(\"/organizations\"),\n get: async (id: string) => client.get(\"/organizations/:id\", { id }),\n create: async (data: CreateOrganizationDto) =>\n client.post(\"/organizations\", data),\n update: async (id: string, data: UpdateOrganizationDto) =>\n client.put(\"/organizations/:id\", data, { id }),\n delete: async (id: string) => client.delete(\"/organizations/:id\", { id }),\n}));\n","import { sdk } from \"./builder\";\n\nexport const profiles = sdk((client) => ({\n get: async (username: string) =>\n client.get(\"/profiles/:username\", { username }),\n}));\n","import { sdk } from \"./builder\";\nimport { UpdateUserDto } from \"../rest\";\n\nexport const users = sdk((client) => ({\n getAll: async () => client.get(\"/users\"),\n get: async (id: string) => client.get(\"/users\", { id }),\n me: async () => client.get(\"/users/me\"),\n check: async (identifier: string, suggestions?: boolean) =>\n client.get(\"/users/check/:identifier\", { identifier, suggestions }),\n update: async (id: string, data: UpdateUserDto) =>\n client.put(\"/users/:id\", data, { id }),\n}));\n","import { Client, ClientOptions } from \"./rest\";\nimport { auth, careers, health, organizations, profiles, users } from \"./sdk\";\n\nexport class TonightPass {\n public readonly client: Client;\n\n public readonly auth;\n public readonly careers;\n public readonly health;\n public readonly organizations;\n public readonly profiles;\n public readonly users;\n\n constructor(options: ClientOptions) {\n this.client = new Client(options);\n\n this.auth = auth(this.client);\n this.careers = careers(this.client);\n this.health = health(this.client);\n this.organizations = organizations(this.client);\n this.profiles = profiles(this.client);\n this.users = users(this.client);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/constants/api.ts","../src/constants/regex.ts","../src/rest/dtos/index.ts","../src/rest/dtos/organizations/create-organization.dto.ts","../src/rest/types/event/ticket/index.ts","../src/rest/types/event/index.ts","../src/rest/types/organizations/index.ts","../src/rest/types/token/index.ts","../src/rest/types/users/index.ts","../src/rest/types/order/index.ts","../src/rest/types/index.ts","../src/rest/dtos/organizations/update-organization.dto.ts","../src/rest/dtos/users/create-user.dto.ts","../src/rest/dtos/users/sign-in-user.dto.ts","../src/rest/dtos/users/update-user.dto.ts","../src/rest/request/request.ts","../src/utils/index.ts","../src/rest/client.ts","../src/sdk/builder.ts","../src/sdk/auth.ts","../src/sdk/careers.ts","../src/sdk/health.ts","../src/sdk/organizations.ts","../src/sdk/profiles.ts","../src/sdk/users.ts","../src/tonightpass.ts"],"names":["DEFAULT_API_URL","EMAIL_REGEX","PASSWORD_REGEX","NAME_REGEX","SLUG_REGEX","BCRYPT_HASH","PHONE_NUMBER_REGEX","IMAGE_URL_REGEX","IsArray","IsEnum","IsNotEmpty","IsObject","IsOptional","IsString","IsUrl","Length","EventTicketCategory","EventType","EventStyleType","OrganizationSocialType","OrganizationMemberStatus","OrganizationMemberRole","UserTokenType","UserRole","OrderStatus","Currency","Language","CreateOrganizationDto","slug","identity","members","location","CreateOrganizationIdentityDto","displayName","description","avatarUrl","bannerUrl","socialLinks","protocols","OrganizationMemberDto","user","role","UpdateOrganizationDto","CreateUserDto","identifier","password","addresses","SignInUserDto","Type","IsDateString","IsEmail","IsPhoneNumber","Matches","MaxLength","MinLength","ValidateNested","UpdateUserDto","UpdateIdentifierDto","UpdateIdentityDto","email","phoneNumber","username","firstName","lastName","gender","birthDate","message","axios","isBrowser","window","instance","create","headers","Accept","responseType","transformRequest","data","JSON","stringify","withCredentials","request","__name","url","options","then","response","catch","error","pathcat","TonightPassAPIError","Error","status","constructor","Client","path","params","baseURL","setOptions","get","query","requester","undefined","post","body","put","patch","delete","method","result","success","sdk","builder","auth","client","signIn","signUp","signOut","refreshToken","careers","categories","getAll","employmentTypes","jobs","id","offices","health","database","http","organizations","update","profiles","users","me","check","suggestions","TonightPass"],"mappings":"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","sourcesContent":["export const DEFAULT_API_URL = \"https://api.tonightpass.com\";\n","export const EMAIL_REGEX = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/;\n\n// checks if a password has at least one uppercase letter and a number or special character\nexport const PASSWORD_REGEX =\n /((?=.*\\d)|(?=.*\\W+))(?![.\\n])(?=.*[A-Z])(?=.*[a-z]).*$/;\n\n// checks if a string has only letters, numbers, spaces, apostrophes, dots and dashes\nexport const NAME_REGEX = /(^[\\p{L}\\d'\\\\.\\s\\\\-]*$)/u;\n\n// checks if a string is a valid slug, useful for usernames\nexport const SLUG_REGEX = /^[a-z\\d]+(?:(\\.|-|_)[a-z\\d]+)*$/;\n\n// validates if passwords are valid bcrypt hashes\nexport const BCRYPT_HASH = /\\$2[abxy]?\\$\\d{1,2}\\$[A-Za-z\\d\\\\./]{53}/;\n\nexport const PHONE_NUMBER_REGEX =\n /^\\s*(?:\\+?(\\d{1,3}))?([-. (]*(\\d{3})[-. )]*)?((\\d{3})[-. ]*(\\d{2,4})(?:[-.x ]*(\\d+))?)\\s*$/;\n\nexport const IMAGE_URL_REGEX =\n /(((http:\\/\\/www)|(http:\\/\\/)|(www))[-a-zA-Z0-9@:%_\\\\+.~#?&//=]+)\\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;\n","import \"reflect-metadata\";\n\nexport * from \"./organizations\";\nexport * from \"./users\";\n","import {\n IsArray,\n IsEnum,\n IsNotEmpty,\n IsObject,\n IsOptional,\n IsString,\n IsUrl,\n Length,\n} from \"class-validator\";\n\nimport {\n OrganizationMemberRole,\n type Location,\n type OrganizationSocialLink,\n} from \"../../types\";\n\nexport class CreateOrganizationDto {\n @IsOptional()\n @IsString()\n @Length(1, 128)\n slug?: string;\n\n @IsObject()\n identity: CreateOrganizationIdentityDto;\n\n @IsArray()\n members: OrganizationMemberDto[];\n\n @IsOptional()\n @IsObject()\n location?: Location;\n}\n\nclass CreateOrganizationIdentityDto {\n @IsString()\n @IsNotEmpty()\n @Length(1, 32)\n displayName: string;\n\n @IsString()\n @IsNotEmpty()\n @Length(16, 1024)\n description: string;\n\n @IsUrl({\n protocols: [\"http\", \"https\"],\n })\n avatarUrl?: string;\n\n @IsOptional()\n @IsUrl({\n protocols: [\"http\", \"https\"],\n })\n bannerUrl?: string;\n\n @IsOptional()\n @IsArray()\n socialLinks?: OrganizationSocialLink[];\n}\n\nclass OrganizationMemberDto {\n @IsString()\n @IsNotEmpty()\n user: string;\n\n @IsEnum(OrganizationMemberRole)\n @IsNotEmpty()\n role: OrganizationMemberRole;\n}\n","import { Currency } from \"../..\";\n\nexport type EventTicket = {\n id: string;\n name: string;\n description?: string;\n price: number;\n displayPrice: number;\n quantity: number;\n type: EventTicketType;\n category: EventTicketCategory;\n currency: Currency;\n vatRate: number;\n externalId?: string;\n isVisible: boolean;\n isFeesIncluded: boolean;\n startAt: Date;\n endAt: Date;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type EventTicketType = \"e-ticket\" | \"other\";\n\nexport enum EventTicketCategory {\n Entry = \"entry\",\n Package = \"package\",\n Meal = \"meal\",\n Drink = \"drink\",\n Parking = \"parking\",\n Accommodation = \"accommodation\",\n Camping = \"camping\",\n Locker = \"locker\",\n Shuttle = \"shuttle\",\n Other = \"other\",\n}\n","import { EventTicket } from \"./ticket\";\nimport { Location } from \"..\";\nimport { Organization } from \"../organizations\";\n\nexport * from \"./ticket\";\n\nexport type Event = {\n title: string;\n description: string;\n slug: string;\n organization: Organization;\n type: EventType;\n public: boolean;\n flyers: string[];\n trailers: string[];\n location: Location;\n tickets: EventTicket[];\n styles: EventStyle[];\n startAt: Date;\n endAt: Date;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport enum EventType {\n Clubbing = \"clubbing\",\n Concert = \"concert\",\n Afterwork = \"afterwork\",\n DancingLunch = \"dancing_lunch\",\n Diner = \"diner\",\n Garden = \"garden\",\n AfterBeach = \"after_beach\",\n Festival = \"festival\",\n Spectacle = \"spectacle\",\n Cruise = \"cruise\",\n OutsideAnimation = \"outside_animation\",\n Sport = \"sport\",\n Match = \"match\",\n Seminar = \"seminar\",\n Conference = \"conference\",\n WellnessDay = \"wellness_day\",\n Workshop = \"workshop\",\n TradeFair = \"trade_fair\",\n ConsumerShow = \"consumer_show\",\n Membership = \"membership\",\n}\n\nexport type EventStyle = {\n type: EventStyleType;\n emoji: string;\n name: string;\n};\n\nexport enum EventStyleType {\n Music = \"music\",\n Dress = \"dress\",\n Sport = \"sport\",\n Food = \"food\",\n Art = \"art\",\n}\n","import { Location, Profile, ProfileMetadata } from \"..\";\nimport { CreateOrganizationDto, UpdateOrganizationDto } from \"../../dtos\";\nimport { Endpoint } from \"../../endpoints\";\nimport { Event } from \"../event\";\nimport { EventTicket } from \"../event/ticket\";\nimport { User } from \"../users\";\n\nexport type Organization = {\n id: string;\n slug: string;\n identity: OrganizationIdentity;\n members: OrganizationMember[];\n location?: Location;\n events: Event[];\n savedTickets: EventTicket[];\n verified: boolean;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type OrganizationIdentity = Profile & {\n socialLinks: OrganizationSocialLink[];\n\n metadata: ProfileMetadata & {\n eventsCount: number;\n viewsCount: number;\n membersCount: number;\n };\n};\n\nexport type OrganizationSocialLink = {\n type: OrganizationSocialType;\n url: string;\n};\n\nexport enum OrganizationSocialType {\n Facebook = \"facebook\",\n Twitter = \"twitter\",\n Instagram = \"instagram\",\n Linkedin = \"linkedin\",\n Youtube = \"youtube\",\n Website = \"website\",\n}\n\nexport type OrganizationMember = {\n user: User;\n organization: Organization;\n role: OrganizationMemberRole;\n status: OrganizationMemberStatus;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport enum OrganizationMemberStatus {\n Pending = \"pending\",\n Accepted = \"accepted\",\n Rejected = \"rejected\",\n}\n\nexport enum OrganizationMemberRole {\n Member = \"member\",\n Manager = \"manager\",\n Admin = \"admin\",\n Owner = \"owner\",\n}\n\nexport type OrganizationEndpoints =\n | Endpoint<\"GET\", \"/organizations\", Organization[]>\n | Endpoint<\"GET\", \"/organizations/:id\", Organization>\n | Endpoint<\"POST\", \"/organizations\", Organization, CreateOrganizationDto>\n | Endpoint<\"PUT\", \"/organizations/:id\", Organization, UpdateOrganizationDto>\n | Endpoint<\"DELETE\", \"/organizations/:id\", boolean>\n | Endpoint<\"GET\", \"/organizations/members\", OrganizationMember[]>\n | Endpoint<\"PUT\", \"/organizations/members/:id\", OrganizationMember>\n | Endpoint<\"DELETE\", \"/organizations/members/:id\", boolean>;\n","import { User } from \"../users\";\n\nexport type UserToken = {\n id: string;\n user: User;\n type: UserTokenType;\n value: string;\n createdAt: Date;\n expiresAt: Date;\n};\n\nexport enum UserTokenType {\n Authentication = \"authentication\",\n OrganizationInvite = \"organization_invite\",\n PasswordRecovery = \"password_recovery\",\n EmailValidation = \"email_validation\",\n PhoneValidation = \"phone_validation\",\n}\n","import { Currency, Language, Location, Profile, ProfileMetadata } from \"..\";\nimport { UpdateUserDto } from \"../../dtos\";\nimport { Endpoint } from \"../../endpoints\";\n\nexport type User = {\n id: string;\n identifier: UserIdentifier;\n password: string;\n identity: UserIdentity;\n role: UserRole;\n addresses: Location[];\n preferences: UserPreferences;\n connections: UserConnection[];\n verified: boolean;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type UserIdentifier = {\n email?: string;\n phoneNumber?: string;\n username: string;\n\n [key: string]: string | undefined;\n};\n\nexport type UserIdentity = Profile & {\n firstName: string;\n lastName: string;\n fullName: string;\n gender: UserIdentityGender;\n birthDate: Date;\n\n metadata: ProfileMetadata & {\n followingCount: number;\n hasPassPlus: boolean;\n idValid: boolean;\n };\n};\n\nexport enum UserRole {\n User = \"user\",\n Developer = \"developer\",\n Admin = \"admin\",\n}\n\nexport type UserIdentityGender =\n | \"male\"\n | \"female\"\n | \"non-binary\"\n | \"gender-fluid\"\n | \"neutral\"\n | \"other\"\n | string;\n\nexport type UserPreferences = {\n language: Language;\n currency: Currency;\n notifications: {\n email: {\n newsletter: boolean;\n message: boolean;\n };\n push: {\n message: boolean;\n };\n };\n};\n\nexport type UserConnection = {\n ip: string;\n os: UserConnectionOS;\n device: UserConnectionDevice;\n client: UserConnectionClient;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type UserConnectionOS = {\n name: string;\n version: string;\n};\n\nexport type UserConnectionDevice = {\n type: string;\n brand: string;\n};\n\nexport type UserConnectionClient = {\n name: string;\n version: string;\n};\n\nexport type UserEndpoints =\n | Endpoint<\"GET\", \"/users\", User[]>\n | Endpoint<\"GET\", \"/users/:id\", User, { id: string }>\n | Endpoint<\"GET\", \"/users/me\", User>\n | Endpoint<\n \"GET\",\n \"/users/check/:identifier\",\n {\n exists: boolean;\n identifier: UserIdentifier;\n suggestions?: string[];\n },\n { identifier: boolean; suggestions?: boolean }\n >\n | Endpoint<\"PUT\", \"/users/:id\", User, UpdateUserDto>;\n","import { Currency } from \"..\";\nimport { Event, EventTicket } from \"../event\";\nimport { User } from \"../users\";\n\nexport enum OrderStatus {\n Created = \"created\",\n Cancelled = \"cancelled\",\n Completed = \"completed\",\n Pending = \"pending\",\n Confirmed = \"confirmed\",\n Declined = \"declined\",\n Refunded = \"refunded\",\n PartiallyRefunded = \"partially_refunded\",\n Expired = \"expired\",\n}\n\nexport type OrderItem = {\n id: string;\n ticket: EventTicket;\n isUsed: boolean;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type Order = {\n id: string;\n owner: User;\n members: User[];\n status: OrderStatus;\n event: Event;\n items: OrderItem[];\n promoCode?: PromoCode;\n total: number;\n currency: Currency;\n createdAt: Date;\n};\n\nexport type PromoCode = {\n id: string;\n code: string;\n used: number;\n discount: number;\n isActive: boolean;\n expirationAt: Date;\n createdAt: Date;\n};\n","export * from \"./auth\";\nexport * from \"./careers\";\nexport * from \"./event\";\nexport * from \"./health\";\nexport * from \"./organizations\";\nexport * from \"./token\";\nexport * from \"./users\";\nexport * from \"./order\";\nexport * from \"./profiles\";\n\nexport type Location = {\n name?: string;\n address: string;\n zipCode: string;\n city: string;\n country: string;\n geometry?: {\n latitude: number;\n longitude: number;\n };\n};\n\n// Currency\nexport enum Currency {\n EUR = \"EUR\",\n USD = \"USD\",\n GBP = \"GBP\",\n}\n\n// I18n\nexport enum Language {\n FR = \"fr\",\n EN = \"en\",\n}\n","import { CreateOrganizationDto } from \"./create-organization.dto\";\n\nexport class UpdateOrganizationDto extends CreateOrganizationDto {}\n","import { Location, UserIdentifier, UserIdentityGender } from \"../../types\";\n\nexport class CreateUserDto {\n identifier: UserIdentifier;\n password: string;\n identity: CreateUserIdentituDto;\n addresses: Location[];\n}\n\nclass CreateUserIdentituDto {\n firstName: string;\n lastName: string;\n gender: UserIdentityGender;\n avatarUrl?: string;\n birthDate: Date;\n}\n","export class SignInUserDto {\n identifier: string;\n password: string;\n}\n","import { Type } from \"class-transformer\";\nimport {\n IsDateString,\n IsEmail,\n IsObject,\n IsOptional,\n IsPhoneNumber,\n IsString,\n IsUrl,\n Length,\n Matches,\n MaxLength,\n MinLength,\n ValidateNested,\n} from \"class-validator\";\n\nimport { NAME_REGEX } from \"../../../constants/regex\";\nimport { UserIdentifier, UserIdentity } from \"../../types\";\n\nexport class UpdateUserDto {\n @IsOptional()\n @IsObject()\n @ValidateNested()\n @Type(() => UpdateIdentifierDto)\n identifier?: UpdateIdentifierDto;\n\n @IsOptional()\n @IsObject()\n @ValidateNested()\n @Type(() => UpdateIdentityDto)\n identity?: UpdateIdentityDto;\n\n @IsOptional()\n @IsString()\n @MinLength(6)\n @MaxLength(130)\n password?: string;\n}\n\nclass UpdateIdentifierDto\n implements\n Partial<Pick<UserIdentifier, \"email\" | \"phoneNumber\" | \"username\">>\n{\n @IsOptional()\n @IsString()\n @IsEmail()\n email?: string;\n\n @IsOptional()\n @IsString()\n @IsPhoneNumber()\n phoneNumber?: string;\n\n @IsOptional()\n @IsString()\n @MinLength(3)\n username?: string;\n}\n\nclass UpdateIdentityDto\n implements\n Partial<\n Pick<\n UserIdentity,\n | \"firstName\"\n | \"lastName\"\n | \"displayName\"\n | \"description\"\n | \"avatarUrl\"\n | \"bannerUrl\"\n | \"gender\"\n | \"birthDate\"\n >\n >\n{\n @IsOptional()\n @IsString()\n @Length(2, 50)\n @Matches(NAME_REGEX, {\n message: \"First name must be composed of letters only\",\n })\n firstName?: string;\n\n @IsOptional()\n @IsString()\n @Length(2, 50)\n @Matches(NAME_REGEX, {\n message: \"Last name must be composed of letters only\",\n })\n lastName?: string;\n\n @IsOptional()\n @IsString()\n @Length(1, 32)\n displayName?: string;\n\n @IsOptional()\n @IsString()\n @Length(15, 500)\n description?: string;\n\n @IsOptional()\n @IsUrl()\n avatarUrl?: string | undefined;\n\n @IsOptional()\n @IsUrl()\n bannerUrl?: string | undefined;\n\n @IsOptional()\n gender?: string;\n\n @IsOptional()\n @IsDateString()\n birthDate?: Date;\n}\n","import axios, { Options, Response } from \"redaxios\";\n\nimport { isBrowser } from \"../../utils\";\nimport { APIResponse, ErroredAPIResponse } from \"../endpoints\";\n\nconst instance = axios.create({\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n ...(!isBrowser && { \"User-Agent\": \"tonightpass-api-client\" }),\n },\n responseType: \"json\",\n transformRequest: [\n function (data) {\n return JSON.stringify(data);\n },\n ],\n withCredentials: isBrowser,\n});\n\nexport interface APIRequestOptions extends Options {}\n\nexport const request = async <T>(url: string, options?: Options) => {\n const response = instance<APIResponse<T>>(url, { ...options })\n .then((response) => response)\n .catch((error: Response<ErroredAPIResponse>) => {\n throw error.data;\n });\n\n return response;\n};\n","export const isBrowser = typeof window !== \"undefined\";\n","import { ParamValue, Query, pathcat } from \"pathcat\";\nimport { Options, Response } from \"redaxios\";\n\nimport { APIResponse, Endpoints, ErroredAPIResponse } from \"./endpoints\";\nimport { APIRequestOptions, request } from \"./request\";\nimport { DEFAULT_API_URL } from \"../constants\";\n\nexport type PathsFor<M extends Options[\"method\"]> = Extract<\n Endpoints,\n { method: M }\n>[\"path\"];\n\nexport class TonightPassAPIError<T> extends Error {\n public readonly status: number;\n\n constructor(\n public readonly response: Response<APIResponse<T>>,\n public readonly data: ErroredAPIResponse,\n ) {\n super(data.message);\n\n this.status = response.status;\n }\n}\n\nexport interface ClientOptions {\n readonly baseURL: string;\n}\n\nexport class Client {\n private options;\n public readonly url;\n\n constructor(options: ClientOptions) {\n this.options = options;\n this.url = (path: string, params: Record<string, ParamValue>) => {\n const baseURL = this.options.baseURL || DEFAULT_API_URL;\n return pathcat(baseURL, path, params);\n };\n }\n\n setOptions(options: ClientOptions) {\n this.options = options;\n }\n\n async get<Path extends PathsFor<\"GET\">>(\n path: Path,\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"GET\" }>[\"res\"]\n >(\"GET\", path, undefined, query, options);\n }\n\n async post<Path extends Extract<Endpoints, { method: \"POST\" }>[\"path\"]>(\n path: Path,\n body: Extract<Endpoints, { path: Path; method: \"POST\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"POST\" }>[\"res\"]\n >(\"POST\", path, body, query, options);\n }\n\n async put<Path extends Extract<Endpoints, { method: \"PUT\" }>[\"path\"]>(\n path: Path,\n body: Extract<Endpoints, { path: Path; method: \"PUT\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"PUT\" }>[\"res\"]\n >(\"PUT\", path, body, query, options);\n }\n\n async patch<Path extends Extract<Endpoints, { method: \"PATCH\" }>[\"path\"]>(\n path: Path,\n body: Extract<Endpoints, { path: Path; method: \"PATCH\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"PATCH\" }>[\"res\"]\n >(\"PATCH\", path, body, query, options);\n }\n\n async delete<Path extends Extract<Endpoints, { method: \"DELETE\" }>[\"path\"]>(\n path: Path,\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"DELETE\" }>[\"res\"]\n >(\"DELETE\", path, undefined, query, options);\n }\n\n private async requester<T>(\n method: Options[\"method\"],\n path: string,\n body: unknown,\n query: Query<string> = {},\n options: APIRequestOptions = {},\n ) {\n const url = this.url(path, query);\n\n if (body !== undefined) {\n if (method === \"GET\") {\n throw new Error(\"Cannot send a GET request with a body\");\n }\n }\n\n const response: Response<APIResponse<T>> = await request<T>(url, {\n method,\n data: body,\n ...options,\n });\n\n const result = response.data;\n\n if (!result.success) {\n throw new TonightPassAPIError<T>(response, result);\n }\n\n return result.data;\n }\n}\n","import { Client } from \"../rest\";\n\nexport function sdk<T>(builder: (client: Client) => T) {\n return builder;\n}\n","import { sdk } from \"./builder\";\nimport { CreateUserDto, SignInUserDto } from \"../rest\";\n\nexport const auth = sdk((client) => ({\n signIn: async (data: SignInUserDto) => client.post(\"/auth/sign-in\", data),\n signUp: async (data: CreateUserDto) => client.post(\"/auth/sign-up\", data),\n signOut: async () => client.post(\"/auth/sign-out\", null),\n refreshToken: async () => client.post(\"/auth/refresh-token\", null),\n}));\n","import { Query } from \"pathcat\";\n\nimport { sdk } from \"./builder\";\n\nexport const careers = sdk((client) => ({\n categories: {\n getAll: async (query?: Query<\"/careers/categories\">) =>\n client.get(\"/careers/categories\", query),\n },\n employmentTypes: {\n getAll: async (query?: Query<\"/careers/employmentTypes\">) =>\n client.get(\"/careers/employmentTypes\", query),\n },\n jobs: {\n getAll: async (query?: Query<\"/careers/jobs\">) =>\n client.get(\"/careers/jobs\", query),\n get: async (id: number) => client.get(\"/careers/jobs/:id\", { id }),\n },\n offices: {\n getAll: async (query?: Query<\"/careers/offices\">) =>\n client.get(\"/careers/offices\", query),\n },\n}));\n","import { sdk } from \"./builder\";\n\nexport const health = sdk((client) => ({\n database: async () => client.get(\"/health/database\"),\n http: async () => client.get(\"/health/http\"),\n}));\n","import { sdk } from \"./builder\";\nimport { CreateOrganizationDto, UpdateOrganizationDto } from \"../rest\";\n\nexport const organizations = sdk((client) => ({\n getAll: async () => client.get(\"/organizations\"),\n get: async (id: string) => client.get(\"/organizations/:id\", { id }),\n create: async (data: CreateOrganizationDto) =>\n client.post(\"/organizations\", data),\n update: async (id: string, data: UpdateOrganizationDto) =>\n client.put(\"/organizations/:id\", data, { id }),\n delete: async (id: string) => client.delete(\"/organizations/:id\", { id }),\n members: {\n getAll: async () => client.get(\"/organizations/members\"),\n delete: async (id: string) =>\n client.delete(\"/organizations/members/:id\", { id }),\n },\n}));\n","import { sdk } from \"./builder\";\n\nexport const profiles = sdk((client) => ({\n get: async (username: string) =>\n client.get(\"/profiles/:username\", { username }),\n}));\n","import { sdk } from \"./builder\";\nimport { UpdateUserDto } from \"../rest\";\n\nexport const users = sdk((client) => ({\n getAll: async () => client.get(\"/users\"),\n get: async (id: string) => client.get(\"/users\", { id }),\n me: async () => client.get(\"/users/me\"),\n check: async (identifier: string, suggestions?: boolean) =>\n client.get(\"/users/check/:identifier\", { identifier, suggestions }),\n update: async (id: string, data: UpdateUserDto) =>\n client.put(\"/users/:id\", data, { id }),\n}));\n","import { Client, ClientOptions } from \"./rest\";\nimport { auth, careers, health, organizations, profiles, users } from \"./sdk\";\n\nexport class TonightPass {\n public readonly client: Client;\n\n public readonly auth;\n public readonly careers;\n public readonly health;\n public readonly organizations;\n public readonly profiles;\n public readonly users;\n\n constructor(options: ClientOptions) {\n this.client = new Client(options);\n\n this.auth = auth(this.client);\n this.careers = careers(this.client);\n this.health = health(this.client);\n this.organizations = organizations(this.client);\n this.profiles = profiles(this.client);\n this.users = users(this.client);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tonightpass",
3
- "version": "0.0.14",
3
+ "version": "0.0.16",
4
4
  "description": "@tonightpass sdk and tools.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "devDependencies": {
24
24
  "@anatine/esbuild-decorators": "^0.2.19",
25
- "@types/node": "20.12.5",
25
+ "@types/node": "20.12.6",
26
26
  "tsx": "^4.7.1",
27
27
  "typescript": "^5.0.0"
28
28
  },
@@ -23,14 +23,14 @@ export type EventTicket = {
23
23
  export type EventTicketType = "e-ticket" | "other";
24
24
 
25
25
  export enum EventTicketCategory {
26
- ENTRY = "entry",
27
- PACKAGE = "package",
28
- MEAL = "meal",
29
- DRINK = "drink",
30
- PARKING = "parking",
31
- ACCOMMODATION = "accommodation",
32
- CAMPING = "camping",
33
- LOCKER = "locker",
34
- SHUTTLE = "shuttle",
35
- OTHER = "other",
26
+ Entry = "entry",
27
+ Package = "package",
28
+ Meal = "meal",
29
+ Drink = "drink",
30
+ Parking = "parking",
31
+ Accommodation = "accommodation",
32
+ Camping = "camping",
33
+ Locker = "locker",
34
+ Shuttle = "shuttle",
35
+ Other = "other",
36
36
  }
@@ -44,6 +44,7 @@ export enum OrganizationSocialType {
44
44
 
45
45
  export type OrganizationMember = {
46
46
  user: User;
47
+ organization: Organization;
47
48
  role: OrganizationMemberRole;
48
49
  status: OrganizationMemberStatus;
49
50
  updatedAt: Date;
@@ -51,16 +52,16 @@ export type OrganizationMember = {
51
52
  };
52
53
 
53
54
  export enum OrganizationMemberStatus {
54
- PENDING = "pending",
55
- ACCEPTED = "accepted",
56
- REJECTED = "rejected",
55
+ Pending = "pending",
56
+ Accepted = "accepted",
57
+ Rejected = "rejected",
57
58
  }
58
59
 
59
60
  export enum OrganizationMemberRole {
60
- MEMBER = "member",
61
- MANAGER = "manager",
62
- ADMINISTRATOR = "admin",
63
- OWNER = "owner",
61
+ Member = "member",
62
+ Manager = "manager",
63
+ Admin = "admin",
64
+ Owner = "owner",
64
65
  }
65
66
 
66
67
  export type OrganizationEndpoints =
@@ -68,4 +69,7 @@ export type OrganizationEndpoints =
68
69
  | Endpoint<"GET", "/organizations/:id", Organization>
69
70
  | Endpoint<"POST", "/organizations", Organization, CreateOrganizationDto>
70
71
  | Endpoint<"PUT", "/organizations/:id", Organization, UpdateOrganizationDto>
71
- | Endpoint<"DELETE", "/organizations/:id", boolean>;
72
+ | Endpoint<"DELETE", "/organizations/:id", boolean>
73
+ | Endpoint<"GET", "/organizations/members", OrganizationMember[]>
74
+ | Endpoint<"PUT", "/organizations/members/:id", OrganizationMember>
75
+ | Endpoint<"DELETE", "/organizations/members/:id", boolean>;
@@ -1,5 +1,8 @@
1
+ import { User } from "../users";
2
+
1
3
  export type UserToken = {
2
4
  id: string;
5
+ user: User;
3
6
  type: UserTokenType;
4
7
  value: string;
5
8
  createdAt: Date;
@@ -39,9 +39,9 @@ export type UserIdentity = Profile & {
39
39
  };
40
40
 
41
41
  export enum UserRole {
42
- USER = 0,
43
- DEVELOPER = 8,
44
- ADMINISTRATOR = 10,
42
+ User = "user",
43
+ Developer = "developer",
44
+ Admin = "admin",
45
45
  }
46
46
 
47
47
  export type UserIdentityGender =
@@ -9,4 +9,9 @@ export const organizations = sdk((client) => ({
9
9
  update: async (id: string, data: UpdateOrganizationDto) =>
10
10
  client.put("/organizations/:id", data, { id }),
11
11
  delete: async (id: string) => client.delete("/organizations/:id", { id }),
12
+ members: {
13
+ getAll: async () => client.get("/organizations/members"),
14
+ delete: async (id: string) =>
15
+ client.delete("/organizations/members/:id", { id }),
16
+ },
12
17
  }));