Bluemage/schemas/proto/device/v1/list.proto

84 lines
1.9 KiB
Protocol Buffer

syntax = "proto3";
package device.v1;
import "device/v1/types.proto";
option go_package = "github.com/tigorlazuardi/bluemage/go/gen/proto/device/v1";
message ListDevicesRequest {
// searches the name and slug of the devices.
// case insensitive.
//
// If empty or not given, lists all devices.
// (Limit, Offset, Order, Sort still applies).
//
// default: empty string.
string search = 1;
// disabled, if true, limit the listing devides only
// to disabled devices.
//
// if enabled, lists only enabled devices.
//
// If unspecified, devices with either status will be received.
DisabledFilter disabled = 2;
// limits the number of results.
//
// if value is 0 or not given, limit is set to 25.
//
// if limit is higher than 100, it is clamped to 100.
int64 limit = 3;
// offset for the given data.
//
// If offset is 0 or not given, the query begins from start.
int64 offset = 4;
// order_by is the field to order the devices by.
//
// If unspecified, the default is `created_at` and sort is forced to DESC.
// regardless even if `sort` is set.
OrderBy order_by = 5;
// sort is the direction of the order_by result.
//
// If unspecified, the default is `ascending`.
Sort sort = 6;
}
message ListDevicesResponse {
repeated Device devices = 1;
}
enum DisabledFilter {
DISABLED_FILTER_UNSPECIFIED = 0;
DISABLED_FILTER_TRUE = 1;
DISABLED_FILTER_FALSE = 2;
}
enum OrderBy {
ORDER_BY_UNSPECIFIED = 0;
ORDER_BY_SLUG = 1;
ORDER_BY_DISABLED = 2;
ORDER_BY_NAME = 3;
ORDER_BY_RESOLUTION_X = 4;
ORDER_BY_RESOLUTION_Y = 5;
ORDER_BY_ASPECT_RATIO_TOLERANCE = 6;
ORDER_BY_MIN_X = 7;
ORDER_BY_MIN_Y = 8;
ORDER_BY_MAX_X = 9;
ORDER_BY_MAX_Y = 10;
ORDER_BY_NSFW = 11;
ORDER_BY_SINGLE_FOLDER_MODE = 12;
ORDER_BY_CREATED_AT = 13;
ORDER_BY_UPDATED_AT = 14;
}
enum Sort {
SORT_UNSPECIFIED = 0;
SORT_ASCENDING = 1;
SORT_DESCENDING = 2;
}