feat: Add example values to DTOs for improved API documentation
This commit is contained in:
parent
c3162756ad
commit
016078c1c3
@ -1,6 +1,6 @@
|
||||
# Time Tracker Backend Makefile
|
||||
|
||||
.PHONY: db-start db-stop db-test model-test run build clean migrate seed help
|
||||
.PHONY: db-start db-stop db-test model-test run build clean migrate seed swagger help
|
||||
|
||||
# Default target
|
||||
.DEFAULT_GOAL := help
|
||||
@ -25,6 +25,7 @@ help:
|
||||
@echo " make seed - Seed the database with initial data"
|
||||
@echo " make db-drop-users - Drop the users table"
|
||||
@echo " make db-reinit - Re-initialize the database"
|
||||
@echo " make swagger - Generate swagger documentation"
|
||||
@echo " make help - Show this help message"
|
||||
|
||||
# Start the database
|
||||
@ -88,7 +89,12 @@ db-drop-users:
|
||||
db-reinit:
|
||||
@echo "Re-initializing the database..."
|
||||
@PG_HOST=$(DB_HOST) PG_PORT=$(DB_PORT) PG_USER=$(DB_USER) PG_PASSWORD=$(DB_PASSWORD) PG_DBNAME=$(DB_NAME) go run cmd/migrate/main.go -create_db -drop_db
|
||||
@echo "Database re-initialized"
|
||||
# Generate swagger documentation
|
||||
swagger:
|
||||
@echo "Generating swagger documentation..."
|
||||
@swag init -g cmd/api/main.go
|
||||
@echo "Swagger documentation generated"
|
||||
|
||||
|
||||
help:
|
||||
@echo "Time Tracker Backend Makefile"
|
||||
|
@ -4112,10 +4112,12 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"billingRate": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"example": 100
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Development"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4123,22 +4125,28 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"billingRate": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"example": 100
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "a1b2c3d4e5f6"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "u1v2w3x4y5z6"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Development"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4146,22 +4154,28 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"billingRate": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"example": 100
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "a1b2c3d4e5f6"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "u1v2w3x4y5z6"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Development"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4169,7 +4183,8 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Acme Corp"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4177,19 +4192,24 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Acme Corp"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4197,19 +4217,24 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Acme Corp"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4217,10 +4242,12 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"companyId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "John Doe"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4228,22 +4255,28 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"companyId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "John Doe"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4251,22 +4284,28 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"companyId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "John Doe"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4274,10 +4313,12 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "admin@example.com"
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Admin@123456"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4285,10 +4326,12 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"customerId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Time Tracking App"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4296,22 +4339,28 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"customerId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Time Tracking App"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4319,22 +4368,28 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"customerId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Time Tracking App"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4342,26 +4397,33 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"activityId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"billable": {
|
||||
"description": "Percentage (0-100)",
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"example": 100
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Working on the Time Tracking App"
|
||||
},
|
||||
"end": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T17:00:00Z"
|
||||
},
|
||||
"projectId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"start": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T08:00:00Z"
|
||||
},
|
||||
"userId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4369,38 +4431,49 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"activityId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"billable": {
|
||||
"description": "Percentage (0-100)",
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"example": 100
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Working on the Time Tracking App"
|
||||
},
|
||||
"end": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T17:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"projectId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"start": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T08:00:00Z"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"userId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4408,38 +4481,49 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"activityId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"billable": {
|
||||
"description": "Percentage (0-100)",
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"example": 100
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Working on the Time Tracking App"
|
||||
},
|
||||
"end": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T17:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"projectId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"start": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T08:00:00Z"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"userId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4447,7 +4531,8 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"token": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
|
||||
},
|
||||
"user": {
|
||||
"$ref": "#/definitions/dto.UserDto"
|
||||
@ -4458,19 +4543,24 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"companyId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"email": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "test@example.com"
|
||||
},
|
||||
"hourlyRate": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"example": 50
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "password123"
|
||||
},
|
||||
"role": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "admin"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4478,28 +4568,36 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"companyId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"email": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "test@example.com"
|
||||
},
|
||||
"hourlyRate": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"example": 50
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"role": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "admin"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4507,31 +4605,40 @@ const docTemplate = `{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"companyId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"email": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "test@example.com"
|
||||
},
|
||||
"hourlyRate": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"example": 50
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "password123"
|
||||
},
|
||||
"role": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "admin"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -4106,10 +4106,12 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"billingRate": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"example": 100
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Development"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4117,22 +4119,28 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"billingRate": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"example": 100
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "a1b2c3d4e5f6"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "u1v2w3x4y5z6"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Development"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4140,22 +4148,28 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"billingRate": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"example": 100
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "a1b2c3d4e5f6"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "u1v2w3x4y5z6"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Development"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4163,7 +4177,8 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Acme Corp"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4171,19 +4186,24 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Acme Corp"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4191,19 +4211,24 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Acme Corp"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4211,10 +4236,12 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"companyId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "John Doe"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4222,22 +4249,28 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"companyId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "John Doe"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4245,22 +4278,28 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"companyId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "John Doe"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4268,10 +4307,12 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "admin@example.com"
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Admin@123456"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4279,10 +4320,12 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"customerId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Time Tracking App"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4290,22 +4333,28 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"customerId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Time Tracking App"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4313,22 +4362,28 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"customerId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Time Tracking App"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4336,26 +4391,33 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"activityId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"billable": {
|
||||
"description": "Percentage (0-100)",
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"example": 100
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Working on the Time Tracking App"
|
||||
},
|
||||
"end": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T17:00:00Z"
|
||||
},
|
||||
"projectId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"start": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T08:00:00Z"
|
||||
},
|
||||
"userId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4363,38 +4425,49 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"activityId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"billable": {
|
||||
"description": "Percentage (0-100)",
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"example": 100
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Working on the Time Tracking App"
|
||||
},
|
||||
"end": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T17:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"projectId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"start": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T08:00:00Z"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"userId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4402,38 +4475,49 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"activityId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"billable": {
|
||||
"description": "Percentage (0-100)",
|
||||
"type": "integer"
|
||||
"type": "integer",
|
||||
"example": 100
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "Working on the Time Tracking App"
|
||||
},
|
||||
"end": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T17:00:00Z"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"projectId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"start": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T08:00:00Z"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"userId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4441,7 +4525,8 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"token": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
|
||||
},
|
||||
"user": {
|
||||
"$ref": "#/definitions/dto.UserDto"
|
||||
@ -4452,19 +4537,24 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"companyId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"email": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "test@example.com"
|
||||
},
|
||||
"hourlyRate": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"example": 50
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "password123"
|
||||
},
|
||||
"role": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "admin"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4472,28 +4562,36 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"companyId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"email": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "test@example.com"
|
||||
},
|
||||
"hourlyRate": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"example": 50
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"role": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "admin"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -4501,31 +4599,40 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"companyId": {
|
||||
"type": "integer"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
},
|
||||
"email": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "test@example.com"
|
||||
},
|
||||
"hourlyRate": {
|
||||
"type": "number"
|
||||
"type": "number",
|
||||
"example": 50
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"lastEditorID": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "01HGW2BBG0000000000000000"
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "password123"
|
||||
},
|
||||
"role": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "admin"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"example": "2024-01-01T00:00:00Z"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -3,225 +3,310 @@ definitions:
|
||||
dto.ActivityCreateDto:
|
||||
properties:
|
||||
billingRate:
|
||||
example: 100
|
||||
type: number
|
||||
name:
|
||||
example: Development
|
||||
type: string
|
||||
type: object
|
||||
dto.ActivityDto:
|
||||
properties:
|
||||
billingRate:
|
||||
example: 100
|
||||
type: number
|
||||
createdAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
id:
|
||||
example: a1b2c3d4e5f6
|
||||
type: string
|
||||
lastEditorID:
|
||||
example: u1v2w3x4y5z6
|
||||
type: string
|
||||
name:
|
||||
example: Development
|
||||
type: string
|
||||
updatedAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
type: object
|
||||
dto.ActivityUpdateDto:
|
||||
properties:
|
||||
billingRate:
|
||||
example: 100
|
||||
type: number
|
||||
createdAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
id:
|
||||
example: a1b2c3d4e5f6
|
||||
type: string
|
||||
lastEditorID:
|
||||
example: u1v2w3x4y5z6
|
||||
type: string
|
||||
name:
|
||||
example: Development
|
||||
type: string
|
||||
updatedAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
type: object
|
||||
dto.CompanyCreateDto:
|
||||
properties:
|
||||
name:
|
||||
example: Acme Corp
|
||||
type: string
|
||||
type: object
|
||||
dto.CompanyDto:
|
||||
properties:
|
||||
createdAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
id:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
lastEditorID:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
name:
|
||||
example: Acme Corp
|
||||
type: string
|
||||
updatedAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
type: object
|
||||
dto.CompanyUpdateDto:
|
||||
properties:
|
||||
createdAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
id:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
lastEditorID:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
name:
|
||||
example: Acme Corp
|
||||
type: string
|
||||
updatedAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
type: object
|
||||
dto.CustomerCreateDto:
|
||||
properties:
|
||||
companyId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
name:
|
||||
example: John Doe
|
||||
type: string
|
||||
type: object
|
||||
dto.CustomerDto:
|
||||
properties:
|
||||
companyId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
createdAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
id:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
lastEditorID:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
name:
|
||||
example: John Doe
|
||||
type: string
|
||||
updatedAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
type: object
|
||||
dto.CustomerUpdateDto:
|
||||
properties:
|
||||
companyId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
createdAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
id:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
lastEditorID:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
name:
|
||||
example: John Doe
|
||||
type: string
|
||||
updatedAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
type: object
|
||||
dto.LoginDto:
|
||||
properties:
|
||||
email:
|
||||
example: admin@example.com
|
||||
type: string
|
||||
password:
|
||||
example: Admin@123456
|
||||
type: string
|
||||
type: object
|
||||
dto.ProjectCreateDto:
|
||||
properties:
|
||||
customerId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
name:
|
||||
example: Time Tracking App
|
||||
type: string
|
||||
type: object
|
||||
dto.ProjectDto:
|
||||
properties:
|
||||
createdAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
customerId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
id:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
lastEditorID:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
name:
|
||||
example: Time Tracking App
|
||||
type: string
|
||||
updatedAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
type: object
|
||||
dto.ProjectUpdateDto:
|
||||
properties:
|
||||
createdAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
customerId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
id:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
lastEditorID:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
name:
|
||||
example: Time Tracking App
|
||||
type: string
|
||||
updatedAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
type: object
|
||||
dto.TimeEntryCreateDto:
|
||||
properties:
|
||||
activityId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
billable:
|
||||
description: Percentage (0-100)
|
||||
example: 100
|
||||
type: integer
|
||||
description:
|
||||
example: Working on the Time Tracking App
|
||||
type: string
|
||||
end:
|
||||
example: "2024-01-01T17:00:00Z"
|
||||
type: string
|
||||
projectId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
start:
|
||||
example: "2024-01-01T08:00:00Z"
|
||||
type: string
|
||||
userId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
type: object
|
||||
dto.TimeEntryDto:
|
||||
properties:
|
||||
activityId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
billable:
|
||||
description: Percentage (0-100)
|
||||
example: 100
|
||||
type: integer
|
||||
createdAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
description:
|
||||
example: Working on the Time Tracking App
|
||||
type: string
|
||||
end:
|
||||
example: "2024-01-01T17:00:00Z"
|
||||
type: string
|
||||
id:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
lastEditorID:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
projectId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
start:
|
||||
example: "2024-01-01T08:00:00Z"
|
||||
type: string
|
||||
updatedAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
userId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
type: object
|
||||
dto.TimeEntryUpdateDto:
|
||||
properties:
|
||||
activityId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
billable:
|
||||
description: Percentage (0-100)
|
||||
example: 100
|
||||
type: integer
|
||||
createdAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
description:
|
||||
example: Working on the Time Tracking App
|
||||
type: string
|
||||
end:
|
||||
example: "2024-01-01T17:00:00Z"
|
||||
type: string
|
||||
id:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
lastEditorID:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
projectId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
start:
|
||||
example: "2024-01-01T08:00:00Z"
|
||||
type: string
|
||||
updatedAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
userId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
type: object
|
||||
dto.TokenDto:
|
||||
properties:
|
||||
token:
|
||||
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
|
||||
type: string
|
||||
user:
|
||||
$ref: '#/definitions/dto.UserDto'
|
||||
@ -229,54 +314,76 @@ definitions:
|
||||
dto.UserCreateDto:
|
||||
properties:
|
||||
companyId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
email:
|
||||
example: test@example.com
|
||||
type: string
|
||||
hourlyRate:
|
||||
example: 50
|
||||
type: number
|
||||
password:
|
||||
example: password123
|
||||
type: string
|
||||
role:
|
||||
example: admin
|
||||
type: string
|
||||
type: object
|
||||
dto.UserDto:
|
||||
properties:
|
||||
companyId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
createdAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
email:
|
||||
example: test@example.com
|
||||
type: string
|
||||
hourlyRate:
|
||||
example: 50
|
||||
type: number
|
||||
id:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
lastEditorID:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
role:
|
||||
example: admin
|
||||
type: string
|
||||
updatedAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
type: object
|
||||
dto.UserUpdateDto:
|
||||
properties:
|
||||
companyId:
|
||||
type: integer
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
createdAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
email:
|
||||
example: test@example.com
|
||||
type: string
|
||||
hourlyRate:
|
||||
example: 50
|
||||
type: number
|
||||
id:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
lastEditorID:
|
||||
example: 01HGW2BBG0000000000000000
|
||||
type: string
|
||||
password:
|
||||
example: password123
|
||||
type: string
|
||||
role:
|
||||
example: admin
|
||||
type: string
|
||||
updatedAt:
|
||||
example: "2024-01-01T00:00:00Z"
|
||||
type: string
|
||||
type: object
|
||||
utils.ErrorInfo:
|
||||
|
@ -5,24 +5,24 @@ import (
|
||||
)
|
||||
|
||||
type ActivityDto struct {
|
||||
ID string `json:"id"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
LastEditorID string `json:"lastEditorID"`
|
||||
Name string `json:"name"`
|
||||
BillingRate float64 `json:"billingRate"`
|
||||
ID string `json:"id" example:"a1b2c3d4e5f6"`
|
||||
CreatedAt time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
||||
UpdatedAt time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
||||
LastEditorID string `json:"lastEditorID" example:"u1v2w3x4y5z6"`
|
||||
Name string `json:"name" example:"Development"`
|
||||
BillingRate float64 `json:"billingRate" example:"100.00"`
|
||||
}
|
||||
|
||||
type ActivityCreateDto struct {
|
||||
Name string `json:"name"`
|
||||
BillingRate float64 `json:"billingRate"`
|
||||
Name string `json:"name" example:"Development"`
|
||||
BillingRate float64 `json:"billingRate" example:"100.00"`
|
||||
}
|
||||
|
||||
type ActivityUpdateDto struct {
|
||||
ID string `json:"id"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
LastEditorID *string `json:"lastEditorID"`
|
||||
Name *string `json:"name"`
|
||||
BillingRate *float64 `json:"billingRate"`
|
||||
ID string `json:"id" example:"a1b2c3d4e5f6"`
|
||||
CreatedAt *time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
||||
UpdatedAt *time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
||||
LastEditorID *string `json:"lastEditorID" example:"u1v2w3x4y5z6"`
|
||||
Name *string `json:"name" example:"Development"`
|
||||
BillingRate *float64 `json:"billingRate" example:"100.00"`
|
||||
}
|
||||
|
@ -2,12 +2,12 @@ package dto
|
||||
|
||||
// LoginDto represents the login request
|
||||
type LoginDto struct {
|
||||
Email string `json:"email"`
|
||||
Password string `json:"password"`
|
||||
Email string `json:"email" example:"admin@example.com"`
|
||||
Password string `json:"password" example:"Admin@123456"`
|
||||
}
|
||||
|
||||
// TokenDto represents the response after successful authentication
|
||||
type TokenDto struct {
|
||||
Token string `json:"token"`
|
||||
Token string `json:"token" example:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"`
|
||||
User UserDto `json:"user"`
|
||||
}
|
||||
|
@ -5,21 +5,21 @@ import (
|
||||
)
|
||||
|
||||
type CompanyDto struct {
|
||||
ID string `json:"id"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
LastEditorID string `json:"lastEditorID"`
|
||||
Name string `json:"name"`
|
||||
ID string `json:"id" example:"01HGW2BBG0000000000000000"`
|
||||
CreatedAt time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
||||
UpdatedAt time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
||||
LastEditorID string `json:"lastEditorID" example:"01HGW2BBG0000000000000000"`
|
||||
Name string `json:"name" example:"Acme Corp"`
|
||||
}
|
||||
|
||||
type CompanyCreateDto struct {
|
||||
Name string `json:"name"`
|
||||
Name string `json:"name" example:"Acme Corp"`
|
||||
}
|
||||
|
||||
type CompanyUpdateDto struct {
|
||||
ID string `json:"id"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
LastEditorID *string `json:"lastEditorID"`
|
||||
Name *string `json:"name"`
|
||||
ID string `json:"id" example:"01HGW2BBG0000000000000000"`
|
||||
CreatedAt *time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
||||
UpdatedAt *time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
||||
LastEditorID *string `json:"lastEditorID" example:"01HGW2BBG0000000000000000"`
|
||||
Name *string `json:"name" example:"Acme Corp"`
|
||||
}
|
||||
|
@ -5,24 +5,24 @@ import (
|
||||
)
|
||||
|
||||
type CustomerDto struct {
|
||||
ID string `json:"id"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
LastEditorID string `json:"lastEditorID"`
|
||||
Name string `json:"name"`
|
||||
CompanyID string `json:"companyId"`
|
||||
ID string `json:"id" example:"01HGW2BBG0000000000000000"`
|
||||
CreatedAt time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
||||
UpdatedAt time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
||||
LastEditorID string `json:"lastEditorID" example:"01HGW2BBG0000000000000000"`
|
||||
Name string `json:"name" example:"John Doe"`
|
||||
CompanyID string `json:"companyId" example:"01HGW2BBG0000000000000000"`
|
||||
}
|
||||
|
||||
type CustomerCreateDto struct {
|
||||
Name string `json:"name"`
|
||||
CompanyID string `json:"companyId"`
|
||||
Name string `json:"name" example:"John Doe"`
|
||||
CompanyID string `json:"companyId" example:"01HGW2BBG0000000000000000"`
|
||||
}
|
||||
|
||||
type CustomerUpdateDto struct {
|
||||
ID string `json:"id"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
LastEditorID *string `json:"lastEditorID"`
|
||||
Name *string `json:"name"`
|
||||
CompanyID *string `json:"companyId"`
|
||||
ID string `json:"id" example:"01HGW2BBG0000000000000000"`
|
||||
CreatedAt *time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
||||
UpdatedAt *time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
||||
LastEditorID *string `json:"lastEditorID" example:"01HGW2BBG0000000000000000"`
|
||||
Name *string `json:"name" example:"John Doe"`
|
||||
CompanyID *string `json:"companyId" example:"01HGW2BBG0000000000000000"`
|
||||
}
|
||||
|
@ -5,24 +5,24 @@ import (
|
||||
)
|
||||
|
||||
type ProjectDto struct {
|
||||
ID string `json:"id"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
LastEditorID string `json:"lastEditorID"`
|
||||
Name string `json:"name"`
|
||||
CustomerID string `json:"customerId"`
|
||||
ID string `json:"id" example:"01HGW2BBG0000000000000000"`
|
||||
CreatedAt time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
||||
UpdatedAt time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
||||
LastEditorID string `json:"lastEditorID" example:"01HGW2BBG0000000000000000"`
|
||||
Name string `json:"name" example:"Time Tracking App"`
|
||||
CustomerID string `json:"customerId" example:"01HGW2BBG0000000000000000"`
|
||||
}
|
||||
|
||||
type ProjectCreateDto struct {
|
||||
Name string `json:"name"`
|
||||
CustomerID string `json:"customerId"`
|
||||
Name string `json:"name" example:"Time Tracking App"`
|
||||
CustomerID string `json:"customerId" example:"01HGW2BBG0000000000000000"`
|
||||
}
|
||||
|
||||
type ProjectUpdateDto struct {
|
||||
ID string `json:"id"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
LastEditorID *string `json:"lastEditorID"`
|
||||
Name *string `json:"name"`
|
||||
CustomerID *string `json:"customerId"`
|
||||
ID string `json:"id" example:"01HGW2BBG0000000000000000"`
|
||||
CreatedAt *time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
||||
UpdatedAt *time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
||||
LastEditorID *string `json:"lastEditorID" example:"01HGW2BBG0000000000000000"`
|
||||
Name *string `json:"name" example:"Time Tracking App"`
|
||||
CustomerID *string `json:"customerId" example:"01HGW2BBG0000000000000000"`
|
||||
}
|
||||
|
@ -5,39 +5,39 @@ import (
|
||||
)
|
||||
|
||||
type TimeEntryDto struct {
|
||||
ID string `json:"id"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
LastEditorID string `json:"lastEditorID"`
|
||||
UserID string `json:"userId"`
|
||||
ProjectID string `json:"projectId"`
|
||||
ActivityID string `json:"activityId"`
|
||||
Start time.Time `json:"start"`
|
||||
End time.Time `json:"end"`
|
||||
Description string `json:"description"`
|
||||
Billable int `json:"billable"` // Percentage (0-100)
|
||||
ID string `json:"id" example:"01HGW2BBG0000000000000000"`
|
||||
CreatedAt time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
||||
UpdatedAt time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
||||
LastEditorID string `json:"lastEditorID" example:"01HGW2BBG0000000000000000"`
|
||||
UserID string `json:"userId" example:"01HGW2BBG0000000000000000"`
|
||||
ProjectID string `json:"projectId" example:"01HGW2BBG0000000000000000"`
|
||||
ActivityID string `json:"activityId" example:"01HGW2BBG0000000000000000"`
|
||||
Start time.Time `json:"start" example:"2024-01-01T08:00:00Z"`
|
||||
End time.Time `json:"end" example:"2024-01-01T17:00:00Z"`
|
||||
Description string `json:"description" example:"Working on the Time Tracking App"`
|
||||
Billable int `json:"billable" example:"100"` // Percentage (0-100)
|
||||
}
|
||||
|
||||
type TimeEntryCreateDto struct {
|
||||
UserID string `json:"userId"`
|
||||
ProjectID string `json:"projectId"`
|
||||
ActivityID string `json:"activityId"`
|
||||
Start time.Time `json:"start"`
|
||||
End time.Time `json:"end"`
|
||||
Description string `json:"description"`
|
||||
Billable int `json:"billable"` // Percentage (0-100)
|
||||
UserID string `json:"userId" example:"01HGW2BBG0000000000000000"`
|
||||
ProjectID string `json:"projectId" example:"01HGW2BBG0000000000000000"`
|
||||
ActivityID string `json:"activityId" example:"01HGW2BBG0000000000000000"`
|
||||
Start time.Time `json:"start" example:"2024-01-01T08:00:00Z"`
|
||||
End time.Time `json:"end" example:"2024-01-01T17:00:00Z"`
|
||||
Description string `json:"description" example:"Working on the Time Tracking App"`
|
||||
Billable int `json:"billable" example:"100"` // Percentage (0-100)
|
||||
}
|
||||
|
||||
type TimeEntryUpdateDto struct {
|
||||
ID string `json:"id"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
LastEditorID *string `json:"lastEditorID"`
|
||||
UserID *string `json:"userId"`
|
||||
ProjectID *string `json:"projectId"`
|
||||
ActivityID *string `json:"activityId"`
|
||||
Start *time.Time `json:"start"`
|
||||
End *time.Time `json:"end"`
|
||||
Description *string `json:"description"`
|
||||
Billable *int `json:"billable"` // Percentage (0-100)
|
||||
ID string `json:"id" example:"01HGW2BBG0000000000000000"`
|
||||
CreatedAt *time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
||||
UpdatedAt *time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
||||
LastEditorID *string `json:"lastEditorID" example:"01HGW2BBG0000000000000000"`
|
||||
UserID *string `json:"userId" example:"01HGW2BBG0000000000000000"`
|
||||
ProjectID *string `json:"projectId" example:"01HGW2BBG0000000000000000"`
|
||||
ActivityID *string `json:"activityId" example:"01HGW2BBG0000000000000000"`
|
||||
Start *time.Time `json:"start" example:"2024-01-01T08:00:00Z"`
|
||||
End *time.Time `json:"end" example:"2024-01-01T17:00:00Z"`
|
||||
Description *string `json:"description" example:"Working on the Time Tracking App"`
|
||||
Billable *int `json:"billable" example:"100"` // Percentage (0-100)
|
||||
}
|
||||
|
@ -5,32 +5,32 @@ import (
|
||||
)
|
||||
|
||||
type UserDto struct {
|
||||
ID string `json:"id"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
LastEditorID string `json:"lastEditorID"`
|
||||
Email string `json:"email"`
|
||||
Role string `json:"role"`
|
||||
CompanyID string `json:"companyId"`
|
||||
HourlyRate float64 `json:"hourlyRate"`
|
||||
ID string `json:"id" example:"01HGW2BBG0000000000000000"`
|
||||
CreatedAt time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
||||
UpdatedAt time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
||||
LastEditorID string `json:"lastEditorID" example:"01HGW2BBG0000000000000000"`
|
||||
Email string `json:"email" example:"test@example.com"`
|
||||
Role string `json:"role" example:"admin"`
|
||||
CompanyID string `json:"companyId" example:"01HGW2BBG0000000000000000"`
|
||||
HourlyRate float64 `json:"hourlyRate" example:"50.00"`
|
||||
}
|
||||
|
||||
type UserCreateDto struct {
|
||||
Email string `json:"email"`
|
||||
Password string `json:"password"`
|
||||
Role string `json:"role"`
|
||||
CompanyID string `json:"companyId"`
|
||||
HourlyRate float64 `json:"hourlyRate"`
|
||||
Email string `json:"email" example:"test@example.com"`
|
||||
Password string `json:"password" example:"password123"`
|
||||
Role string `json:"role" example:"admin"`
|
||||
CompanyID string `json:"companyId" example:"01HGW2BBG0000000000000000"`
|
||||
HourlyRate float64 `json:"hourlyRate" example:"50.00"`
|
||||
}
|
||||
|
||||
type UserUpdateDto struct {
|
||||
ID string `json:"id"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
LastEditorID *string `json:"lastEditorID"`
|
||||
Email *string `json:"email"`
|
||||
Password *string `json:"password"`
|
||||
Role *string `json:"role"`
|
||||
CompanyID *string `json:"companyId"`
|
||||
HourlyRate *float64 `json:"hourlyRate"`
|
||||
ID string `json:"id" example:"01HGW2BBG0000000000000000"`
|
||||
CreatedAt *time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
|
||||
UpdatedAt *time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
|
||||
LastEditorID *string `json:"lastEditorID" example:"01HGW2BBG0000000000000000"`
|
||||
Email *string `json:"email" example:"test@example.com"`
|
||||
Password *string `json:"password" example:"password123"`
|
||||
Role *string `json:"role" example:"admin"`
|
||||
CompanyID *string `json:"companyId" example:"01HGW2BBG0000000000000000"`
|
||||
HourlyRate *float64 `json:"hourlyRate" example:"50.00"`
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user