tonightpass 0.0.32 → 0.0.34
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.
- package/.turbo/turbo-build.log +10 -10
- package/CHANGELOG.md +12 -0
- package/dist/index.d.mts +40 -28
- package/dist/index.d.ts +40 -28
- package/dist/index.js +36 -34
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/rest/dtos/organizations/create-organization.dto.ts +6 -18
- package/src/rest/dtos/organizations/index.ts +1 -0
- package/src/rest/dtos/organizations/members/create-organization-member.dto.ts +13 -0
- package/src/rest/dtos/organizations/members/index.ts +2 -0
- package/src/rest/dtos/organizations/update-organization.dto.ts +62 -2
- package/src/rest/dtos/users/update-user.dto.ts +5 -5
- package/src/rest/types/organizations/members/index.ts +2 -2
- package/src/sdk/organizations/billing/index.ts +3 -3
- package/src/sdk/organizations/events/index.ts +5 -5
- package/src/sdk/organizations/events/styles/index.ts +3 -3
- package/src/sdk/organizations/events/tickets/index.ts +3 -3
- package/src/sdk/organizations/index.ts +3 -3
- package/src/sdk/organizations/members/index.ts +3 -3
package/dist/index.mjs.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/organizations/events/tickets/index.ts","../src/rest/types/organizations/events/styles/index.ts","../src/rest/types/organizations/events/index.ts","../src/rest/types/organizations/members/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/organizations/events/create-organization-event.dto.ts","../src/rest/dtos/organizations/events/update-organization-event.dto.ts","../src/rest/dtos/organizations/events/tickets/create-organization-event-ticket.dto.ts","../src/rest/dtos/organizations/events/tickets/update-organization-event-ticket.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/billing/index.ts","../src/sdk/organizations/events/styles/index.ts","../src/sdk/organizations/events/tickets/index.ts","../src/sdk/organizations/events/index.ts","../src/sdk/organizations/members/index.ts","../src/sdk/organizations/index.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","OrganizationEventTicketCategory","OrganizationEventStyleType","OrganizationEventType","OrganizationMemberStatus","OrganizationMemberRole","OrganizationSocialType","UserTokenType","UserRole","OrderStatus","Currency","Language","CreateOrganizationDto","slug","identity","members","location","CreateOrganizationIdentityDto","displayName","description","avatarUrl","bannerUrl","socialLinks","protocols","OrganizationMemberDto","user","role","UpdateOrganizationDto","CreateOrganizationEventDto","title","organization","type","public","flyers","trailers","tickets","styles","startAt","endAt","UpdateOrganizationEventDto","CreateOrganizationEventTicketDto","name","price","quantity","category","currency","isVisible","isFeesIncluded","UpdateOrganizationEventTicketDto","CreateUserDto","identifier","password","addresses","SignInUserDto","Type","IsDateString","IsEmail","IsPhoneNumber","Matches","MaxLength","MinLength","ValidateNested","UpdateUserDto","UpdateIdentifierDto","UpdateIdentityDto","email","phoneNumber","username","firstName","lastName","gender","birthDate","message","axios","isBrowser","window","instance","create","headers","Accept","responseType","transformRequest","data","JSON","stringify","withCredentials","request","__name","url","options","then","response","catch","error","pathcat","TonightPassAPIError","Error","status","constructor","Client","path","params","baseURL","setOptions","get","query","requester","undefined","post","body","put","patch","delete","method","result","success","sdk","builder","auth","client","signIn","signUp","signOut","refreshToken","oauth2","google","connect","href","twitter","careers","categories","getAll","employmentTypes","jobs","id","offices","health","database","http","organizationsBilling","account","link","dashboard","organizationsEventsStyles","update","organizationsEventsTickets","eventSlug","ticketId","organizationsEvents","organizationSlug","organizationsMembers","organizations","billing","events","profiles","users","me","check","suggestions","TonightPass"],"mappings":"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","sourcesContent":["export const DEFAULT_API_URL = \"https://api.tonightpass.com\";\n","export const EMAIL_REGEX = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/;\n\n// checks if a password has at least one uppercase letter and a number or special character\nexport const PASSWORD_REGEX =\n /((?=.*\\d)|(?=.*\\W+))(?![.\\n])(?=.*[A-Z])(?=.*[a-z]).*$/;\n\n// checks if a string has only letters, numbers, spaces, apostrophes, dots and dashes\nexport const NAME_REGEX = /(^[\\p{L}\\d'\\\\.\\s\\\\-]*$)/u;\n\n// checks if a string is a valid slug, useful for usernames\nexport const SLUG_REGEX = /^[a-z\\d]+(?:(\\.|-|_)[a-z\\d]+)*$/;\n\n// validates if passwords are valid bcrypt hashes\nexport const BCRYPT_HASH = /\\$2[abxy]?\\$\\d{1,2}\\$[A-Za-z\\d\\\\./]{53}/;\n\nexport const PHONE_NUMBER_REGEX =\n /^\\s*(?:\\+?(\\d{1,3}))?([-. (]*(\\d{3})[-. )]*)?((\\d{3})[-. ]*(\\d{2,4})(?:[-.x ]*(\\d+))?)\\s*$/;\n\nexport const IMAGE_URL_REGEX =\n /(((http:\\/\\/www)|(http:\\/\\/)|(www))[-a-zA-Z0-9@:%_\\\\+.~#?&//=]+)\\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;\n","import \"reflect-metadata\";\n\nexport * from \"./organizations\";\nexport * from \"./users\";\n","import {\n IsArray,\n IsEnum,\n IsNotEmpty,\n IsObject,\n IsOptional,\n IsString,\n IsUrl,\n Length,\n} from \"class-validator\";\n\nimport {\n OrganizationMemberRole,\n type Location,\n type OrganizationSocialLink,\n} from \"../../types\";\n\nexport class CreateOrganizationDto {\n @IsOptional()\n @IsString()\n @Length(1, 128)\n slug?: string;\n\n @IsObject()\n identity: CreateOrganizationIdentityDto;\n\n @IsArray()\n members: OrganizationMemberDto[];\n\n @IsOptional()\n @IsObject()\n location?: Location;\n}\n\nexport class 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\nexport class OrganizationMemberDto {\n @IsString()\n @IsNotEmpty()\n user: string;\n\n @IsEnum(OrganizationMemberRole)\n @IsNotEmpty()\n role: OrganizationMemberRole;\n}\n","import { Base, Currency } from \"../../..\";\nimport {\n CreateOrganizationEventTicketDto,\n UpdateOrganizationEventTicketDto,\n} from \"../../../../dtos\";\nimport { Endpoint } from \"../../../../endpoints\";\n\nexport type OrganizationEventTicket = Base & {\n name: string;\n description?: string;\n price: number;\n displayPrice: number;\n quantity: number;\n type: OrganizationEventTicketType;\n category: OrganizationEventTicketCategory;\n currency: Currency;\n vatRate: number;\n externalId?: string;\n isVisible: boolean;\n isFeesIncluded: boolean;\n startAt: Date;\n endAt: Date;\n};\n\nexport type OrganizationEventTicketType = \"e-ticket\" | \"other\";\n\nexport enum OrganizationEventTicketCategory {\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\nexport type OrganizationEventTicketEndpoints =\n | Endpoint<\n \"GET\",\n \"/organizations/:slug/events/:eventSlug/tickets\",\n OrganizationEventTicket[]\n >\n | Endpoint<\n \"GET\",\n \"/organizations/:slug/events/:eventSlug/tickets/:ticketId\",\n OrganizationEventTicket\n >\n | Endpoint<\n \"POST\",\n \"/organizations/:slug/events/:eventSlug/tickets\",\n OrganizationEventTicket,\n CreateOrganizationEventTicketDto\n >\n | Endpoint<\n \"PUT\",\n \"/organizations/:slug/events/:eventSlug/tickets/:ticketId\",\n OrganizationEventTicket,\n UpdateOrganizationEventTicketDto\n >\n | Endpoint<\n \"DELETE\",\n \"/organizations/:slug/events/:eventSlug/tickets/:ticketId\",\n OrganizationEventTicket[],\n null\n >;\n","import { Base } from \"../../..\";\nimport {\n CreateOrganizationEventStyleDto,\n UpdateOrganizationEventStyleDto,\n} from \"../../../../dtos/organizations/events/events\";\nimport { Endpoint } from \"../../../../endpoints\";\n\nexport type OrganizationEventStyle = Base & {\n type: OrganizationEventStyleType;\n emoji: string;\n name: string;\n slug: string;\n};\n\nexport enum OrganizationEventStyleType {\n Music = \"music\",\n Dress = \"dress\",\n Sport = \"sport\",\n Food = \"food\",\n Art = \"art\",\n}\n\nexport type OrganizationEventStyleEndpoints =\n | Endpoint<\"GET\", \"/organizations/events/styles\", OrganizationEventStyle[]>\n | Endpoint<\n \"GET\",\n \"/organizations/events/styles/:slug\",\n OrganizationEventStyle\n >\n | Endpoint<\n \"POST\",\n \"/organizations/events/styles\",\n OrganizationEventStyle,\n CreateOrganizationEventStyleDto\n >\n | Endpoint<\n \"PUT\",\n \"/organizations/events/styles/:slug\",\n OrganizationEventStyle,\n UpdateOrganizationEventStyleDto\n >\n | Endpoint<\n \"DELETE\",\n \"/organizations/events/styles/:slug\",\n OrganizationEventStyle[],\n null\n >;\n","import {\n OrganizationEventStyle,\n OrganizationEventStyleEndpoints,\n} from \"./styles\";\nimport {\n OrganizationEventTicket,\n Organization,\n OrganizationEventTicketEndpoints,\n} from \"..\";\nimport { Base, Location } from \"../..\";\nimport {\n CreateOrganizationEventDto,\n UpdateOrganizationEventDto,\n} from \"../../../dtos\";\nimport { Endpoint } from \"../../../endpoints\";\n\nexport * from \"./tickets\";\nexport * from \"./styles\";\n\nexport type OrganizationEvent = Base & {\n title: string;\n description: string;\n slug: string;\n organization: Organization;\n type: OrganizationEventType;\n public: boolean;\n flyers: string[];\n trailers: string[];\n location: Location;\n tickets: OrganizationEventTicket[];\n styles: OrganizationEventStyle[];\n startAt: Date;\n endAt: Date;\n};\n\nexport enum OrganizationEventType {\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 OrganizationEventEndpoints =\n | Endpoint<\"GET\", \"/organizations/:organizationSlug/events\", Event[]>\n | Endpoint<\"GET\", \"/organizations/:organizationSlug/events/:eventSlug\", Event>\n | Endpoint<\n \"POST\",\n \"/organizations/:organizationSlug/events\",\n Event,\n CreateOrganizationEventDto\n >\n | Endpoint<\n \"PUT\",\n \"/organizations/:organizationSlug/events/:eventSlug\",\n Event,\n UpdateOrganizationEventDto\n >\n | Endpoint<\n \"DELETE\",\n \"/organizations/:organizationSlug/events/:eventSlug\",\n Event,\n null\n >\n | OrganizationEventStyleEndpoints\n | OrganizationEventTicketEndpoints;\n","import { Organization } from \"..\";\nimport { Base } from \"../..\";\nimport { OrganizationMemberDto } from \"../../../dtos\";\nimport { UpdateOrganizationMemberDto } from \"../../../dtos/organizations/members/update-organization-member.dto\";\nimport { Endpoint } from \"../../../endpoints\";\nimport { UserToken } from \"../../token\";\nimport { User } from \"../../users\";\n\nexport type OrganizationMember = Base & {\n organization: Organization;\n role: OrganizationMemberRole;\n status: OrganizationMemberStatus;\n user?: User;\n token?: UserToken;\n};\n\nexport enum OrganizationMemberStatus {\n Pending = \"pending\",\n Accepted = \"accepted\",\n Rejected = \"rejected\",\n}\n\nexport enum OrganizationMemberRole {\n Member = \"member\",\n Manager = \"manager\",\n Admin = \"admin\",\n Owner = \"owner\",\n}\n\nexport type OrganizationMembersEndpoints =\n | Endpoint<\"GET\", \"/organizations/members\", OrganizationMember[]>\n | Endpoint<\"DELETE\", \"/organizations/members/:id\", OrganizationMember[], null>\n | Endpoint<\"GET\", \"/organizations/:slug/members\", OrganizationMember[]>\n | Endpoint<\n \"POST\",\n \"/organizations/:slug/members\",\n OrganizationMember,\n OrganizationMemberDto\n >\n | Endpoint<\n \"PUT\",\n \"/organizations/:organizationSlug/members/:userId\",\n OrganizationMember,\n UpdateOrganizationMemberDto\n >\n | Endpoint<\n \"DELETE\",\n \"/organizations/:organizationSlug/members/:userId\",\n OrganizationMember[],\n null\n >;\n","import type Stripe from \"stripe\";\n\nimport { OrganizationEvent, OrganizationEventEndpoints } from \"./events\";\nimport { OrganizationEventTicket } from \"./events/tickets\";\nimport { OrganizationMember, OrganizationMembersEndpoints } from \"./members\";\nimport { Base, Location, Profile, ProfileMetadata } from \"..\";\nimport { CreateOrganizationDto, UpdateOrganizationDto } from \"../../dtos\";\nimport { Endpoint } from \"../../endpoints\";\n\nexport * from \"./events\";\nexport * from \"./members\";\n\nexport type Organization = Base & {\n slug: string;\n identity: OrganizationIdentity;\n members: OrganizationMember[];\n location?: Location;\n events: OrganizationEvent[];\n savedTickets: OrganizationEventTicket[];\n verified: boolean;\n billing: OrganizationBilling;\n};\n\nexport type OrganizationBilling = {\n account: string;\n};\n\nexport type OrganizationBillingAccount = Stripe.Account;\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 OrganizationEndpoints =\n | Endpoint<\"GET\", \"/organizations\", Organization[]>\n | Endpoint<\"GET\", \"/organizations/:slug\", Organization>\n | Endpoint<\"POST\", \"/organizations\", Organization, CreateOrganizationDto>\n | Endpoint<\"PUT\", \"/organizations/:slug\", Organization, UpdateOrganizationDto>\n | Endpoint<\"DELETE\", \"/organizations/:slug\", Organization, null>\n | Endpoint<\n \"GET\",\n \"/organizations/:slug/billing/account\",\n OrganizationBillingAccount\n >\n | Endpoint<\"GET\", \"/organizations/:slug/billing/link\", void>\n | Endpoint<\"GET\", \"/organizations/:slug/billing/dashboard\", void>\n | OrganizationEventEndpoints\n | OrganizationMembersEndpoints;\n","import { User } from \"../users\";\n\nexport type UserToken = {\n type: UserTokenType;\n value: string;\n createdAt: Date;\n expiresAt: Date;\n user?: User;\n identifier?: string;\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 {\n Base,\n Currency,\n Language,\n Location,\n Profile,\n ProfileMetadata,\n} from \"..\";\nimport { UpdateUserDto } from \"../../dtos\";\nimport { Endpoint } from \"../../endpoints\";\n\nexport type User = Base & {\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};\n\nexport type UserIdentifier = {\n email?: string;\n phoneNumber?: string;\n username: string;\n\n [key: string]: string | undefined;\n};\n\nexport type UserIdentity = Profile & {\n firstName: string;\n lastName: string;\n fullName: string;\n gender: UserIdentityGender;\n birthDate: Date;\n\n metadata: ProfileMetadata & {\n followingCount: number;\n hasPassPlus: boolean;\n idValid: boolean;\n };\n};\n\nexport enum UserRole {\n User = \"user\",\n Developer = \"developer\",\n Admin = \"admin\",\n}\n\nexport type UserIdentityGender =\n | \"male\"\n | \"female\"\n | \"non-binary\"\n | \"gender-fluid\"\n | \"neutral\"\n | \"other\"\n | string;\n\nexport type UserPreferences = {\n language: Language;\n currency: Currency;\n notifications: {\n email: {\n newsletter: boolean;\n message: boolean;\n };\n push: {\n message: boolean;\n };\n };\n};\n\nexport type UserConnection = {\n ip: string;\n os: UserConnectionOS;\n device: UserConnectionDevice;\n client: UserConnectionClient;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type UserConnectionOS = {\n name: string;\n version: string;\n};\n\nexport type UserConnectionDevice = {\n type: string;\n brand: string;\n};\n\nexport type UserConnectionClient = {\n name: string;\n version: string;\n};\n\nexport type UserEndpoints =\n | Endpoint<\"GET\", \"/users\", User[]>\n | Endpoint<\"GET\", \"/users/:id\", User, { id: string }>\n | Endpoint<\"GET\", \"/users/me\", User>\n | Endpoint<\n \"GET\",\n \"/users/check/:identifier\",\n {\n exists: boolean;\n identifier: UserIdentifier;\n suggestions?: string[];\n },\n { identifier: boolean; suggestions?: boolean }\n >\n | Endpoint<\"PUT\", \"/users/:id\", User, UpdateUserDto>;\n","import { Currency } from \"..\";\nimport { OrganizationEvent, OrganizationEventTicket } from \"../organizations\";\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: OrganizationEventTicket;\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: OrganizationEvent;\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 \"./health\";\nexport * from \"./organizations\";\nexport * from \"./token\";\nexport * from \"./users\";\nexport * from \"./order\";\nexport * from \"./profiles\";\n\nexport type Base = {\n id: string;\n createdAt: Date;\n updatedAt: Date;\n};\n\nexport type ExcludeBase<T> = Omit<T, keyof Base>;\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 { CreateOrganizationEventTicketDto } from \"./tickets\";\nimport { Location, OrganizationEventType } from \"../../../types\";\n\nexport class CreateOrganizationEventDto {\n title: string;\n description: string;\n organization: string;\n type: OrganizationEventType;\n public: boolean;\n flyers: string[];\n trailers: string[];\n location: Location;\n tickets: CreateOrganizationEventTicketDto[];\n styles: string[];\n startAt: Date;\n endAt: Date;\n}\n","import { CreateOrganizationEventDto } from \"./create-organization-event.dto\";\n\nexport class UpdateOrganizationEventDto extends CreateOrganizationEventDto {}\n","import {\n Currency,\n OrganizationEventTicketCategory,\n OrganizationEventTicketType,\n} from \"../../../../types\";\n\nexport class CreateOrganizationEventTicketDto {\n name: string;\n description?: string;\n price: number;\n quantity: number;\n type: OrganizationEventTicketType;\n category: OrganizationEventTicketCategory;\n currency: Currency;\n isVisible: boolean;\n isFeesIncluded: boolean;\n startAt: Date;\n endAt: Date;\n}\n","import { CreateOrganizationEventTicketDto } from \"./create-organization-event-ticket.dto\";\n\nexport class UpdateOrganizationEventTicketDto extends CreateOrganizationEventTicketDto {}\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 body: Extract<Endpoints, { path: Path; method: \"DELETE\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"DELETE\" }>[\"res\"]\n >(\"DELETE\", path, body, 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 { ParamValue } from \"pathcat\";\n\nimport { sdk } from \"./builder\";\nimport { CreateUserDto, SignInUserDto } from \"../rest\";\nimport { isBrowser } from \"../utils\";\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 oauth2: {\n google: {\n connect: (params?: Record<string, ParamValue>) => {\n if (isBrowser) {\n window.location.href = client.url(\"/oauth2/google\", params || {});\n } else {\n throw new Error(\"Google OAuth2 is only available in the browser\");\n }\n },\n },\n twitter: {\n connect: (params?: Record<string, ParamValue>) => {\n if (isBrowser) {\n window.location.href = client.url(\"/oauth2/twitter\", params || {});\n } else {\n throw new Error(\"Twitter OAuth2 is only available in the browser\");\n }\n },\n },\n },\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 getAll: async () => client.get(\"/health\"),\n database: async () => client.get(\"/health/database\"),\n http: async () => client.get(\"/health/http\"),\n}));\n","import { isBrowser } from \"../../../utils\";\nimport { sdk } from \"../../builder\";\n\nexport const organizationsBilling = sdk((client) => ({\n account: async (slug: string) =>\n client.get(\"/organizations/:slug/billing/account\", { slug }),\n link: (slug: string) => {\n if (isBrowser) {\n window.location.href = client.url(\"/organizations/:slug/billing/link\", {\n slug,\n });\n } else {\n throw new Error(\"Billing link is only available in the browser\");\n }\n },\n dashboard: (slug: string) => {\n if (isBrowser) {\n window.location.href = client.url(\n \"/organizations/:slug/billing/dashboard\",\n {\n slug,\n },\n );\n } else {\n throw new Error(\"Billing dashboard is only available in the browser\");\n }\n },\n}));\n","import {\n CreateOrganizationEventStyleDto,\n UpdateOrganizationEventStyleDto,\n} from \"../../../../rest/dtos/organizations/events/events\";\nimport { sdk } from \"../../../builder\";\n\nexport const organizationsEventsStyles = sdk((client) => ({\n getAll: async () => client.get(\"/organizations/events/styles\"),\n get: async (slug: string) =>\n client.get(\"/organizations/events/styles/:slug\", { slug }),\n create: async (data: CreateOrganizationEventStyleDto) =>\n client.post(\"/organizations/events/styles\", data),\n update: async (slug: string, data: UpdateOrganizationEventStyleDto) =>\n client.put(\"/organizations/events/styles/:slug\", data, { slug }),\n delete: async (slug: string) =>\n client.delete(\"/organizations/events/styles/:slug\", null, { slug }),\n}));\n","import {\n CreateOrganizationEventTicketDto,\n UpdateOrganizationEventTicketDto,\n} from \"../../../../rest\";\nimport { sdk } from \"../../../builder\";\n\nexport const organizationsEventsTickets = sdk((client) => ({\n getAll: async (slug: string, eventSlug: string) =>\n client.get(\"/organizations/:slug/events/:eventSlug/tickets\", {\n slug,\n eventSlug,\n }),\n get: async (slug: string, eventSlug: string, ticketId: string) =>\n client.get(\"/organizations/:slug/events/:eventSlug/tickets/:ticketId\", {\n slug,\n eventSlug,\n ticketId,\n }),\n create: async (\n slug: string,\n eventSlug: string,\n data: CreateOrganizationEventTicketDto,\n ) =>\n client.post(\"/organizations/:slug/events/:eventSlug/tickets\", data, {\n slug,\n eventSlug,\n }),\n update: async (\n slug: string,\n eventSlug: string,\n ticketId: string,\n data: UpdateOrganizationEventTicketDto,\n ) =>\n client.put(\n \"/organizations/:slug/events/:eventSlug/tickets/:ticketId\",\n data,\n {\n slug,\n eventSlug,\n ticketId,\n },\n ),\n delete: async (slug: string, eventSlug: string, ticketId: string) =>\n client.delete(\n \"/organizations/:slug/events/:eventSlug/tickets/:ticketId\",\n null,\n {\n slug,\n eventSlug,\n ticketId,\n },\n ),\n}));\n","import { organizationsEventsStyles } from \"./styles\";\nimport { organizationsEventsTickets } from \"./tickets\";\nimport {\n CreateOrganizationEventDto,\n UpdateOrganizationEventDto,\n} from \"../../../rest\";\nimport { sdk } from \"../../builder\";\n\nexport const organizationsEvents = sdk((client) => ({\n getAll: async (organizationSlug: string) =>\n client.get(\"/organizations/:organizationSlug/events\", {\n organizationSlug,\n }),\n get: async (organizationSlug: string, eventSlug: string) =>\n client.get(\"/organizations/:organizationSlug/events/:eventSlug\", {\n organizationSlug,\n eventSlug,\n }),\n create: async (organizationSlug: string, data: CreateOrganizationEventDto) =>\n client.post(\"/organizations/:organizationSlug/events\", data, {\n organizationSlug,\n }),\n update: async (\n organizationSlug: string,\n eventSlug: string,\n data: UpdateOrganizationEventDto,\n ) =>\n client.put(\"/organizations/:organizationSlug/events/:eventSlug\", data, {\n organizationSlug,\n eventSlug,\n }),\n delete: async (organizationSlug: string, eventSlug: string) =>\n client.delete(\"/organizations/:organizationSlug/events/:eventSlug\", null, {\n organizationSlug,\n eventSlug,\n }),\n styles: organizationsEventsStyles,\n tickets: organizationsEventsTickets,\n}));\n","import { sdk } from \"../../builder\";\n\nexport const organizationsMembers = sdk((client) => ({\n getAll: async () => client.get(\"/organizations/members\"),\n delete: async (id: string) =>\n client.delete(\"/organizations/members/:id\", null, { id }),\n}));\n","import { organizationsBilling } from \"./billing\";\nimport { organizationsEvents } from \"./events\";\nimport { organizationsMembers } from \"./members\";\nimport { CreateOrganizationDto, UpdateOrganizationDto } from \"../../rest\";\nimport { sdk } from \"../builder\";\n\nexport const organizations = sdk((client) => ({\n getAll: async () => client.get(\"/organizations\"),\n get: async (slug: string) => client.get(\"/organizations/:slug\", { slug }),\n create: async (data: CreateOrganizationDto) =>\n client.post(\"/organizations\", data),\n update: async (slug: string, data: UpdateOrganizationDto) =>\n client.put(\"/organizations/:slug\", data, { slug }),\n delete: async (slug: string) =>\n client.delete(\"/organizations/:slug\", null, { slug }),\n billing: organizationsBilling,\n events: organizationsEvents,\n members: organizationsMembers,\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/dtos/organizations/update-organization.dto.ts","../src/rest/dtos/organizations/events/create-organization-event.dto.ts","../src/rest/dtos/organizations/events/update-organization-event.dto.ts","../src/rest/dtos/organizations/events/tickets/create-organization-event-ticket.dto.ts","../src/rest/dtos/organizations/events/tickets/update-organization-event-ticket.dto.ts","../src/rest/dtos/organizations/members/create-organization-member.dto.ts","../src/rest/types/organizations/events/tickets/index.ts","../src/rest/types/organizations/events/styles/index.ts","../src/rest/types/organizations/events/index.ts","../src/rest/types/organizations/members/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/members/update-organization-member.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/billing/index.ts","../src/sdk/organizations/events/styles/index.ts","../src/sdk/organizations/events/tickets/index.ts","../src/sdk/organizations/events/index.ts","../src/sdk/organizations/members/index.ts","../src/sdk/organizations/index.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","IsLowercase","IsNotEmpty","IsObject","IsOptional","IsString","IsUrl","Length","CreateOrganizationDto","slug","identity","members","location","CreateOrganizationIdentityDto","displayName","description","avatarUrl","bannerUrl","socialLinks","protocols","UpdateOrganizationDto","UpdateOrganizationIdentityDto","CreateOrganizationEventDto","title","organization","type","public","flyers","trailers","tickets","styles","startAt","endAt","UpdateOrganizationEventDto","CreateOrganizationEventTicketDto","name","price","quantity","category","currency","isVisible","isFeesIncluded","UpdateOrganizationEventTicketDto","IsEnum","OrganizationEventTicketCategory","OrganizationEventStyleType","OrganizationEventType","OrganizationMemberStatus","OrganizationMemberRole","OrganizationSocialType","UserTokenType","UserRole","OrderStatus","Currency","Language","CreateOrganizationMemberDto","user","role","UpdateOrganizationMemberDto","CreateUserDto","identifier","password","addresses","SignInUserDto","Type","IsDateString","IsEmail","IsPhoneNumber","Matches","MaxLength","MinLength","ValidateNested","UpdateUserDto","UpdateIdentifierDto","UpdateIdentityDto","email","phoneNumber","username","firstName","lastName","gender","birthDate","message","axios","isBrowser","window","instance","create","headers","Accept","responseType","transformRequest","data","JSON","stringify","withCredentials","request","__name","url","options","then","response","catch","error","pathcat","TonightPassAPIError","Error","status","constructor","Client","path","params","baseURL","setOptions","get","query","requester","undefined","post","body","put","patch","delete","method","result","success","sdk","builder","auth","client","signIn","signUp","signOut","refreshToken","oauth2","google","connect","href","twitter","careers","categories","getAll","employmentTypes","jobs","id","offices","health","database","http","organizationsBilling","account","link","dashboard","organizationsEventsStyles","update","organizationsEventsTickets","eventSlug","ticketId","organizationsEvents","organizationSlug","organizationsMembers","organizations","billing","events","profiles","users","me","check","suggestions","TonightPass"],"mappings":"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","sourcesContent":["export const DEFAULT_API_URL = \"https://api.tonightpass.com\";\n","export const EMAIL_REGEX = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/;\n\n// checks if a password has at least one uppercase letter and a number or special character\nexport const PASSWORD_REGEX =\n /((?=.*\\d)|(?=.*\\W+))(?![.\\n])(?=.*[A-Z])(?=.*[a-z]).*$/;\n\n// checks if a string has only letters, numbers, spaces, apostrophes, dots and dashes\nexport const NAME_REGEX = /(^[\\p{L}\\d'\\\\.\\s\\\\-]*$)/u;\n\n// checks if a string is a valid slug, useful for usernames\nexport const SLUG_REGEX = /^[a-z\\d]+(?:(\\.|-|_)[a-z\\d]+)*$/;\n\n// validates if passwords are valid bcrypt hashes\nexport const BCRYPT_HASH = /\\$2[abxy]?\\$\\d{1,2}\\$[A-Za-z\\d\\\\./]{53}/;\n\nexport const PHONE_NUMBER_REGEX =\n /^\\s*(?:\\+?(\\d{1,3}))?([-. (]*(\\d{3})[-. )]*)?((\\d{3})[-. ]*(\\d{2,4})(?:[-.x ]*(\\d+))?)\\s*$/;\n\nexport const IMAGE_URL_REGEX =\n /(((http:\\/\\/www)|(http:\\/\\/)|(www))[-a-zA-Z0-9@:%_\\\\+.~#?&//=]+)\\.(jpg|jpeg|gif|png|bmp|tiff|tga|svg)/i;\n","import \"reflect-metadata\";\n\nexport * from \"./organizations\";\nexport * from \"./users\";\n","import {\n IsArray,\n IsLowercase,\n IsNotEmpty,\n IsObject,\n IsOptional,\n IsString,\n IsUrl,\n Length,\n} from \"class-validator\";\n\nimport { CreateOrganizationMemberDto } from \"./members/create-organization-member.dto\";\nimport { type Location, type OrganizationSocialLink } from \"../../types\";\n\nexport class CreateOrganizationDto {\n @IsOptional()\n @IsString()\n @IsLowercase()\n @Length(1, 48)\n slug?: string;\n\n @IsObject()\n identity: CreateOrganizationIdentityDto;\n\n @IsArray()\n members: CreateOrganizationMemberDto[];\n\n @IsOptional()\n @IsObject()\n location?: Location;\n}\n\nexport class 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","import {\n IsArray,\n IsLowercase,\n IsNotEmpty,\n IsObject,\n IsOptional,\n IsString,\n IsUrl,\n Length,\n} from \"class-validator\";\n\nimport { UpdateOrganizationEventDto } from \"./events\";\nimport { OrganizationSocialLink } from \"../../types\";\n\nexport class UpdateOrganizationDto {\n @IsOptional()\n @IsString()\n @IsLowercase()\n @Length(1, 48)\n slug?: string;\n\n @IsObject()\n @IsOptional()\n identity: UpdateOrganizationIdentityDto;\n\n @IsOptional()\n @IsArray()\n members: UpdateOrganizationEventDto[];\n\n @IsOptional()\n @IsObject()\n location?: Location;\n}\n\nexport class UpdateOrganizationIdentityDto {\n @IsString()\n @IsNotEmpty()\n @Length(1, 32)\n @IsOptional()\n displayName: string;\n\n @IsString()\n @IsNotEmpty()\n @Length(16, 1024)\n @IsOptional()\n description: string;\n\n @IsUrl({\n protocols: [\"http\", \"https\"],\n })\n @IsOptional()\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","import { CreateOrganizationEventTicketDto } from \"./tickets\";\nimport { Location, OrganizationEventType } from \"../../../types\";\n\nexport class CreateOrganizationEventDto {\n title: string;\n description: string;\n organization: string;\n type: OrganizationEventType;\n public: boolean;\n flyers: string[];\n trailers: string[];\n location: Location;\n tickets: CreateOrganizationEventTicketDto[];\n styles: string[];\n startAt: Date;\n endAt: Date;\n}\n","import { CreateOrganizationEventDto } from \"./create-organization-event.dto\";\n\nexport class UpdateOrganizationEventDto extends CreateOrganizationEventDto {}\n","import {\n Currency,\n OrganizationEventTicketCategory,\n OrganizationEventTicketType,\n} from \"../../../../types\";\n\nexport class CreateOrganizationEventTicketDto {\n name: string;\n description?: string;\n price: number;\n quantity: number;\n type: OrganizationEventTicketType;\n category: OrganizationEventTicketCategory;\n currency: Currency;\n isVisible: boolean;\n isFeesIncluded: boolean;\n startAt: Date;\n endAt: Date;\n}\n","import { CreateOrganizationEventTicketDto } from \"./create-organization-event-ticket.dto\";\n\nexport class UpdateOrganizationEventTicketDto extends CreateOrganizationEventTicketDto {}\n","import { IsEnum, IsNotEmpty, IsString } from \"class-validator\";\n\nimport { OrganizationMemberRole } from \"../../../types\";\n\nexport class CreateOrganizationMemberDto {\n @IsString()\n @IsNotEmpty()\n user: string;\n\n @IsEnum(OrganizationMemberRole)\n @IsNotEmpty()\n role: OrganizationMemberRole;\n}\n","import { Base, Currency } from \"../../..\";\nimport {\n CreateOrganizationEventTicketDto,\n UpdateOrganizationEventTicketDto,\n} from \"../../../../dtos\";\nimport { Endpoint } from \"../../../../endpoints\";\n\nexport type OrganizationEventTicket = Base & {\n name: string;\n description?: string;\n price: number;\n displayPrice: number;\n quantity: number;\n type: OrganizationEventTicketType;\n category: OrganizationEventTicketCategory;\n currency: Currency;\n vatRate: number;\n externalId?: string;\n isVisible: boolean;\n isFeesIncluded: boolean;\n startAt: Date;\n endAt: Date;\n};\n\nexport type OrganizationEventTicketType = \"e-ticket\" | \"other\";\n\nexport enum OrganizationEventTicketCategory {\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\nexport type OrganizationEventTicketEndpoints =\n | Endpoint<\n \"GET\",\n \"/organizations/:slug/events/:eventSlug/tickets\",\n OrganizationEventTicket[]\n >\n | Endpoint<\n \"GET\",\n \"/organizations/:slug/events/:eventSlug/tickets/:ticketId\",\n OrganizationEventTicket\n >\n | Endpoint<\n \"POST\",\n \"/organizations/:slug/events/:eventSlug/tickets\",\n OrganizationEventTicket,\n CreateOrganizationEventTicketDto\n >\n | Endpoint<\n \"PUT\",\n \"/organizations/:slug/events/:eventSlug/tickets/:ticketId\",\n OrganizationEventTicket,\n UpdateOrganizationEventTicketDto\n >\n | Endpoint<\n \"DELETE\",\n \"/organizations/:slug/events/:eventSlug/tickets/:ticketId\",\n OrganizationEventTicket[],\n null\n >;\n","import { Base } from \"../../..\";\nimport {\n CreateOrganizationEventStyleDto,\n UpdateOrganizationEventStyleDto,\n} from \"../../../../dtos/organizations/events/events\";\nimport { Endpoint } from \"../../../../endpoints\";\n\nexport type OrganizationEventStyle = Base & {\n type: OrganizationEventStyleType;\n emoji: string;\n name: string;\n slug: string;\n};\n\nexport enum OrganizationEventStyleType {\n Music = \"music\",\n Dress = \"dress\",\n Sport = \"sport\",\n Food = \"food\",\n Art = \"art\",\n}\n\nexport type OrganizationEventStyleEndpoints =\n | Endpoint<\"GET\", \"/organizations/events/styles\", OrganizationEventStyle[]>\n | Endpoint<\n \"GET\",\n \"/organizations/events/styles/:slug\",\n OrganizationEventStyle\n >\n | Endpoint<\n \"POST\",\n \"/organizations/events/styles\",\n OrganizationEventStyle,\n CreateOrganizationEventStyleDto\n >\n | Endpoint<\n \"PUT\",\n \"/organizations/events/styles/:slug\",\n OrganizationEventStyle,\n UpdateOrganizationEventStyleDto\n >\n | Endpoint<\n \"DELETE\",\n \"/organizations/events/styles/:slug\",\n OrganizationEventStyle[],\n null\n >;\n","import {\n OrganizationEventStyle,\n OrganizationEventStyleEndpoints,\n} from \"./styles\";\nimport {\n OrganizationEventTicket,\n Organization,\n OrganizationEventTicketEndpoints,\n} from \"..\";\nimport { Base, Location } from \"../..\";\nimport {\n CreateOrganizationEventDto,\n UpdateOrganizationEventDto,\n} from \"../../../dtos\";\nimport { Endpoint } from \"../../../endpoints\";\n\nexport * from \"./tickets\";\nexport * from \"./styles\";\n\nexport type OrganizationEvent = Base & {\n title: string;\n description: string;\n slug: string;\n organization: Organization;\n type: OrganizationEventType;\n public: boolean;\n flyers: string[];\n trailers: string[];\n location: Location;\n tickets: OrganizationEventTicket[];\n styles: OrganizationEventStyle[];\n startAt: Date;\n endAt: Date;\n};\n\nexport enum OrganizationEventType {\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 OrganizationEventEndpoints =\n | Endpoint<\"GET\", \"/organizations/:organizationSlug/events\", Event[]>\n | Endpoint<\"GET\", \"/organizations/:organizationSlug/events/:eventSlug\", Event>\n | Endpoint<\n \"POST\",\n \"/organizations/:organizationSlug/events\",\n Event,\n CreateOrganizationEventDto\n >\n | Endpoint<\n \"PUT\",\n \"/organizations/:organizationSlug/events/:eventSlug\",\n Event,\n UpdateOrganizationEventDto\n >\n | Endpoint<\n \"DELETE\",\n \"/organizations/:organizationSlug/events/:eventSlug\",\n Event,\n null\n >\n | OrganizationEventStyleEndpoints\n | OrganizationEventTicketEndpoints;\n","import { Organization } from \"..\";\nimport { Base } from \"../..\";\nimport { CreateOrganizationMemberDto } from \"../../../dtos\";\nimport { UpdateOrganizationMemberDto } from \"../../../dtos/organizations/members/update-organization-member.dto\";\nimport { Endpoint } from \"../../../endpoints\";\nimport { UserToken } from \"../../token\";\nimport { User } from \"../../users\";\n\nexport type OrganizationMember = Base & {\n organization: Organization;\n role: OrganizationMemberRole;\n status: OrganizationMemberStatus;\n user?: User;\n token?: UserToken;\n};\n\nexport enum OrganizationMemberStatus {\n Pending = \"pending\",\n Accepted = \"accepted\",\n Rejected = \"rejected\",\n}\n\nexport enum OrganizationMemberRole {\n Member = \"member\",\n Manager = \"manager\",\n Admin = \"admin\",\n Owner = \"owner\",\n}\n\nexport type OrganizationMembersEndpoints =\n | Endpoint<\"GET\", \"/organizations/members\", OrganizationMember[]>\n | Endpoint<\"DELETE\", \"/organizations/members/:id\", OrganizationMember[], null>\n | Endpoint<\"GET\", \"/organizations/:slug/members\", OrganizationMember[]>\n | Endpoint<\n \"POST\",\n \"/organizations/:slug/members\",\n OrganizationMember,\n CreateOrganizationMemberDto\n >\n | Endpoint<\n \"PUT\",\n \"/organizations/:organizationSlug/members/:userId\",\n OrganizationMember,\n UpdateOrganizationMemberDto\n >\n | Endpoint<\n \"DELETE\",\n \"/organizations/:organizationSlug/members/:userId\",\n OrganizationMember[],\n null\n >;\n","import type Stripe from \"stripe\";\n\nimport { OrganizationEvent, OrganizationEventEndpoints } from \"./events\";\nimport { OrganizationEventTicket } from \"./events/tickets\";\nimport { OrganizationMember, OrganizationMembersEndpoints } from \"./members\";\nimport { Base, Location, Profile, ProfileMetadata } from \"..\";\nimport { CreateOrganizationDto, UpdateOrganizationDto } from \"../../dtos\";\nimport { Endpoint } from \"../../endpoints\";\n\nexport * from \"./events\";\nexport * from \"./members\";\n\nexport type Organization = Base & {\n slug: string;\n identity: OrganizationIdentity;\n members: OrganizationMember[];\n location?: Location;\n events: OrganizationEvent[];\n savedTickets: OrganizationEventTicket[];\n verified: boolean;\n billing: OrganizationBilling;\n};\n\nexport type OrganizationBilling = {\n account: string;\n};\n\nexport type OrganizationBillingAccount = Stripe.Account;\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 OrganizationEndpoints =\n | Endpoint<\"GET\", \"/organizations\", Organization[]>\n | Endpoint<\"GET\", \"/organizations/:slug\", Organization>\n | Endpoint<\"POST\", \"/organizations\", Organization, CreateOrganizationDto>\n | Endpoint<\"PUT\", \"/organizations/:slug\", Organization, UpdateOrganizationDto>\n | Endpoint<\"DELETE\", \"/organizations/:slug\", Organization, null>\n | Endpoint<\n \"GET\",\n \"/organizations/:slug/billing/account\",\n OrganizationBillingAccount\n >\n | Endpoint<\"GET\", \"/organizations/:slug/billing/link\", void>\n | Endpoint<\"GET\", \"/organizations/:slug/billing/dashboard\", void>\n | OrganizationEventEndpoints\n | OrganizationMembersEndpoints;\n","import { User } from \"../users\";\n\nexport type UserToken = {\n type: UserTokenType;\n value: string;\n createdAt: Date;\n expiresAt: Date;\n user?: User;\n identifier?: string;\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 {\n Base,\n Currency,\n Language,\n Location,\n Profile,\n ProfileMetadata,\n} from \"..\";\nimport { UpdateUserDto } from \"../../dtos\";\nimport { Endpoint } from \"../../endpoints\";\n\nexport type User = Base & {\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};\n\nexport type UserIdentifier = {\n email?: string;\n phoneNumber?: string;\n username: string;\n\n [key: string]: string | undefined;\n};\n\nexport type UserIdentity = Profile & {\n firstName: string;\n lastName: string;\n fullName: string;\n gender: UserIdentityGender;\n birthDate: Date;\n\n metadata: ProfileMetadata & {\n followingCount: number;\n hasPassPlus: boolean;\n idValid: boolean;\n };\n};\n\nexport enum UserRole {\n User = \"user\",\n Developer = \"developer\",\n Admin = \"admin\",\n}\n\nexport type UserIdentityGender =\n | \"male\"\n | \"female\"\n | \"non-binary\"\n | \"gender-fluid\"\n | \"neutral\"\n | \"other\"\n | string;\n\nexport type UserPreferences = {\n language: Language;\n currency: Currency;\n notifications: {\n email: {\n newsletter: boolean;\n message: boolean;\n };\n push: {\n message: boolean;\n };\n };\n};\n\nexport type UserConnection = {\n ip: string;\n os: UserConnectionOS;\n device: UserConnectionDevice;\n client: UserConnectionClient;\n updatedAt: Date;\n createdAt: Date;\n};\n\nexport type UserConnectionOS = {\n name: string;\n version: string;\n};\n\nexport type UserConnectionDevice = {\n type: string;\n brand: string;\n};\n\nexport type UserConnectionClient = {\n name: string;\n version: string;\n};\n\nexport type UserEndpoints =\n | Endpoint<\"GET\", \"/users\", User[]>\n | Endpoint<\"GET\", \"/users/:id\", User, { id: string }>\n | Endpoint<\"GET\", \"/users/me\", User>\n | Endpoint<\n \"GET\",\n \"/users/check/:identifier\",\n {\n exists: boolean;\n identifier: UserIdentifier;\n suggestions?: string[];\n },\n { identifier: boolean; suggestions?: boolean }\n >\n | Endpoint<\"PUT\", \"/users/:id\", User, UpdateUserDto>;\n","import { Currency } from \"..\";\nimport { OrganizationEvent, OrganizationEventTicket } from \"../organizations\";\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: OrganizationEventTicket;\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: OrganizationEvent;\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 \"./health\";\nexport * from \"./organizations\";\nexport * from \"./token\";\nexport * from \"./users\";\nexport * from \"./order\";\nexport * from \"./profiles\";\n\nexport type Base = {\n id: string;\n createdAt: Date;\n updatedAt: Date;\n};\n\nexport type ExcludeBase<T> = Omit<T, keyof Base>;\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 { IsEnum, IsNotEmpty } from \"class-validator\";\n\nimport { OrganizationMemberRole } from \"../../../types\";\n\nexport class UpdateOrganizationMemberDto {\n @IsEnum(OrganizationMemberRole)\n @IsNotEmpty()\n role: OrganizationMemberRole;\n}\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(8)\n @MaxLength(128)\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, 32)\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, 32)\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(1, 128)\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 body: Extract<Endpoints, { path: Path; method: \"DELETE\" }>[\"body\"],\n query?: Query<Path>,\n options?: APIRequestOptions,\n ) {\n return this.requester<\n Extract<Endpoints, { path: Path; method: \"DELETE\" }>[\"res\"]\n >(\"DELETE\", path, body, 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 { ParamValue } from \"pathcat\";\n\nimport { sdk } from \"./builder\";\nimport { CreateUserDto, SignInUserDto } from \"../rest\";\nimport { isBrowser } from \"../utils\";\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 oauth2: {\n google: {\n connect: (params?: Record<string, ParamValue>) => {\n if (isBrowser) {\n window.location.href = client.url(\"/oauth2/google\", params || {});\n } else {\n throw new Error(\"Google OAuth2 is only available in the browser\");\n }\n },\n },\n twitter: {\n connect: (params?: Record<string, ParamValue>) => {\n if (isBrowser) {\n window.location.href = client.url(\"/oauth2/twitter\", params || {});\n } else {\n throw new Error(\"Twitter OAuth2 is only available in the browser\");\n }\n },\n },\n },\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 getAll: async () => client.get(\"/health\"),\n database: async () => client.get(\"/health/database\"),\n http: async () => client.get(\"/health/http\"),\n}));\n","import { Client } from \"../../../rest\";\nimport { isBrowser } from \"../../../utils\";\n\nexport const organizationsBilling = (client: Client) => ({\n account: async (slug: string) =>\n client.get(\"/organizations/:slug/billing/account\", { slug }),\n link: (slug: string) => {\n if (isBrowser) {\n window.location.href = client.url(\"/organizations/:slug/billing/link\", {\n slug,\n });\n } else {\n throw new Error(\"Billing link is only available in the browser\");\n }\n },\n dashboard: (slug: string) => {\n if (isBrowser) {\n window.location.href = client.url(\n \"/organizations/:slug/billing/dashboard\",\n {\n slug,\n },\n );\n } else {\n throw new Error(\"Billing dashboard is only available in the browser\");\n }\n },\n});\n","import { Client } from \"../../../../rest\";\nimport {\n CreateOrganizationEventStyleDto,\n UpdateOrganizationEventStyleDto,\n} from \"../../../../rest/dtos/organizations/events/events\";\n\nexport const organizationsEventsStyles = (client: Client) => ({\n getAll: async () => client.get(\"/organizations/events/styles\"),\n get: async (slug: string) =>\n client.get(\"/organizations/events/styles/:slug\", { slug }),\n create: async (data: CreateOrganizationEventStyleDto) =>\n client.post(\"/organizations/events/styles\", data),\n update: async (slug: string, data: UpdateOrganizationEventStyleDto) =>\n client.put(\"/organizations/events/styles/:slug\", data, { slug }),\n delete: async (slug: string) =>\n client.delete(\"/organizations/events/styles/:slug\", null, { slug }),\n});\n","import {\n Client,\n CreateOrganizationEventTicketDto,\n UpdateOrganizationEventTicketDto,\n} from \"../../../../rest\";\n\nexport const organizationsEventsTickets = (client: Client) => ({\n getAll: async (slug: string, eventSlug: string) =>\n client.get(\"/organizations/:slug/events/:eventSlug/tickets\", {\n slug,\n eventSlug,\n }),\n get: async (slug: string, eventSlug: string, ticketId: string) =>\n client.get(\"/organizations/:slug/events/:eventSlug/tickets/:ticketId\", {\n slug,\n eventSlug,\n ticketId,\n }),\n create: async (\n slug: string,\n eventSlug: string,\n data: CreateOrganizationEventTicketDto,\n ) =>\n client.post(\"/organizations/:slug/events/:eventSlug/tickets\", data, {\n slug,\n eventSlug,\n }),\n update: async (\n slug: string,\n eventSlug: string,\n ticketId: string,\n data: UpdateOrganizationEventTicketDto,\n ) =>\n client.put(\n \"/organizations/:slug/events/:eventSlug/tickets/:ticketId\",\n data,\n {\n slug,\n eventSlug,\n ticketId,\n },\n ),\n delete: async (slug: string, eventSlug: string, ticketId: string) =>\n client.delete(\n \"/organizations/:slug/events/:eventSlug/tickets/:ticketId\",\n null,\n {\n slug,\n eventSlug,\n ticketId,\n },\n ),\n});\n","import { organizationsEventsStyles } from \"./styles\";\nimport { organizationsEventsTickets } from \"./tickets\";\nimport {\n Client,\n CreateOrganizationEventDto,\n UpdateOrganizationEventDto,\n} from \"../../../rest\";\n\nexport const organizationsEvents = (client: Client) => ({\n getAll: async (organizationSlug: string) =>\n client.get(\"/organizations/:organizationSlug/events\", {\n organizationSlug,\n }),\n get: async (organizationSlug: string, eventSlug: string) =>\n client.get(\"/organizations/:organizationSlug/events/:eventSlug\", {\n organizationSlug,\n eventSlug,\n }),\n create: async (organizationSlug: string, data: CreateOrganizationEventDto) =>\n client.post(\"/organizations/:organizationSlug/events\", data, {\n organizationSlug,\n }),\n update: async (\n organizationSlug: string,\n eventSlug: string,\n data: UpdateOrganizationEventDto,\n ) =>\n client.put(\"/organizations/:organizationSlug/events/:eventSlug\", data, {\n organizationSlug,\n eventSlug,\n }),\n delete: async (organizationSlug: string, eventSlug: string) =>\n client.delete(\"/organizations/:organizationSlug/events/:eventSlug\", null, {\n organizationSlug,\n eventSlug,\n }),\n styles: organizationsEventsStyles(client),\n tickets: organizationsEventsTickets(client),\n});\n","import { Client } from \"../../../rest\";\n\nexport const organizationsMembers = (client: Client) => ({\n getAll: async () => client.get(\"/organizations/members\"),\n delete: async (id: string) =>\n client.delete(\"/organizations/members/:id\", null, { id }),\n});\n","import { organizationsBilling } from \"./billing\";\nimport { organizationsEvents } from \"./events\";\nimport { organizationsMembers } from \"./members\";\nimport { CreateOrganizationDto, UpdateOrganizationDto } from \"../../rest\";\nimport { sdk } from \"../builder\";\n\nexport const organizations = sdk((client) => ({\n getAll: async () => client.get(\"/organizations\"),\n get: async (slug: string) => client.get(\"/organizations/:slug\", { slug }),\n create: async (data: CreateOrganizationDto) =>\n client.post(\"/organizations\", data),\n update: async (slug: string, data: UpdateOrganizationDto) =>\n client.put(\"/organizations/:slug\", data, { slug }),\n delete: async (slug: string) =>\n client.delete(\"/organizations/:slug\", null, { slug }),\n billing: organizationsBilling(client),\n events: organizationsEvents(client),\n members: organizationsMembers(client),\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
|
import {
|
|
2
2
|
IsArray,
|
|
3
|
-
|
|
3
|
+
IsLowercase,
|
|
4
4
|
IsNotEmpty,
|
|
5
5
|
IsObject,
|
|
6
6
|
IsOptional,
|
|
@@ -9,23 +9,21 @@ import {
|
|
|
9
9
|
Length,
|
|
10
10
|
} from "class-validator";
|
|
11
11
|
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
type Location,
|
|
15
|
-
type OrganizationSocialLink,
|
|
16
|
-
} from "../../types";
|
|
12
|
+
import { CreateOrganizationMemberDto } from "./members/create-organization-member.dto";
|
|
13
|
+
import { type Location, type OrganizationSocialLink } from "../../types";
|
|
17
14
|
|
|
18
15
|
export class CreateOrganizationDto {
|
|
19
16
|
@IsOptional()
|
|
20
17
|
@IsString()
|
|
21
|
-
@
|
|
18
|
+
@IsLowercase()
|
|
19
|
+
@Length(1, 48)
|
|
22
20
|
slug?: string;
|
|
23
21
|
|
|
24
22
|
@IsObject()
|
|
25
23
|
identity: CreateOrganizationIdentityDto;
|
|
26
24
|
|
|
27
25
|
@IsArray()
|
|
28
|
-
members:
|
|
26
|
+
members: CreateOrganizationMemberDto[];
|
|
29
27
|
|
|
30
28
|
@IsOptional()
|
|
31
29
|
@IsObject()
|
|
@@ -58,13 +56,3 @@ export class CreateOrganizationIdentityDto {
|
|
|
58
56
|
@IsArray()
|
|
59
57
|
socialLinks?: OrganizationSocialLink[];
|
|
60
58
|
}
|
|
61
|
-
|
|
62
|
-
export class OrganizationMemberDto {
|
|
63
|
-
@IsString()
|
|
64
|
-
@IsNotEmpty()
|
|
65
|
-
user: string;
|
|
66
|
-
|
|
67
|
-
@IsEnum(OrganizationMemberRole)
|
|
68
|
-
@IsNotEmpty()
|
|
69
|
-
role: OrganizationMemberRole;
|
|
70
|
-
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IsEnum, IsNotEmpty, IsString } from "class-validator";
|
|
2
|
+
|
|
3
|
+
import { OrganizationMemberRole } from "../../../types";
|
|
4
|
+
|
|
5
|
+
export class CreateOrganizationMemberDto {
|
|
6
|
+
@IsString()
|
|
7
|
+
@IsNotEmpty()
|
|
8
|
+
user: string;
|
|
9
|
+
|
|
10
|
+
@IsEnum(OrganizationMemberRole)
|
|
11
|
+
@IsNotEmpty()
|
|
12
|
+
role: OrganizationMemberRole;
|
|
13
|
+
}
|
|
@@ -1,3 +1,63 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
IsArray,
|
|
3
|
+
IsLowercase,
|
|
4
|
+
IsNotEmpty,
|
|
5
|
+
IsObject,
|
|
6
|
+
IsOptional,
|
|
7
|
+
IsString,
|
|
8
|
+
IsUrl,
|
|
9
|
+
Length,
|
|
10
|
+
} from "class-validator";
|
|
2
11
|
|
|
3
|
-
|
|
12
|
+
import { UpdateOrganizationEventDto } from "./events";
|
|
13
|
+
import { OrganizationSocialLink } from "../../types";
|
|
14
|
+
|
|
15
|
+
export class UpdateOrganizationDto {
|
|
16
|
+
@IsOptional()
|
|
17
|
+
@IsString()
|
|
18
|
+
@IsLowercase()
|
|
19
|
+
@Length(1, 48)
|
|
20
|
+
slug?: string;
|
|
21
|
+
|
|
22
|
+
@IsObject()
|
|
23
|
+
@IsOptional()
|
|
24
|
+
identity: UpdateOrganizationIdentityDto;
|
|
25
|
+
|
|
26
|
+
@IsOptional()
|
|
27
|
+
@IsArray()
|
|
28
|
+
members: UpdateOrganizationEventDto[];
|
|
29
|
+
|
|
30
|
+
@IsOptional()
|
|
31
|
+
@IsObject()
|
|
32
|
+
location?: Location;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export class UpdateOrganizationIdentityDto {
|
|
36
|
+
@IsString()
|
|
37
|
+
@IsNotEmpty()
|
|
38
|
+
@Length(1, 32)
|
|
39
|
+
@IsOptional()
|
|
40
|
+
displayName: string;
|
|
41
|
+
|
|
42
|
+
@IsString()
|
|
43
|
+
@IsNotEmpty()
|
|
44
|
+
@Length(16, 1024)
|
|
45
|
+
@IsOptional()
|
|
46
|
+
description: string;
|
|
47
|
+
|
|
48
|
+
@IsUrl({
|
|
49
|
+
protocols: ["http", "https"],
|
|
50
|
+
})
|
|
51
|
+
@IsOptional()
|
|
52
|
+
avatarUrl?: string;
|
|
53
|
+
|
|
54
|
+
@IsOptional()
|
|
55
|
+
@IsUrl({
|
|
56
|
+
protocols: ["http", "https"],
|
|
57
|
+
})
|
|
58
|
+
bannerUrl?: string;
|
|
59
|
+
|
|
60
|
+
@IsOptional()
|
|
61
|
+
@IsArray()
|
|
62
|
+
socialLinks?: OrganizationSocialLink[];
|
|
63
|
+
}
|
|
@@ -32,8 +32,8 @@ export class UpdateUserDto {
|
|
|
32
32
|
|
|
33
33
|
@IsOptional()
|
|
34
34
|
@IsString()
|
|
35
|
-
@MinLength(
|
|
36
|
-
@MaxLength(
|
|
35
|
+
@MinLength(8)
|
|
36
|
+
@MaxLength(128)
|
|
37
37
|
password?: string;
|
|
38
38
|
}
|
|
39
39
|
|
|
@@ -75,7 +75,7 @@ class UpdateIdentityDto
|
|
|
75
75
|
{
|
|
76
76
|
@IsOptional()
|
|
77
77
|
@IsString()
|
|
78
|
-
@Length(2,
|
|
78
|
+
@Length(2, 32)
|
|
79
79
|
@Matches(NAME_REGEX, {
|
|
80
80
|
message: "First name must be composed of letters only",
|
|
81
81
|
})
|
|
@@ -83,7 +83,7 @@ class UpdateIdentityDto
|
|
|
83
83
|
|
|
84
84
|
@IsOptional()
|
|
85
85
|
@IsString()
|
|
86
|
-
@Length(2,
|
|
86
|
+
@Length(2, 32)
|
|
87
87
|
@Matches(NAME_REGEX, {
|
|
88
88
|
message: "Last name must be composed of letters only",
|
|
89
89
|
})
|
|
@@ -96,7 +96,7 @@ class UpdateIdentityDto
|
|
|
96
96
|
|
|
97
97
|
@IsOptional()
|
|
98
98
|
@IsString()
|
|
99
|
-
@Length(
|
|
99
|
+
@Length(1, 128)
|
|
100
100
|
description?: string;
|
|
101
101
|
|
|
102
102
|
@IsOptional()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Organization } from "..";
|
|
2
2
|
import { Base } from "../..";
|
|
3
|
-
import {
|
|
3
|
+
import { CreateOrganizationMemberDto } from "../../../dtos";
|
|
4
4
|
import { UpdateOrganizationMemberDto } from "../../../dtos/organizations/members/update-organization-member.dto";
|
|
5
5
|
import { Endpoint } from "../../../endpoints";
|
|
6
6
|
import { UserToken } from "../../token";
|
|
@@ -35,7 +35,7 @@ export type OrganizationMembersEndpoints =
|
|
|
35
35
|
"POST",
|
|
36
36
|
"/organizations/:slug/members",
|
|
37
37
|
OrganizationMember,
|
|
38
|
-
|
|
38
|
+
CreateOrganizationMemberDto
|
|
39
39
|
>
|
|
40
40
|
| Endpoint<
|
|
41
41
|
"PUT",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { Client } from "../../../rest";
|
|
1
2
|
import { isBrowser } from "../../../utils";
|
|
2
|
-
import { sdk } from "../../builder";
|
|
3
3
|
|
|
4
|
-
export const organizationsBilling =
|
|
4
|
+
export const organizationsBilling = (client: Client) => ({
|
|
5
5
|
account: async (slug: string) =>
|
|
6
6
|
client.get("/organizations/:slug/billing/account", { slug }),
|
|
7
7
|
link: (slug: string) => {
|
|
@@ -25,4 +25,4 @@ export const organizationsBilling = sdk((client) => ({
|
|
|
25
25
|
throw new Error("Billing dashboard is only available in the browser");
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
|
-
})
|
|
28
|
+
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { organizationsEventsStyles } from "./styles";
|
|
2
2
|
import { organizationsEventsTickets } from "./tickets";
|
|
3
3
|
import {
|
|
4
|
+
Client,
|
|
4
5
|
CreateOrganizationEventDto,
|
|
5
6
|
UpdateOrganizationEventDto,
|
|
6
7
|
} from "../../../rest";
|
|
7
|
-
import { sdk } from "../../builder";
|
|
8
8
|
|
|
9
|
-
export const organizationsEvents =
|
|
9
|
+
export const organizationsEvents = (client: Client) => ({
|
|
10
10
|
getAll: async (organizationSlug: string) =>
|
|
11
11
|
client.get("/organizations/:organizationSlug/events", {
|
|
12
12
|
organizationSlug,
|
|
@@ -34,6 +34,6 @@ export const organizationsEvents = sdk((client) => ({
|
|
|
34
34
|
organizationSlug,
|
|
35
35
|
eventSlug,
|
|
36
36
|
}),
|
|
37
|
-
styles: organizationsEventsStyles,
|
|
38
|
-
tickets: organizationsEventsTickets,
|
|
39
|
-
})
|
|
37
|
+
styles: organizationsEventsStyles(client),
|
|
38
|
+
tickets: organizationsEventsTickets(client),
|
|
39
|
+
});
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { Client } from "../../../../rest";
|
|
1
2
|
import {
|
|
2
3
|
CreateOrganizationEventStyleDto,
|
|
3
4
|
UpdateOrganizationEventStyleDto,
|
|
4
5
|
} from "../../../../rest/dtos/organizations/events/events";
|
|
5
|
-
import { sdk } from "../../../builder";
|
|
6
6
|
|
|
7
|
-
export const organizationsEventsStyles =
|
|
7
|
+
export const organizationsEventsStyles = (client: Client) => ({
|
|
8
8
|
getAll: async () => client.get("/organizations/events/styles"),
|
|
9
9
|
get: async (slug: string) =>
|
|
10
10
|
client.get("/organizations/events/styles/:slug", { slug }),
|
|
@@ -14,4 +14,4 @@ export const organizationsEventsStyles = sdk((client) => ({
|
|
|
14
14
|
client.put("/organizations/events/styles/:slug", data, { slug }),
|
|
15
15
|
delete: async (slug: string) =>
|
|
16
16
|
client.delete("/organizations/events/styles/:slug", null, { slug }),
|
|
17
|
-
})
|
|
17
|
+
});
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
|
+
Client,
|
|
2
3
|
CreateOrganizationEventTicketDto,
|
|
3
4
|
UpdateOrganizationEventTicketDto,
|
|
4
5
|
} from "../../../../rest";
|
|
5
|
-
import { sdk } from "../../../builder";
|
|
6
6
|
|
|
7
|
-
export const organizationsEventsTickets =
|
|
7
|
+
export const organizationsEventsTickets = (client: Client) => ({
|
|
8
8
|
getAll: async (slug: string, eventSlug: string) =>
|
|
9
9
|
client.get("/organizations/:slug/events/:eventSlug/tickets", {
|
|
10
10
|
slug,
|
|
@@ -50,4 +50,4 @@ export const organizationsEventsTickets = sdk((client) => ({
|
|
|
50
50
|
ticketId,
|
|
51
51
|
},
|
|
52
52
|
),
|
|
53
|
-
})
|
|
53
|
+
});
|
|
@@ -13,7 +13,7 @@ export const organizations = sdk((client) => ({
|
|
|
13
13
|
client.put("/organizations/:slug", data, { slug }),
|
|
14
14
|
delete: async (slug: string) =>
|
|
15
15
|
client.delete("/organizations/:slug", null, { slug }),
|
|
16
|
-
billing: organizationsBilling,
|
|
17
|
-
events: organizationsEvents,
|
|
18
|
-
members: organizationsMembers,
|
|
16
|
+
billing: organizationsBilling(client),
|
|
17
|
+
events: organizationsEvents(client),
|
|
18
|
+
members: organizationsMembers(client),
|
|
19
19
|
}));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Client } from "../../../rest";
|
|
2
2
|
|
|
3
|
-
export const organizationsMembers =
|
|
3
|
+
export const organizationsMembers = (client: Client) => ({
|
|
4
4
|
getAll: async () => client.get("/organizations/members"),
|
|
5
5
|
delete: async (id: string) =>
|
|
6
6
|
client.delete("/organizations/members/:id", null, { id }),
|
|
7
|
-
})
|
|
7
|
+
});
|