refactor(data): establish API contract guardrails
CI / Quality and Bundle Budgets (push) Has been cancelled
CI / Quality and Bundle Budgets (push) Has been cancelled
This commit is contained in:
@@ -3,26 +3,15 @@
|
||||
*/
|
||||
import {
|
||||
FacebookIdentityRequestSchema,
|
||||
type FacebookIdentityRequestInput,
|
||||
type FacebookIdentityRequestData,
|
||||
} from "@/data/schemas/auth/request/facebook_identity_request";
|
||||
import {
|
||||
createSchemaDto,
|
||||
type SchemaDto,
|
||||
} from "@/data/dto/schema_dto";
|
||||
|
||||
export class FacebookIdentityRequest {
|
||||
private constructor(input: FacebookIdentityRequestInput) {
|
||||
const data = FacebookIdentityRequestSchema.parse(input);
|
||||
Object.assign(this, data);
|
||||
Object.freeze(this);
|
||||
}
|
||||
|
||||
static from(input: FacebookIdentityRequestInput): FacebookIdentityRequest {
|
||||
return new FacebookIdentityRequest(input);
|
||||
}
|
||||
|
||||
static fromJson(json: unknown): FacebookIdentityRequest {
|
||||
return FacebookIdentityRequest.from(json as FacebookIdentityRequestInput);
|
||||
}
|
||||
|
||||
toJson(): FacebookIdentityRequestData {
|
||||
return FacebookIdentityRequestSchema.parse(this);
|
||||
}
|
||||
}
|
||||
export type FacebookIdentityRequest = SchemaDto<
|
||||
typeof FacebookIdentityRequestSchema
|
||||
>;
|
||||
export const FacebookIdentityRequest = createSchemaDto(
|
||||
FacebookIdentityRequestSchema,
|
||||
);
|
||||
|
||||
@@ -3,28 +3,15 @@
|
||||
*/
|
||||
import {
|
||||
FacebookPsidLoginRequestSchema,
|
||||
type FacebookPsidLoginRequestInput,
|
||||
type FacebookPsidLoginRequestData,
|
||||
} from "@/data/schemas/auth/request/facebook_psid_login_request";
|
||||
import {
|
||||
createSchemaDto,
|
||||
type SchemaDto,
|
||||
} from "@/data/dto/schema_dto";
|
||||
|
||||
export class FacebookPsidLoginRequest {
|
||||
private constructor(input: FacebookPsidLoginRequestInput) {
|
||||
const data = FacebookPsidLoginRequestSchema.parse(input);
|
||||
Object.assign(this, data);
|
||||
Object.freeze(this);
|
||||
}
|
||||
|
||||
static from(input: FacebookPsidLoginRequestInput): FacebookPsidLoginRequest {
|
||||
return new FacebookPsidLoginRequest(input);
|
||||
}
|
||||
|
||||
static fromJson(json: unknown): FacebookPsidLoginRequest {
|
||||
return FacebookPsidLoginRequest.from(
|
||||
json as FacebookPsidLoginRequestInput,
|
||||
);
|
||||
}
|
||||
|
||||
toJson(): FacebookPsidLoginRequestData {
|
||||
return FacebookPsidLoginRequestSchema.parse(this);
|
||||
}
|
||||
}
|
||||
export type FacebookPsidLoginRequest = SchemaDto<
|
||||
typeof FacebookPsidLoginRequestSchema
|
||||
>;
|
||||
export const FacebookPsidLoginRequest = createSchemaDto(
|
||||
FacebookPsidLoginRequestSchema,
|
||||
);
|
||||
|
||||
@@ -3,28 +3,17 @@
|
||||
*/
|
||||
import {
|
||||
RefreshTokenRequestSchema,
|
||||
type RefreshTokenRequestInput,
|
||||
type RefreshTokenRequestData,
|
||||
} from "@/data/schemas/auth/request/refresh_token_request";
|
||||
import {
|
||||
createSchemaDto,
|
||||
type SchemaDto,
|
||||
} from "@/data/dto/schema_dto";
|
||||
|
||||
export class RefreshTokenRequest {
|
||||
declare readonly refreshToken: string;
|
||||
|
||||
private constructor(input: RefreshTokenRequestInput) {
|
||||
const data = RefreshTokenRequestSchema.parse(input);
|
||||
Object.assign(this, data);
|
||||
Object.freeze(this);
|
||||
}
|
||||
|
||||
static from(input: RefreshTokenRequestInput): RefreshTokenRequest {
|
||||
return new RefreshTokenRequest(input);
|
||||
}
|
||||
|
||||
static fromJson(json: unknown): RefreshTokenRequest {
|
||||
return RefreshTokenRequest.from(json as RefreshTokenRequestInput);
|
||||
}
|
||||
|
||||
toJson(): RefreshTokenRequestData {
|
||||
return RefreshTokenRequestSchema.parse(this);
|
||||
}
|
||||
}
|
||||
export type RefreshTokenRequest = SchemaDto<
|
||||
typeof RefreshTokenRequestSchema,
|
||||
"refreshToken"
|
||||
>;
|
||||
export const RefreshTokenRequest = createSchemaDto<
|
||||
typeof RefreshTokenRequestSchema,
|
||||
"refreshToken"
|
||||
>(RefreshTokenRequestSchema);
|
||||
|
||||
@@ -3,28 +3,15 @@
|
||||
*/
|
||||
import {
|
||||
FacebookIdentityResponseSchema,
|
||||
type FacebookIdentityResponseInput,
|
||||
type FacebookIdentityResponseData,
|
||||
} from "@/data/schemas/auth/response/facebook_identity_response";
|
||||
import {
|
||||
createSchemaDto,
|
||||
type SchemaDto,
|
||||
} from "@/data/dto/schema_dto";
|
||||
|
||||
export class FacebookIdentityResponse {
|
||||
private constructor(input: FacebookIdentityResponseInput) {
|
||||
const data = FacebookIdentityResponseSchema.parse(input);
|
||||
Object.assign(this, data);
|
||||
Object.freeze(this);
|
||||
}
|
||||
|
||||
static from(input: FacebookIdentityResponseInput): FacebookIdentityResponse {
|
||||
return new FacebookIdentityResponse(input);
|
||||
}
|
||||
|
||||
static fromJson(json: unknown): FacebookIdentityResponse {
|
||||
return FacebookIdentityResponse.from(
|
||||
json as FacebookIdentityResponseInput,
|
||||
);
|
||||
}
|
||||
|
||||
toJson(): FacebookIdentityResponseData {
|
||||
return FacebookIdentityResponseSchema.parse(this);
|
||||
}
|
||||
}
|
||||
export type FacebookIdentityResponse = SchemaDto<
|
||||
typeof FacebookIdentityResponseSchema
|
||||
>;
|
||||
export const FacebookIdentityResponse = createSchemaDto(
|
||||
FacebookIdentityResponseSchema,
|
||||
);
|
||||
|
||||
@@ -3,28 +3,17 @@
|
||||
*/
|
||||
import {
|
||||
LogoutResponseSchema,
|
||||
type LogoutResponseInput,
|
||||
type LogoutResponseData,
|
||||
} from "@/data/schemas/auth/response/logout_response";
|
||||
import {
|
||||
createSchemaDto,
|
||||
type SchemaDto,
|
||||
} from "@/data/dto/schema_dto";
|
||||
|
||||
export class LogoutResponse {
|
||||
declare readonly success: boolean;
|
||||
|
||||
private constructor(input: LogoutResponseInput) {
|
||||
const data = LogoutResponseSchema.parse(input);
|
||||
Object.assign(this, data);
|
||||
Object.freeze(this);
|
||||
}
|
||||
|
||||
static from(input: LogoutResponseInput): LogoutResponse {
|
||||
return new LogoutResponse(input);
|
||||
}
|
||||
|
||||
static fromJson(json: unknown): LogoutResponse {
|
||||
return LogoutResponse.from(json as LogoutResponseInput);
|
||||
}
|
||||
|
||||
toJson(): LogoutResponseData {
|
||||
return LogoutResponseSchema.parse(this);
|
||||
}
|
||||
}
|
||||
export type LogoutResponse = SchemaDto<
|
||||
typeof LogoutResponseSchema,
|
||||
"success"
|
||||
>;
|
||||
export const LogoutResponse = createSchemaDto<
|
||||
typeof LogoutResponseSchema,
|
||||
"success"
|
||||
>(LogoutResponseSchema);
|
||||
|
||||
Reference in New Issue
Block a user