tonightpass 0.0.10 → 0.0.12

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.10 build /home/runner/work/tonightpass/tonightpass/packages/node
2
+ > tonightpass@0.0.12 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
- CJS dist/index.js 9.22 KB
13
- CJS dist/index.js.map 29.73 KB
14
- CJS ⚡️ Build success in 248ms
15
- ESM dist/index.mjs 8.06 KB
16
- ESM dist/index.mjs.map 29.73 KB
17
- ESM ⚡️ Build success in 249ms
12
+ CJS dist/index.js 9.30 KB
13
+ CJS dist/index.js.map 29.79 KB
14
+ CJS ⚡️ Build success in 233ms
15
+ ESM dist/index.mjs 8.08 KB
16
+ ESM dist/index.mjs.map 29.79 KB
17
+ ESM ⚡️ Build success in 232ms
18
18
  DTS Build start
19
- DTS ⚡️ Build success in 2609ms
20
- DTS dist/index.d.ts 22.03 KB
21
- DTS dist/index.d.mts 22.03 KB
19
+ DTS ⚡️ Build success in 2511ms
20
+ DTS dist/index.d.ts 22.10 KB
21
+ DTS dist/index.d.mts 22.10 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # tonightpass
2
2
 
3
+ ## 0.0.12
4
+
5
+ ### Patch Changes
6
+
7
+ - [`2c5b552`](https://github.com/tonightpass/tonightpass/commit/2c5b55231112404a705a1b822c67fdcd72cd467c) Thanks [@AntoineKM](https://github.com/AntoineKM)! - Update profiles types with Organization identity
8
+
9
+ ## 0.0.11
10
+
11
+ ### Patch Changes
12
+
13
+ - [`e05e50e`](https://github.com/tonightpass/tonightpass/commit/e05e50eb071f55b46686f14f25ba01c1402cf84b) Thanks [@AntoineKM](https://github.com/AntoineKM)! - Fix optional fields in CreateOrganizationDto
14
+
3
15
  ## 0.0.10
4
16
 
5
17
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -395,7 +395,7 @@ interface ProfileMetadata {
395
395
  hasBlocked: boolean;
396
396
  canDM: boolean;
397
397
  }
398
- type ProfileEndpoints = Endpoint<"GET", "/profiles/:username", UserIdentity>;
398
+ type ProfileEndpoints = Endpoint<"GET", "/profiles/:username", UserIdentity | OrganizationIdentity>;
399
399
 
400
400
  type Location = {
401
401
  name?: string;
@@ -662,7 +662,7 @@ declare const organizations: (client: Client) => {
662
662
  };
663
663
 
664
664
  declare const profiles: (client: Client) => {
665
- get: (username: string) => Promise<UserIdentity>;
665
+ get: (username: string) => Promise<UserIdentity | OrganizationIdentity>;
666
666
  };
667
667
 
668
668
  declare const users: (client: Client) => {
@@ -712,7 +712,7 @@ declare class TonightPass {
712
712
  delete: (id: string) => Promise<boolean>;
713
713
  };
714
714
  readonly profiles: {
715
- get: (username: string) => Promise<UserIdentity>;
715
+ get: (username: string) => Promise<UserIdentity | OrganizationIdentity>;
716
716
  };
717
717
  readonly users: {
718
718
  getAll: () => Promise<User[]>;
package/dist/index.d.ts CHANGED
@@ -395,7 +395,7 @@ interface ProfileMetadata {
395
395
  hasBlocked: boolean;
396
396
  canDM: boolean;
397
397
  }
398
- type ProfileEndpoints = Endpoint<"GET", "/profiles/:username", UserIdentity>;
398
+ type ProfileEndpoints = Endpoint<"GET", "/profiles/:username", UserIdentity | OrganizationIdentity>;
399
399
 
400
400
  type Location = {
401
401
  name?: string;
@@ -662,7 +662,7 @@ declare const organizations: (client: Client) => {
662
662
  };
663
663
 
664
664
  declare const profiles: (client: Client) => {
665
- get: (username: string) => Promise<UserIdentity>;
665
+ get: (username: string) => Promise<UserIdentity | OrganizationIdentity>;
666
666
  };
667
667
 
668
668
  declare const users: (client: Client) => {
@@ -712,7 +712,7 @@ declare class TonightPass {
712
712
  delete: (id: string) => Promise<boolean>;
713
713
  };
714
714
  readonly profiles: {
715
- get: (username: string) => Promise<UserIdentity>;
715
+ get: (username: string) => Promise<UserIdentity | OrganizationIdentity>;
716
716
  };
717
717
  readonly users: {
718
718
  getAll: () => Promise<User[]>;
package/dist/index.js CHANGED
@@ -10,43 +10,43 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
 
11
11
  var he__default = /*#__PURE__*/_interopDefault(he);
12
12
 
13
- var Z=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var n=(t,e,o,r)=>{for(var s=r>1?void 0:r?J(e,o):e,a=t.length-1,m;a>=0;a--)(m=t[a])&&(s=(r?m(e,o,s):m(s))||s);return r&&s&&Z(e,o,s),s};var k="https://api.tonightpass.com";var be=/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/,Ae=/((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,I=/(^[\p{L}\d'\\.\s\\-]*$)/u,Re=/^[a-z\d]+(?:(\.|-|_)[a-z\d]+)*$/,Ue=/\$2[abxy]?\$\d{1,2}\$[A-Za-z\d\\./]{53}/,Ie=/^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/,Oe=/(((http:\/\/www)|(http:\/\/)|(www))[-a-zA-Z0-9@:%_\\+.~#?&//=]+)\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;var ee=(c=>(c.ENTRY="entry",c.PACKAGE="package",c.MEAL="meal",c.DRINK="drink",c.PARKING="parking",c.ACCOMMODATION="accommodation",c.CAMPING="camping",c.LOCKER="locker",c.SHUTTLE="shuttle",c.OTHER="other",c))(ee||{});var te=(i=>(i.Clubbing="clubbing",i.Concert="concert",i.Afterwork="afterwork",i.DancingLunch="dancing_lunch",i.Diner="diner",i.Garden="garden",i.AfterBeach="after_beach",i.Festival="festival",i.Spectacle="spectacle",i.Cruise="cruise",i.OutsideAnimation="outside_animation",i.Sport="sport",i.Match="match",i.Seminar="seminar",i.Conference="conference",i.WellnessDay="wellness_day",i.Workshop="workshop",i.TradeFair="trade_fair",i.ConsumerShow="consumer_show",i.Membership="membership",i))(te||{}),re=(a=>(a.Music="music",a.Dress="dress",a.Sport="sport",a.Food="food",a.Art="art",a))(re||{});var oe=(m=>(m.Facebook="facebook",m.Twitter="twitter",m.Instagram="instagram",m.Linkedin="linkedin",m.Youtube="youtube",m.Website="website",m))(oe||{}),ne=(r=>(r.PENDING="pending",r.ACCEPTED="accepted",r.REJECTED="rejected",r))(ne||{}),O=(s=>(s.MEMBER="member",s.MANAGER="manager",s.ADMINISTRATOR="admin",s.OWNER="owner",s))(O||{});var se=(a=>(a.Authentication="authentication",a.OrganizationInvite="organization_invite",a.PasswordRecovery="password_recovery",a.EmailValidation="email_validation",a.PhoneValidation="phone_validation",a))(se||{});var ie=(r=>(r[r.USER=0]="USER",r[r.DEVELOPER=8]="DEVELOPER",r[r.ADMINISTRATOR=10]="ADMINISTRATOR",r))(ie||{});var ae=(l=>(l.Created="created",l.Cancelled="cancelled",l.Completed="completed",l.Pending="pending",l.Confirmed="confirmed",l.Declined="declined",l.Refunded="refunded",l.PartiallyRefunded="partially_refunded",l.Expired="expired",l))(ae||{});var pe=(r=>(r.EUR="EUR",r.USD="USD",r.GBP="GBP",r))(pe||{}),me=(o=>(o.FR="fr",o.EN="en",o))(me||{});var u=class{slug;identity;members;location};n([classValidator.IsString(),classValidator.Length(1,128)],u.prototype,"slug",2),n([classValidator.IsObject()],u.prototype,"identity",2),n([classValidator.IsArray(),classValidator.ArrayMinSize(1)],u.prototype,"members",2),n([classValidator.IsObject()],u.prototype,"location",2);var f=class{displayName;description;avatarUrl;bannerUrl;socialLinks};n([classValidator.IsString(),classValidator.IsNotEmpty(),classValidator.Length(1,32)],f.prototype,"displayName",2),n([classValidator.IsString(),classValidator.IsNotEmpty(),classValidator.Length(16,1024)],f.prototype,"description",2),n([classValidator.IsUrl({protocols:["http","https"]})],f.prototype,"avatarUrl",2),n([classValidator.IsUrl({protocols:["http","https"]})],f.prototype,"bannerUrl",2),n([classValidator.IsArray()],f.prototype,"socialLinks",2);var y=class{user;role};n([classValidator.IsString(),classValidator.IsNotEmpty()],y.prototype,"user",2),n([classValidator.IsEnum(O),classValidator.IsNotEmpty()],y.prototype,"role",2);var T=class extends u{};var _=class{identifier;password;identity;addresses};var M=class{identifier;password};var E=class{identifier;identity;password};n([classValidator.IsOptional(),classValidator.IsObject(),classValidator.ValidateNested(),classTransformer.Type(()=>h)],E.prototype,"identifier",2),n([classValidator.IsOptional(),classValidator.IsObject(),classValidator.ValidateNested(),classTransformer.Type(()=>d)],E.prototype,"identity",2),n([classValidator.IsOptional(),classValidator.IsString(),classValidator.MinLength(6),classValidator.MaxLength(130)],E.prototype,"password",2);var h=class{email;phoneNumber;username};n([classValidator.IsOptional(),classValidator.IsString(),classValidator.IsEmail()],h.prototype,"email",2),n([classValidator.IsOptional(),classValidator.IsString(),classValidator.IsPhoneNumber()],h.prototype,"phoneNumber",2),n([classValidator.IsOptional(),classValidator.IsString(),classValidator.MinLength(3)],h.prototype,"username",2);var d=class{firstName;lastName;displayName;description;avatarUrl;bannerUrl;gender;birthDate};n([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(2,50),classValidator.Matches(I,{message:"First name must be composed of letters only"})],d.prototype,"firstName",2),n([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(2,50),classValidator.Matches(I,{message:"Last name must be composed of letters only"})],d.prototype,"lastName",2),n([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(1,32)],d.prototype,"displayName",2),n([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(15,500)],d.prototype,"description",2),n([classValidator.IsOptional(),classValidator.IsUrl()],d.prototype,"avatarUrl",2),n([classValidator.IsOptional(),classValidator.IsUrl()],d.prototype,"bannerUrl",2),n([classValidator.IsOptional()],d.prototype,"gender",2),n([classValidator.IsOptional(),classValidator.IsDateString()],d.prototype,"birthDate",2);var D=typeof window<"u";var xe=he__default.default.create({headers:{"Content-Type":"application/json",Accept:"application/json",...!D&&{"User-Agent":"tonightpass-api-client"}},responseType:"json",transformRequest:[function(t){return JSON.stringify(t)}],withCredentials:D}),H=async(t,e)=>xe(t,{...e}).then(r=>r).catch(r=>{throw r.data});var C=class extends Error{constructor(o,r){super(r.message);this.response=o;this.data=r;this.status=o.status;}status},R=class{options;url;constructor(e){this.options=e,this.url=(o,r)=>{let s=this.options.baseURL||k;return pathcat.pathcat(s,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,s){return this.requester("POST",e,o,r,s)}async put(e,o,r,s){return this.requester("PUT",e,o,r,s)}async patch(e,o,r,s){return this.requester("PATCH",e,o,r,s)}async delete(e,o,r){return this.requester("DELETE",e,void 0,o,r)}async requester(e,o,r,s={},a={}){let m=this.url(o,s);if(r!==void 0&&e==="GET")throw new Error("Cannot send a GET request with a body");let w=await H(m,{method:e,data:r,...a}),U=w.data;if(!U.success)throw new C(w,U);return U.data}};function x(t){return t}var B=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 V=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 $=t=>({database:async()=>t.get("/health/database"),http:async()=>t.get("/health/http")});var X=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 W=t=>({get:async e=>t.get("/profiles/:username",{username:e})});var K=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 Y=class{client;auth;careers;health;organizations;profiles;users;constructor(e){this.client=new R(e),this.auth=B(this.client),this.careers=V(this.client),this.health=$(this.client),this.organizations=X(this.client),this.profiles=W(this.client),this.users=K(this.client);}};
13
+ var J=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var s=(t,e,o,r)=>{for(var n=r>1?void 0:r?ee(e,o):e,a=t.length-1,m;a>=0;a--)(m=t[a])&&(n=(r?m(e,o,n):m(n))||n);return r&&n&&J(e,o,n),n};var N="https://api.tonightpass.com";var be=/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/,Ae=/((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,O=/(^[\p{L}\d'\\.\s\\-]*$)/u,Re=/^[a-z\d]+(?:(\.|-|_)[a-z\d]+)*$/,Ue=/\$2[abxy]?\$\d{1,2}\$[A-Za-z\d\\./]{53}/,Ie=/^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/,Oe=/(((http:\/\/www)|(http:\/\/)|(www))[-a-zA-Z0-9@:%_\\+.~#?&//=]+)\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;var te=(c=>(c.ENTRY="entry",c.PACKAGE="package",c.MEAL="meal",c.DRINK="drink",c.PARKING="parking",c.ACCOMMODATION="accommodation",c.CAMPING="camping",c.LOCKER="locker",c.SHUTTLE="shuttle",c.OTHER="other",c))(te||{});var re=(i=>(i.Clubbing="clubbing",i.Concert="concert",i.Afterwork="afterwork",i.DancingLunch="dancing_lunch",i.Diner="diner",i.Garden="garden",i.AfterBeach="after_beach",i.Festival="festival",i.Spectacle="spectacle",i.Cruise="cruise",i.OutsideAnimation="outside_animation",i.Sport="sport",i.Match="match",i.Seminar="seminar",i.Conference="conference",i.WellnessDay="wellness_day",i.Workshop="workshop",i.TradeFair="trade_fair",i.ConsumerShow="consumer_show",i.Membership="membership",i))(re||{}),oe=(a=>(a.Music="music",a.Dress="dress",a.Sport="sport",a.Food="food",a.Art="art",a))(oe||{});var se=(m=>(m.Facebook="facebook",m.Twitter="twitter",m.Instagram="instagram",m.Linkedin="linkedin",m.Youtube="youtube",m.Website="website",m))(se||{}),ne=(r=>(r.PENDING="pending",r.ACCEPTED="accepted",r.REJECTED="rejected",r))(ne||{}),L=(n=>(n.MEMBER="member",n.MANAGER="manager",n.ADMINISTRATOR="admin",n.OWNER="owner",n))(L||{});var ie=(a=>(a.Authentication="authentication",a.OrganizationInvite="organization_invite",a.PasswordRecovery="password_recovery",a.EmailValidation="email_validation",a.PhoneValidation="phone_validation",a))(ie||{});var ae=(r=>(r[r.USER=0]="USER",r[r.DEVELOPER=8]="DEVELOPER",r[r.ADMINISTRATOR=10]="ADMINISTRATOR",r))(ae||{});var pe=(l=>(l.Created="created",l.Cancelled="cancelled",l.Completed="completed",l.Pending="pending",l.Confirmed="confirmed",l.Declined="declined",l.Refunded="refunded",l.PartiallyRefunded="partially_refunded",l.Expired="expired",l))(pe||{});var me=(r=>(r.EUR="EUR",r.USD="USD",r.GBP="GBP",r))(me||{}),de=(o=>(o.FR="fr",o.EN="en",o))(de||{});var u=class{slug;identity;members;location};s([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(1,128)],u.prototype,"slug",2),s([classValidator.IsObject()],u.prototype,"identity",2),s([classValidator.IsArray()],u.prototype,"members",2),s([classValidator.IsOptional(),classValidator.IsObject()],u.prototype,"location",2);var f=class{displayName;description;avatarUrl;bannerUrl;socialLinks};s([classValidator.IsString(),classValidator.IsNotEmpty(),classValidator.Length(1,32)],f.prototype,"displayName",2),s([classValidator.IsString(),classValidator.IsNotEmpty(),classValidator.Length(16,1024)],f.prototype,"description",2),s([classValidator.IsUrl({protocols:["http","https"]})],f.prototype,"avatarUrl",2),s([classValidator.IsOptional(),classValidator.IsUrl({protocols:["http","https"]})],f.prototype,"bannerUrl",2),s([classValidator.IsOptional(),classValidator.IsArray()],f.prototype,"socialLinks",2);var P=class{user;role};s([classValidator.IsString(),classValidator.IsNotEmpty()],P.prototype,"user",2),s([classValidator.IsEnum(L),classValidator.IsNotEmpty()],P.prototype,"role",2);var _=class extends u{};var M=class{identifier;password;identity;addresses};var q=class{identifier;password};var E=class{identifier;identity;password};s([classValidator.IsOptional(),classValidator.IsObject(),classValidator.ValidateNested(),classTransformer.Type(()=>h)],E.prototype,"identifier",2),s([classValidator.IsOptional(),classValidator.IsObject(),classValidator.ValidateNested(),classTransformer.Type(()=>d)],E.prototype,"identity",2),s([classValidator.IsOptional(),classValidator.IsString(),classValidator.MinLength(6),classValidator.MaxLength(130)],E.prototype,"password",2);var h=class{email;phoneNumber;username};s([classValidator.IsOptional(),classValidator.IsString(),classValidator.IsEmail()],h.prototype,"email",2),s([classValidator.IsOptional(),classValidator.IsString(),classValidator.IsPhoneNumber()],h.prototype,"phoneNumber",2),s([classValidator.IsOptional(),classValidator.IsString(),classValidator.MinLength(3)],h.prototype,"username",2);var d=class{firstName;lastName;displayName;description;avatarUrl;bannerUrl;gender;birthDate};s([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(2,50),classValidator.Matches(O,{message:"First name must be composed of letters only"})],d.prototype,"firstName",2),s([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(2,50),classValidator.Matches(O,{message:"Last name must be composed of letters only"})],d.prototype,"lastName",2),s([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(1,32)],d.prototype,"displayName",2),s([classValidator.IsOptional(),classValidator.IsString(),classValidator.Length(15,500)],d.prototype,"description",2),s([classValidator.IsOptional(),classValidator.IsUrl()],d.prototype,"avatarUrl",2),s([classValidator.IsOptional(),classValidator.IsUrl()],d.prototype,"bannerUrl",2),s([classValidator.IsOptional()],d.prototype,"gender",2),s([classValidator.IsOptional(),classValidator.IsDateString()],d.prototype,"birthDate",2);var C=typeof window<"u";var xe=he__default.default.create({headers:{"Content-Type":"application/json",Accept:"application/json",...!C&&{"User-Agent":"tonightpass-api-client"}},responseType:"json",transformRequest:[function(t){return JSON.stringify(t)}],withCredentials:C}),B=async(t,e)=>xe(t,{...e}).then(r=>r).catch(r=>{throw r.data});var w=class extends Error{constructor(o,r){super(r.message);this.response=o;this.data=r;this.status=o.status;}status},U=class{options;url;constructor(e){this.options=e,this.url=(o,r)=>{let n=this.options.baseURL||N;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={},a={}){let m=this.url(o,n);if(r!==void 0&&e==="GET")throw new Error("Cannot send a GET request with a body");let k=await B(m,{method:e,data:r,...a}),I=k.data;if(!I.success)throw new w(k,I);return I.data}};function x(t){return t}var V=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 $=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 X=t=>({database:async()=>t.get("/health/database"),http:async()=>t.get("/health/http")});var W=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 K=t=>({get:async e=>t.get("/profiles/:username",{username:e})});var Y=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 Z=class{client;auth;careers;health;organizations;profiles;users;constructor(e){this.client=new U(e),this.auth=V(this.client),this.careers=$(this.client),this.health=X(this.client),this.organizations=W(this.client),this.profiles=K(this.client),this.users=Y(this.client);}};
14
14
 
15
15
  exports.BCRYPT_HASH = Ue;
16
- exports.Client = R;
16
+ exports.Client = U;
17
17
  exports.CreateOrganizationDto = u;
18
- exports.CreateUserDto = _;
19
- exports.Currency = pe;
20
- exports.DEFAULT_API_URL = k;
18
+ exports.CreateUserDto = M;
19
+ exports.Currency = me;
20
+ exports.DEFAULT_API_URL = N;
21
21
  exports.EMAIL_REGEX = be;
22
- exports.EventStyleType = re;
23
- exports.EventTicketCategory = ee;
24
- exports.EventType = te;
22
+ exports.EventStyleType = oe;
23
+ exports.EventTicketCategory = te;
24
+ exports.EventType = re;
25
25
  exports.IMAGE_URL_REGEX = Oe;
26
- exports.Language = me;
27
- exports.NAME_REGEX = I;
28
- exports.OrderStatus = ae;
29
- exports.OrganizationMemberRole = O;
26
+ exports.Language = de;
27
+ exports.NAME_REGEX = O;
28
+ exports.OrderStatus = pe;
29
+ exports.OrganizationMemberRole = L;
30
30
  exports.OrganizationMemberStatus = ne;
31
- exports.OrganizationSocialType = oe;
31
+ exports.OrganizationSocialType = se;
32
32
  exports.PASSWORD_REGEX = Ae;
33
33
  exports.PHONE_NUMBER_REGEX = Ie;
34
34
  exports.SLUG_REGEX = Re;
35
- exports.SignInUserDto = M;
36
- exports.TonightPass = Y;
37
- exports.TonightPassAPIError = C;
38
- exports.UpdateOrganizationDto = T;
35
+ exports.SignInUserDto = q;
36
+ exports.TonightPass = Z;
37
+ exports.TonightPassAPIError = w;
38
+ exports.UpdateOrganizationDto = _;
39
39
  exports.UpdateUserDto = E;
40
- exports.UserRole = ie;
41
- exports.UserTokenType = se;
42
- exports.auth = B;
43
- exports.careers = V;
44
- exports.health = $;
45
- exports.isBrowser = D;
46
- exports.organizations = X;
47
- exports.profiles = W;
48
- exports.request = H;
40
+ exports.UserRole = ae;
41
+ exports.UserTokenType = ie;
42
+ exports.auth = V;
43
+ exports.careers = $;
44
+ exports.health = X;
45
+ exports.isBrowser = C;
46
+ exports.organizations = W;
47
+ exports.profiles = K;
48
+ exports.request = B;
49
49
  exports.sdk = x;
50
- exports.users = K;
50
+ exports.users = Y;
51
51
  //# sourceMappingURL=out.js.map
52
52
  //# 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","ArrayMinSize","IsArray","IsEnum","IsNotEmpty","IsObject","IsString","IsUrl","Length","EventTicketCategory","EventType","EventStyleType","OrganizationSocialType","OrganizationMemberStatus","OrganizationMemberRole","UserTokenType","UserRole","OrderStatus","Currency","Language","CreateOrganizationDto","__decorateClass","CreateOrganizationIdentityDto","OrganizationMemberDto","UpdateOrganizationDto","CreateUserDto","SignInUserDto","Type","IsDateString","IsEmail","IsOptional","IsPhoneNumber","Matches","MaxLength","MinLength","ValidateNested","UpdateUserDto","UpdateIdentifierDto","UpdateIdentityDto","axios","isBrowser","instance","data","request","url","options","response","error","pathcat","TonightPassAPIError","Client","path","params","baseURL","query","body","method","result","sdk","builder","auth","client","careers","id","health","organizations","profiles","username","users","identifier","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 ArrayMinSize,\n IsArray,\n IsEnum,\n IsNotEmpty,\n IsObject,\n IsString,\n IsUrl,\n Length,\n} from \"class-validator\";\n\nimport {\n Location,\n OrganizationMemberRole,\n OrganizationSocialLink,\n} from \"../../types\";\n\nexport class CreateOrganizationDto {\n @IsString()\n @Length(1, 128)\n slug?: string;\n\n @IsObject()\n identity: CreateOrganizationIdentityDto;\n\n @IsArray()\n @ArrayMinSize(1)\n members: OrganizationMemberDto[];\n\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 @IsUrl({\n protocols: [\"http\", \"https\"],\n })\n bannerUrl?: string;\n\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","__decorateClass","CreateOrganizationIdentityDto","OrganizationMemberDto","UpdateOrganizationDto","CreateUserDto","SignInUserDto","Type","IsDateString","IsEmail","IsPhoneNumber","Matches","MaxLength","MinLength","ValidateNested","UpdateUserDto","UpdateIdentifierDto","UpdateIdentityDto","axios","isBrowser","instance","data","request","url","options","response","error","pathcat","TonightPassAPIError","Client","path","params","baseURL","query","body","method","result","sdk","builder","auth","client","careers","id","health","organizations","profiles","username","users","identifier","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 Location,\n OrganizationMemberRole,\n 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"]}
package/dist/index.mjs CHANGED
@@ -1,11 +1,11 @@
1
1
  import 'reflect-metadata';
2
- import { IsString, Length, IsObject, IsArray, ArrayMinSize, IsNotEmpty, IsUrl, IsEnum, IsOptional, ValidateNested, MinLength, MaxLength, IsEmail, IsPhoneNumber, Matches, IsDateString } from 'class-validator';
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
4
  import he from 'redaxios';
5
5
  import { pathcat } from 'pathcat';
6
6
 
7
- var Z=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var n=(t,e,o,r)=>{for(var s=r>1?void 0:r?J(e,o):e,a=t.length-1,m;a>=0;a--)(m=t[a])&&(s=(r?m(e,o,s):m(s))||s);return r&&s&&Z(e,o,s),s};var k="https://api.tonightpass.com";var be=/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/,Ae=/((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,I=/(^[\p{L}\d'\\.\s\\-]*$)/u,Re=/^[a-z\d]+(?:(\.|-|_)[a-z\d]+)*$/,Ue=/\$2[abxy]?\$\d{1,2}\$[A-Za-z\d\\./]{53}/,Ie=/^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/,Oe=/(((http:\/\/www)|(http:\/\/)|(www))[-a-zA-Z0-9@:%_\\+.~#?&//=]+)\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;var ee=(c=>(c.ENTRY="entry",c.PACKAGE="package",c.MEAL="meal",c.DRINK="drink",c.PARKING="parking",c.ACCOMMODATION="accommodation",c.CAMPING="camping",c.LOCKER="locker",c.SHUTTLE="shuttle",c.OTHER="other",c))(ee||{});var te=(i=>(i.Clubbing="clubbing",i.Concert="concert",i.Afterwork="afterwork",i.DancingLunch="dancing_lunch",i.Diner="diner",i.Garden="garden",i.AfterBeach="after_beach",i.Festival="festival",i.Spectacle="spectacle",i.Cruise="cruise",i.OutsideAnimation="outside_animation",i.Sport="sport",i.Match="match",i.Seminar="seminar",i.Conference="conference",i.WellnessDay="wellness_day",i.Workshop="workshop",i.TradeFair="trade_fair",i.ConsumerShow="consumer_show",i.Membership="membership",i))(te||{}),re=(a=>(a.Music="music",a.Dress="dress",a.Sport="sport",a.Food="food",a.Art="art",a))(re||{});var oe=(m=>(m.Facebook="facebook",m.Twitter="twitter",m.Instagram="instagram",m.Linkedin="linkedin",m.Youtube="youtube",m.Website="website",m))(oe||{}),ne=(r=>(r.PENDING="pending",r.ACCEPTED="accepted",r.REJECTED="rejected",r))(ne||{}),O=(s=>(s.MEMBER="member",s.MANAGER="manager",s.ADMINISTRATOR="admin",s.OWNER="owner",s))(O||{});var se=(a=>(a.Authentication="authentication",a.OrganizationInvite="organization_invite",a.PasswordRecovery="password_recovery",a.EmailValidation="email_validation",a.PhoneValidation="phone_validation",a))(se||{});var ie=(r=>(r[r.USER=0]="USER",r[r.DEVELOPER=8]="DEVELOPER",r[r.ADMINISTRATOR=10]="ADMINISTRATOR",r))(ie||{});var ae=(l=>(l.Created="created",l.Cancelled="cancelled",l.Completed="completed",l.Pending="pending",l.Confirmed="confirmed",l.Declined="declined",l.Refunded="refunded",l.PartiallyRefunded="partially_refunded",l.Expired="expired",l))(ae||{});var pe=(r=>(r.EUR="EUR",r.USD="USD",r.GBP="GBP",r))(pe||{}),me=(o=>(o.FR="fr",o.EN="en",o))(me||{});var u=class{slug;identity;members;location};n([IsString(),Length(1,128)],u.prototype,"slug",2),n([IsObject()],u.prototype,"identity",2),n([IsArray(),ArrayMinSize(1)],u.prototype,"members",2),n([IsObject()],u.prototype,"location",2);var f=class{displayName;description;avatarUrl;bannerUrl;socialLinks};n([IsString(),IsNotEmpty(),Length(1,32)],f.prototype,"displayName",2),n([IsString(),IsNotEmpty(),Length(16,1024)],f.prototype,"description",2),n([IsUrl({protocols:["http","https"]})],f.prototype,"avatarUrl",2),n([IsUrl({protocols:["http","https"]})],f.prototype,"bannerUrl",2),n([IsArray()],f.prototype,"socialLinks",2);var y=class{user;role};n([IsString(),IsNotEmpty()],y.prototype,"user",2),n([IsEnum(O),IsNotEmpty()],y.prototype,"role",2);var T=class extends u{};var _=class{identifier;password;identity;addresses};var M=class{identifier;password};var E=class{identifier;identity;password};n([IsOptional(),IsObject(),ValidateNested(),Type(()=>h)],E.prototype,"identifier",2),n([IsOptional(),IsObject(),ValidateNested(),Type(()=>d)],E.prototype,"identity",2),n([IsOptional(),IsString(),MinLength(6),MaxLength(130)],E.prototype,"password",2);var h=class{email;phoneNumber;username};n([IsOptional(),IsString(),IsEmail()],h.prototype,"email",2),n([IsOptional(),IsString(),IsPhoneNumber()],h.prototype,"phoneNumber",2),n([IsOptional(),IsString(),MinLength(3)],h.prototype,"username",2);var d=class{firstName;lastName;displayName;description;avatarUrl;bannerUrl;gender;birthDate};n([IsOptional(),IsString(),Length(2,50),Matches(I,{message:"First name must be composed of letters only"})],d.prototype,"firstName",2),n([IsOptional(),IsString(),Length(2,50),Matches(I,{message:"Last name must be composed of letters only"})],d.prototype,"lastName",2),n([IsOptional(),IsString(),Length(1,32)],d.prototype,"displayName",2),n([IsOptional(),IsString(),Length(15,500)],d.prototype,"description",2),n([IsOptional(),IsUrl()],d.prototype,"avatarUrl",2),n([IsOptional(),IsUrl()],d.prototype,"bannerUrl",2),n([IsOptional()],d.prototype,"gender",2),n([IsOptional(),IsDateString()],d.prototype,"birthDate",2);var D=typeof window<"u";var xe=he.create({headers:{"Content-Type":"application/json",Accept:"application/json",...!D&&{"User-Agent":"tonightpass-api-client"}},responseType:"json",transformRequest:[function(t){return JSON.stringify(t)}],withCredentials:D}),H=async(t,e)=>xe(t,{...e}).then(r=>r).catch(r=>{throw r.data});var C=class extends Error{constructor(o,r){super(r.message);this.response=o;this.data=r;this.status=o.status;}status},R=class{options;url;constructor(e){this.options=e,this.url=(o,r)=>{let s=this.options.baseURL||k;return pathcat(s,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,s){return this.requester("POST",e,o,r,s)}async put(e,o,r,s){return this.requester("PUT",e,o,r,s)}async patch(e,o,r,s){return this.requester("PATCH",e,o,r,s)}async delete(e,o,r){return this.requester("DELETE",e,void 0,o,r)}async requester(e,o,r,s={},a={}){let m=this.url(o,s);if(r!==void 0&&e==="GET")throw new Error("Cannot send a GET request with a body");let w=await H(m,{method:e,data:r,...a}),U=w.data;if(!U.success)throw new C(w,U);return U.data}};function x(t){return t}var B=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 V=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 $=t=>({database:async()=>t.get("/health/database"),http:async()=>t.get("/health/http")});var X=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 W=t=>({get:async e=>t.get("/profiles/:username",{username:e})});var K=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 Y=class{client;auth;careers;health;organizations;profiles;users;constructor(e){this.client=new R(e),this.auth=B(this.client),this.careers=V(this.client),this.health=$(this.client),this.organizations=X(this.client),this.profiles=W(this.client),this.users=K(this.client);}};
7
+ var J=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var s=(t,e,o,r)=>{for(var n=r>1?void 0:r?ee(e,o):e,a=t.length-1,m;a>=0;a--)(m=t[a])&&(n=(r?m(e,o,n):m(n))||n);return r&&n&&J(e,o,n),n};var N="https://api.tonightpass.com";var be=/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/,Ae=/((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/,O=/(^[\p{L}\d'\\.\s\\-]*$)/u,Re=/^[a-z\d]+(?:(\.|-|_)[a-z\d]+)*$/,Ue=/\$2[abxy]?\$\d{1,2}\$[A-Za-z\d\\./]{53}/,Ie=/^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/,Oe=/(((http:\/\/www)|(http:\/\/)|(www))[-a-zA-Z0-9@:%_\\+.~#?&//=]+)\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;var te=(c=>(c.ENTRY="entry",c.PACKAGE="package",c.MEAL="meal",c.DRINK="drink",c.PARKING="parking",c.ACCOMMODATION="accommodation",c.CAMPING="camping",c.LOCKER="locker",c.SHUTTLE="shuttle",c.OTHER="other",c))(te||{});var re=(i=>(i.Clubbing="clubbing",i.Concert="concert",i.Afterwork="afterwork",i.DancingLunch="dancing_lunch",i.Diner="diner",i.Garden="garden",i.AfterBeach="after_beach",i.Festival="festival",i.Spectacle="spectacle",i.Cruise="cruise",i.OutsideAnimation="outside_animation",i.Sport="sport",i.Match="match",i.Seminar="seminar",i.Conference="conference",i.WellnessDay="wellness_day",i.Workshop="workshop",i.TradeFair="trade_fair",i.ConsumerShow="consumer_show",i.Membership="membership",i))(re||{}),oe=(a=>(a.Music="music",a.Dress="dress",a.Sport="sport",a.Food="food",a.Art="art",a))(oe||{});var se=(m=>(m.Facebook="facebook",m.Twitter="twitter",m.Instagram="instagram",m.Linkedin="linkedin",m.Youtube="youtube",m.Website="website",m))(se||{}),ne=(r=>(r.PENDING="pending",r.ACCEPTED="accepted",r.REJECTED="rejected",r))(ne||{}),L=(n=>(n.MEMBER="member",n.MANAGER="manager",n.ADMINISTRATOR="admin",n.OWNER="owner",n))(L||{});var ie=(a=>(a.Authentication="authentication",a.OrganizationInvite="organization_invite",a.PasswordRecovery="password_recovery",a.EmailValidation="email_validation",a.PhoneValidation="phone_validation",a))(ie||{});var ae=(r=>(r[r.USER=0]="USER",r[r.DEVELOPER=8]="DEVELOPER",r[r.ADMINISTRATOR=10]="ADMINISTRATOR",r))(ae||{});var pe=(l=>(l.Created="created",l.Cancelled="cancelled",l.Completed="completed",l.Pending="pending",l.Confirmed="confirmed",l.Declined="declined",l.Refunded="refunded",l.PartiallyRefunded="partially_refunded",l.Expired="expired",l))(pe||{});var me=(r=>(r.EUR="EUR",r.USD="USD",r.GBP="GBP",r))(me||{}),de=(o=>(o.FR="fr",o.EN="en",o))(de||{});var u=class{slug;identity;members;location};s([IsOptional(),IsString(),Length(1,128)],u.prototype,"slug",2),s([IsObject()],u.prototype,"identity",2),s([IsArray()],u.prototype,"members",2),s([IsOptional(),IsObject()],u.prototype,"location",2);var f=class{displayName;description;avatarUrl;bannerUrl;socialLinks};s([IsString(),IsNotEmpty(),Length(1,32)],f.prototype,"displayName",2),s([IsString(),IsNotEmpty(),Length(16,1024)],f.prototype,"description",2),s([IsUrl({protocols:["http","https"]})],f.prototype,"avatarUrl",2),s([IsOptional(),IsUrl({protocols:["http","https"]})],f.prototype,"bannerUrl",2),s([IsOptional(),IsArray()],f.prototype,"socialLinks",2);var P=class{user;role};s([IsString(),IsNotEmpty()],P.prototype,"user",2),s([IsEnum(L),IsNotEmpty()],P.prototype,"role",2);var _=class extends u{};var M=class{identifier;password;identity;addresses};var q=class{identifier;password};var E=class{identifier;identity;password};s([IsOptional(),IsObject(),ValidateNested(),Type(()=>h)],E.prototype,"identifier",2),s([IsOptional(),IsObject(),ValidateNested(),Type(()=>d)],E.prototype,"identity",2),s([IsOptional(),IsString(),MinLength(6),MaxLength(130)],E.prototype,"password",2);var h=class{email;phoneNumber;username};s([IsOptional(),IsString(),IsEmail()],h.prototype,"email",2),s([IsOptional(),IsString(),IsPhoneNumber()],h.prototype,"phoneNumber",2),s([IsOptional(),IsString(),MinLength(3)],h.prototype,"username",2);var d=class{firstName;lastName;displayName;description;avatarUrl;bannerUrl;gender;birthDate};s([IsOptional(),IsString(),Length(2,50),Matches(O,{message:"First name must be composed of letters only"})],d.prototype,"firstName",2),s([IsOptional(),IsString(),Length(2,50),Matches(O,{message:"Last name must be composed of letters only"})],d.prototype,"lastName",2),s([IsOptional(),IsString(),Length(1,32)],d.prototype,"displayName",2),s([IsOptional(),IsString(),Length(15,500)],d.prototype,"description",2),s([IsOptional(),IsUrl()],d.prototype,"avatarUrl",2),s([IsOptional(),IsUrl()],d.prototype,"bannerUrl",2),s([IsOptional()],d.prototype,"gender",2),s([IsOptional(),IsDateString()],d.prototype,"birthDate",2);var C=typeof window<"u";var xe=he.create({headers:{"Content-Type":"application/json",Accept:"application/json",...!C&&{"User-Agent":"tonightpass-api-client"}},responseType:"json",transformRequest:[function(t){return JSON.stringify(t)}],withCredentials:C}),B=async(t,e)=>xe(t,{...e}).then(r=>r).catch(r=>{throw r.data});var w=class extends Error{constructor(o,r){super(r.message);this.response=o;this.data=r;this.status=o.status;}status},U=class{options;url;constructor(e){this.options=e,this.url=(o,r)=>{let n=this.options.baseURL||N;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={},a={}){let m=this.url(o,n);if(r!==void 0&&e==="GET")throw new Error("Cannot send a GET request with a body");let k=await B(m,{method:e,data:r,...a}),I=k.data;if(!I.success)throw new w(k,I);return I.data}};function x(t){return t}var V=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 $=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 X=t=>({database:async()=>t.get("/health/database"),http:async()=>t.get("/health/http")});var W=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 K=t=>({get:async e=>t.get("/profiles/:username",{username:e})});var Y=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 Z=class{client;auth;careers;health;organizations;profiles;users;constructor(e){this.client=new U(e),this.auth=V(this.client),this.careers=$(this.client),this.health=X(this.client),this.organizations=W(this.client),this.profiles=K(this.client),this.users=Y(this.client);}};
8
8
 
9
- export { Ue as BCRYPT_HASH, R as Client, u as CreateOrganizationDto, _ as CreateUserDto, pe as Currency, k as DEFAULT_API_URL, be as EMAIL_REGEX, re as EventStyleType, ee as EventTicketCategory, te as EventType, Oe as IMAGE_URL_REGEX, me as Language, I as NAME_REGEX, ae as OrderStatus, O as OrganizationMemberRole, ne as OrganizationMemberStatus, oe as OrganizationSocialType, Ae as PASSWORD_REGEX, Ie as PHONE_NUMBER_REGEX, Re as SLUG_REGEX, M as SignInUserDto, Y as TonightPass, C as TonightPassAPIError, T as UpdateOrganizationDto, E as UpdateUserDto, ie as UserRole, se as UserTokenType, B as auth, V as careers, $ as health, D as isBrowser, X as organizations, W as profiles, H as request, x as sdk, K as users };
9
+ export { Ue as BCRYPT_HASH, U as Client, u as CreateOrganizationDto, M as CreateUserDto, me as Currency, N as DEFAULT_API_URL, be as EMAIL_REGEX, oe as EventStyleType, te as EventTicketCategory, re as EventType, Oe as IMAGE_URL_REGEX, de as Language, O as NAME_REGEX, pe as OrderStatus, L as OrganizationMemberRole, ne as OrganizationMemberStatus, se as OrganizationSocialType, Ae as PASSWORD_REGEX, Ie as PHONE_NUMBER_REGEX, Re as SLUG_REGEX, q as SignInUserDto, Z as TonightPass, w as TonightPassAPIError, _ as UpdateOrganizationDto, E as UpdateUserDto, ae as UserRole, ie as UserTokenType, V as auth, $ as careers, X as health, C as isBrowser, W as organizations, K as profiles, B as request, x as sdk, Y 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","ArrayMinSize","IsArray","IsEnum","IsNotEmpty","IsObject","IsString","IsUrl","Length","EventTicketCategory","EventType","EventStyleType","OrganizationSocialType","OrganizationMemberStatus","OrganizationMemberRole","UserTokenType","UserRole","OrderStatus","Currency","Language","CreateOrganizationDto","__decorateClass","CreateOrganizationIdentityDto","OrganizationMemberDto","UpdateOrganizationDto","CreateUserDto","SignInUserDto","Type","IsDateString","IsEmail","IsOptional","IsPhoneNumber","Matches","MaxLength","MinLength","ValidateNested","UpdateUserDto","UpdateIdentifierDto","UpdateIdentityDto","axios","isBrowser","instance","data","request","url","options","response","error","pathcat","TonightPassAPIError","Client","path","params","baseURL","query","body","method","result","sdk","builder","auth","client","careers","id","health","organizations","profiles","username","users","identifier","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 ArrayMinSize,\n IsArray,\n IsEnum,\n IsNotEmpty,\n IsObject,\n IsString,\n IsUrl,\n Length,\n} from \"class-validator\";\n\nimport {\n Location,\n OrganizationMemberRole,\n OrganizationSocialLink,\n} from \"../../types\";\n\nexport class CreateOrganizationDto {\n @IsString()\n @Length(1, 128)\n slug?: string;\n\n @IsObject()\n identity: CreateOrganizationIdentityDto;\n\n @IsArray()\n @ArrayMinSize(1)\n members: OrganizationMemberDto[];\n\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 @IsUrl({\n protocols: [\"http\", \"https\"],\n })\n bannerUrl?: string;\n\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","__decorateClass","CreateOrganizationIdentityDto","OrganizationMemberDto","UpdateOrganizationDto","CreateUserDto","SignInUserDto","Type","IsDateString","IsEmail","IsPhoneNumber","Matches","MaxLength","MinLength","ValidateNested","UpdateUserDto","UpdateIdentifierDto","UpdateIdentityDto","axios","isBrowser","instance","data","request","url","options","response","error","pathcat","TonightPassAPIError","Client","path","params","baseURL","query","body","method","result","sdk","builder","auth","client","careers","id","health","organizations","profiles","username","users","identifier","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 Location,\n OrganizationMemberRole,\n 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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tonightpass",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "description": "@tonightpass sdk and tools.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,9 +1,9 @@
1
1
  import {
2
- ArrayMinSize,
3
2
  IsArray,
4
3
  IsEnum,
5
4
  IsNotEmpty,
6
5
  IsObject,
6
+ IsOptional,
7
7
  IsString,
8
8
  IsUrl,
9
9
  Length,
@@ -16,6 +16,7 @@ import {
16
16
  } from "../../types";
17
17
 
18
18
  export class CreateOrganizationDto {
19
+ @IsOptional()
19
20
  @IsString()
20
21
  @Length(1, 128)
21
22
  slug?: string;
@@ -24,9 +25,9 @@ export class CreateOrganizationDto {
24
25
  identity: CreateOrganizationIdentityDto;
25
26
 
26
27
  @IsArray()
27
- @ArrayMinSize(1)
28
28
  members: OrganizationMemberDto[];
29
29
 
30
+ @IsOptional()
30
31
  @IsObject()
31
32
  location?: Location;
32
33
  }
@@ -47,11 +48,13 @@ class CreateOrganizationIdentityDto {
47
48
  })
48
49
  avatarUrl?: string;
49
50
 
51
+ @IsOptional()
50
52
  @IsUrl({
51
53
  protocols: ["http", "https"],
52
54
  })
53
55
  bannerUrl?: string;
54
56
 
57
+ @IsOptional()
55
58
  @IsArray()
56
59
  socialLinks?: OrganizationSocialLink[];
57
60
  }
@@ -1,4 +1,5 @@
1
1
  import { Endpoint } from "../../endpoints";
2
+ import { OrganizationIdentity } from "../organizations";
2
3
  import { UserIdentity } from "../users";
3
4
 
4
5
  export interface Profile {
@@ -26,5 +27,5 @@ export interface ProfileMetadata {
26
27
  export type ProfileEndpoints = Endpoint<
27
28
  "GET",
28
29
  "/profiles/:username",
29
- UserIdentity
30
+ UserIdentity | OrganizationIdentity
30
31
  >;