fix: little fixes

This commit is contained in:
Sergey Krylov 2026-04-05 08:59:26 +03:00
parent 359777f856
commit 1bedcd92a0
6 changed files with 259 additions and 4 deletions

51
gen/ts/category.ts Normal file
View File

@ -0,0 +1,51 @@
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.11.0
// protoc v6.33.4
// source: category.proto
/* eslint-disable */
import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
import { Observable } from "rxjs";
import { Empty } from "./google/protobuf/empty";
export const protobufPackage = "category.v1";
export interface GetAllCategoriesResponse {
categories: Category[];
}
export interface Category {
id: string;
title: string;
slug: string;
}
export const CATEGORY_V1_PACKAGE_NAME = "category.v1";
export interface CategoryServiceClient {
getAllCategories(request: Empty): Observable<GetAllCategoriesResponse>;
}
export interface CategoryServiceController {
getAllCategories(
request: Empty,
): Promise<GetAllCategoriesResponse> | Observable<GetAllCategoriesResponse> | GetAllCategoriesResponse;
}
export function CategoryServiceControllerMethods() {
return function (constructor: Function) {
const grpcMethods: string[] = ["getAllCategories"];
for (const method of grpcMethods) {
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
GrpcMethod("CategoryService", method)(constructor.prototype[method], method, descriptor);
}
const grpcStreamMethods: string[] = [];
for (const method of grpcStreamMethods) {
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
GrpcStreamMethod("CategoryService", method)(constructor.prototype[method], method, descriptor);
}
};
}
export const CATEGORY_SERVICE_NAME = "CategoryService";

View File

@ -0,0 +1,119 @@
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.11.0
// protoc v6.33.4
// source: google/protobuf/timestamp.proto
/* eslint-disable */
export const protobufPackage = "google.protobuf";
/**
* A Timestamp represents a point in time independent of any time zone or local
* calendar, encoded as a count of seconds and fractions of seconds at
* nanosecond resolution. The count is relative to an epoch at UTC midnight on
* January 1, 1970, in the proleptic Gregorian calendar which extends the
* Gregorian calendar backwards to year one.
*
* All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
* second table is needed for interpretation, using a [24-hour linear
* smear](https://developers.google.com/time/smear).
*
* The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
* restricting to that range, we ensure that we can convert to and from [RFC
* 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
*
* # Examples
*
* Example 1: Compute Timestamp from POSIX `time()`.
*
* Timestamp timestamp;
* timestamp.set_seconds(time(NULL));
* timestamp.set_nanos(0);
*
* Example 2: Compute Timestamp from POSIX `gettimeofday()`.
*
* struct timeval tv;
* gettimeofday(&tv, NULL);
*
* Timestamp timestamp;
* timestamp.set_seconds(tv.tv_sec);
* timestamp.set_nanos(tv.tv_usec * 1000);
*
* Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
*
* FILETIME ft;
* GetSystemTimeAsFileTime(&ft);
* UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
*
* // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
* // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
* Timestamp timestamp;
* timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
* timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
*
* Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
*
* long millis = System.currentTimeMillis();
*
* Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
* .setNanos((int) ((millis % 1000) * 1000000)).build();
*
* Example 5: Compute Timestamp from Java `Instant.now()`.
*
* Instant now = Instant.now();
*
* Timestamp timestamp =
* Timestamp.newBuilder().setSeconds(now.getEpochSecond())
* .setNanos(now.getNano()).build();
*
* Example 6: Compute Timestamp from current time in Python.
*
* timestamp = Timestamp()
* timestamp.GetCurrentTime()
*
* # JSON Mapping
*
* In JSON format, the Timestamp type is encoded as a string in the
* [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
* format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
* where {year} is always expressed using four digits while {month}, {day},
* {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
* seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
* are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
* is required. A proto3 JSON serializer should always use UTC (as indicated by
* "Z") when printing the Timestamp type and a proto3 JSON parser should be
* able to accept both UTC and other timezones (as indicated by an offset).
*
* For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
* 01:30 UTC on January 15, 2017.
*
* In JavaScript, one can convert a Date object to this format using the
* standard
* [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
* method. In Python, a standard `datetime.datetime` object can be converted
* to this format using
* [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
* the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
* the Joda Time's [`ISODateTimeFormat.dateTime()`](
* http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
* ) to obtain a formatter capable of generating timestamps in this format.
*/
export interface Timestamp {
/**
* Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must
* be between -315576000000 and 315576000000 inclusive (which corresponds to
* 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z).
*/
seconds: number;
/**
* Non-negative fractions of a second at nanosecond resolution. This field is
* the nanosecond portion of the duration, not an alternative to seconds.
* Negative second values with fractions must still have non-negative nanos
* values that count forward in time. Must be between 0 and 999,999,999
* inclusive.
*/
nanos: number;
}
export const GOOGLE_PROTOBUF_PACKAGE_NAME = "google.protobuf";

84
gen/ts/movie.ts Normal file
View File

@ -0,0 +1,84 @@
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.11.0
// protoc v6.33.4
// source: movie.proto
/* eslint-disable */
import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
import { Observable } from "rxjs";
import { Timestamp } from "./google/protobuf/timestamp";
export const protobufPackage = "movie.v1";
export interface ListMovieRequest {
category: string;
random: boolean;
limit: number;
}
export interface ListMovieResponse {
movies: Movie[];
}
export interface GetMovieRequest {
id?: string | undefined;
slug?: string | undefined;
}
export interface GetMovieResponse {
movie: MovieDetails | undefined;
}
export interface Movie {
id: string;
title: string;
slug: string;
poster: string;
ratingAge: string;
timestamp: Timestamp | undefined;
}
export interface MovieDetails {
id: string;
title: string;
slug: string;
description: string;
poster: string;
banner: string;
duration: number;
ratingAge: string;
country: string;
timestamp: Timestamp | undefined;
}
export const MOVIE_V1_PACKAGE_NAME = "movie.v1";
export interface MovieServiceClient {
listMovies(request: ListMovieRequest): Observable<ListMovieResponse>;
getMovie(request: GetMovieRequest): Observable<GetMovieResponse>;
}
export interface MovieServiceController {
listMovies(request: ListMovieRequest): Promise<ListMovieResponse> | Observable<ListMovieResponse> | ListMovieResponse;
getMovie(request: GetMovieRequest): Promise<GetMovieResponse> | Observable<GetMovieResponse> | GetMovieResponse;
}
export function MovieServiceControllerMethods() {
return function (constructor: Function) {
const grpcMethods: string[] = ["listMovies", "getMovie"];
for (const method of grpcMethods) {
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
GrpcMethod("MovieService", method)(constructor.prototype[method], method, descriptor);
}
const grpcStreamMethods: string[] = [];
for (const method of grpcStreamMethods) {
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
GrpcStreamMethod("MovieService", method)(constructor.prototype[method], method, descriptor);
}
};
}
export const MOVIE_SERVICE_NAME = "MovieService";

View File

@ -37,6 +37,7 @@ export interface User {
export interface PatchUserRequest {
userId: string;
name?: string | undefined;
avatar?: string | undefined;
}
export interface PatchUserResponse {

View File

@ -1,11 +1,11 @@
syntax = "proto3";
import "google/protobuf/empty.proto"
package category.v1;
import "google/protobuf/empty.proto";
service CategoryService {
rpc GetAllCategories (google.protobuf.Empty) returns GetAllCategoriesResponse;
rpc GetAllCategories (google.protobuf.Empty) returns (GetAllCategoriesResponse);
}
message GetAllCategoriesResponse {

View File

@ -11,7 +11,7 @@ service MovieService {
message ListMovieRequest {
string category = 1;
bool random = 2;
int32 limit = 3
int32 limit = 3;
}
message ListMovieResponse {